Commit graph

91 commits

Author SHA1 Message Date
Dario
8147964aa5 Change construction of ModConfigQueueSaveMod. 2025-03-14 16:16:33 -04:00
Mr-Wiseguy
21bea3b0d1 Fix config value parsing to allow integral values for double fields 2025-03-14 16:16:33 -04:00
Mr-Wiseguy
2d76c8434b Implement API to allow mods to read their config values 2025-03-14 16:16:33 -04:00
Mr-Wiseguy
fb57858a68 Fix mod configs not saving and default value not getting parsed 2025-03-14 16:16:33 -04:00
Mr-Wiseguy
e6d1ed5dd6 Implement extended function exports that pass the caller mod's index as an extra argument 2025-03-14 16:16:33 -04:00
Dario
e814ad6f83 Auto-enabled mods. 2025-03-14 16:16:33 -04:00
Dario
5bde72d8ac Parse thumbnail when opening mods. 2025-03-14 16:16:33 -04:00
Dario
653a82816e Mods directory. 2025-03-14 16:16:33 -04:00
Dario
40df967a5c Enable new mods by default. 2025-03-14 16:16:33 -04:00
Dario
7ca672b196 Persist mod order and enable. 2025-03-14 16:16:32 -04:00
Dario
240c3f566d Proper enum parsing. 2025-03-14 16:16:32 -04:00
Dario
843c1a1dcc Config storage for mods. 2025-03-14 16:16:32 -04:00
Mr-Wiseguy
ce872d7e3c Add float arg1 helpers 2025-03-14 16:16:32 -04:00
Dario
0b18a35292 Add support for config schema. 2025-03-14 16:16:32 -04:00
Dario
985e600f7a Cleanup. 2025-03-14 16:16:32 -04:00
Dario
83045aec3b Add auto enabled. 2025-03-14 16:16:32 -04:00
thecozies
b11f4a91da wip callback registry 2025-03-14 16:16:32 -04:00
thecozies
499fa67b62 parse/validate button config type 2025-03-14 16:16:32 -04:00
thecozies
df02da1f6a Added TextField option type 2025-03-14 16:16:32 -04:00
thecozies
15e0b39fc3 dropdown config type 2025-03-14 16:16:32 -04:00
thecozies
e3016df67b switch to using usings 2025-03-14 16:16:32 -04:00
thecozies
9406d7f197 Added config registry/option files 2025-03-14 16:16:32 -04:00
thecozies
d82601222b Use a custom hash class to enable hetereogenous lookup 2025-03-14 16:16:32 -04:00
thecozies
af14101bdb init recomp config_store 2025-03-14 16:16:32 -04:00
David Chavez
ec56fb39b0
Add Metal as a renderer (#94)
Some checks failed
validate / ubuntu (arm64, Release) (push) Has been cancelled
validate / ubuntu (x64, Debug) (push) Has been cancelled
validate / ubuntu (x64, Release) (push) Has been cancelled
validate / windows (x64, Debug) (push) Has been cancelled
validate / ubuntu (arm64, Debug) (push) Has been cancelled
validate / windows (x64, Release) (push) Has been cancelled
validate / macos (arm64, Debug) (push) Has been cancelled
validate / macos (arm64, Release) (push) Has been cancelled
validate / macos (x64, Debug) (push) Has been cancelled
validate / macos (x64, Release) (push) Has been cancelled
2025-03-14 18:08:18 +01:00
Wiseguy
52ee0a675f
Fix missing chrono include on some STL implementations (#92) 2025-03-05 21:22:51 -05:00
Wiseguy
a7b9470f92
Fix osDpSetStatus bit handling (#88) 2025-02-18 17:34:36 -05:00
Wiseguy
a2f201db84
Add on init callback to GameEntry, fix thread_queue_remove not actually removing the thread (#87) 2025-02-17 21:34:22 -05:00
Wiseguy
0afeb089a5
Fix jump table handling in regenerated relocatable functions (#86) 2025-02-11 22:45:45 -05:00
Wiseguy
5360099ee2
Fix issues with hooking functions that were patched by the base recomp (#85) 2025-02-11 01:11:24 -05:00
Wiseguy
7319630e2e
Fix issue with regenerating patched functions with no base functions regenerated, add 1kB of padding between mods to mitigate OOB accesses in mods, update N64Recomp (#84) 2025-01-30 03:02:40 -05:00
Wiseguy
3474514013
Populate display_name for autogenerated manifests (#83) 2025-01-26 23:00:13 -05:00
Wiseguy
6eca1df47f
Edited mod error messages to reflect new manifest filename, updated N64Recomp commit (#82) 2025-01-26 22:51:39 -05:00
Wiseguy
5eada509c0
Rename manifest to mod.json, refactor config parsing, add display_name, description, short_description fields (#81) 2025-01-26 22:14:08 -05:00
Wiseguy
cdfe416809
Mod function hooking (#80)
* Prevent mods from replacing functions patched by the base recomp unless they're marked as Force

* Implement function hooking for functions replaced by mods

* Add support for hooking non-relocated functions that aren't replaced by a mod

* Only create the regenerated code handle if any functions need to be regenerated

* Implement relocs for function regeneration in hooking

* Implement hooking of functions patched by the base recomp

* Fix base event index tracking when loading mods

* Update to N64Recomp main branch after merge
2025-01-26 22:03:36 -05:00
Ethan Lafrenais
7eb4bc3459
Runtime support for RSP overlays (#77) 2025-01-16 00:32:33 -05:00
Wiseguy
50029c70fd
Update sse2neon.h (#79) 2025-01-13 02:11:36 -05:00
Ethan Lafrenais
9721c8de3b
Add GameEntry.thread_create_callback (#78) 2025-01-12 23:43:53 -05:00
Wiseguy
d17a3f34cb
Integrate the live recompiler for mod loading (#76) 2025-01-02 21:25:20 -05:00
Darío
1361c48f59
Use SDL_Window as the WindowHandle in Linux and Android. (#73) 2024-12-23 21:23:24 -05:00
Wiseguy
576fed6cfc
Fix mods getting duplicated when scanning multiple times, fix incorrect mmap for rdram (#71) 2024-12-04 18:41:35 -05:00
Wiseguy
e3a8355a19
Fix eeprom probe and remove redundant eeprom size checks (#70) 2024-11-24 02:20:24 -05:00
Wiseguy
d5c81d0a6b
Fixed bitpattern pointer for osContInit and removed shader cache functionality (#69) 2024-11-08 21:09:16 -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
3e39c2ec34
Add modified o1Heap library and set up recomp heap (#66)
* Add modified o1Heap library and set up recomp heap

* Fix missing include on POSIX systems
2024-10-21 22:23:33 -04:00
Wiseguy
9e9ae173ee
Fixed incorrect alignment during mod section loading (#65) 2024-10-12 01:10:59 -04:00
Wiseguy
25e8bcc1e1
Added mechanism for recomps to declare custom mod content types and container formats (#64)
Also adds a way to specify whether a given content type can be toggled at runtime. The built-in mod code content type has this setting disabled.
2024-09-28 16:47:00 -04:00
Wiseguy
46797d6cad
Made DLL loading also search the DLL's path for dependency resolution (#63) 2024-09-27 00:50:07 -04:00
David Chavez
b80bb216b2
fix(macos): Add support for macos and ARM64 patching (#62) 2024-09-17 18:15:24 -04:00