This is a fork of Project64 3.0.1 that I made to have a Linux compatible alternative to 2.4 (Yes, it works on Windows too).

It is not focused on accuracy or compatibility, but rather on functionality that improves the general gameplay experience on a select set of games.
As such, it removes the nagware screen, and it contains the plugins that are necessary to play these games without issues.

I hope you have fun playing!


CHANGELOG:
-- v3.6.5 --
	- Upped GLideN64 to 4.3.29:
		* Fixed Mario's Modules 2 compatibility
	- Fixed regressions in Star Revenge 6

-- v3.6.4 --
	- Upped GLideN64 to 4.3.28:
		 * Support F3DEX3 advanced lighting (fresnel/ao/packed normals/light2alpha/…)
	- Fix more issues with retail games in rdb file.
	- Fix parallel rdp incorrect bob deinterlacing.
	- Allow storing PJ64 and plugin configs near exe instead of app data.
	- Fix crash when rom becomes unopenable due to bad cheat code.
	- Fix crash on state load when uncompressed states are used.

-- v3.6.3 --
	- Upped GLideN64 to 4.3.25:
		* Fixed black screen issues on old hardware, report issues if still happens
		* MSAA is fixed on DirectX11.
		* Added hacks to FB emulation to help retail games.
		* Improve handling of native resolution resampling.
	- Upped Parallel RDP, fixed support for integer scaling.
	- Further update RDB file to fix retail games issues.
	- Update Help links, report issues on GitHub.

-- v3.6.2 --
	- Upped GLideN64 to 4.3.23, fixed fullscreen crashes. No threading is deprecated.
	- Fixed GDB crashes on memory watchpoints
	- Fixed RA not loading when ROM is opened directly
	- Fixed some retail games having wrong RDB configs
	- Fixed Dreamscape 64 crashes
	- Updated translations

-- v3.6.1 --
	- Upped GLideN64 to 4.3.21, added support for F3DEX3 B + Return to Yoshi Island
	- Fixed LunaU updater Window popping up when there are no updates
	- Fixed GDB debugging stopping on context switches
	- Fixed broken F12+F11 combo for ROM reloading
	- Improved startup time for MD5 calculations (use ClangCL)
	- Fixed NRage slow "Plugin Initialize" time
	- Parallel RSP is now default RSP plugin with improved vectorization
	- Improved Parallel RDP performance
	- Fixed cheats not being cleared on first ROM boot
	- Backported Notes + Status colors from 1.6
	- Advertise optimus high performance preferance for PJ64 & GLideN64
	- Fixed sorting not working for 2nd column in ROM browser
	- Rework FPS limiter to remove possible integer overflows

-- v3.6.0 --
	- Added speedrun config verifier, revert VI to 1500
	- Attempted to improve threading for GLideN64 to match "no threading"
	- Fixed Luna's DInput reconfig being broken
	- Update octomino controller db
	- Fixed potential issues with RetroAchievements not being loaded from custom launcher
	- Introduce GDB for debugging

-- v3.5.9 --
	- Fixed random crashes on loading states but actually fixed the corruption
	- Update Luna's DirectInput8 to handle race conditions better. This should fix keyboard stopping accepting inputs.

-- v3.5.8 --
	- Fixed random crashes on loading states

-- v3.5.7 --
	- Upped GLideN64 to 4.3.17, fixed several perf issues, support F3DEX3 fanstrip commands
	- Fixed Paper Mario crashes on modern systems
	- Speed up loading the config menu
	- Potentially emu fixed stutters

-- v3.5.6 --
	- Added distinct RetroAchievements UserAgent to officially support Luna for RA.
	- Upped GLideN64 to 4.3.16, added experimental "no threading" version that might reduce input delay.
	- Fixed Koopa Power savestates not working.

-- v3.5.5 --
	- Fixed RetroAchievements broken sound effects due to missing overlay
	- Upped GLideN64 to 4.3.14. Fixes F3DEX3 lighting issues, fixes various texture caching bugs.
	- Fixed AziAudio deadlock, upped to Dec 2024 version.
	- Updated updater, attempted to remove the prompt on updates again.

-- v3.5.4 --
	- Added RetroAchievements support.
	- Fixed a bug where the emu would sometimes freeze for 30 seconds on startup.
	- (Probably?) stopped LunaUpdater from asking for admin permissions every time the emu is opened.
	- Updated NRage (LPJ64 v2.4.3 --> LPJ64 v2.4.4).
		- Removed nonstandard digital to analog implementation from NRage.
		- NRage's "Analog to Digital Threshold" setting now works on XInput (Thanks to NoxZet).
	- Updated ANGLE GLideN64 (v4.3.9.1 --> v4.3.12).
	- Updated LINK's AziAudio (Sep 2023 --> Nov 2024 2).
	- Updated ParaLLEl RSP (v0.5 --> v0.6).
	- Updated Octomino (wermi 2023.03.11 --> aglab2 v1.0)
	- Updated Latvian translation.
	- Deleted Angrylion ("if your pc is too bad for parallel, it is likely too bad for angrylion as well" -aglab2)
	- Lots of small performance improvements.

-- v3.5.3 --
	- Added "Open AppData" button in the Help tab.
	- Added UTF8 support.
	- Updated Polish and Czech translations.
	- Added "Analog to Digital Threshold" setting to NRage. Change this if you have issues with C stick.

-- v3.5.2 --
	- Fixed a couple crashes that would've surfaced with upcoming HackerSM64 improvements.
	- (Probably?) fixed a bug where the emu would get stuck on unlimited FPS if left paused for too long.
	- Updated traditional Chinese translation.

-- v3.5.1 --
	- Fixed a bug where ROM browser wouldn't work.
	- Fixed a bug where enabling cheat codes wouldn't work.
	- Updated multiple translations.

-- v3.5.0 --
	- Added dark theme.
	- Added SD card emulation support.
	- Added share cheat codes between games setting.
	- Added counter factor 0.
	- Added input delayer.
	- Applied lots of small optimizations to emulator core.
	- Removed Audio HLE.
	- Disabled debugger by default.
	- Added enable/disable debugger option to the debugger tab.
	- Removed CIC Checksum error in old SM64 romhacks.
	- Switched from zlib to zlib-ng.
	- Moved JS scripts folder to %AppData%.
	- Updated ANGLE GLideN64 (v4.3.8 --> v4.3.9.1).
	- Updated ParaLLEl RSP (v0.1 --> v0.5).
	- Massive thanks to aglab2 btw.

-- v3.4.1 --
	- Fixed register caching crashing on certain decomp hacks (Thanks to aglab2).
	- Register caching is now enabled by default, improving performance.
	- Added "1.6 labels" language, for people who hate having correct text in their settings.
	- Removed Octomino from welcome screen.
	- Real N64 Range is now properly disabled by default in NRage.
	- Lock mouse keybind is now unmapped by default in NRage.
	- Added libhidapi-0.dll, required for raphnetraw to work.
	- Updated ParaLLEl RSP (Unknown --> aglab2 v0.1).

-- v3.4.0 --
	- Added auto updater (Thanks to MarvJungs and aglab2).
	- Moved all config and save data files to AppData\Roaming\Luna-Project64 to allow auto updater to work.
	- Changed the welcome screen to let people select a default input plugin and import their save data from a previous PJ64 version.
	- Changed the way default settings are managed to make them no longer jank.
	- Added default keybinds for savestate slots above 10.
	- Register caching is now disabled by default.
	- Changed Discord rich presence to show Luna's Project64 title and icon.
	- Added "Pause emulation while window is minimized" setting.
	- Fixed a bug (found by Bliny) where the memory dump window wouldn't properly write the file directory.
	- Changed Project64.rdb to set VI refresh rate to 1500 in hacks that need it, and VI refresh rate and Counter Factor in vanilla SM64 and OoT.
	- Added LINK's ParaLLel v1.0, based on a different and significantly better ParaLLEl build than what was used in older emu releases.
	- Added raphnetraw (1 player version).
	- Added ParaLLel RSP, which significantly improves the performance of ParaLLEl related plugins.
	- Updated ANGLE GLideN64 (v4.3.5 --> v4.3.8), with lots of changes.
	- Updated LINK's AziAudio (v0.70 WIP 10 [2023] --> Sep 2023), which improves compatibility with different Windows versions.
	- Updated LINK's Mapper (v1.1.1 --> v1.1.2), which stores config in %AppData%.
	- Updated NRage (NRage's Direct-Input8 V2 1.83 --> NRage Input V2 2.4 (ShiN3 fork)), which has wider controller compatibility,
		disables Real N64 range by default, and stores config in %AppData%.
	- Updated pj64-wiiu-gcn (v1.0.0 --> v1.1.0), which adds a couple features such as rumble pak support.
	- Removed GLideN64 Public Release v4.0 (Obsolete due to ANGLE GLideN64 v4.3.7.1 and newer).
	- Removed ParaLLel RDP (Obsolete due to LINK's ParaLLEl).
	- Removed dgVoodoo files for Jabo, as they're only useful for hardware that Jabo shouldn't be used in in the first place.

-- v3.3.2 (N-v3b) --
	- Updated Luna's DirectInput8 (v1.0.2 --> v1.0.3).
	- Updated pj64-wiiu-gcn (v0.2.4 --> v1.0.0).
	- Bundled dgVoodoo files into a zip to still include them but have them disabled by default due to unstability.

-- v3.3.1 (N-v3a) --
	- Added Luna's DirectInput8 v1.0.2.
	- Updated ANGLE GLideN64 (v4.3.4 --> v4.3.5).
	- Updated Octomino's SDL Input wermi (2021.12.15 --> 2023.03.11).
	- Updated LINK's AziAudio (v0.70 WIP 10 --> v0.70 WIP 10 [2023]).
	- Added dgVoodoo files for Jabo DirectX11 patch, which fixes shadows and allows it to run in your dedicated GPU.
	- Removed LINK's DirectInput7 1.6.1 (Obsolete due to Luna's DirectInput8).

-- v3.3.0 (N-v3) --
	- Plugins no longer re-initialize on reset, which makes savestates faster and fixes the Discord screenshare crashes that happen when using GLideN64 or its variations.

-- v3.2.3 (N-v2c) --
	- Updated ANGLE GLideN64 (v4.3.3 --> v4.3.4).

-- v3.2.2 (N-v2b) --
	- Fixed lag issues caused by Visual Studio cringe.

-- v3.2.1 (N-v2a) --
	- Fixed vanilla savestate slots (Default and 1-10) being broken in languages that didn't use the Latin alphabet.
	- Updated the window title to display the correct version name instead of PJ64's default generated one.
	- Removed LibEGL.dll and LibGLESv2.dll (dead remains of ANGLE GLideN64 v4.2).

-- v3.2.0 (N-v2) --
	- Updated ANGLE GLideN64 (v4.2 --> v4.3.3).
	- Removed LINK's GLideN64 (Obsolete due to ANGLE GLideN64 update).
	- Added extra savestate slots, for a total of 100. You can access them through the System menu, and set keybinds for them in the Hotkeys tab in settings.
	  Thanks to aglab2 and HeralayanSalty for helping me implement this.
	- The buttons in the Help menu have been repurposed. "Discord", "Website" and "About Project64" now link to Shuri's Library. "Support Project64" still links
	  to the support page of vanilla Project64.

-- v3.1.0 (N-v1) --
	(Changes from vanilla Project64 3.0.1)
	- Added plugins:
		GFX:
		- LINK's GLideN64 v4.2 (Default)
		- ANGLE GLideN64 v4.2
		- GLideN64 Public Release v4.0
		- Jabo's Direct3D8 1.6.1
		- ParaLLel
		- Angrylion's RDP Plus 1.6
		Audio:
		- LINK's AziAudio (Default)
		Input:
		- NRage's Direct-Input8 V2 1.83 (Default)
		- LINK's Mapper 1.1.1
		- Octomino's SDL Input (wermi's fork)
		- LINK's DirectInput7 1.6.1
		- pj64-wiiu-gcn
	- Changed certain default settings:
		- Disabled: Pause emulation while window is not active
		- Disabled: Hide advanced settings
		- Enabled: Enable debugger
		- Disabled: Enable enhancements
		- Disabled: Store game saves in separate folders
		- Enabled: Speed display (Percentage of full speed)
		- Counter factor --> 1
		- VI refresh rate --> 2200
		- Enabled: 32-bit engine
		- Enabled: Unaligned DMA
		- Hotkey for Increase Game Speed --> Ctrl + +
		- Hotkey for Decrease Game Speed --> Ctrl + -
		Game specific settings:
		- Serene fusion: Disabled Register caching
		- Star Revenge 11 Star Adventure: Enabled Interpreter core
	- Fixed EEPROM "bug" that causes some hacks to give you 182 stars when you first play them and glitches out in-game sound settings.
	- Disabled nagware / 30 second donation window.