Commit Graph

153 Commits

Author SHA1 Message Date
Gregory Heskett
2ae3426957 Change compression type to yay0 and ignore .inc.c files in most directories (#784)
rnc1 has noticeably slower load times in vanilla than yay0 does. gzip and mio0 are pretty useless and can be yeeted from the repo, but that's not part of this PR's scope.
2024-04-21 17:13:47 -04: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
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
thecozies
37093031da Cpp support (#705)
* remove unused typedefs

* support for building c++ files
2023-09-25 14:41:51 -05:00
someone2639
544fcaf038 remove dependency on script exec permissions (#683)
* make fixlights.py and make_version.sh independent of exec perms

* add mips64-elf-ld warning

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-09-22 13:06:39 -04:00
thecozies
0a7e44de0e restore mips-n64 (#680) 2023-09-18 09:18:03 -04:00
someone2639
db85886294 Global folder integration for all features that need a baserom (#677)
* Look for shared baserom directory using XDG_DATA_DIR instead of polluting the home directory

* move global baserom folder detection to a new file that the makefile can use

* ignore __pycache__ in tools

* edit make patch to use global baserom detector

* Extract jp/sh/eu from global folder too

* genericize asset extraction for all versions

* force at least US to extract

---------

Co-authored-by: Matt Pharoah <mtpharoah@gmail.com>
Co-authored-by: someone2639 <someone2639@gmail.com>
2023-09-17 21:54:37 -04:00
Arceveti
8f9c1856a7 Add make rebuildtools (#674) 2023-09-11 17:15:22 -04:00
Matt Pharoah
d105eff491 Fixed broken build (#668) 2023-09-01 15:08:24 -04:00
someone2639
683bb80c72 file purge + extract_assets revamp (#644)
* remove gen_asset_list (frozen)

* move format.sh

* remove rasm2armips (decompilation helper)

* remove patch_libmalloc (IDO exclusive)

* remove unnecessary sha1's and makefile definitions

* remove libultra math script (IDO exclusive)

* remove patch_elf_32bit

* actually remove bitwidth tool

* remove the need for all the sha1 files

* extract_assets can now find a baserom named anything

* added error handling and some more graceful error handling

* formatting the error message

* more relevant error info

* add a check for a roms folder

* fix gitignore to prevent patch_elf from being re-committed

* naming clarity; change to baseroms/; feedback addressed

* skip rom verification if assets have been extracted

* changes addressed

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-08-29 09:06:41 -05:00
someone2639
e2cf2d5119 IPL3 documentation; undefined_syms.txt finally deleted (#545)
* yeet undefined_syms; IPL3 documentation; theoretical addition of checksum skip and initial DMA length/location change

* another comment about how to set dma len

* comment is now correct in ultratypes

* do the rename

* remove insinuations that ipl3 can be modified

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-06-26 12:35:52 -05:00
someone2639
13b8339560 pack including static symbols using 'nm' (#646)
Co-authored-by: someone2639 <someone2639@gmail.com>
2023-06-25 23:56:43 -04:00
someone2639
8240262c07 Update S2DEX Text Engine to latest version; fix build issues (#532)
Now its just part of HackerSM64 entirely, and HackerSM64 will be the source of all changes (as long as said changes can reasonably apply to homebrew games)
2023-06-17 16:51:03 -04:00
thecozies
351f6f8961 added make_patch and flips (#628) 2023-06-05 17:02:58 -05:00
someone2639
8d8812ab1b Fix builds on Make 4.4 (#588)
* Fix builds on Make 4.4

* oops

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-03-06 23:19:15 -05:00
Gregory Heskett
52a7aedaf4 Replace debug libultra builds with their ido counterparts (#572)
* Replace debug libultra builds with their ido counterparts

This is necessary because GameCube controllers apparently rely on the IDO build, also the release build is IDO anyway

* Remove fallthrough warnings from usb/debug.c

* remove need for debug libultra with unf and use lib define in ld

Co-authored-by: thecozies <collinpferguson@gmail.com>
2023-01-26 09:03:07 -06:00
Arceveti
8043823cce Merge master/2.0.8 into 2.1.0 (#551)
* Imminent fixes for bugs found on master branch (#512)

* The vanilla level checks define for Yoshi is inverted, causing him to require 120 stars when it is off and appear at 0 stars when it's on

*  The downwarp fix results in Mario levitating in midair when grabbing Bowser midair. While downwarps should still be fixed, the change should be reverted immediately until a better fix is made.

*  Some checks of Mario's floor class were using the wrong defines, which can lead to unexpected behavior in the event anyone wants to reorder surface types. By default the SURFACE_CLASS_SLIPPERY and SURFACE_SLIPPERY defines have the same value, which is why this mistake is hard to notice.

*  The firsty frames define was implemented poorly, not allowing for vanilla firsty behavior no matter what the values were set to. This has been reverted, while avoiding the UB in the original vanilla code.

*  Removed the ledge grab changes that fix QSLGs and change the false ledgegrab define since Arceveti wanted to in his PR

* Update version to 2.0.4 (#515)

* HackerSM64 2.0.5 (#517)

* Bugfix: race condition with accessing cleared audio memory pools

* Bugfix: skyboxes access tiles out of range when looking straight down (#518)

* Vscode fixes (#516)

* Revert s32 angles and remove Angle typedef usage (#529)

* Fix some surface shadowing (#531)

* Delete rtc.h

* Remove `wait_for_audio_frames()`

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>

* Update VERSION.txt (#534)

* HackerSM64 2.0.6 (#539)

* revert random_u16 to be a u16 (#538)

* Added safety gcc math flags (#537)

* removed useless compilation flags that could cause performance loss

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: thecozies <collinpferguson@gmail.com>

* Update VERSION.txt

HackerSM64 2.0.6

* Add GCC opt flag to suppress warnings

* v2.0.7

* 2.0.8 (fix more compiler warnings) (#543)

* fix Waddress in mario_step.c

* fix Winfinite-recursion in unused dynlist_proc function

* in fact remove the offending function entirely

* fix warnings in RNC decompress functions

* update version

* fix version in VERSION.txt

premature on my part, will update it to 2.0.10 next time

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

Co-authored-by: arthurtilly <32559225+arthurtilly@users.noreply.github.com>
Co-authored-by: axollyon <20480418+axollyon@users.noreply.github.com>
Co-authored-by: Gregory Heskett <gheskett@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
Co-authored-by: thecozies <collinpferguson@gmail.com>
Co-authored-by: Reonu <danileon95@gmail.com>
Co-authored-by: someone2639 <someone2639@users.noreply.github.com>
Co-authored-by: someone2639 <someone2639@gmail.com>
2022-12-12 14:40:55 -05:00
Arceveti
1098ea95ea Merge master/2.0.5 into 2.1.0 (#536)
* Imminent fixes for bugs found on master branch (#512)

* The vanilla level checks define for Yoshi is inverted, causing him to require 120 stars when it is off and appear at 0 stars when it's on

*  The downwarp fix results in Mario levitating in midair when grabbing Bowser midair. While downwarps should still be fixed, the change should be reverted immediately until a better fix is made.

*  Some checks of Mario's floor class were using the wrong defines, which can lead to unexpected behavior in the event anyone wants to reorder surface types. By default the SURFACE_CLASS_SLIPPERY and SURFACE_SLIPPERY defines have the same value, which is why this mistake is hard to notice.

*  The firsty frames define was implemented poorly, not allowing for vanilla firsty behavior no matter what the values were set to. This has been reverted, while avoiding the UB in the original vanilla code.

*  Removed the ledge grab changes that fix QSLGs and change the false ledgegrab define since Arceveti wanted to in his PR

* Update version to 2.0.4 (#515)

* HackerSM64 2.0.5 (#517)

* Bugfix: race condition with accessing cleared audio memory pools

* Bugfix: skyboxes access tiles out of range when looking straight down (#518)

* Vscode fixes (#516)

* Revert s32 angles and remove Angle typedef usage (#529)

* Fix some surface shadowing (#531)

* Delete rtc.h

* Remove `wait_for_audio_frames()`

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>

* Update VERSION.txt (#534)

Co-authored-by: arthurtilly <32559225+arthurtilly@users.noreply.github.com>
Co-authored-by: axollyon <20480418+axollyon@users.noreply.github.com>
Co-authored-by: Gregory Heskett <gheskett@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
2022-11-28 15:06:34 -05:00
Chasarr
0dd3ef7f50 Fix CROSS variable on multiple environments (#483)
The name of the compiler that CROSS is set to varies from system to
system. (gcc-mips-linux-gnu on Debian) This was not handled in
s2d_engine and calc_bss.sh
2022-09-30 17:54:07 -05:00
thecozies
8c56afddba Added ability to automatically pull unfloader and build for unf debug (#462)
`make unf` added: build rom then pull the unfloader binary if needed, then load rom in debug mode
also, `make load` will pull unfloader as well!
2022-09-30 17:40:50 -05:00
thecozies
de34eb3b84 Remove redundant s2d directory and delete unused files/defines (#457) 2022-09-21 20:18:37 -05:00
Reonu
b225c91d58 fix level mesh not updating (#477) 2022-08-09 11:08:49 -05:00
Reonu
5a9b5a9751 Mat Stack Fix
* Implemented new lightweight CPU/RDP profiler
* Added RSP profiling to the lightweight profiler
* Added CPU audio to lightweight profiler
* Changed lingering manual light struct definitions to gdSPDefLights1, made a dummy light for Koopa's pink shorts
* Ran script to convert all light commands to lightcolor commands
* Added define guards for the profiler
* Wrote function for setting up global light direction in the frame
* Moved camera matrix into projection stack
* Corrected cameraToObject for the new matrix stack (fixes culling and sound)
* Fixed billboarding with new matrix stack
* Fixed shadows with new matrix stack
* Fixed some areas where the game was previously extracting the camera matrix from various matrices
* Restored vanilla light and env map directions under new matrix stack
* Fix goddard crash
* Fix geo_process_level_of_detail
* Remove 'construct_float' from 'geo_process_level_of_detail'
* Removed some accidentally added files
* Removed unnecessary matrix multiplications in geo_process_object
* Added fixlights script to build system for fixing custom assets and added option to disable it if needed
* Fixed visual debug with new matstack and cleaned up visual debug code
* Fixed handling of WORLD_SCALE in view matrix so it doesn't get cancelled out
* Fixed clip planes not scaling based on WORLD_SCALE

Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
Co-authored-by: Arceveti <arceveti@gmail.com>
Co-authored-by: thecozies <collinpferguson@gmail.com>
2022-07-19 08:04:54 -05:00
Mr-Wiseguy
b3cb639e6e Fixed makefile issue causing audio files to be compiled with different flags the first time they're built (#318) 2022-03-18 14:15:08 -04:00