jazz2
                                
                                 jazz2 copied to clipboard
                                
                                    jazz2 copied to clipboard
                            
                            
                            
                        🎮 · Jazz² Resurrection: Open-source reimplementation of Jazz Jackrabbit 2
Introduction
Jazz² Resurrection is reimplementation of the game Jazz Jackrabbit 2 released in 1998. Supports various versions of the game (Shareware Demo, Holiday Hare '98, The Secret Files and Christmas Chronicles). Also, it partially supports some features of JJ2+ extension and MLLE. Further information can be found here.
This project uses parts of Duality - A 2D GameDev Framework.
Preview
 
Running the application
Windows / Linux / macOS
- Download Desktop release
- Alternatively, build the solution and copy Contentdirectory to‹Game›/Content/
 
- Alternatively, build the solution and copy 
- Drag and drop original Jazz Jackrabbit 2 directory on Import.exe– Video tutorial- Alternatively, run ‹Game›/Import.exe "Path to original JJ2"
- On Linux and macOS, you can run mono Import.exe "Path to original JJ2"
 
- Alternatively, run 
- Run ‹Game›/Jazz2.exe- On Linux and macOS, you can run mono Jazz2.exe
 
- On Linux and macOS, you can run 
‹Game› is path to Jazz² Resurrection. You can run Import.exe without parameters to show additional options.
Packages for Linux distributions
Android
- Download both Desktop and Android releases
- Alternatively, build the solution and copy Contentdirectory to‹Game›/Content/
 
- Alternatively, build the solution and copy 
- Drag and drop original Jazz Jackrabbit 2 directory on Import.exe– Video tutorial- Alternatively, run ‹Game›/Import.exe "Path to original JJ2"
- On Linux and macOS, you can run mono Import.exe "Path to original JJ2"
 
- Alternatively, run 
- Copy ‹Game›/Content/directory to‹Storage›/jazz2.android/Content/- Alternatively, you can use ‹Storage›/Android/Data/jazz2.android/Content/instead
- Create empty file .nomediain‹Storage›/jazz2.android/to hide files from Android Gallery (optional)
 
- Alternatively, you can use 
- Install Jazz2.apkon Android device
- Run the newly installed application
‹Game› is path to Desktop release of Jazz² Resurrection. ‹Storage› could be internal (preferred) or external storage on your device. The application tries to autodetect correct paths.
Requires device with Android 5.0 (or newer) and OpenGL ES 3.0 support.
WebAssembly
- Go to Jazz² Resurrection page to play Shareware Demo online
- Alternatively, build the solution and copy Contentdirectory from Desktop release to build target directory
 
- Alternatively, build the solution and copy 
Requires Google Chrome 57 (or newer), Firefox 53 (or newer) or other browser supporting WebAssembly and WebGL.
Dependencies
Windows
- .NET Framework 4.5.2 (or newer)
- OpenAL Soft (included in release)
- Copy x86/openal32.dllto‹Game›/Extensions/OpenALSoft.x86.dll
- Copy x64/openal32.dllto‹Game›/Extensions/OpenALSoft.x64.dll
 
- Copy 
- libopenmpt (included in release)
- Copy libopenmpt.dll(x86, and its dependencies) to‹Game›directory
 
- Copy 
Linux
- Mono 5.0 (or newer)
- OpenAL
- Run sudo apt install openal1if it's missing
 
- Run 
- libopenmpt (included in release)
- Copy libopenmpt.so(x86, and its dependencies) to‹Game›directory
 
- Copy 
macOS
- Mono 5.0 (or newer)
- OpenAL should be already installed by OS
- libopenmpt
- Copy libopenmpt.dylib(x86, and its dependencies) to‹Game›directory
 
- Copy 
Android
- Xamarin
- OpenAL Soft (included for armeabi-v7a and x86)
- libopenmpt (included for armeabi-v7a and x86)
WebAssembly
- .NET Framework 4.5.2 (or newer) / Mono 5.0 (or newer)
- Mono.WebAssembly.Sdk(included as NuGet)
- WebGL.NET (included)
Building the solution
Windows
- Open the solution in Microsoft Visual Studio 2019 (or newer) and build it
- Copy /Packages/AdamsLair.OpenTK.x.y.z/lib/OpenTK.dll.configto/Jazz2/Bin/Debug/OpenTK.dll.config
- Copy dependencies to /Jazz2/Bin/Debug/or/Jazz2/Bin/Release/
- If you build Release configuration, you have to replace DebugwithReleasein paths above
Linux
- Install Mono 5.0 (or newer)
- Run msbuildin directory with the solution file (.sln):
- Copy /Packages/AdamsLair.OpenTK.x.y.z/lib/OpenTK.dll.configto/Jazz2/Bin/Debug/OpenTK.dll.config
- Obtain and copy libopenmpt.soto/Jazz2/Bin/Debug/libopenmpt.soto enable music playback
- Then you can rebuild the solution only with msbuildcommand
- Use msbuild /p:Configuration=Releaseto build Release configuration, you have to replaceDebugwithReleasein paths above
macOS
- Install Mono 5.0 (or newer)
- Open the solution in Microsoft Visual Studio for Mac and build it
- Copy /Packages/AdamsLair.OpenTK.x.y.z/lib/OpenTK.dll.configto/Jazz2/Bin/Debug/OpenTK.dll.config
- Obtain and copy libopenmpt.dylibto/Jazz2/Bin/Debug/libopenmpt.dylibto enable music playback
- If you build Release configuration, you have to replace DebugwithReleasein paths above
.NET 5.0 build can be compiled in a similar way (use Jazz2.NET5.sln solution instead).
Android
- Install Mobile development in .NET for Microsoft Visual Studio 2019 (or newer)
- Open the solution and build Jazz2.Androidproject
- Dependencies are already included for common configurations
WebAssembly
- Open the solution and build Jazz2.Wasmproject
- Dependencies are already included for common configurations
Extensions
OpenGL ES 2.0 (Experimental)
Alternative OpenGL ES 2.0 backend can be built separately. It does not contain all features that are available in default OpenGL 2.1 backend, but it should run faster on low-end configurations. Don't use it if you have no reason to do so!
To use it, build Extensions/Es20Backend project. The library will be copied to
/Jazz2/Bin/Debug/Extensions/Es20Backend.core.dll automatically.
Then copy all files from Content/_ES20 directory to /Jazz2/Bin/Debug/Content and replace them.
Also, you have to remove /Jazz2/Bin/Debug/Extensions/GL21Backend.core.dll file to disable default OpenGL 2.1 backend.
License
This project is licensed under the terms of the GNU General Public License v3.0.
