Commit graph

15 commits

Author SHA1 Message Date
Wiseguy
d17a3f34cb
Integrate the live recompiler for mod loading (#76) 2025-01-02 21:25:20 -05:00
Wiseguy
ef6e84cb8a
Added save type selection and validation (#68) 2024-10-26 22:38:25 -04:00
Wiseguy
9ee0e7369a
Misc fixes and implement osStopThread (partial), osEepromWrite, and osEepromRead (#67)
* Fix rdram allocation to only allow kseg0 accesses

* Implement osEepromWrite and osEepromRead, fix implicit casting error in save_write

* Partially implement osStopThread

* Fix audio allowing games to queue 0 samples

* Remove commented out line
2024-10-26 20:41:05 -04:00
Wiseguy
45e9f7a6cb
Runtime Mod Support PR 1 (Mod framework and mod loading) (#60)
* Added miniz and implemented mod manifest loading from zip

* Add more mod loading error enums

* Added ability to load mods from directories instead of zip files

* Added validation for mod contents and mod load error strings

* Add checks for required fields existing in manifest

* Renamed load_mod to open_mod and ModLoadError to ModOpenError

* Made rdram size an argument in recomp::start, reorganized some PI address constants

* Add N64Recomp as submodule and initial mod loading (temporarily using a DLL instead of Lua recompilation)

* Created ModContext and exposed functionality for searching mod folders, activating mods, and loading active mods

* Implemented per-game mod contexts

* Add duplicate mod detection

* Added function conflict detection, recovery from failed mod loading and message box with load errors

* Update N64Recomp for new modding infrastructure, begin adding support for offline compiled mods

* Reorganized mod loading, added mod dependency validation

* Reorganized mod code handle code

* Implement importing functions from other mods

* Implement mod events and callbacks

* Add support for creating events in patches

* Add support for exporting functions from native libraries in mods

* Removed per-game mod subdirectories and added the mod's corresponding game id to the manifest

* Added version parsing with version number as argument to recomp initialization and minimum recomp versions for mods

* Changed mod binary and mod symbol files to use fixed paths, removed them from the manifest

* Expose function for getting the details for currently opened mods

* Add dependencies and authors to manifest and update N64Recomp submodule

* Implement mod loading on posix systems

* Implement mip32 relocs for mod loading and add mod functions to function lookup table

* Add CPU architecture detection and gate current mod function hooking behind x86_64 define

* Fix build on compilers that don't properly support aggregate initialization

* Fix compilation on ARM64 and Apple

* Fix compilation on MacOS x86_64

* Update N64Recomp commit after merge

* Fix whitespace in game.hpp
2024-09-09 23:16:07 -04:00
Anghelo Carvajal
c7ab41ec05
Fix saving never failing (#53) 2024-06-21 19:31:16 -04:00
Anghelo Carvajal
93fab7ecc4
Provide missing pfs stub functions (#50)
* `osPiRawStartDma_recomp` and `osEPiRawStartDma`

* `osPfsNumFiles` and `osPfsRepairId`

* whoops, wrong name

* Fix missing new line on message box

* Use actual pointers in osPfsNumFiles_recomp
2024-06-18 13:07:08 -04:00
David Chavez
5f350b858e
Fix segfault on joining saving thread (#44) 2024-06-11 07:05:53 +02:00
David Chavez
9f0dd2fcd9
Use hpp suffix for cpp headers (#33) 2024-06-03 20:31:52 +02:00
David Chavez
53072cb289
Use file backup system for config files (#29) 2024-06-02 20:38:40 +02:00
Mr-Wiseguy
e41c7cce6d Fixed Windows filesystem error crash
From Zelda64Recomp/Zelda64Recomp#271 commit 1ea7d4ebe9dcf522faa13cab513f88c3217ba011
2024-06-01 09:07:10 -04:00
Reonu
eb666c9e01 Automatic save backup system
From Zelda64Recomp/Zelda64Recomp#260 commit 4ebe71bfccbef17268c8941bed8d428d445268ca

Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
2024-06-01 09:06:33 -04:00
David Chavez
56cfbb2d31
Make ModernRuntime Integration Ready (#26)
Co-authored-by: angie <angheloalf95@gmail.com>
2024-06-01 08:36:29 +02:00
David Chavez
32632ab2ff
Game Registration API (#1) 2024-05-22 04:03:39 +02:00
dcvz
b47b52f540 Add CMakeLists 2024-05-19 22:31:47 +02:00
Mr-Wiseguy
3504a4c71f Added ultramodern and librecomp from Zelda64Recomp, added rt64 submodule, added README 2024-05-19 15:04:28 -04:00