Compare commits

..

275 Commits

Author SHA1 Message Date
Arceveti
87c634b3cb Merge branch 'develop/2.3.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2024-03-30 15:14:30 -07:00
Matt Pharoah
7353db562c Merge pull request #774 from mpharoah/mpharoah/update-libpl
Update libpl
2024-03-06 17:28:42 -05:00
Matt Pharoah
82e0fdf391 Update libpl 2024-03-06 09:10:09 -05:00
Gregory Heskett
3e5d14e650 Merge pull request #772 from HackerN64/develop/2.2.0
Release: HackerSM64 2.2.0
2024-03-02 08:16:09 -05:00
Gregory Heskett
197d8074e3 Vanilla bugfix: obj_init_animation referencing o instead of obj 2024-03-01 17:47:05 -05:00
Gregory Heskett
c5d9f535ee HackerSM64 v2.2.0 2024-03-01 17:03:30 -05:00
Gregory Heskett
8257f77c57 A few various Puppyprint bugfixes (#770) 2024-03-01 17:00:46 -05:00
arthurtilly
78747e9836 Toggle the default status of a few defines to avoid confusing new people (#740)
* define toggles

* disable blue preview
2024-02-29 19:03:43 -05:00
arthurtilly
c96118bcd8 Fix objects using throwmatrix having incorrect rotation when paused (#769)
* throwmatrix fix

* ok fixed it and removed some cringe matching

* happy bitch
2024-02-29 19:03:08 -05:00
Gregory Heskett
4c8233fe6a Fix automatic libpl cloning (#771) 2024-02-27 10:29:47 -05:00
Gregory Heskett
524e35c974 Add -falign-functions=32 to makefile flags (#745)
Seemingly provides minor performance benefit and should more importantly reduce perf lotto substantially (hopefully)
2024-02-22 00:38:19 -05:00
Matt Pharoah
fc5ffa7438 Update libpl (#767)
* Update libpl

* Update libpl again

* would you believe its another libpl update
2024-02-16 12:45:29 -05:00
Arceveti
3cae3580c1 Move some analog macros to joybus.h 2024-02-14 01:06:07 -08:00
Arceveti
64b2e2d855 Revert formatting changes in types.h 2024-02-14 00:59:46 -08:00
Arceveti
05b5b91674 Merge branch 'develop/2.2.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2024-02-14 00:40:08 -08:00
arthurtilly
d07e6383f6 Fixed bugs relating to objects dying in lava (#766)
• Changed the generic object death function to now also check that an object has landed and is over lava before killing it. Previously it would die instantly if it was above lava which resulted in objects randomly dying above lava

• Also changed the same function to kill a non-buoyant and killable object (e.g. goombas) right when it touches water. Previously it would slowly sink to the bottom and then instantly die upon touching the floor underwater which is strange.

• Changed where lava checks are done so they are done in the same place as other object flag checks. This avoids bugs where e.g. objects die when touching the edge of a platform that is over lava, because the ground flags are updated, then the object's floor is updated to be over the lava, and then the lava move flags are updated causing the object to think it is over lava and touching ground at the same time (making it die)

• Fixed the coin flicker define for regular non-bully coins because apparently it just never worked and no-one noticed? Only the coins that come from bullies worked with this define and I guess people only ever tested coins in lava with bullies. I rewrote the coin behavior to be a little closer to the bully one. I think in the future the two types of moving coins could easily be merged into one object, they don't act visibly different at all.

Tested the PR with a lot of goombas being dropped into lava/water and also this stuff is in Mario Builder so I've been testing it there too. Feel free to test more.
2024-02-09 21:07:31 -05:00
Gregory Heskett
1de4b9144b Fix floating point crash with pitch bend table + various audio optimizations (#746)
* Move audio TTLs to improve dcache

Saves over 100us even when audio is idle

* Improve additional audio runtime by reducing some unnecessary float math

* Pause channel/layer processing on sfx channels when idle

* Fix possible floating point UB/crash with gPitchBendFrequencyScale
2024-02-04 02:29:38 -05:00
YoshiMilkman
88c2cdb0a0 Fix wall sidling with negative speed (#762) 2024-02-02 22:52:10 -05:00
Gregory Heskett
3a5a2f14dd Missed a comma 2024-02-02 22:27:48 -05:00
Gregory Heskett
b9ba17a4d6 Add libpl submodule (#753)
* Add libpl submodule

* Clone libpl submodule automatically while building (if enabled)
2024-02-02 22:08:34 -05:00
Gregory Heskett
5064fcfb69 Merge pull request #757 from HackerN64/master
Merge HackerSM64 2.1.3 release into 2.2.0
2024-01-31 01:23:18 -05:00
Gregory Heskett
05bbe16e29 HackerSM64 Release: 2.1.3
* Preserve vanilla reverb downsampling behavior whenever BETTER_REVERB isn't in use (#727)

* Disable unrelated buttons controlling S&Q menu and pausing (#728)

* Update Dockerfile to Ubuntu 22.04 as 18.04 is EOL (#731)

* Update Dockerfile to Ubuntu 22.04 as 18.04 is EOL

* Dockerfile: Use modern syntax for mounting

* Add gcc-mips-linux-gnu to dockerfile

* Add DEBUG_ASSERTIONS define and enable it by default (#730)

* Add relevant model ID asserts to level script load commands (#722)

Co-authored-by: someone2639 <someone2639@gmail.com>

* Define changes for transitions, two bug fixes (#739)

* Fixed one or two bugs, cleaned up a few things, put every non vanilla styled change into POLISHED_TRANSITIONS

And renamed set_and_reset_transition_fade_timer

* Undid the renaming of set_and_reset_transition_fade_timer as suggested

* Fix silhouette occlusion layers rendering twice (#748)

* Fix Boo's Accelerating Upwards During Textbox (Vanilla Bug) (#742)

* Add assert for beginning geo layout command (#738)

* geo layout assert

* new idea

* Change assert message, add crash screen newline support, and change debug safeguards

* Fix weird text on Project64 GLideN64 (#715)

* Update version to 2.1.3 (#754)

* Fix rumble Issues (#756)

* Missed important use of thread6 stack define

* Fix build issues with rumble

---------

Co-authored-by: Gregory Heskett <gheskett@gmail.com>
Co-authored-by: Denis Kopyrin <aglab3@gmail.com>
Co-authored-by: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com>
Co-authored-by: someone2639 <someone2639@users.noreply.github.com>
Co-authored-by: someone2639 <someone2639@gmail.com>
Co-authored-by: Lilaa3 <87947656+Lilaa3@users.noreply.github.com>
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: 1ted59 <24933689+1ted59@users.noreply.github.com>
Co-authored-by: arthurtilly <32559225+arthurtilly@users.noreply.github.com>
Co-authored-by: iProgramInCpp <iprogramincpp@gmail.com>
2024-01-27 12:45:43 -05:00
Gregory Heskett
9cf3753d6e Update version to 2.1.3 (#754) 2024-01-27 12:39:03 -05:00
Gregory Heskett
325ee7c5ec Fix rumble Issues (#756)
* Missed important use of thread6 stack define

* Fix build issues with rumble
2024-01-27 12:39:03 -05:00
DNVIC
bf924a8ec3 Added a define for slope fix (#749)
* implemented a form of slope fix

* fixed the slope fix to not allow for hyper cheese

* implemented gheskett's suggestions

* Added space between comment and define

Co-authored-by: Gregory Heskett <gheskett@gmail.com>

---------

Co-authored-by: dnvic <business@dnvic.com>
Co-authored-by: Gregory Heskett <gheskett@gmail.com>
2024-01-21 14:11:32 -05:00
iProgramInCpp
c39b289441 * Fix weird text on Project64 GLideN64 (#715)
Included in the PR will be a list of comparisons.

This does two things:
1. Restores the `dl_ia_text_tex_settings` from the original Super Mario 64. Not sure why this was changed.
2. Changes the S coordinate of two vertices from `vertex_ia8_char` from 480 to 512. This is an error from the original game.
2024-01-21 13:42:50 -05:00
arthurtilly
5ba00edf20 Add assert for beginning geo layout command (#738)
* geo layout assert

* new idea

* Change assert message, add crash screen newline support, and change debug safeguards

---------

Co-authored-by: Gregory Heskett <gheskett@gmail.com>
2024-01-21 13:38:00 -05:00
1ted59
15a81037ef Fix Boo's Accelerating Upwards During Textbox (Vanilla Bug) (#742)
If a `Go On A Ghost Hunt` Boo is killed while it has a gravity of -1 (at the bottom of its oscillation), and does not hit a wall, it will keep the same negative gravity and continue moving until the textbox is closed. Boo Y speed isn't capped in this scenario, so the constant -1 gravity leads to the boo moving upwards at an increasing rate.

This leads to issues in `boo_act_4`. The distance eventually increases to a point where the boo object is too far to be returned in `cur_obj_nearest_object_with_behavior`. 

This can have 2 buggy effects:

- the wrong dialog box being brought up if the textbox is delayed (easiest to do by hanging on a ledge).
- the puzzle solved jingle being played incorrectly if you wait in the textbox long enough

This doesn't actually cause issues with King Boo, it just brings up the wrong text box. King Boo spawning is unaffected by this bug.

The fix is to stop the boo after the death animation has finished playing, stopping the boo from accelerating upwards. I don't believe this to cause any other issues (the boo is already dead after all!)

Thanks to Kyman for finding this bug.
2024-01-20 13:07:45 -05:00
Arceveti
b2707990f2 Fix silhouette occlusion layers rendering twice (#748) 2024-01-01 18:44:41 -05:00
Gregory Heskett
1d7a690361 Optimize BETTER_REVERB lightweight by an additional ~20% CPU, while also cutting memory requirements for it by ~30% (#744) 2023-12-30 23:22:05 -05:00
Lilaa3
08f0e3efa4 Define changes for transitions, two bug fixes (#739)
* Fixed one or two bugs, cleaned up a few things, put every non vanilla styled change into POLISHED_TRANSITIONS

And renamed set_and_reset_transition_fade_timer

* Undid the renaming of set_and_reset_transition_fade_timer as suggested
2023-12-29 18:32:19 -05:00
arthurtilly
6148582f5e remove puppylights (#736) 2023-12-16 23:26:31 -05:00
Gregory Heskett
913cda93b8 Audio cleanup checkpoint: Large portion of synthesis.c taken care of + occasional audio optimizations (#710) 2023-12-15 23:57:19 -05:00
someone2639
d7c840b8f1 Cache master displaylist on "hot" code paths (#724)
* add displaylist macros

* implement displaylist macro in memory.c

* API update

* implement displaylist macro on all 'hot' code paths

* Remove the macro entirely

* rename tmpDL

* remove the other two macros

* catch the last 2 missing statements

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-12-15 23:56:40 -05:00
arthurtilly
b73d8dd178 Math util cleanup (#566)
* math util cleanup

* clean up min/max 3 and also distance and angle functions

* improve pipelining and make macros safe

* macros safer and cleaned approaches

* fix build

* made sure puppycam builds (and fixed unused var warnings)

* added 32 bit mins and maxs
2023-12-15 23:44:06 -05:00
Arceveti
e53e6d25a0 Merge branch 'develop/2.2.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-12-15 14:50:17 -08:00
Arceveti
3a24ce70cb Merge branch 'master' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-12-15 14:48:39 -08:00
arthurtilly
9fc928ed70 Remove OBJECTS_REJ and clean up core render func (By Fazana) (#735)
* crowd pleaser

* Fix debug boxes

* fix comments

* renamed temp graphics head to be consistent

---------

Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com>
2023-12-15 08:48:32 -05:00
someone2639
76dae5e8dd Add file select skip define (#723)
* add config define to skip file select

* implement file select skip

* Add more coverage to the skip file select tweak

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-12-14 23:27:50 -05:00
someone2639
7df16608a7 Add relevant model ID asserts to level script load commands (#722)
Co-authored-by: someone2639 <someone2639@gmail.com>
2023-12-14 23:26:43 -05:00
arthurtilly
1646702393 shorten call_native command (#733) 2023-12-14 23:24:35 -05:00
arthurtilly
dcfcf50a80 wall fix (#734) 2023-12-14 23:24:03 -05:00
Gregory Heskett
4f2c48c733 Add DEBUG_ASSERTIONS define and enable it by default (#730) 2023-12-11 01:58:30 -05:00
MisterSheeple
72f8ea130f Update Dockerfile to Ubuntu 22.04 as 18.04 is EOL (#731)
* Update Dockerfile to Ubuntu 22.04 as 18.04 is EOL

* Dockerfile: Use modern syntax for mounting

* Add gcc-mips-linux-gnu to dockerfile
2023-12-10 22:40:34 -05:00
Denis Kopyrin
36c98b6cd1 Disable unrelated buttons controlling S&Q menu and pausing (#728) 2023-12-10 02:28:08 -05:00
Gregory Heskett
78cc957d31 Preserve vanilla reverb downsampling behavior whenever BETTER_REVERB isn't in use (#727) 2023-10-31 18:23:15 -04:00
Arceveti
93c2bd12d1 Move controller and rumble pak textures to .c.in files 2023-09-28 10:46:09 -07:00
Arceveti
48f15f2fcc Merge branch 'develop/2.1.2' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-27 14:55:05 -07:00
thecozies
7de18d10fc Merge pull request #714 from HackerN64/develop/2.1.2
Release: v2.1.2
2023-09-27 16:54:38 -05:00
Gregory Heskett
01c3f20c6f v2.1.2 2023-09-27 11:13:53 -05:00
thecozies
38f25d2b83 rename flips src dir (#711) 2023-09-27 11:55:14 -04:00
someone2639
48bea33052 spawn lakitu at the origin (#712)
Co-authored-by: someone2639 <someone2639@gmail.com>
2023-09-27 11:54:00 -04:00
Arceveti
889d7aabdb Fix 'SIZEOF_GFX_TEXRECT_RGBA16' define name 2023-09-26 20:58:26 -07:00
Arceveti
83efeffeee Merge branch 'master' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-26 20:11:41 -07:00
thecozies
b8f770ae48 Release/2.1.1 (#709)
* removed extraneous mat stack index decrement in geo_process_camera (#708)

* Fixed typo in FCR enums (#707)

* v2.1.1

---------

Co-authored-by: Matt Pharoah <mtpharoah@gmail.com>
2023-09-26 14:05:46 -04:00
Arceveti
8be4beddc4 Merge branch 'master' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-25 17:38:00 -07:00
Arceveti
0e2d170798 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-22 15:44:18 -07:00
Arceveti
0a0950b471 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-11 14:31:43 -07:00
Arceveti
19ce4c0834 Better HiLo structs 2023-09-11 14:11:47 -07:00
Arceveti
5ba2c31d18 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-11 13:57:25 -07:00
Arceveti
76d41a03b6 Formatting fix 2023-09-06 13:15:41 -07:00
Arceveti
ee38bd51ca Fix comment 2023-09-02 13:18:57 -07:00
Arceveti
8f61244f57 Improve some struct definitions 2023-09-01 19:18:24 -07:00
Arceveti
64e07e086a Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-01 18:30:09 -07:00
Arceveti
32c16846b2 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-08-23 17:12:38 -07:00
Arceveti
dc0b97a65f input.c/input.h formatting 2023-08-19 02:29:03 -07:00
Arceveti
567fbf2957 Some render_controllers_overlay cleanup 2023-08-19 02:01:49 -07:00
Arceveti
6a5cf577c2 UNF ifdefs 2023-08-19 01:15:23 -07:00
Arceveti
daa429fa32 controller_select_menu fixes 2023-08-19 01:15:11 -07:00
Arceveti
dbcaba5815 Rename 'texrect_rgba32' to 'texrect_rgba16' 2023-08-18 15:50:09 -07:00
Arceveti
2f80e3eb99 Fix GCN rumble comment 2023-08-17 17:08:46 -07:00
Arceveti
c06431b040 controller_select_menu.c formatting cleanup 2023-08-17 15:40:15 -07:00
Arceveti
ac96010c70 Add analog highlights 2023-08-17 13:28:48 -07:00
Arceveti
baac7073fd Add texrect_rgba32 2023-08-17 12:40:48 -07:00
Arceveti
c880c4fab5 Optimize rumble pak graphic segment2 memory usage 2023-08-17 12:22:44 -07:00
Arceveti
fb5c68f14f CONT_CMD_GCN_CALIBRATE doesn't require uninitialized origins + analog deadzone defines + formatting 2023-08-17 11:20:39 -07:00
Arceveti
1351c41196 Fix struct offset sizes 2023-08-14 13:13:45 -07:00
Arceveti
b05b92e035 Rename '__osPackRead_impl' to '__osPackReadEx' 2023-08-11 01:26:34 -07:00
Arceveti
58c93a0c25 Fix comments for rawStickX and rawStickY ranges in Controller struct 2023-08-10 21:30:03 -07:00
Arceveti
519747d1a4 Add fasttext_get_str_width + clarify some comments 2023-08-10 16:14:51 -07:00
Arceveti
c091960a9b Update the relevant ique include files to include changes 2023-08-10 15:30:06 -07:00
Arceveti
371296f94a Rename 'osStartRead_impl' to 'osContStartReadDataEx' 2023-08-10 15:09:35 -07:00
Arceveti
b19f24e605 Move controller select menu stuff into its own file 2023-08-10 14:31:45 -07:00
Arceveti
55fd98b253 Remove redundant OSContPadEx union field + button union type consistency 2023-08-10 14:07:19 -07:00
Arceveti
0cab016a0f Add raw byte arrays to PIF command struct unions + properly fix goddard Z crash + fix some comments 2023-08-10 13:49:26 -07:00
Arceveti
a6aab07352 Rename "cmdID" to "cmd" 2023-08-09 15:48:30 -07:00
Arceveti
ffb663006f Rename "i" to "port" in crash screen input loop 2023-08-09 15:44:06 -07:00
Arceveti
8583d10bd6 Fix crash screen input 2023-08-09 15:18:38 -07:00
Arceveti
65eba3548a Fix build for merge 2023-08-09 14:24:18 -07:00
Arceveti
1798c72dd4 Set MAX_NUM_PLAYERS back to 1 2023-08-07 13:51:19 -07:00
Arceveti
ad1c9e9c70 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-08-07 13:51:05 -07:00
Arceveti
30865abfaf Highlight currently pressed buttons in the status repolling gui 2023-08-07 12:32:14 -07:00
Arceveti
d12881298e Update function return documentation 2023-08-07 12:31:22 -07:00
Arceveti
0767c76425 Split 'ALLOW_STATUS_REPOLLING_COMBO' into 'ENABLE_STATUS_REPOLLING_GUI' and 'ENABLE_STATUS_REPOLLING_COMBO_IN_GAMEPLAY' 2023-08-06 18:44:57 -07:00
Arceveti
59acce3da8 segment2 fixes 2023-08-06 18:31:59 -07:00
Arceveti
9ab67e6ebf Add cont icon size defines + fix build warning 2023-08-05 14:19:44 -07:00
Arceveti
deb53bc973 Add rawContButtons field to OSContPadEx + os_cont.h formatting 2023-08-05 14:17:32 -07:00
Arceveti
9089607f9e Rename 'USE_GAMECUBE_CONTROLLER' to 'EMU_DEFAULT_TO_GCN' 2023-08-03 16:43:51 -07:00
Arceveti
9e6d027620 Update status poll combo to Z+R+A+START, + allow changing order of combo print 2023-08-03 15:24:56 -07:00
Arceveti
86b0966e5d Update controller icons + spacing 2023-08-03 13:27:00 -07:00
Arceveti
ba420d4028 Fix polling for GCN origins running whenever any port has a non-GCN controller or is empty 2023-08-02 12:58:24 -07:00
Arceveti
6cc1975127 Update controller port icon 2023-08-02 12:44:48 -07:00
Arceveti
00e5dd6da0 Move gControllerPlayerNumbers into gControllerPads + replace gcnRumble field in OSContPadEx 2023-08-02 12:44:17 -07:00
Arceveti
b3a4eda167 Fix unimplemented command error 2023-08-02 01:29:44 -07:00
Arceveti
4fb3c843cd Revert "Fix unimplemented command error"
This reverts commit 42c52817c2.
2023-08-02 01:29:14 -07:00
Arceveti
42c52817c2 Fix unimplemented command error 2023-08-02 01:26:22 -07:00
Arceveti
3c29d9806e __osPackRead_impl cleanup 2023-08-01 20:15:42 -07:00
Arceveti
bfebadc244 Actually fix profiling.c 2023-07-31 21:57:56 -07:00
Arceveti
d3708ebd94 Revert accidental profiling.c changes + update readme + rumble.c formatting 2023-07-31 21:55:51 -07:00
Arceveti
f1c2c94c93 Update controller port icon 2023-07-31 21:40:48 -07:00
Arceveti
ebb5253de8 Streamline GCN origins polling trigger 2023-07-31 18:25:59 -07:00
Arceveti
8afd5122ea Add zero analog defines 2023-07-31 13:13:10 -07:00
Arceveti
369ef6734c Remove __osContGetInitDataEx since it's no longer needed 2023-07-30 16:13:59 -07:00
Arceveti
f93d47b7ba Dissolve gPortInfo 2023-07-30 14:55:20 -07:00
Arceveti
338eee167c Decouple button bits from non-button bits + Move controller button struct definitions to os_cont.h 2023-07-27 15:08:49 -07:00
Arceveti
5dc044590d Clarify/fix some comments 2023-07-27 13:50:04 -07:00
Arceveti
4d79f57f68 Fix get_cycle crash when 'CONT_STATUS_POLLING_TIME' is 0 + formatting 2023-07-26 14:38:13 -07:00
Arceveti
7dfa6a90d4 File renames + clean up some includes 2023-07-22 15:11:43 -07:00
Arceveti
0dbf0fbb32 Combine pack functions + finish GCN calibration command support 2023-07-21 14:34:59 -07:00
Arceveti
126253f954 More formatting 2023-07-21 13:53:07 -07:00
Arceveti
650654d033 formatting changes :) 2023-07-20 18:41:53 -07:00
Arceveti
6d3a2eeb2d Update comment 2023-07-19 19:34:07 -07:00
Arceveti
47e0f25a15 Add proper GCN controller origin recalibrating functionality 2023-07-19 19:27:51 -07:00
Arceveti
d8b9bb73e6 Fix build 2023-07-18 16:52:19 -07:00
Arceveti
1bf7a6cb47 Disable 'DISABLE_DEMO' by default 2023-07-17 16:21:55 -07:00
Arceveti
ad90eba00a Fix Goddard debug print crash 2023-07-17 15:59:27 -07:00
Arceveti
9b3e5f971e Fix demo 2023-07-17 15:54:05 -07:00
Arceveti
cb9ced8abe Use MarioState->controller for mario actions instead of gPlayer1Controller 2023-07-16 11:53:31 -07:00
Arceveti
13a81ebdea Remove duplicate remap 2023-07-13 19:57:45 -07:00
Arceveti
9b903d42d5 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-07-12 16:37:47 -07:00
Arceveti
4b3f9e8ec0 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-04-30 22:30:26 -04:00
Arceveti
8b4cd14cb6 _Bool usage 2023-04-26 12:26:36 -04:00
Arceveti
15e5a17fca _Bool usage 2023-04-16 14:58:15 -04:00
Arceveti
ec880fb46b formatting changes 2023-04-10 14:16:16 -04:00
Arceveti
482405db67 pointer formatting changes 2023-04-07 18:35:35 -04:00
Arceveti
8314034280 Improve geo_intro_rumble_pak_graphic allocation 2023-03-28 12:30:56 -04:00
Arceveti
7e7813f2bc Split D-pad and C-buttons from other buttons in input structs 2023-03-27 18:43:07 -04:00
Arceveti
947fc5d2ea Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-03-27 18:26:54 -04:00
Arceveti
ed5f628486 Fix wrong type for sRenderedFramebuffer 2023-03-17 13:49:19 -04:00
Arceveti
1c8db3d9ae Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-03-17 12:14:21 -04:00
Arceveti
b531611f13 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-03-12 14:10:21 -04:00
Arceveti
983612df1b Add 'ALLOW_STATUS_REPOLLING_COMBO' define 2023-03-10 11:42:33 -05:00
Arceveti
73b7a61bde Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-03-10 11:29:10 -05:00
Arceveti
fc977ed3e0 Rename 'NUM_SUPPORTED_CONTROLLERS' to 'MAX_NUM_PLAYERS' + formatting consistency 2023-03-09 16:37:19 -05:00
Arceveti
8b861a2d3f ALIGNED64 __MotorDataBuf + formatting consistency 2023-03-09 12:14:48 -05:00
Arceveti
cfd87e0ad5 Separate aligned and unaligned command format structs 2023-03-08 14:54:29 -05:00
Arceveti
6b95114c03 Remove PRIORITIZE_GAMECUBE_CONTROLLERS_ON_BOOT 2023-03-08 14:27:58 -05:00
Arceveti
ec6bda79aa Doxygen function documentation 2023-03-08 14:20:19 -05:00
Arceveti
82f0da7d2e Use first controller input as P1 on boot when MAX_SUPPORTED_CONTROLLERS is 1 2023-03-08 13:43:54 -05:00
Arceveti
59dc86234d Combine queue_rumble_decay into queue_rumble_data since it can't be called separately 2023-03-08 11:57:11 -05:00
Arceveti
bba724e6f8 Add OSPifRamEx 2023-03-08 11:44:58 -05:00
Arceveti
bc6c42e366 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-03-08 11:26:50 -05:00
Arceveti
69055c9401 Fix some macros 2023-03-08 11:26:37 -05:00
Arceveti
3ecadf796b Combine rumble command structs 2023-03-07 17:47:45 -05:00
Arceveti
9894152534 use pfs status to detect rumble pak + fix mario.c 2023-03-07 17:10:55 -05:00
Arceveti
f1642d58af Allow rumble on multiple controllers 2023-03-07 17:09:42 -05:00
Arceveti
bfd3e59290 Clean up rumble ifdefs + add unused controller args 2023-03-07 15:45:32 -05:00
Arceveti
3220d74b0d Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-03-07 13:45:03 -05:00
Arceveti
b38bce56d7 Fix gamecube input v3 (real) [final] *release edition* (probably) 2023-03-07 13:43:23 -05:00
Arceveti
1f5e7512b6 rename 'contCenters' to 'origins' 2023-03-06 17:55:44 -05:00
Arceveti
bb8a5f3987 Fix status poll timer 2023-03-06 17:34:55 -05:00
Arceveti
8b1f359555 Rename 'pollingInput' to 'statusPollButtons' 2023-03-06 17:29:48 -05:00
Arceveti
6a1f78d284 Remove exit combo cooldown 2023-03-06 17:27:56 -05:00
Arceveti
7f3d6ace49 Fix gNumPlayers usage 2023-03-06 16:17:09 -05:00
Arceveti
4c853afb87 Fix GCN input poll command sizes 2023-03-06 16:03:59 -05:00
Arceveti
d3eed5d5f7 Actually fix gamecube controller input 2023-03-06 15:04:11 -05:00
Arceveti
ea628dd113 Potentially fix gamecube input 2023-03-06 14:28:16 -05:00
Arceveti
fe02f58004 Add __OSContGenericFormat 2023-03-05 18:37:09 -05:00
Arceveti
2d6bf908f7 Save analog centers for triggers + use origin bit 2023-03-05 12:57:39 -05:00
Arceveti
e8fc703fd0 Change OSContCmdData to OSContCmdSize 2023-03-04 12:17:54 -05:00
Arceveti
ea72987c43 Fix build 2023-03-04 12:07:30 -05:00
Arceveti
92f3a7d2ba Update some comments + formatting 2023-03-04 12:01:47 -05:00
Arceveti
da66b48f7d Fix EEPROM probe 2023-03-04 11:41:48 -05:00
Arceveti
f821dbfce5 Print Rumble PFS error descriptions 2023-03-03 16:09:59 -05:00
Arceveti
e27e0d61f1 Add separate enum for PIF control bytes 2023-03-03 16:09:02 -05:00
Arceveti
30ac33ae61 Use analog pair structs for OSContPadEx 2023-03-03 15:25:40 -05:00
Arceveti
cef1be2d40 Move Controller centers to OSContPadEx 2023-03-03 14:51:16 -05:00
Arceveti
c509e8253d Use the command itself instead of portInfo to determine which controllers to poll in osContGetReadDataEx 2023-03-03 14:30:57 -05:00
Arceveti
d8fb2f668c fix joybus.h header includes 2023-03-03 13:35:04 -05:00
Arceveti
fd345e9908 Move GCN Z/L swap to __osContWriteGCNInputData 2023-03-03 12:28:59 -05:00
Arceveti
7a94b73be2 Fix command format struct offset comments 2023-03-02 19:54:55 -05:00
Arceveti
8c56cd6654 Add remaining command format structs (VRU) 2023-03-02 18:29:39 -05:00
Arceveti
93c5fea323 Add format structs for keyboard and wheel 2023-03-02 17:58:56 -05:00
Arceveti
3fe898cc41 Rename controller.c/h to joybus.c/h 2023-03-02 16:24:31 -05:00
Arceveti
cf1d9f06e4 Add const poll format data + some refactoring 2023-03-02 16:20:57 -05:00
Arceveti
c06d960572 Add GCN calibration and long poll formats + improve osContGetReadDataEx 2023-03-02 15:14:17 -05:00
Arceveti
ec7d8c3eec Autogenerate button combo string from the combo define 2023-03-01 21:26:15 -05:00
Arceveti
9b83166ca7 Fix __osMotorAccessEx being run twice 2023-03-01 20:42:08 -05:00
Arceveti
4313cef92d Add support for GCN controller modes other than 3 2023-03-01 19:49:32 -05:00
Arceveti
1a2254fad7 Remove osSyncPrintf in init_and_check_rumble_pak 2023-03-01 18:08:02 -05:00
Arceveti
c588c13c44 More controller.c documentation + Add structs for EEPROM and RTC command formats 2023-03-01 17:09:32 -05:00
Arceveti
b1acbc234f Fix rumble pak error checking + controller.c formatting 2023-03-01 12:17:55 -05:00
Arceveti
7e8ecb0ebb controller.h formatting 2023-02-27 15:15:28 -05:00
Arceveti
43a6d84786 Add AnalogStick struct 2023-02-24 13:10:01 -05:00
Arceveti
1ddd3aa2b8 Use button structs for input read formats 2023-02-24 11:57:38 -05:00
Arceveti
b4bc5a9d1a More cleanup + update some icons 2023-02-21 23:08:48 -05:00
Arceveti
17e05f89e1 Fix command format struct size comments 2023-02-20 22:56:43 -05:00
Arceveti
2f967d5797 Use handle_input in crash_screen.c 2023-02-20 22:39:02 -05:00
Arceveti
e46dff54f4 Use poll_controller_inputs in crash_screen.c 2023-02-20 22:36:45 -05:00
Arceveti
9540005838 Fix UB in rumble_thread_update_vi 2023-02-20 22:07:29 -05:00
Arceveti
84e5576e3d Use sizeof for tx/rx byte counts 2023-02-20 21:12:21 -05:00
Arceveti
3afad8da04 More cleanup 2023-02-20 20:24:19 -05:00
Arceveti
995bc74e19 More parse_p1_controller cleanup 2023-02-19 04:57:28 -05:00
Arceveti
5a7b919729 Explain GameCube analog_mode in a comment + more struct documentation 2023-02-19 04:48:13 -05:00
Arceveti
2017928237 Actually fix assign_controllers_auto 2023-02-19 04:22:32 -05:00
Arceveti
4567dd9a77 Fix incorrect struct offset comments in __OSContGCNShortPollFormat 2023-02-19 03:50:25 -05:00
Arceveti
782a0afd9e Fix assign_controllers_auto 2023-02-19 03:44:55 -05:00
Arceveti
1defcd176f Remove alignment from controller input polling commands + simplify port/channel skipping 2023-02-18 15:37:46 -05:00
Arceveti
7aceb9c08e Add PACKED attribute to PIF command format structs 2023-02-17 17:27:24 -05:00
Arceveti
ddf0642ef4 Rename 'i' to 'port' 2023-02-17 17:10:47 -05:00
Arceveti
ec4c78298a Move input stuff out of game_init.c into its own file + menu scrolling documentation 2023-02-17 17:07:50 -05:00
Arceveti
cbd1054230 rumble_init documentation + refactoring/formatting 2023-02-17 16:10:29 -05:00
Arceveti
ba7fb77587 More formatting 2023-02-16 20:46:06 -05:00
Arceveti
b88afce952 Refactoring + documentation 2023-02-16 19:13:11 -05:00
Arceveti
5666ffac16 Don't show instructions text if no controllers are plugged in 2023-02-15 13:12:12 -05:00
Arceveti
08ad5a8908 Make text flash timing match repoll timing 2023-02-13 04:00:47 -05:00
Arceveti
116e249c91 rumble_init formatting 2023-02-12 18:26:49 -05:00
Arceveti
54a3e39f75 Improve combo handling 2023-02-12 17:50:10 -05:00
Arceveti
d6b4e57166 Use gMarioState->controller as controller to rumble 2023-02-12 17:27:38 -05:00
Arceveti
5516d041ab os_cont.h formatting 2023-02-12 17:26:45 -05:00
Arceveti
8a371bfdbb Update comments + formatting 2023-02-11 23:11:21 -05:00
Arceveti
a6ea957eac convert lerps to always inline functions 2023-02-11 18:00:39 -05:00
Arceveti
8a803d8455 Use regular input data for mario head 2023-02-11 14:52:52 -05:00
Arceveti
71b064e847 Rename lerps 2023-02-11 13:20:13 -05:00
Arceveti
addeae8680 Convert lerps and remap to macros 2023-02-11 12:44:25 -05:00
Arceveti
d95933bde0 formatting changes :) 2023-02-11 02:39:49 -05:00
Arceveti
b2ce18639a Update readme 2023-02-11 02:25:47 -05:00
Arceveti
23b58dc989 Add math_util functions + flash text 2023-02-11 02:24:04 -05:00
Arceveti
12ed8686ac Update n64 controller icon 2023-02-11 02:23:12 -05:00
Arceveti
dd2ee3508b Update controller icons 2023-02-11 01:06:03 -05:00
Arceveti
ab9a19c509 Remove 64GB icon 2023-02-11 00:24:58 -05:00
Arceveti
9a0605fee4 Fix shade_screen 2023-02-10 22:16:12 -05:00
Arceveti
500a629c6f Add/update remaining known device icons + update status poll screen 2023-02-09 17:26:46 -05:00
Arceveti
59231305e6 Initialize portInfo usages 2023-02-08 19:54:55 -05:00
Arceveti
0701b54570 Add PRIORITIZE_GAMECUBE_CONTROLLERS_ON_BOOT 2023-02-08 18:51:46 -05:00
Arceveti
ab31650de1 Put rumble pak translation texture pointers in a language array 2023-02-08 18:17:35 -05:00
Arceveti
c7b80e9abd Add some comments + "status polling" naming consistency 2023-02-08 16:51:21 -05:00
Arceveti
4b7d0daa47 Fix polling exit + Fix device IDs + Lots of cleanup 2023-02-08 04:17:56 -05:00
Arceveti
764833a2bc Remove train controller icon :( 2023-02-08 02:18:54 -05:00
Arceveti
b46061d6a2 Add osMotorStopHard 2023-02-06 18:48:38 -05:00
Arceveti
f12bd61f05 Optimize render_controllers_overlay + fasttext 2023-02-06 15:51:02 -05:00
Arceveti
a9ef064935 move rumble pak graphic textures 2023-02-04 17:52:28 -05:00
Arceveti
d6d9142425 Fix crash screen input 2023-02-04 12:45:55 -05:00
Arceveti
5470095a78 temporarily move rumble pak graphic textures to segment2 2023-02-03 18:14:54 -05:00
Arceveti
6697e9498c Add ability for the player to assign player numbers to connected controllers + default NUM_SUPPORTED_CONTROLLERS to 1 2023-02-03 18:03:28 -05:00
Arceveti
975070f5a2 Add keyboard and train controller icons 2023-02-03 16:42:46 -05:00
Arceveti
95c007f23b Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-02-03 00:48:43 -05:00
Arceveti
db050377e7 Fix player2_rotate_cam if NUM_SUPPORTED_CONTROLLERS is 1 + prevent goddard input while profiling 2023-02-03 00:48:30 -05:00
Arceveti
e60fa6261f Add controller.h 2023-02-02 15:14:21 -05:00
Arceveti
0954af0cf4 Add Repoll UI + repoll until input is detected 2023-02-02 14:37:36 -05:00
Arceveti
d0e9c8f597 Add controller device textures 2023-02-02 14:32:16 -05:00
Arceveti
25b128db7c Allow repolling for a controller when it's unplugged 2023-02-02 13:09:53 -05:00
Arceveti
bf8f170b8c Move rumble stuff to rumble_init + formatting 2023-01-31 16:07:40 -05:00
Arceveti
387c6c3954 Update comment + formatting 2023-01-30 14:42:55 -05:00
Arceveti
0c5eadcb99 Rename gamecube_controller.c to controller.c 2023-01-27 17:29:59 -05:00
Arceveti
9af5a968dc formatting + documentation 2023-01-27 17:29:22 -05:00
Arceveti
aa730a6231 Change GC deadzone 2023-01-27 14:46:27 -05:00
Arceveti
1157bbf582 Update readme + formatting 2023-01-26 23:58:10 -05:00
Arceveti
6a14b81798 Fix ENABLE_RUMBLE 2023-01-26 18:36:06 -05:00
Arceveti
fb100373de Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-01-26 12:46:21 -05:00
Arceveti
7cf6573b0d Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-01-26 02:53:11 -05:00
Arceveti
038a4ecbff Skip polling unused ports + fix controller swap detection + formatting 2023-01-26 02:52:28 -05:00
Arceveti
2615ddb8f0 more gamecube_controller.c formatting 2023-01-26 02:36:29 -05:00
Arceveti
1703041a61 gd_init_controllers names 2023-01-20 13:56:33 -05:00
Arceveti
0cf12b263a gamecube_controller.c formatting 2023-01-20 01:01:32 -05:00
Arceveti
af81838da2 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2022-12-13 19:32:35 -05:00
Arceveti
614788ba5a Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2022-12-12 15:13:00 -05:00
Arceveti
c0d15634e9 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2022-12-10 15:33:57 -05:00
Arceveti
ff81ccb0a9 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2022-12-10 00:48:53 -05:00
Arceveti
b5e22a1019 Default osContSetCh to 0 if no controllers are plugged in + rename 'MAX_ALLOWED_CONTROLLERS' to 'NUM_SUPPORTED_CONTROLLERS' 2022-11-29 18:55:11 -05:00
Arceveti
c17510cb4c Add MAX_ALLOWED_CONTROLLERS + Add osContSetCh optimization + Various GC controller fixes 2022-11-29 01:16:12 -05:00
Arceveti
3b2ea062d0 Fix build warning suppression in gamecube_controller.c 2022-11-28 15:14:32 -05:00
Arceveti
f273539077 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2022-11-28 15:08:15 -05:00
Arceveti
6fec1b6fa6 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2022-11-09 13:31:06 -08:00
Arceveti
efd0bf40c9 Support using 4 controllers at once 2022-10-23 00:40:24 -07:00
178 changed files with 6676 additions and 5619 deletions

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "lib/libpl"]
path = lib/libpl
url = https://gitlab.com/parallel-launcher/libpl.git

View File

@@ -26,7 +26,8 @@
"VERSION_US=1",
"F3DEX_GBI_2=1",
"F3DZEX_NON_GBI_2=1",
"F3DEX_GBI_SHARED=1"
"F3DEX_GBI_SHARED=1",
"LIBPL=1"
],
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
"cStandard": "gnu17",

View File

@@ -1,17 +1,18 @@
FROM ubuntu:18.04 as build
FROM ubuntu:22.04 as build
RUN apt-get update && \
apt-get install -y \
binutils-mips-linux-gnu \
bsdmainutils \
bsdextrautils \
build-essential \
gcc-mips-linux-gnu \
libcapstone-dev \
pkgconf \
python3
RUN mkdir /sm64
WORKDIR /sm64
ENV PATH="/sm64/tools:${PATH}"
RUN mkdir /hackersm64
WORKDIR /hackersm64
ENV PATH="/hackersm64/tools:${PATH}"
CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=us -j4\n' \
'see https://github.com/n64decomp/sm64/blob/master/README.md for advanced usage'
CMD echo 'Usage: docker run --rm -v ${PWD}:/hackersm64 hackersm64 make VERSION=us -j4\n' \
'See https://github.com/HackerN64/HackerSM64/blob/master/README.md for more information'

View File

@@ -135,7 +135,7 @@ endif
#==============================================================================#
# Default non-gcc opt flags
DEFAULT_OPT_FLAGS = -Ofast
DEFAULT_OPT_FLAGS = -Ofast -falign-functions=32
# Note: -fno-associative-math is used here to suppress warnings, ideally we would enable this as an optimization but
# this conflicts with -ftrapping-math apparently.
# TODO: Figure out how to allow -fassociative-math to be enabled
@@ -253,6 +253,18 @@ ifeq ($(HVQM),1)
SRC_DIRS += src/hvqm
endif
# LIBPL - whether to include libpl library for interfacing with Parallel Launcher
# (library will be pulled into repo after building with this enabled for the first time)
# 1 - includes code in ROM
# 0 - does not
LIBPL ?= 0
LIBPL_DIR := lib/libpl
$(eval $(call validate-option,LIBPL,0 1))
ifeq ($(LIBPL),1)
DEFINES += LIBPL=1
SRC_DIRS += $(LIBPL_DIR)
endif
BUILD_DIR_BASE := build
# BUILD_DIR is the location where all build artifacts are placed
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE)
@@ -335,6 +347,18 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
ifeq ($(DUMMY),FAIL)
$(error Failed to build tools)
endif
# Clone any needed submodules
ifeq ($(LIBPL),1)
ifeq ($(wildcard $(LIBPL_DIR)/*.h),)
$(info Cloning libpl submodule...)
DUMMY != git submodule update --init $(LIBPL_DIR) > /dev/null || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to clone libpl submodule)
endif
endif
endif
$(info Building ROM...)
endif

View File

@@ -21,7 +21,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug
- **Reonu**: Starting the project/repo, widescreen, reonucam, various defines for hacker QoL
- **JoshDuMan**: Decomp guy, general assistance
- **Arceveti**: Silhouette, shadow optimisation, better hanging, breath meter, 4 controller support
- **Arceveti**: Silhouette, various optimizations including shadows, implementation of better wall collision, better hanging, breath meter, 4 controller support, major input refactoring, controller reassignment, controller icons, alternate rumble graphics
- **axollyon**: Console testing, bugfixes, idea-guying, and had a hand in silhouettes
- **Wiseguy**: World scale reimplementation, silhouette, graph node optimisations, instant input patch, cake screen fix, segmented code support, and various optimizations/fixes
- **Kaze**: Graph node optimisations, automatic optimal collision distance
@@ -36,7 +36,6 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
**Lighting Engine by Wiseguy**
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
- Alternatively, the main repo has `Puppylights` available, which is a more lightweight, but limited lighting library intended to be used to modify existing light properties. You can look at `puppylights.c` to find out how to use it.
**Puppycam**
- Puppycam is available on the master branch now, you can toggle it in `config/config_camera.h`. *

View File

@@ -1 +1 @@
v2.1.0
v2.2.0

View File

@@ -6,6 +6,7 @@
#include "types.h"
#include "game/ingame_menu.h"
#include "game/puppyprint.h"
#include "game/segment2.h"
#include "make_const_nonconst.h"
@@ -30,7 +31,7 @@ const u8 small_font_kerning_default[] = {
/*A*/ 7, /*B*/ 7, /*C*/ 7, /*D*/ 7, /*E*/ 6, /*F*/ 5, /*G*/ 8, /*H*/ 6, /*I*/ 6, /*J*/ 5, /*K*/ 7, /*L*/ 6, /*M*/ 7, /*N*/ 7, /*O*/ 7, /*P*/ 6,
/*Q*/ 8, /*R*/ 6, /*S*/ 7, /*T*/ 7, /*U*/ 7, /*V*/ 7, /*W*/ 8, /*X*/ 7, /*Y*/ 7, /*Z*/ 7, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 8, /*_*/ 0, /*`*/ 0,
/*a*/ 7, /*b*/ 7, /*c*/ 6, /*d*/ 7, /*e*/ 7, /*f*/ 7, /*g*/ 7, /*h*/ 7, /*i*/ 3, /*j*/ 5, /*k*/ 8, /*l*/ 4, /*m*/ 7, /*n*/ 7, /*o*/ 7, /*p*/ 7,
/*q*/ 7, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 7, /*w*/ 8, /*x*/ 6, /*y*/ 8, /*z*/ 7, /*~*/ 8,
/*q*/ 7, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 7, /*w*/ 8, /*x*/ 6, /*y*/ 8, /*z*/ 7, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 8,
};
const u16 small_font_offsets_default[] = {
@@ -49,7 +50,7 @@ static const u8 small_font_kerning_outline[] = {
/*A*/ 6, /*B*/ 6, /*C*/ 6, /*D*/ 6, /*E*/ 6, /*F*/ 6, /*G*/ 6, /*H*/ 6, /*I*/ 5, /*J*/ 7, /*K*/ 6, /*L*/ 6, /*M*/ 6, /*N*/ 6, /*O*/ 6, /*P*/ 6,
/*Q*/ 6, /*R*/ 6, /*S*/ 6, /*T*/ 6, /*U*/ 6, /*V*/ 6, /*W*/ 6, /*X*/ 6, /*Y*/ 6, /*Z*/ 6, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
/*a*/ 5, /*b*/ 5, /*c*/ 5, /*d*/ 5, /*e*/ 5, /*f*/ 5, /*g*/ 5, /*h*/ 5, /*i*/ 2, /*j*/ 6, /*k*/ 4, /*l*/ 2, /*m*/ 5, /*n*/ 5, /*o*/ 5, /*p*/ 5,
/*q*/ 5, /*r*/ 5, /*s*/ 5, /*t*/ 5, /*u*/ 5, /*v*/ 5, /*w*/ 5, /*x*/ 5, /*y*/ 5, /*z*/ 5, /*~*/ 6,
/*q*/ 5, /*r*/ 5, /*s*/ 5, /*t*/ 5, /*u*/ 5, /*v*/ 5, /*w*/ 5, /*x*/ 5, /*y*/ 5, /*z*/ 5, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 6,
};
const u16 small_font_offsets_outline[] = {
@@ -68,7 +69,7 @@ static const u8 small_font_kerning_plain[] = {
/*A*/ 6, /*B*/ 6, /*C*/ 6, /*D*/ 6, /*E*/ 6, /*F*/ 6, /*G*/ 6, /*H*/ 6, /*I*/ 4, /*J*/ 6, /*K*/ 6, /*L*/ 6, /*M*/ 7, /*N*/ 7, /*O*/ 6, /*P*/ 6,
/*Q*/ 6, /*R*/ 6, /*S*/ 6, /*T*/ 6, /*U*/ 6, /*V*/ 6, /*W*/ 7, /*X*/ 6, /*Y*/ 6, /*Z*/ 6, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
/*a*/ 6, /*b*/ 6, /*c*/ 6, /*d*/ 6, /*e*/ 6, /*f*/ 6, /*g*/ 6, /*h*/ 6, /*i*/ 3, /*j*/ 4, /*k*/ 6, /*l*/ 5, /*m*/ 7, /*n*/ 6, /*o*/ 6, /*p*/ 6,
/*q*/ 6, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 6, /*w*/ 7, /*x*/ 6, /*y*/ 6, /*z*/ 6, /*~*/ 7,
/*q*/ 6, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 6, /*w*/ 7, /*x*/ 6, /*y*/ 6, /*z*/ 6, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 7,
};
const u16 small_font_offsets_plain[] = {
@@ -87,7 +88,7 @@ static const u8 small_font_kerning_vanilla[] = {
/*A*/ 5, /*B*/ 5, /*C*/ 5, /*D*/ 5, /*E*/ 5, /*F*/ 5, /*G*/ 5, /*H*/ 5, /*I*/ 3, /*J*/ 5, /*K*/ 5, /*L*/ 5, /*M*/ 7, /*N*/ 7, /*O*/ 6, /*P*/ 5,
/*Q*/ 6, /*R*/ 5, /*S*/ 5, /*T*/ 5, /*U*/ 5, /*V*/ 5, /*W*/ 7, /*X*/ 6, /*Y*/ 5, /*Z*/ 5, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
/*a*/ 5, /*b*/ 4, /*c*/ 4, /*d*/ 4, /*e*/ 4, /*f*/ 5, /*g*/ 5, /*h*/ 4, /*i*/ 3, /*j*/ 4, /*k*/ 3, /*l*/ 2, /*m*/ 6, /*n*/ 4, /*o*/ 4, /*p*/ 4,
/*q*/ 5, /*r*/ 4, /*s*/ 4, /*t*/ 4, /*u*/ 4, /*v*/ 4, /*w*/ 7, /*x*/ 5, /*y*/ 4, /*z*/ 5, /*~*/ 6,
/*q*/ 5, /*r*/ 4, /*s*/ 4, /*t*/ 4, /*u*/ 4, /*v*/ 4, /*w*/ 7, /*x*/ 5, /*y*/ 4, /*z*/ 5, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 6,
};
const u16 small_font_offsets_vanilla[] = {
@@ -2374,8 +2375,8 @@ static const Vtx vertex_ia8_char[] = {
#else
{{{ 0, 0, 0}, 0, { 0, 256}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 8, 0, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 8, 16, 0}, 0, { 480, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 16, 0}, 0, { 480, 256}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 8, 16, 0}, 0, { 512, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 16, 0}, 0, { 512, 256}, {0xff, 0xff, 0xff, 0xff}}},
#endif
};
@@ -2394,11 +2395,11 @@ const Gfx dl_ia_text_begin[] = {
// 0x020073E8 - 0x02007418
const Gfx dl_ia_text_tex_settings[] = {
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, (G_TX_WRAP | G_TX_MIRROR), 3, G_TX_NOLOD, (G_TX_WRAP | G_TX_MIRROR), 4, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 3, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, ((((16 * 8) + G_IM_SIZ_4b_INCR) >> G_IM_SIZ_4b_SHIFT) - 1), CALC_DXT(16, G_IM_SIZ_4b_BYTES)),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_4b, 1, 0, G_TX_RENDERTILE, 0, (G_TX_WRAP | G_TX_MIRROR), 3, G_TX_NOLOD, (G_TX_WRAP | G_TX_MIRROR), 4, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, ((16 - 1) << G_TEXTURE_IMAGE_FRAC), ((8 - 1) << G_TEXTURE_IMAGE_FRAC)),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, ((16 * 8 + G_IM_SIZ_4b_INCR) >> G_IM_SIZ_4b_SHIFT) - 1, CALC_DXT(16, G_IM_SIZ_4b_BYTES)),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_4b, 1, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 3, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (8 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPVertex(vertex_ia8_char, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSPEndDisplayList(),
@@ -2669,7 +2670,7 @@ ALIGNED8 static const Texture texture_shadow_quarter_square[] = {
};
#endif
UNUSED ALIGNED8 static const Texture texture_radial_light[] = {
UNUSED ALIGNED8 const Texture texture_radial_light[] = {
#include "textures/segment2/light_quarter_circle.ia16.inc.c"
};
@@ -2968,7 +2969,8 @@ const Gfx dl_ia8_up_arrow_end[] = {
gsSPEndDisplayList(),
};
// 0x02014958 - 0x02014960
#include "segment2/controllers.c.in"
#include "segment2/rumble_pak.c.in"
// 0x02014970 - 0x020149A8
const Gfx dl_paintings_rippling_begin[] = {

View File

@@ -0,0 +1,55 @@
#ifdef ENABLE_STATUS_REPOLLING_GUI
ALIGNED8 const Texture texture_controller_port[] = {
#include "textures/segment2/controller_port.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_unknown[] = {
#include "textures/segment2/controller_unknown.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_n64_normal[] = {
#include "textures/segment2/controller_n64_normal.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_n64_mouse[] = {
#include "textures/segment2/controller_n64_mouse.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_n64_voice[] = {
#include "textures/segment2/controller_n64_voice.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_n64_keyboard[] = {
#include "textures/segment2/controller_n64_keyboard.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gba[] = {
#include "textures/segment2/controller_gba.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gcn_normal[] = {
#include "textures/segment2/controller_gcn_normal.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gcn_receiver[] = {
#include "textures/segment2/controller_gcn_receiver.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gcn_wavebird[] = {
#include "textures/segment2/controller_gcn_wavebird.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gcn_wheel[] = {
#include "textures/segment2/controller_gcn_wheel.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gcn_keyboard[] = {
#include "textures/segment2/controller_gcn_keyboard.rgba16.inc.c"
};
ALIGNED8 const Texture texture_controller_gcn_dancepad[] = {
#include "textures/segment2/controller_gcn_dancepad.rgba16.inc.c"
};
#endif // ENABLE_STATUS_REPOLLING_GUI

View File

@@ -0,0 +1,40 @@
#ifdef ENABLE_RUMBLE
//! TODO: Move rumble pak graphic textures to src/menu/intro_geo.c once build order is fixed.
ALIGNED8 const Texture title_texture_rumble_pak_en[] = {
#include "textures/segment2/rumble_pak_en.rgba16.inc.c"
};
#if MULTILANG //! TODO: Use these after ASCII/multilang is merged.
#ifdef ENABLE_FRENCH
ALIGNED8 const Texture title_texture_rumble_pak_fr[] = {
#include "textures/segment2/rumble_pak_fr.rgba16.inc.c"
};
#endif // ENABLE_FRENCH
#ifdef ENABLE_GERMAN
ALIGNED8 const Texture title_texture_rumble_pak_de[] = {
#include "textures/segment2/rumble_pak_de.rgba16.inc.c"
};
#endif // ENABLE_GERMAN
#ifdef ENABLE_JAPANESE
ALIGNED8 const Texture title_texture_rumble_pak_jp[] = {
#include "textures/segment2/rumble_pak_jp.rgba16.inc.c"
};
#endif // ENABLE_JAPANESE
#if defined(ENABLE_SPANISH_SPAIN) || defined(ENABLE_SPANISH_LATIN_AMERICA)
ALIGNED8 const Texture title_texture_rumble_pak_es[] = {
#include "textures/segment2/rumble_pak_es.rgba16.inc.c"
};
#endif // (ENABLE_SPANISH_SPAIN || ENABLE_SPANISH_LATIN_AMERICA)
#endif // MULTILANG
ALIGNED8 const Texture title_texture_rumble_pak_controller[] = {
#include "textures/segment2/rumble_pak_controller.rgba16.inc.c"
};
#endif // ENABLE_RUMBLE

View File

@@ -121,8 +121,6 @@ const Texture *const game_over_texture_table[] = {
title_texture_game_over_0, title_texture_game_over_1, title_texture_game_over_2, title_texture_game_over_3,
};
UNUSED static const u64 title_screen_bg_unused_0 = 0;
#ifdef GODDARD_EASTER_EGG
const Gfx title_screen_bg_dl_face_easter_egg_begin[] = {
gsDPPipeSync(),
@@ -142,26 +140,3 @@ const Gfx title_screen_bg_dl_face_easter_egg_end[] = {
gsSPEndDisplayList(),
};
#endif
#if defined(VERSION_SH)
ALIGNED8 static const Texture title_texture_rumble_pak[] = {
#include "textures/title_screen_bg/title_screen_bg.06648.rgba16.inc.c"
};
const Gfx title_screen_bg_dl_rumble_pak[] = {
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_COPY),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetRenderMode(G_RM_NOOP, G_RM_NOOP2),
gsDPSetScissor(G_SC_NON_INTERLACE, 0, 0, 319, 239),
gsDPLoadTextureTile(title_texture_rumble_pak, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0, 0, 0, 79, 23, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 7, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTextureRectangle(220 << 2, 200 << 2, 299 << 2, 223 << 2, G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsSPEndDisplayList(),
};
#endif

View File

@@ -66,6 +66,7 @@
#define BC_HH(a, b) (_SHIFTL(a, 16, 16) | _SHIFTL(b, 0, 16))
#define BC_W(a) ((uintptr_t)(u32)(a))
#define BC_PTR(a) ((uintptr_t)(a))
#define BC_BPTR(a, b) (_SHIFTL(a, 24, 8) + OS_K0_TO_PHYSICAL(b))
enum BehaviorCommands {
/*0x00*/ BHV_CMD_BEGIN,
@@ -180,8 +181,7 @@ enum BehaviorCommands {
// Executes a native game function.
#define CALL_NATIVE(func) \
BC_B(BHV_CMD_CALL_NATIVE), \
BC_PTR(func)
BC_BPTR(BHV_CMD_CALL_NATIVE, func)
// Adds a float to the specified field.
#define ADD_FLOAT(field, value) \
@@ -386,8 +386,7 @@ enum BehaviorCommands {
// Spawns a water droplet with the given parameters.
#define SPAWN_WATER_DROPLET(dropletParams) \
BC_B(BHV_CMD_SPAWN_WATER_DROPLET), \
BC_PTR(dropletParams)
BC_BPTR(BHV_CMD_SPAWN_WATER_DROPLET, dropletParams)
const BehaviorScript bhvStarDoor[] = {
@@ -5873,7 +5872,7 @@ const BehaviorScript bhvRacingPenguin[] = {
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
LOAD_ANIMATIONS(oAnimations, penguin_seg5_anims_05008B74),
ANIMATE(PENGUIN_ANIM_IDLE),
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 300, /*Gravity*/ -800, /*Bounciness*/ -5, /*Drag strength*/ 0, /*Friction*/ 0, /*Buoyancy*/ 0, /*Unused*/ 0, 0),
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 200, /*Gravity*/ -800, /*Bounciness*/ -5, /*Drag strength*/ 0, /*Friction*/ 0, /*Buoyancy*/ 0, /*Unused*/ 0, 0),
SCALE(/*Unused*/ 0, /*Field*/ 400),
CALL_NATIVE(bhv_racing_penguin_init),
BEGIN_LOOP(),

View File

@@ -17,3 +17,9 @@
* Skips the title/splash screen (Super Mario 64 logo).
*/
// #define SKIP_TITLE_SCREEN
/**
* Skips the File Select screen
*/
// #define SKIP_FILE_SELECT

View File

@@ -14,6 +14,10 @@
*/
// #define DISABLE_ALL
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Enables a comprehensive standalone profiler. Automatically enabled by PUPPYPRINT_DEBUG.
* If not using PUPPYPRINT_DEBUG, press L + D-Pad Up to toggle the profiler.
@@ -85,3 +89,8 @@
* Forces a crash when the game starts. Useful for debugging the crash screen.
*/
// #define DEBUG_FORCE_CRASH_ON_BOOT
/**
* Intentionally crash the game whenever a runtime assertion fails (also invoked by the DEBUG define in the Makefile).
*/
#define DEBUG_ASSERTIONS

View File

@@ -71,7 +71,7 @@
// #define DIALOG_INDICATOR
/**
* Include the English characters that were missing from US segment2
* Include the English characters that were missing from US segment2 and the rumble pak texture if using rumble.
* J, Q, V, X, Z, ¨, !, !!, ?, &, %, ., and the beta key.
* [MAKE SURE TO INCLUDE EU AND JP/SH BASEROMS IN THE REPO TO OBTAIN THE ASSETS]
* If this is disabled, backup assets will be used.

View File

@@ -7,7 +7,7 @@
/**
* Enables Goddard (the Mario head).
*/
// #define KEEP_MARIO_HEAD
#define KEEP_MARIO_HEAD
/**
* Enables the Goddard easter egg from Shindou (has no effect if KEEP_MARIO_HEAD is disabled).

View File

@@ -60,12 +60,12 @@
/**
* Makes the coins ia8 64x64 instead of ia16 32x32. Uses new ia8 textures so that vanilla coins look better.
*/
#define IA8_COINS
// #define IA8_COINS
/**
* Similar to the above, but 30 FPS (Textures by InTheBeef, cleaned up by Arceveti).
*/
#define IA8_30FPS_COINS
// #define IA8_30FPS_COINS
/**
* Use .rej microcode for certain objects (experimental - only should be used when F3DEX_GBI_2 is defined).
@@ -141,9 +141,10 @@
#define DEFAULT_CULLING_RADIUS 300
/**
* Eases the textured screen transitions to make them look smoother.
* Eases the textured screen transitions to make them look smoother.
* Extends the full radius for mario, bowser and the star transitions.
*/
#define EASE_IN_OUT_TRANSITIONS
// #define POLISHED_TRANSITIONS
/**
* Uses frustratio of 2 instead of 1.

View File

@@ -14,7 +14,7 @@
/**
* Decides whether you can exit course while moving (has no effect if you disable Exit Course).
*/
#define EXIT_COURSE_WHILE_MOVING
// #define EXIT_COURSE_WHILE_MOVING
/**
* Decides whether to treat exiting course as if the player had died.

View File

@@ -26,12 +26,12 @@
* - Precise turning control.
* - Prevents falling from the edges.
*/
#define BETTER_HANGING
// #define BETTER_HANGING
/**
* Change the movement speed when hanging from a ceiling (the vanilla value is 4.0f, has no effect if BETTER_HANGING is enabled).
*/
#define HANGING_SPEED 12.0f
#define HANGING_SPEED 4.0f
/**
* Prevents Mario from falling asleep while idle.
@@ -81,12 +81,12 @@
/**
* If A and Z are pressed on the same frame while running, Mario will long jump instead of ground pound.
*/
#define EASIER_LONG_JUMPS
// #define EASIER_LONG_JUMPS
/**
* Enables the ability to hold Z while twirling to descend faster.
*/
#define Z_TWIRL
// #define Z_TWIRL
/**
* Disables bonks when ground pounding next to a wall.
@@ -101,7 +101,7 @@
/**
* Allows Mario to grab hangable ceilings from any state.
*/
#define HANGING_FIX
// #define HANGING_FIX
/**
* The maximum angle the player can wall kick, in degrees. 0..90. To allow 45 degree wall kicks, you must supply `46` to allow 45 and under.
@@ -113,6 +113,11 @@
*/
#define DONT_LEDGE_GRAB_STEEP_SLOPES
/**
* Buffers an A input if you jump off a slope during the landing lag
*/
// #define SLOPE_BUFFER
/**
* Disables BLJs and crushes SimpleFlips's dreams.
*/
@@ -129,7 +134,7 @@
* be interrupted with text
* Uncomment this to fix this bug, and frustrate speedrunners
*/
// #define BUGFIX_DIALOG_TIME_STOP
#define BUGFIX_DIALOG_TIME_STOP
/**
* Enables Platform Displacement 2, an upgrade to the physics involving moving platforms and how Mario interacts with them.

View File

@@ -17,7 +17,7 @@
/**
* Moving Coins flicker and disappear when they hit lava instead of being instantly deleted.
*/
#define COIN_LAVA_FLICKER
// #define COIN_LAVA_FLICKER
/**
* Allows for retries on collecting the remaining blue coins from a blue coin switch.
@@ -56,7 +56,7 @@
/**
* Causes leaf particles to occasionally fall from trees which contain Hoot.
*/
#define HOOT_TREE_PARTICLES
// #define HOOT_TREE_PARTICLES
/**************
* -- MR I --

View File

@@ -19,23 +19,45 @@
/**
* Enables Rumble Pak Support.
* Currently not recommended, as it may cause random crashes.
*/
// #define ENABLE_RUMBLE (1 || VERSION_SH)
#define ENABLE_RUMBLE
/**
* The maximum number of supported players/controllers. 1-4.
* This will save performance if the player has extra unused controllers plugged in.
* NOTE: Default is 2, maximum is 4.
* NOTE: This needs to be at least 2 for now for gamecube controller swap to work.
* NOTE: Default is 1, maximum is 4.
* NOTE: If this is 1, the first controller with input after boot will become player 1. Otherwise, player numbers are automatically assigned via port order.
* NOTE: It is highly recommended to enable ENABLE_STATUS_REPOLLING_GUI if this is greater than 1.
*/
#define MAX_NUM_PLAYERS 2
#define MAX_NUM_PLAYERS 1
/**
* Enables a GUI that, while opem, allows plugging/unplugging controllers and changing the controller order.
* Triggered by unplugging any active controller.
*/
#define ENABLE_STATUS_REPOLLING_GUI
/**
* Allows the player to use the button combo defined in input.h to trigger status repolling at any time during gameplay.
*/
#define ENABLE_STATUS_REPOLLING_COMBO_IN_GAMEPLAY
/**
* Highlights the currently pressed buttons on controllers in the status repolling GUI.
*/
#define CONTROLLERS_INPUT_DISPLAY
/**
* Informs supported emulators to default to GameCube controller inputs.
*/
// #define EMU_DEFAULT_TO_GCN
/**
* RCVI hack. Increases performance on emulator, and does nothing on console.
* Might break on some emulators. Use at your own risk, and don't use it unless you actually need the extra performance.
*/
// #define RCVI_HACK
/**
* Screen Size Defines.
*/
@@ -48,9 +70,3 @@
*/
#define BORDER_HEIGHT_CONSOLE 0
#define BORDER_HEIGHT_EMULATOR 0
/**
* RCVI hack. Increases performance on emulator, and does nothing on console.
* Might break on some emulators. Use at your own risk, and don't use it unless you actually need the extra performance.
*/
// #define RCVI_HACK

Some files were not shown because too many files have changed in this diff Show More