You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
117 Commits
bug/patch-
...
develop/2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8aef4be6f5 | ||
|
|
9bec16d2f0 | ||
|
|
8043823cce | ||
|
|
f04a3ab624 | ||
|
|
d028d6ea7d | ||
|
|
22b3c9ba08 | ||
|
|
139d028f04 | ||
|
|
2be7e7d4c5 | ||
|
|
1098ea95ea | ||
|
|
86841a3385 | ||
|
|
12b91fe73c | ||
|
|
a42bd9bc2e | ||
|
|
a784c180a8 | ||
|
|
987f76190f | ||
|
|
088dbbdd2b | ||
|
|
ab94fd7f63 | ||
|
|
d7d0364682 | ||
|
|
38d3c82860 | ||
|
|
a7a637eb10 | ||
|
|
fc6a6055d9 | ||
|
|
6291c77a18 | ||
|
|
68f09d34ea | ||
|
|
0dd3ef7f50 | ||
|
|
da4b4db7ae | ||
|
|
8c56afddba | ||
|
|
3d0be18ed3 | ||
|
|
74730e7852 | ||
|
|
1ef73290d9 | ||
|
|
ebf19af70e | ||
|
|
854da9c9b1 | ||
|
|
8864e5f3a2 | ||
|
|
4dfb8d9a64 | ||
|
|
6dbe379990 | ||
|
|
de34eb3b84 | ||
|
|
2e701ad9e7 | ||
|
|
4ae3a431bc | ||
|
|
c09f178df0 | ||
|
|
d5019ffd78 | ||
|
|
058399308a | ||
|
|
c0e00beaf7 | ||
|
|
1af9f2b94a | ||
|
|
ac45e70e5c | ||
|
|
aa5df070c0 | ||
|
|
af0982e8d5 | ||
|
|
7d6579971a | ||
|
|
b225c91d58 | ||
|
|
f65eb9a003 | ||
|
|
93fd414035 | ||
|
|
98958df324 | ||
|
|
77f4bec4bc | ||
|
|
27ff45daaf | ||
|
|
3149239b9a | ||
|
|
a3e831d160 | ||
|
|
a549e1a95a | ||
|
|
83fea6d310 | ||
|
|
5b7b0ab8d6 | ||
|
|
5a9b5a9751 | ||
|
|
1820b146c0 | ||
|
|
f4b13d474a | ||
|
|
f6bb8b5aab | ||
|
|
8698cc0f89 | ||
|
|
0eb42f2f18 | ||
|
|
b864e0d6da | ||
|
|
c55153242d | ||
|
|
6f6c055f1c | ||
|
|
e6d68e6d76 | ||
|
|
62d6ee135f | ||
|
|
3d330e0b84 | ||
|
|
1691e48326 | ||
|
|
e5af0e8ca5 | ||
|
|
cf570b4406 | ||
|
|
1012fb7957 | ||
|
|
aa1a48afeb | ||
|
|
5e1258e806 | ||
|
|
1166d7441d | ||
|
|
5ef0e8c9f6 | ||
|
|
25b421aaae | ||
|
|
c938bbf407 | ||
|
|
a1ab7c51f0 | ||
|
|
4cfbc656a9 | ||
|
|
fe6aee22e1 | ||
|
|
ad3aa42eff | ||
|
|
031cc24fa6 | ||
|
|
8d06db06e1 | ||
|
|
642a85fec6 | ||
|
|
3092929822 | ||
|
|
51f8ccfbb0 | ||
|
|
2118234f9b | ||
|
|
ac0299e5b5 | ||
|
|
f98d43c9de | ||
|
|
4a3ef802d5 | ||
|
|
bf8ea238e5 | ||
|
|
4b9a0b89a0 | ||
|
|
3ac257e6fb | ||
|
|
b3cb639e6e | ||
|
|
12595397cd | ||
|
|
65eb5a755f | ||
|
|
eaf9d3e4f9 | ||
|
|
8cfd9af4ee | ||
|
|
3f0143ec0f | ||
|
|
33b2a07759 | ||
|
|
a0e8600776 | ||
|
|
cc92b33676 | ||
|
|
8163bc4837 | ||
|
|
9f2f4a27b6 | ||
|
|
448d18de2b | ||
|
|
c4a23d0036 | ||
|
|
f061076a4f | ||
|
|
8f2b9c8979 | ||
|
|
056e319105 | ||
|
|
6bd3988dd8 | ||
|
|
fe8384a440 | ||
|
|
4265019923 | ||
|
|
730f020b6d | ||
|
|
483b72e7da | ||
|
|
36d41a7f94 | ||
|
|
af34a81c06 |
26
.gitattributes
vendored
26
.gitattributes
vendored
@@ -2,19 +2,19 @@
|
||||
* text=auto
|
||||
|
||||
# List text files in case git doesn't characterize correctly
|
||||
*.c text
|
||||
*.h text
|
||||
*.s text
|
||||
*.in text
|
||||
*.js text
|
||||
*.md text
|
||||
*.py text
|
||||
*.sh text
|
||||
*.ld text
|
||||
*.inc text
|
||||
*.txt text
|
||||
*.json text
|
||||
*.yaml text
|
||||
*.c text eol=lf
|
||||
*.h text eol=lf
|
||||
*.s text eol=lf
|
||||
*.in text eol=lf
|
||||
*.js text eol=lf
|
||||
*.md text eol=lf
|
||||
*.py text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.ld text eol=lf
|
||||
*.inc text eol=lf
|
||||
*.txt text eol=lf
|
||||
*.json text eol=lf
|
||||
*.yaml text eol=lf
|
||||
|
||||
# Same for binary
|
||||
*.bin binary
|
||||
|
||||
2126
.gitignore
vendored
2126
.gitignore
vendored
File diff suppressed because it is too large
Load Diff
6
.vscode/c_cpp_properties.json
vendored
6
.vscode/c_cpp_properties.json
vendored
@@ -26,14 +26,12 @@
|
||||
"VERSION_US=1",
|
||||
"F3DEX_GBI_2=1",
|
||||
"F3DZEX_NON_GBI_2=1",
|
||||
"F3DEX_GBI_SHARED=1",
|
||||
"NON_MATCHING=1",
|
||||
"AVOID_UB=1"
|
||||
"F3DEX_GBI_SHARED=1"
|
||||
],
|
||||
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
|
||||
"cStandard": "gnu17",
|
||||
"cppStandard": "gnu++14",
|
||||
"intelliSenseMode": "linux-gcc-x64"
|
||||
"intelliSenseMode": "linux-gcc-x86"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
|
||||
416
CHANGES
416
CHANGES
@@ -1,416 +0,0 @@
|
||||
Refresh 15 (mostly a hotfix for RSP microcode selection)
|
||||
|
||||
1.) Renamed frame_buffer funcs and _ZBUFFER (#1184)
|
||||
2.) RSP Microcode Hotfix (#1183)
|
||||
3.) Label osSetTimer.c (#1182)
|
||||
4.) Fix styling (#1177)
|
||||
5.) Rename all `FrameBuffer` variants to `Framebuffer` (#1176)
|
||||
6.) Remove (WIP) from sh.
|
||||
7.) Allow both archives and ELF objects to be patched (#1127)
|
||||
|
||||
Refresh 14
|
||||
|
||||
1.) Label whomp and some object fields (#1174)
|
||||
2.) Generate MIO0 object files using binutils `ld` instead of `as` (#1173)
|
||||
3.) Bowser documentation (#1166)
|
||||
4.) Fix comment syntax in 00_sound_player.0 (#1172)
|
||||
5.) Rename in-game menu variables (#1163)
|
||||
6.) Document double red coin sound and JP sound glitch (#1170)
|
||||
7.) Document different bug in external.c (#1168)
|
||||
8.) updated names/types of octagonal platform data (#1164)
|
||||
9.) Label a number of unnamed variables. (#1169)
|
||||
10.) Document JP PU sound glitch (#1167)
|
||||
11.) Set model ids to spawn_triangle_break_particles (#1165)
|
||||
12.) Fix borders in clear_frame_buffer (#1162)
|
||||
13.) Fix seq header files for 64-bit (#1161)
|
||||
14.) Game_init.c remaining doc (#1158)
|
||||
15.) Label a couple static variables in sound_init.c (#1159)
|
||||
16.) Properly define dialog values (status, flags, cutscenes) (#1153)
|
||||
17.) Label all of amp's assets. (#1018)
|
||||
18.) Split audio/synthesis.c into Shindou/non-Shindou files (#1144)
|
||||
19.) Avoid CC_CHECK warnings when using gcc (#1157)
|
||||
20.) level_select_menu.c => title_screen.c (#1152)
|
||||
21.) Use C preprocessor on assembly files (#1126)
|
||||
22.) Replace output_level_headers.py with sed equivalent (#1109)
|
||||
23.) Fix CC_CHECK warnings related to unused symbols and UB (#1155)
|
||||
24.) Define remaining floor lower limit values (#1147)
|
||||
25.) use r+b mode for libultra.a patch tool (#1148)
|
||||
26.) Use proper values for gPrevFrameObjectCount ifs (#1146)
|
||||
27.) Some minor bowser.inc.c labelling. (#1150)
|
||||
28.) fix king bob-omb texture pointers (#1145)
|
||||
29.) Split audio/load.c into Shindou/non-Shindou files (#1143)
|
||||
30.) Small Shindou audio cleanups (#1142)
|
||||
31.) Fix endians in ALSeqData (#1141)
|
||||
32.) Document S8 decoder rsp operation and some more (#1139)
|
||||
33.) Fix Shindou synthesis_process_note fake match (#1140)
|
||||
34.) More audio documentation, for the new rsp code and other fixes (#1138)
|
||||
35.) Build fixes for macOS: cpp, clang, recomp, aiff_extract_codebook (#1135)
|
||||
36.) Add ENABLE_RUMBLE to config.h (#1122)
|
||||
37.) Reduce recomp memory consumption by using smaller disassembly blocks (#1128)
|
||||
38.) Makefile fixes (#1123)
|
||||
39.) Update README.md
|
||||
40.) Update README.md
|
||||
41.) Reflect current decompilation status
|
||||
42.) Allow both archives and ELF objects to be patched (#1127)
|
||||
43.) Remove WIP mention in README for sh version.
|
||||
|
||||
Refresh 13 2
|
||||
|
||||
- No more nonmatchings remain for all builds including Shindou.
|
||||
|
||||
1.) Shindou OK (#1118)
|
||||
2.) Match shindou sequence_player_process_sequence (#1117)
|
||||
3.) Match func_sh_802f4e50 (#1116)
|
||||
|
||||
Refresh 13
|
||||
|
||||
- No more nonmatchings remain for US, JP, or EU builds. Three(!!!) remain for Shindou (SH).
|
||||
|
||||
*) SHINDOU MATCHING (#1081)
|
||||
*) Makefile gcc fixes (#1114)
|
||||
|
||||
1.) Update diff.py (#1113)
|
||||
2.) Add support for generating C arrays from n64graphics and add Texture typedef (#1032)
|
||||
3.) Update README and Dockerfile with recomp info (#1105)
|
||||
4.) Support building tools with MSYS2 (#1112)
|
||||
5.) Support building tools with clang and macOS (#1106)
|
||||
6.) Clean tools directory when running distclean target (#1104)
|
||||
7.) Make build output cleaner (#1095)
|
||||
8.) Added 2 surface defines to bowser.inc.c (#1111)
|
||||
9.) fix fake matchings (#1108)
|
||||
10.) Use statically recompiled IDO instead of qemu-irix (#1099)
|
||||
11.) Add VERBOSE=1 to Jenkinsfile
|
||||
12.) updated intro_geo to use layer defines for geo flags (#1090)
|
||||
13.) Fix F3DZEX (#1097)
|
||||
14.) layer_transpose should take an s8 (#1093)
|
||||
15.) Fix tools/ build (#1082)
|
||||
16.) Relabel and document fish.inc.c (#1077)
|
||||
17.) Ensure all calls to .py files use $(PYTHON) (#1080)
|
||||
18.) Name Mario, Peach, and instrument sound files (#1078)
|
||||
19.) Goddard labeling, part 2 (#1076)
|
||||
20.) Fix envfx_snow and envfx_bubbles fake matches (#1075)
|
||||
21.) Use array subscripts instead of pointer math in 2 files (#1074)
|
||||
22.) refactor Makefile a bit (#1068)
|
||||
23.) Further improvements on field names (#1059)
|
||||
24.) Label and document manta_ray.inc.c (#1073)
|
||||
25.) Fix level_script and behavior fake matches (#1072)
|
||||
26.) Proper cell defines and more floor lower limit values. (#1065)
|
||||
27.) Document and re-label some goddard/intro code (#1069)
|
||||
28.) Match remaining functions (#1070)
|
||||
29.) match 'spawn_special_objects' (#1071)
|
||||
30.) Document parts of external.c and format sound defines (#1067)
|
||||
|
||||
Refresh 12
|
||||
|
||||
1.) Debug box improvements (#1066)
|
||||
2.) Improve 'geo_render_mirror_mario' (#1064)
|
||||
3.) Cleanup and small labeling (#1063)
|
||||
4.) Anim renames and other related renames (#1062)
|
||||
5.) remove do while 0 and make one line comments consistent (#1061)
|
||||
6.) fixed typo in segments.h (#1060)
|
||||
7.) Name unknown fields (from public repo) (#1058)
|
||||
8.) Change 'void *' to 'struct MainPoolState *' (#1057)
|
||||
9.) Fix type of freeList (#1056)
|
||||
10.) Newer version of diff script (#1055)
|
||||
11.) Add stubbed_printfs based on unused audio strings (#1054)
|
||||
12.) Fix comment in paintings.c (#1053)
|
||||
13.) Add defines for hardcoded cell/floor height values (#1051)
|
||||
14.) Update README.md: Remove GitHub specific Markdown syntax (#1052)
|
||||
15.) Properly label interation status that handle's Bowser's shockwave attack (#1050)
|
||||
|
||||
Refresh 11
|
||||
1.) Make geo_process_level_of_detail endian-independent (#1049)
|
||||
2.) Label oMoveFlags and slight cleanup. (#1046)
|
||||
3.) Avoid UB in synthesis_resample_and_mix_reverb (#1048)
|
||||
4.) Change some void * to correct type (#1047)
|
||||
5.) Remove oPathedWaypointsS16 and convert all paths to Trajectory struct. (#1045)
|
||||
6.) Mr Blizzard documentation, Tox Box Unks (#1042)
|
||||
7.) Pipe input to textconv. (#1041)
|
||||
8.) Remove erroneous long double casts from audiofile.cpp (#1039)
|
||||
9.) Replace fixed dialogID in play_dialog_sound to DIALOG_COUNT (#1040)
|
||||
|
||||
Refresh #10.1
|
||||
1.) Diff update (#1033)
|
||||
2.) Fix texture dimensions for exclamation boxes (#1034)
|
||||
3.) Fix armips compilation on Windows by changing order of inclusion files (#1035)
|
||||
4.) Embed libaudiofile into the repo as a single file (#1036)
|
||||
5.) Fix some tools issues found while compiling on MSYS2 (#1037)
|
||||
|
||||
Refresh #10
|
||||
1.) GCC 9 noreturn UB fixes (#961)
|
||||
2.) List supported binutils variants in README.md (#960)
|
||||
3.) fix fly guy's possible values for target roll
|
||||
4.) clarify that 1 is an exclusive bound in random_float (#962)
|
||||
5.) replace unkB8 with prevNumStarsForDialog (#963)
|
||||
6.) Replace "BulletBillUnkF8" with "BulletBillInitialMoveYaw" (#966)
|
||||
7.) Renamed more warp behaviors and spawn types (#949)
|
||||
8.) EU bss cleanups (#965)
|
||||
9.) Add -fno-zero-initialized-in-bss to GCC CFLAGS (#968)
|
||||
10.) Use empty .SECONDARY target instead of .PRECIOUS (#964)
|
||||
11.) Match EU seq_channel_layer_process_script (#969)
|
||||
12.) Fix version variable overwriting bug for non-matching compilations (#974)
|
||||
13.) small bhv_collect_star_init labeling (#972)
|
||||
14.) Align SI DMA command buffers, add more names to osCont code (#973)
|
||||
15.) Minor for loop fix in playback.c (#976)
|
||||
16.) Add Docker config (Public #36)
|
||||
17.) Fix usage output crash for skyconv (#977)
|
||||
18.) Cleanup tools and their build flags (#978)
|
||||
19.) Print more detailed file reading error messages in extract_assets (#982)
|
||||
20.) Remove asmdiff (#983)
|
||||
21.) Fixed tabledesign makefile bug (#985)
|
||||
22.) Improve first-diff.py (#987)
|
||||
23.) Bring in some enhancements such as widescreen enhancements (#981)
|
||||
24.) Fix background shadow border if widescreen in shade_screen (#988)
|
||||
25.) Merge common EU sections in osExceptionPreamble (#990)
|
||||
26.) Introduce the NO_SEGMENTED_MEMORY define (#989)
|
||||
27.) NO_SEGMENTED_MEMORY comments (#992)
|
||||
28.) Introduce f3dex2e and a GBI_FLOATS setting (#993)
|
||||
29.) Audio uses signed 16-bit integers as samples, not unsigned (#995)
|
||||
30.) Assemble RSP ucode with armips (#970)
|
||||
31.) Label Mr. Blizzard, Yoshi, Whomp, Wiggler, Wood Piece oFields. (#996)
|
||||
32.) update crash enhancement (#1003)
|
||||
33.) Update README.md to use new public Discord server invite
|
||||
34.) Label variables in act_idle. (#1005)
|
||||
35.) Fix a typo in camera.h (#1009)
|
||||
36.) Fixed up profiler.c (#1010)
|
||||
37.) Add -d to first-diff.py (#1012)
|
||||
38.) Fix typo in first-diff.py (#1013)
|
||||
39.) Remove binutils 2.27 dependency check (#1015)
|
||||
40.) Update armips to v0.11.0 tag and add generator script (#1004)
|
||||
41.) Extract IPL3 font from ROM (#1011)
|
||||
42.) Documented audio playback flags (#1021)
|
||||
43.) Change RSP register notation to dollar-prefixed numbers (#1022)
|
||||
44.) Only check for QEMU_IRIX in Makefile when compiling with IDO (#1023)
|
||||
45.) Clean up header files and update function prototypes (#1000)
|
||||
46.) Named local variables in geo_update_layer_transparency (#1019)
|
||||
47.) Extract crash screen font textures from EU and SH ROMs (#1025)
|
||||
48.) Use ACTIVE_FLAG defines where appropriate (#1026)
|
||||
49.) Changed type of actor collision from s16 to Collision (#1024)
|
||||
50.) Implement sqrtf in assembly file (#1028)
|
||||
51.) Rename Struct8032FCE8 as OpenableGrill and identify data members (#1029)
|
||||
52.) Fix some mistakes in the abi doc (#1031)
|
||||
53.) The README.md PR (#979)
|
||||
|
||||
Refresh #8
|
||||
1.) Use INT_STATUS_ macros for oInteractStatus (#911)
|
||||
2.) Update bullet_bill.inc.c (#912)
|
||||
3.) Make geo.c in levels nonconst to reduce diffs with gcc enhancement patch in future (#913)
|
||||
4.) Improve process_level_music_dynamics (#915)
|
||||
5.) add AVOID_UB define for fixing libultra aliasing. (#916)
|
||||
6.) const hack to TARGET_N64 and tweak ld script (#918)
|
||||
7.) Replace raw level/course numbers with defines (#919)
|
||||
8.) Label all graph node flags. (#920)
|
||||
9.) readme.md capitalization
|
||||
10.) The Big Function PR (Part 5) (#910)
|
||||
11.) Label hardware registers (#922)
|
||||
12.) Match EU synthesis_process_note (#923)
|
||||
13.) Some quick value changes (#909)
|
||||
14.) Added sequence player defines (#926)
|
||||
15.) Shindou diffs 2 [merge game.c and display.c, required for SH] (#927)
|
||||
16.) Match synthesis_process_notes and use -sopt for synthesis.c (#928)
|
||||
17.) Fix mips64-binutils for Fedora 31 and similar Linux distros (#931)
|
||||
18.) Update first-diff.py to work with Shindou (#933)
|
||||
19.) Labelled behavior_script.c (#929)
|
||||
20.) shindou diffs up to level_update (#932)
|
||||
21.) Update diff.py and diff_settings.py to work with SH (#936)
|
||||
22.) Add some Shindou resources to extract_assets.py (#939)
|
||||
23.) Label and document gd_math.c (#930)
|
||||
24.) Label all of Mario's actions. (#941)
|
||||
25.) Label all particles. (#940)
|
||||
26.) Renamed death related warpBhvs (#942)
|
||||
27.) Small Shindou differences (#945)
|
||||
28.) match player_performed_grab_escape_action in all versions (#943)
|
||||
29.) add main alignment (aglab2, #947)
|
||||
30.) Match a bunch of fake EU matchings (#944)
|
||||
31.) Shindou diffs round 4 (#937)
|
||||
32.) Easy PAL fake matchings (#946)
|
||||
33.) Merge object_helpers and object_helpers2 headers (#948)
|
||||
34.) match cap_check_quicksand (#950)
|
||||
35.) Shindou crash screen diffs (#938)
|
||||
36.) Thread6 (#951)
|
||||
37.) Correct IPL3 function and label addresses (#952)
|
||||
38.) Add COMPILER flag for Makefile and add official mips gcc support. (#953)
|
||||
39.) add align to sequence_00 (fixes gcc build) (#957)
|
||||
40.) Fixed itty bitty typo (#959)
|
||||
|
||||
Refresh #7
|
||||
1.) update README.md (#861)
|
||||
2.) [eu] fix decompilation bugs in synthesis_process_note (#862)
|
||||
3.) Label and document Snufit.inc.c (#863)
|
||||
4.) Label and document Snufit.inc.c (#863)
|
||||
5.) Match append_bubble_vertex_buffer, append_snowflake_vertex_buffer (#860)
|
||||
6.) Compile audio/effects.c with -sopt (#870)
|
||||
7.) Match handle_dialog_text_and_pages (#872)
|
||||
8.) Remove improperly used LEVEL_SA define. (#875)
|
||||
9.) Remove unused EU ASM files (#873)
|
||||
10.) Shindou build flag support (#876)
|
||||
11.) The Big Function PR (Part 1) (#864)
|
||||
12.) "Re-document" file_select and star_select for EU (#877)
|
||||
13.) Document paintings.c (#868)
|
||||
14.) Minor interaction.c labelling/documentation. (#882)
|
||||
15.) Match synthesis_execute, prepare_reverb_ring_buffer, func_eu_802e00d8 (#886)
|
||||
16.) The Big Function PR (Part 2) (#874)
|
||||
17.) Additional painting documentation (#883)
|
||||
18.) Some EU audio labelling (#885)
|
||||
19.) Bring synthesis_do_one_audio_update a bit closer to matching (#887)
|
||||
20.) Misleading comment, this actually contols Bowser's init action (#889)
|
||||
21.) Match synthesis_do_one_audio_update (#890)
|
||||
22.) Remove unneeded if(1) in synthesis_do_one_audio_update (#891)
|
||||
23.) Match synthesis_resample_and_mix_reverb (#893)
|
||||
24.) Set LANG=C (#896)
|
||||
25.) Match note_apply_headset_pan_effects (#897)
|
||||
26.) Match play_sequence (#898)
|
||||
27.) Match sequence_channel_enable (#899)
|
||||
28.) Match sequence_player_process_sequence (#900)
|
||||
29.) Match (eu) alloc_bank_or_seq (#901)
|
||||
30.) Match alloc_bank_or_seq (#903)
|
||||
31.) Update README.md (again)
|
||||
32.) Documented behaviour/fish.inc.c & blue_fish.inc.c (#894)
|
||||
33.) Labelled 4 behavior files, made object_helper functions consistent (#881)
|
||||
34.) Add a make target for .copt (#902)
|
||||
35.) The Big Function PR (Part 3) (#888)
|
||||
36.) The Big Function PR (Part 4) (#906)
|
||||
37.) Rename src/audio/memory.c -> heap.c (#907)
|
||||
38.) Fix BBH texture (#908)
|
||||
|
||||
Refresh #6
|
||||
1.) Make tools work on MinGW (#804)
|
||||
2.) Document mario_misc (#628)
|
||||
3.) add patch_libmalloc.py script to work around compiler crashes (#811)
|
||||
4.) Label the coffins file. (#829)
|
||||
5.) Convert enhancements into patches (#827)
|
||||
6.) Document Tweester.inc.c (#840)
|
||||
7.) EU OK and cleanup EU (#782)
|
||||
|
||||
Refresh #5
|
||||
1.) mem_error_screen.inc.c updated for C (#775)
|
||||
2.) updated patch_libultra_math to work directly on libultra.a (#781)
|
||||
3.) Enhancement: Debug boxes (#783)
|
||||
4.) Label effects MemoryPool (#784)
|
||||
5.) Use full-width characters for JP text and rename mislabeled stuff (#772)
|
||||
6.) Small asset extraction fixes (#785)
|
||||
7.) Fix incremental asset extraction after the last PR (#790)
|
||||
8.) Labelled behavior script commands, tidied up behavior scripts and ren…
|
||||
9.) Document camera.c (#741)
|
||||
10.) Fix a HMC texture asset (#795)
|
||||
11.) Fix UB in angle conversion for paintings. Needed for pc-port. (#796)
|
||||
12.) Fix PSS texture assets (#801)
|
||||
13.) Fix some camera typos (#802)
|
||||
|
||||
Refresh #4
|
||||
1.) Label screen_transition.c (#737)
|
||||
2.) Revamp macros (#738)
|
||||
3.) Simplify the cake makefile logic (#739)
|
||||
4.) Move zbuffer to C (#742)
|
||||
5.) Audio blob endian/64-bit fixes (#740)
|
||||
6.) Ub fixes (#745)
|
||||
7.) process_level_music_dynamics: slightly better stack and regalloc (#746)
|
||||
8.) move level order specific definitions out to levels/level_defines.h (#743)
|
||||
9.) Renamed some mislabelled sound effects (#748)
|
||||
10.) Very minor white space fixes in Mario.c (#752)
|
||||
11.) Renamed GRAVITY to OBJ_PHYSICS (#755)
|
||||
12.) Use defined macros instead of literal values for interactions in behavior_data.c (#754)
|
||||
13.) iQue Player console detection + full support (#756)
|
||||
14.) Fix Goddard Mario head for little endian etc. (#757)
|
||||
15.) Small bits of audio doc (#749)
|
||||
16.) Update diff script (#750)
|
||||
17.) Nicer format for course/dialog text, enum for dialog IDs (#753)
|
||||
18.) first-diff: store most recent mtime during check (#759)
|
||||
19.) Use Lights1 struct for light values (#760)
|
||||
20.) Detect mips64-elf in diff.py (#761)
|
||||
21.) Name display lists in gd renderer.c (#764)
|
||||
22.) Document a variety of PU type crashes. (#765)
|
||||
23.) Label object_behaviors. (#716)
|
||||
24.) Update swoop.inc.c (#767)
|
||||
25.) Label tilting_pyramid.inc.c (#768)
|
||||
26.) Label red_coin.inc.c (#770)
|
||||
27.) Use more level defines (#758)
|
||||
28.) Named Mario actions 6, 7, and 8 and noted causes of hands-free holding glitch (#769)
|
||||
|
||||
Refresh #3
|
||||
1.) Small bits of sound sample labelling
|
||||
2.) Append 'b' to fopen calls in n64graphics to satisfy Windows
|
||||
3.) Document synthesis.c and abi.h
|
||||
4.) Remove gbi_old.h and use gbi.h instead for F3D_OLD
|
||||
5.) Fix and change most values used by f3d commands
|
||||
6.) Convert actors to C
|
||||
7.) Make extract_assets.py fail on bad baserom
|
||||
8.) Fix some (pragma-ignored) warnings
|
||||
9.) Convert trig tables and data/ buffers into C
|
||||
10.) Document intro behaviors and some of camera.c
|
||||
11.) Match dma_sample_data
|
||||
12.) Convert levels, bin, text, goddard_tex_dl to C
|
||||
13.) Remove .bss size hardcoding
|
||||
14.) Add mips64 fallback and alt dump option to diff.sh
|
||||
15.) Convert behavior_data to C
|
||||
16.) Get rid of the enum in behavior_data.
|
||||
17.) Change more values used by f3d commands
|
||||
18.) Document game/skybox.c
|
||||
19.) Actors levels fixup
|
||||
20.) Convert Mario animations to C (kind of)
|
||||
22.) generate skybox data from 248x248 images
|
||||
23.) 64-bit fixes
|
||||
24.) Move demo data to C
|
||||
25.) Change uintptr_t to GeoLayout for actors
|
||||
26.) Move libc includes to include/libc/
|
||||
|
||||
Refresh #2a (hotfix)
|
||||
Changes from Refresh #2:
|
||||
|
||||
1.) Fixed text Makefile dependencies"
|
||||
|
||||
Refresh #2
|
||||
Changes from Refresh #1:
|
||||
|
||||
1.) Label src/game/behaviors/boo.inc.c
|
||||
2.) Verify half of audio_defines.h
|
||||
3.) Label ingame_menu.c and some dialog stuff
|
||||
4.) Improve handle_dialog_text_and_pages EU non-matching
|
||||
5.) Fix texture format for water splash/sparkle
|
||||
6.) Merge ucode.bin and ucode_unk.bin
|
||||
7.) 64-bit fixes
|
||||
8.) [AUDIO] Match func_80316928
|
||||
9.) Documented bug in Tuxie's mother's code
|
||||
10.) [AUDIO] Slightly closer matching for process_level_music_dynamics
|
||||
11.) Name channel scripts in sequence 0
|
||||
12.) Nicer error message when sha1sum doesn't match
|
||||
13.) Refactor object fields
|
||||
14.) Document file_select.c
|
||||
15.) Document star_select.c
|
||||
16.) Add uncompressed string support to textconv
|
||||
17.) Document main_menu geo and leveldata
|
||||
18.) Document hud.c and rename char textures
|
||||
19.) Correct gSPTextureRectangle values
|
||||
20.) Linker script wildcard
|
||||
- Fixes "undefined reference to x in discarded section y" linker errors.
|
||||
- Also means that you no longer have to add linker script entries for source files.
|
||||
21.) Reference qemu-irix package and add project structure
|
||||
- Installing qemu-irix is as simple as installing the provided Debian package on the GitHub "Releases" tab
|
||||
(https://github.com/n64decomp/qemu-irix).
|
||||
- Old qemu-irix installs are unaffected by this change, and it is still possible to install qemu-irix with the older method.
|
||||
|
||||
Refresh #1
|
||||
Changes from initial release:
|
||||
|
||||
1.) More README cleanups and documentation
|
||||
2.) Fix .gitignore in tools/
|
||||
3.) More README cleanups and corrections
|
||||
4.) oUnk190 -> oInteractionSubtype
|
||||
5.) Normalize line endings
|
||||
6.) Replace bank_sets.s by sequences.json + build magic
|
||||
7.) Fix tabledesign in .gitignore
|
||||
8.) Cleaned and documented arrays in audio/
|
||||
9.) Change minimum Python 3 requirement in README.md to 3.6
|
||||
10.) Remove whitespace in ingame_menu.c, save_file.c, and star_select.c
|
||||
11.) Documentation comment style fixed
|
||||
12.) sm64.map -> sm64.version.map (ex: sm64.us.map)
|
||||
13.) Decompile EU versions of HUD and obj behaviors
|
||||
14.) Label ukiki.inc.c and ukiki_cage.inc.c
|
||||
15.) Add missing OS header includes
|
||||
16.) Fix alignment issue in model_ids.h
|
||||
17.) A bunch of behavior changes:
|
||||
a.) Made styles consistent with function names (ex: BehBehaviorLoop -> beh_behavior_loop)
|
||||
b.) Split obj_behaviors_2.c into multiple .inc.c files in behaviors/
|
||||
c.) bhvHauntedRoomCheck -> bhvCoffinManager
|
||||
18.) Update README.md notes on WSL and add links
|
||||
19.) Added tidy.sh and also bracing around single-line ifs and loops
|
||||
@@ -4,7 +4,7 @@
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @Reonu
|
||||
* @thecozies
|
||||
* @Mr-Wiseguy
|
||||
* @gheskett
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
|
||||
60
Jenkinsfile
vendored
60
Jenkinsfile
vendored
@@ -1,60 +0,0 @@
|
||||
pipeline {
|
||||
agent any
|
||||
stages {
|
||||
stage('Build Tools') {
|
||||
steps {
|
||||
sh 'make -j4 -C tools/'
|
||||
}
|
||||
}
|
||||
stage('Extract Assets') {
|
||||
steps {
|
||||
sh 'ln -s "$ROMS_DIR/Super Mario 64 (J) [!].z64" baserom.jp.z64'
|
||||
sh 'ln -s "$ROMS_DIR/Super Mario 64 (U) [!].z64" baserom.us.z64'
|
||||
sh 'ln -s "$ROMS_DIR/Super Mario 64 (E) (M3) [!].z64" baserom.eu.z64'
|
||||
sh 'ln -s "$ROMS_DIR/Super Mario 64 - Shindou Edition (J) [!].z64" baserom.sh.z64'
|
||||
// verify no assets were committed to repo
|
||||
sh '[ -z "$(find {actors,levels,textures}/ -name \'*.png\')" ]'
|
||||
sh '[ -z "$(find assets/ -name \'*.m64\' -or \'*.bin\')" ]'
|
||||
sh './extract_assets.py jp us eu sh'
|
||||
}
|
||||
}
|
||||
stage('Build U Source') {
|
||||
steps {
|
||||
sh 'make -j4 VERSION=us VERBOSE=1 COLOR=0'
|
||||
}
|
||||
}
|
||||
stage('Build S Source') {
|
||||
steps {
|
||||
sh 'make -j4 VERSION=sh VERBOSE=1 COLOR=0'
|
||||
}
|
||||
}
|
||||
stage('Build E Source') {
|
||||
steps {
|
||||
sh 'make -j4 VERSION=eu VERBOSE=1 COLOR=0'
|
||||
}
|
||||
}
|
||||
stage('Build J Source') {
|
||||
steps {
|
||||
sh 'make -j4 VERSION=jp VERBOSE=1 COLOR=0'
|
||||
}
|
||||
}
|
||||
stage('Test Enhancements') {
|
||||
steps {
|
||||
sh '''
|
||||
set -e
|
||||
for f in enhancements/*.patch
|
||||
do
|
||||
git clean -fd .
|
||||
git checkout -- .
|
||||
echo 'y' | tools/apply_patch.sh "$f"
|
||||
make -j4 VERSION=us COMPARE=0 VERBOSE=1
|
||||
done
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
environment {
|
||||
QEMU_IRIX = credentials('qemu-irix')
|
||||
ROMS_DIR = credentials('roms')
|
||||
}
|
||||
}
|
||||
129
Makefile
129
Makefile
@@ -5,6 +5,8 @@ include util.mk
|
||||
# Default target
|
||||
default: all
|
||||
|
||||
TARGET_STRING := sm64
|
||||
|
||||
# Preprocessor definitions
|
||||
DEFINES :=
|
||||
|
||||
@@ -117,20 +119,10 @@ else ifeq ($(GRUCODE),super3d) # Super3D
|
||||
DEFINES += SUPER3D_GBI=1 F3D_NEW=1
|
||||
endif
|
||||
|
||||
LIBRARIES := nustd hvqm2 z goddard
|
||||
|
||||
# TEXT ENGINES
|
||||
# s2dex_text_engine - Text Engine by someone2639
|
||||
TEXT_ENGINE := none
|
||||
ifeq ($(TEXT_ENGINE), s2dex_text_engine)
|
||||
DEFINES += S2DEX_GBI_2=1 S2DEX_TEXT_ENGINE=1
|
||||
LIBRARIES += s2d_engine
|
||||
DUMMY != make -C src/s2d_engine COPY_DIR=$(shell pwd)/lib/
|
||||
endif
|
||||
# add more text engines here
|
||||
|
||||
LINK_LIBRARIES = $(foreach i,$(LIBRARIES),-l$(i))
|
||||
|
||||
$(eval $(call validate-option,TEXT_ENGINE,none s2dex_text_engine))
|
||||
|
||||
#==============================================================================#
|
||||
# Optimization flags #
|
||||
@@ -138,10 +130,14 @@ LINK_LIBRARIES = $(foreach i,$(LIBRARIES),-l$(i))
|
||||
|
||||
# Default non-gcc opt flags
|
||||
DEFAULT_OPT_FLAGS = -Ofast
|
||||
# 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
|
||||
SAFETY_OPT_FLAGS = -ftrapping-math -fno-associative-math
|
||||
|
||||
# Main opt flags
|
||||
GCC_MAIN_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
--param case-values-threshold=20 \
|
||||
--param max-completely-peeled-insns=10 \
|
||||
--param max-unrolled-insns=10 \
|
||||
@@ -152,7 +148,7 @@ GCC_MAIN_OPT_FLAGS = \
|
||||
|
||||
# Surface Collision
|
||||
GCC_COLLISION_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
--param case-values-threshold=20 \
|
||||
--param max-completely-peeled-insns=100 \
|
||||
--param max-unrolled-insns=100 \
|
||||
@@ -165,7 +161,7 @@ GCC_COLLISION_OPT_FLAGS = \
|
||||
|
||||
# Math Util
|
||||
GCC_MATH_UTIL_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
-fno-unroll-loops \
|
||||
-fno-peel-loops \
|
||||
--param case-values-threshold=20 \
|
||||
@@ -177,7 +173,7 @@ GCC_MATH_UTIL_OPT_FLAGS = \
|
||||
|
||||
# Rendering graph node
|
||||
GCC_GRAPH_NODE_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
--param case-values-threshold=20 \
|
||||
--param max-completely-peeled-insns=100 \
|
||||
--param max-unrolled-insns=100 \
|
||||
@@ -189,14 +185,12 @@ GCC_GRAPH_NODE_OPT_FLAGS = \
|
||||
#==============================================================================#
|
||||
|
||||
ifeq ($(COMPILER),gcc)
|
||||
NON_MATCHING := 1
|
||||
MIPSISET := -mips3
|
||||
OPT_FLAGS := $(GCC_MAIN_OPT_FLAGS)
|
||||
COLLISION_OPT_FLAGS = $(GCC_COLLISION_OPT_FLAGS)
|
||||
MATH_UTIL_OPT_FLAGS = $(GCC_MATH_UTIL_OPT_FLAGS)
|
||||
GRAPH_NODE_OPT_FLAGS = $(GCC_GRAPH_NODE_OPT_FLAGS)
|
||||
else ifeq ($(COMPILER),clang)
|
||||
NON_MATCHING := 1
|
||||
# clang doesn't support ABI 'o32' for 'mips3'
|
||||
MIPSISET := -mips2
|
||||
OPT_FLAGS := $(DEFAULT_OPT_FLAGS)
|
||||
@@ -205,29 +199,17 @@ else ifeq ($(COMPILER),clang)
|
||||
GRAPH_NODE_OPT_FLAGS = $(DEFAULT_OPT_FLAGS)
|
||||
endif
|
||||
|
||||
|
||||
# NON_MATCHING - whether to build a matching, identical copy of the ROM
|
||||
# 1 - enable some alternate, more portable code that does not produce a matching ROM
|
||||
# 0 - build a matching ROM
|
||||
NON_MATCHING ?= 1
|
||||
$(eval $(call validate-option,NON_MATCHING,0 1))
|
||||
|
||||
ifeq ($(TARGET_N64),0)
|
||||
NON_MATCHING := 1
|
||||
endif
|
||||
|
||||
ifeq ($(NON_MATCHING),1)
|
||||
DEFINES += NON_MATCHING=1 AVOID_UB=1
|
||||
endif
|
||||
|
||||
|
||||
TARGET_STRING := sm64
|
||||
|
||||
# UNF - whether to use UNFLoader flashcart library
|
||||
# 1 - includes code in ROM
|
||||
# 0 - does not
|
||||
# 0 - does not
|
||||
UNF ?= 0
|
||||
$(eval $(call validate-option,UNF,0 1))
|
||||
|
||||
# if `unf` is a target, make sure that UNF is set
|
||||
ifneq ($(filter unf,$(MAKECMDGOALS)),)
|
||||
UNF = 1
|
||||
endif
|
||||
|
||||
ifeq ($(UNF),1)
|
||||
DEFINES += UNF=1
|
||||
SRC_DIRS += src/usb
|
||||
@@ -237,7 +219,7 @@ endif
|
||||
# ISVPRINT - whether to fake IS-Viewer presence,
|
||||
# allowing for usage of CEN64 (and possibly Project64) to print messages to terminal.
|
||||
# 1 - includes code in ROM
|
||||
# 0 - does not
|
||||
# 0 - does not
|
||||
ISVPRINT ?= 0
|
||||
$(eval $(call validate-option,ISVPRINT,0 1))
|
||||
ifeq ($(ISVPRINT),1)
|
||||
@@ -255,7 +237,7 @@ endif
|
||||
|
||||
# HVQM - whether to use HVQM fmv library
|
||||
# 1 - includes code in ROM
|
||||
# 0 - does not
|
||||
# 0 - does not
|
||||
HVQM ?= 0
|
||||
$(eval $(call validate-option,HVQM,0 1))
|
||||
ifeq ($(HVQM),1)
|
||||
@@ -288,15 +270,6 @@ endif
|
||||
GZIPVER ?= std
|
||||
$(eval $(call validate-option,GZIPVER,std libdef))
|
||||
|
||||
# GODDARD - whether to use libgoddard (Mario Head)
|
||||
# 1 - includes code in ROM
|
||||
# 0 - does not
|
||||
GODDARD ?= 0
|
||||
$(eval $(call validate-option,GODDARD,0 1))
|
||||
ifeq ($(GODDARD),1)
|
||||
DEFINES += GODDARD=1
|
||||
endif
|
||||
|
||||
# Whether to hide commands or not
|
||||
VERBOSE ?= 0
|
||||
ifeq ($(VERBOSE),0)
|
||||
@@ -426,8 +399,6 @@ DEP_FILES := $(O_FILES:.o=.d) $(LIBZ_O_FILES:.o=.d) $(GODDARD_O_FILES:.o=.d) $(B
|
||||
# detect prefix for MIPS toolchain
|
||||
ifneq ($(call find-command,mips64-elf-ld),)
|
||||
CROSS := mips64-elf-
|
||||
# else ifneq ($(call find-command,mips-n64-ld),)
|
||||
# CROSS := mips-n64-
|
||||
else ifneq ($(call find-command,mips64-ld),)
|
||||
CROSS := mips64-
|
||||
else ifneq ($(call find-command,mips-linux-gnu-ld),)
|
||||
@@ -440,6 +411,18 @@ else
|
||||
$(error Unable to detect a suitable MIPS toolchain installed)
|
||||
endif
|
||||
|
||||
LIBRARIES := nustd hvqm2 z goddard
|
||||
|
||||
# Text engine
|
||||
ifeq ($(TEXT_ENGINE), s2dex_text_engine)
|
||||
DEFINES += S2DEX_GBI_2=1 S2DEX_TEXT_ENGINE=1
|
||||
LIBRARIES += s2d_engine
|
||||
DUMMY != $(MAKE) -C src/s2d_engine COPY_DIR=$(shell pwd)/lib/ CROSS=$(CROSS)
|
||||
endif
|
||||
# add more text engines here
|
||||
|
||||
LINK_LIBRARIES = $(foreach i,$(LIBRARIES),-l$(i))
|
||||
|
||||
export LD_LIBRARY_PATH=./tools
|
||||
|
||||
AS := $(CROSS)as
|
||||
@@ -531,8 +514,13 @@ endif
|
||||
ENDIAN_BITWIDTH := $(BUILD_DIR)/endian-and-bitwidth
|
||||
EMULATOR = mupen64plus
|
||||
EMU_FLAGS =
|
||||
LOADER = loader64
|
||||
LOADER_FLAGS = -vwf
|
||||
|
||||
ifneq (,$(call find-command,wslview))
|
||||
LOADER = ./$(TOOLS_DIR)/UNFLoader.exe
|
||||
else
|
||||
LOADER = ./$(TOOLS_DIR)/UNFLoader
|
||||
endif
|
||||
|
||||
SHA1SUM = sha1sum
|
||||
PRINT = printf
|
||||
|
||||
@@ -582,8 +570,18 @@ test-pj64: $(ROM)
|
||||
wine ~/Desktop/new64/Project64.exe $<
|
||||
# someone2639
|
||||
|
||||
load: $(ROM)
|
||||
$(LOADER) $(LOADER_FLAGS) $<
|
||||
# download and extract most recent unfloader build if needed
|
||||
$(LOADER):
|
||||
ifeq (,$(wildcard $(LOADER)))
|
||||
@$(PRINT) "Downloading latest UNFLoader...$(NO_COL)\n"
|
||||
$(PYTHON) $(TOOLS_DIR)/get_latest_unfloader.py $(TOOLS_DIR)
|
||||
endif
|
||||
|
||||
load: $(ROM) $(LOADER)
|
||||
$(LOADER) -r $<
|
||||
|
||||
unf: $(ROM) $(LOADER)
|
||||
$(LOADER) -d -r $<
|
||||
|
||||
libultra: $(BUILD_DIR)/libultra.a
|
||||
|
||||
@@ -634,7 +632,8 @@ $(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wn
|
||||
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
|
||||
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
|
||||
# File specific opt flags
|
||||
$(BUILD_DIR)/src/audio/*.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
$(BUILD_DIR)/src/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
|
||||
$(BUILD_DIR)/src/engine/surface_collision.o: OPT_FLAGS := $(COLLISION_OPT_FLAGS)
|
||||
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := $(MATH_UTIL_OPT_FLAGS)
|
||||
@@ -707,17 +706,17 @@ $(BUILD_DIR)/levels/%/leveldata.bin: $(BUILD_DIR)/levels/%/leveldata.elf
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
ifeq ($(COMPRESS),gzip)
|
||||
include gziprules.mk
|
||||
include compression/gziprules.mk
|
||||
else ifeq ($(COMPRESS),rnc1)
|
||||
include rnc1rules.mk
|
||||
include compression/rnc1rules.mk
|
||||
else ifeq ($(COMPRESS),rnc2)
|
||||
include rnc2rules.mk
|
||||
include compression/rnc2rules.mk
|
||||
else ifeq ($(COMPRESS),yay0)
|
||||
include yay0rules.mk
|
||||
include compression/yay0rules.mk
|
||||
else ifeq ($(COMPRESS),mio0)
|
||||
include mio0rules.mk
|
||||
include compression/mio0rules.mk
|
||||
else ifeq ($(COMPRESS),uncomp)
|
||||
include uncomprules.mk
|
||||
include compression/uncomprules.mk
|
||||
endif
|
||||
|
||||
#==============================================================================#
|
||||
@@ -878,8 +877,16 @@ $(ELF): $(BUILD_DIR)/sm64_prelim.elf $(BUILD_DIR)/asm/debug/map.o $(O_FILES) $(Y
|
||||
$(V)$(LD) --gc-sections -L $(BUILD_DIR) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -T goddard.txt -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -L$(LIBS_DIR) -l$(ULTRALIB) -Llib $(LINK_LIBRARIES) -u sprintf -u osMapTLB -Llib/gcclib/$(LIBGCCDIR) -lgcc -lrtc
|
||||
|
||||
# Build ROM
|
||||
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
|
||||
# run with -n / --dry-run
|
||||
$(ROM):
|
||||
@$(PRINT) "$(BLUE)DRY RUNS ARE DISABLED$(NO_COL)\n"
|
||||
else
|
||||
# not running with -n / --dry-run
|
||||
$(ROM): $(ELF)
|
||||
$(call print,Building ROM:,$<,$@)
|
||||
endif
|
||||
|
||||
ifeq ($(CONSOLE),n64)
|
||||
$(V)$(OBJCOPY) --pad-to=0x101000 --gap-fill=0xFF $< $@ -O binary
|
||||
else ifeq ($(CONSOLE),bb)
|
||||
@@ -892,7 +899,7 @@ endif
|
||||
$(BUILD_DIR)/$(TARGET).objdump: $(ELF)
|
||||
$(OBJDUMP) -D $< > $@
|
||||
|
||||
.PHONY: all clean distclean default diff test load
|
||||
.PHONY: all clean distclean default test load
|
||||
# with no prerequisites, .SECONDARY causes no intermediate target to be removed
|
||||
.SECONDARY:
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
|
||||
- **ArcticJaguar725**: Most audio configuration and layout changes, colored ia4 text, floombas, various bugfixes, and more
|
||||
- **CowQuack**: Adjustable skybox sizes, area-specific skybox function
|
||||
- **thecozies**: Water surface types, general maintenance, and time
|
||||
- **MrComit**: General use object defines, JUMP_KICK_FIX, LEDGE_GRABS_CHECK_SLOPE_ANGLE
|
||||
- **MrComit**: General use object defines, JUMP_KICK_FIX
|
||||
- **aglab2**: Bugfixes (particularly puppycam), refactor stuff
|
||||
- **someone2639**: math.s and crash screen disam, stack trace, map packing, shiftable segments 2, S2DEX engine
|
||||
- **Arthurtilly**: Platform Displacement 2
|
||||
@@ -29,6 +29,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
|
||||
- **CrashOveride**: creating the [ultrasm64](https://github.com/CrashOveride95/ultrasm64) repo
|
||||
- **falcobuster**: Original coordinate overflow fix (world scale), ASM version of extended bounds
|
||||
- **anonymous_moose**: porting falco's extended bounds to decomp
|
||||
- **tuxlovesyou**: `LOAD_MIO0_TEXTURE` macro and moral support
|
||||
|
||||
Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
|
||||
@@ -70,7 +71,6 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
- Toggle to disable fall damage and the fall damage sound *
|
||||
- Nonstop stars *
|
||||
- Removed course-specific camera processing *
|
||||
- You can increase the number of frames that you have to perform a firsty *
|
||||
- Ability to set Mario's movement speed when hanging from a ceiling *
|
||||
- Tighter hanging controls (Mario will face the direction of the analog stick directly while hanging from a ceiling) *
|
||||
- reonucam3: custom camera by Reonu. This is included as a .patch file in the enhancements folder, you need to apply it if you want this camera.
|
||||
|
||||
@@ -1 +1 @@
|
||||
v2.0.1
|
||||
v2.0.8
|
||||
|
||||
@@ -27,6 +27,7 @@ const Gfx bubble_seg4_dl_0401DD60[] = {
|
||||
gsSPVertex(bubble_seg4_vertex_0401CD20, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -40,6 +41,7 @@ const Gfx bubble_seg4_dl_0401DDE0[] = {
|
||||
gsSPVertex(bubble_seg4_vertex_0401CD20, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -123,6 +123,7 @@ const Gfx coin_seg3_dl_start[] = {
|
||||
const Gfx coin_seg3_dl_end[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -503,6 +504,7 @@ const Gfx coin_seg3_sub_dl_begin[] = {
|
||||
const Gfx coin_seg3_sub_dl_end[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
BIN
actors/flyguy/flyguy_face.custom.rgba16.png
Normal file
BIN
actors/flyguy/flyguy_face.custom.rgba16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 995 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -10,7 +10,7 @@ ALIGNED8 static const Texture flyguy_seg8_texture_0800E088[] = {
|
||||
|
||||
// 0x0800F088
|
||||
ALIGNED8 static const Texture flyguy_seg8_texture_0800F088[] = {
|
||||
#include "actors/flyguy/flyguy_face.rgba16.inc.c"
|
||||
#include "actors/flyguy/flyguy_face.custom.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0800F888
|
||||
|
||||
@@ -24,6 +24,7 @@ const Gfx leaves_seg3_dl_0301CDE0[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -36,11 +36,13 @@ const Gfx mr_i_eyeball_seg6_dl_06002080[] = {
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mr_i_eyeball_seg6_texture_06001080),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
||||
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -40,6 +40,7 @@ const Gfx mr_i_iris_seg6_dl_06004170[] = {
|
||||
gsSPVertex(mr_i_iris_seg6_vertex_06002130, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -23,6 +23,7 @@ const Gfx sand_seg3_dl_particle[] = {
|
||||
gsSPVertex(sand_seg3_vertex_billboard_16x16, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -50,6 +50,7 @@ const Gfx sparkles_seg4_dl_0402A490[] = {
|
||||
gsSPVertex(sparkles_seg4_vertex_04027450, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user