You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
447 Commits
develop/2.
...
develop/ar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ea979665c | ||
|
|
81ae0e8b3a | ||
|
|
53f8f96b69 | ||
|
|
b30a3fe829 | ||
|
|
a073005ee2 | ||
|
|
1ea16fb20e | ||
|
|
47285d1806 | ||
|
|
41c25a63c7 | ||
|
|
d79ce5a6d4 | ||
|
|
e63762d16f | ||
|
|
19140bd181 | ||
|
|
1197ece93b | ||
|
|
c719655874 | ||
|
|
2db4e3bbfd | ||
|
|
2965c63b0f | ||
|
|
6d53c7c343 | ||
|
|
3ed35e7ee8 | ||
|
|
21338a2f19 | ||
|
|
cbd714bef5 | ||
|
|
229a185f46 | ||
|
|
959bd977fa | ||
|
|
82b69cb0b0 | ||
|
|
5e707ca2b9 | ||
|
|
ccbba15c37 | ||
|
|
2e2fed1d9b | ||
|
|
6ee89498a1 | ||
|
|
c2b1bd1530 | ||
|
|
5a5dea44b7 | ||
|
|
1b72541016 | ||
|
|
b36651ce79 | ||
|
|
01b7926661 | ||
|
|
e390a644d5 | ||
|
|
1f75635a8c | ||
|
|
3ae4c02054 | ||
|
|
5067aba0eb | ||
|
|
6f7fd90c0a | ||
|
|
de0e252477 | ||
|
|
bc536a7732 | ||
|
|
31ea31ec02 | ||
|
|
a06297b69f | ||
|
|
ee5b7a791d | ||
|
|
c67bd7c9c1 | ||
|
|
b62a27d4d2 | ||
|
|
785ecdaf25 | ||
|
|
9338fa1c5c | ||
|
|
ffe6c177b6 | ||
|
|
1509cf4cb5 | ||
|
|
58cfa854e9 | ||
|
|
024ac871b3 | ||
|
|
012602853e | ||
|
|
fe582afb9e | ||
|
|
e7e49ede62 | ||
|
|
ca59680cd0 | ||
|
|
2c956657bb | ||
|
|
d4bd046367 | ||
|
|
76a499a5e4 | ||
|
|
ed1d6cc0e3 | ||
|
|
f64b523368 | ||
|
|
53967e17d7 | ||
|
|
03bafbcac0 | ||
|
|
c1448eb207 | ||
|
|
9511281ee9 | ||
|
|
9822c04cd0 | ||
|
|
557c420569 | ||
|
|
1aaaae4760 | ||
|
|
39798a1b6d | ||
|
|
886e364068 | ||
|
|
f57ec7c73e | ||
|
|
e4e78e0060 | ||
|
|
576ec410e0 | ||
|
|
e38d14820e | ||
|
|
f6421d82f9 | ||
|
|
eac14b09e6 | ||
|
|
5f73f53c43 | ||
|
|
1af1b3937d | ||
|
|
ed2890336c | ||
|
|
cbca469660 | ||
|
|
be6d76dc70 | ||
|
|
9cba034725 | ||
|
|
50c0bf8db8 | ||
|
|
cb40d9b938 | ||
|
|
a02607e03b | ||
|
|
78b90f20db | ||
|
|
5d1c583f8e | ||
|
|
455f09031f | ||
|
|
3c4994fe56 | ||
|
|
68ae7e8602 | ||
|
|
bd423778dc | ||
|
|
d09bb4ef25 | ||
|
|
2c5bf00235 | ||
|
|
ad9a44e033 | ||
|
|
5a6929f4b4 | ||
|
|
2d71eab68e | ||
|
|
1b1662587f | ||
|
|
d6cbfe3641 | ||
|
|
5ba722e4af | ||
|
|
ca2a34cd43 | ||
|
|
5ca6de67cd | ||
|
|
5eeec0e6a3 | ||
|
|
d8381d44bd | ||
|
|
f4a69f3d4a | ||
|
|
bf87eee49a | ||
|
|
aeaca2a880 | ||
|
|
647599eb1d | ||
|
|
c3c97cacf6 | ||
|
|
ce31dd4586 | ||
|
|
58d2d3c20f | ||
|
|
3f4166830e | ||
|
|
f90ad6d2a8 | ||
|
|
ec21aa7e74 | ||
|
|
11b3bff9f0 | ||
|
|
cc7165c1ea | ||
|
|
e7a1796a36 | ||
|
|
49d2da4572 | ||
|
|
f34b9144ea | ||
|
|
9b0b1312fd | ||
|
|
7bf3e30d7d | ||
|
|
9ed1f1a569 | ||
|
|
aa04129fd2 | ||
|
|
9c645dc642 | ||
|
|
245def9efb | ||
|
|
92f5fc4a00 | ||
|
|
dd3dea4be4 | ||
|
|
12222ab07a | ||
|
|
75694a92c2 | ||
|
|
48d26e65c3 | ||
|
|
3a820aaa67 | ||
|
|
a02689fcc2 | ||
|
|
52b4a4db6c | ||
|
|
1353f96c39 | ||
|
|
f9c10f143a | ||
|
|
214701b8a5 | ||
|
|
6ed276db5a | ||
|
|
614077ce55 | ||
|
|
4891ea0cc2 | ||
|
|
898238c512 | ||
|
|
3792407c51 | ||
|
|
ebf1379e66 | ||
|
|
8b14a8a591 | ||
|
|
ab5bf1ef7c | ||
|
|
4a061bb2d2 | ||
|
|
f89f6936d3 | ||
|
|
7b8db75574 | ||
|
|
45b8e8b8ec | ||
|
|
b2b95db05d | ||
|
|
d36223b44c | ||
|
|
becff41f4a | ||
|
|
fe18510469 | ||
|
|
8d050c20e3 | ||
|
|
c87feb7e66 | ||
|
|
d51708e026 | ||
|
|
f37e3db39c | ||
|
|
3dd8cc0bd5 | ||
|
|
21295f098f | ||
|
|
ead83dc99e | ||
|
|
722e093c3e | ||
|
|
91bd33aa82 | ||
|
|
6e4f9ea607 | ||
|
|
2c95237e5d | ||
|
|
a9ff09ad63 | ||
|
|
c683028d23 | ||
|
|
1026c3e29b | ||
|
|
5fefdcfdae | ||
|
|
41e75466b4 | ||
|
|
5d3ea0f0d8 | ||
|
|
5dd0419811 | ||
|
|
6145cffffd | ||
|
|
02b1ad81a3 | ||
|
|
06e322c47d | ||
|
|
667c87588b | ||
|
|
2ecaed00d3 | ||
|
|
a352b47e45 | ||
|
|
2cd7f0b59d | ||
|
|
5ba031420a | ||
|
|
c87898526a | ||
|
|
35ccebb1be | ||
|
|
05690d229c | ||
|
|
3ac4575791 | ||
|
|
bbd4d2faf0 | ||
|
|
e4fa9b47f4 | ||
|
|
74a873d2d5 | ||
|
|
057d981456 | ||
|
|
b3e4d14c22 | ||
|
|
4e4ca992a3 | ||
|
|
cc7d93c544 | ||
|
|
06e6382d4c | ||
|
|
8b12260c40 | ||
|
|
dc22db2821 | ||
|
|
9561c3af7f | ||
|
|
88912eae39 | ||
|
|
b77d7c96dd | ||
|
|
2618b51b6b | ||
|
|
d656ccbd0a | ||
|
|
c5b9838b76 | ||
|
|
7d2ec97d78 | ||
|
|
94b770b25b | ||
|
|
cba5fcd222 | ||
|
|
aa862c2f60 | ||
|
|
fb67f18ead | ||
|
|
e17367f76e | ||
|
|
a3bf74b77c | ||
|
|
7ae988b09c | ||
|
|
b7d6e1a56c | ||
|
|
6200fba277 | ||
|
|
94a5a429f8 | ||
|
|
7632aba660 | ||
|
|
33b4465882 | ||
|
|
0d2940f912 | ||
|
|
0bce883c16 | ||
|
|
ef305eea7f | ||
|
|
2b9a928f90 | ||
|
|
2d03572d3c | ||
|
|
719ba375be | ||
|
|
ed0016c7f4 | ||
|
|
f43c5c4e03 | ||
|
|
cd793de09b | ||
|
|
1329a45f51 | ||
|
|
9a561df389 | ||
|
|
2dd3808f71 | ||
|
|
3faba2722c | ||
|
|
68c8aeb3d6 | ||
|
|
49ab98b789 | ||
|
|
d4b9b708b8 | ||
|
|
3db0f4c2ca | ||
|
|
50399aedc9 | ||
|
|
f447173abe | ||
|
|
3ebce8e203 | ||
|
|
3a2ac42e9a | ||
|
|
56138ddc9a | ||
|
|
37557a18af | ||
|
|
0abc97c092 | ||
|
|
56e0a64856 | ||
|
|
30505ce50b | ||
|
|
fa5ded2347 | ||
|
|
c95a55b21b | ||
|
|
636e127c5e | ||
|
|
7614f0bdef | ||
|
|
fc809909bf | ||
|
|
62e2fb2f9e | ||
|
|
ee31423400 | ||
|
|
7eac14fcd7 | ||
|
|
1bdc3f8e04 | ||
|
|
b811bad9f1 | ||
|
|
20e380f0be | ||
|
|
bb03fe5bc2 | ||
|
|
9c2a721578 | ||
|
|
0cfe36c8c0 | ||
|
|
30df6e9ce8 | ||
|
|
53ae9472cf | ||
|
|
e774e92287 | ||
|
|
8d62b5a17b | ||
|
|
ac6f6d4e75 | ||
|
|
b0523a1ee1 | ||
|
|
980ca7dd1c | ||
|
|
ade548bfea | ||
|
|
85a4f94fa9 | ||
|
|
cb1a987afa | ||
|
|
93d2bf38c9 | ||
|
|
7e3b54a315 | ||
|
|
96e7d6a010 | ||
|
|
b4759e70bf | ||
|
|
8dd24bc83c | ||
|
|
d1d5971724 | ||
|
|
3b95c16362 | ||
|
|
5eccc917e9 | ||
|
|
1bfd44f2aa | ||
|
|
dc4a0b9151 | ||
|
|
7cee4ef9fe | ||
|
|
53437e41a2 | ||
|
|
235df32ab9 | ||
|
|
72bda3a422 | ||
|
|
3188001c57 | ||
|
|
0bd2f8cf97 | ||
|
|
a535dab966 | ||
|
|
e5f2c7d119 | ||
|
|
e5f670cafa | ||
|
|
a08258da0a | ||
|
|
0876eb4eee | ||
|
|
3a485b2a9b | ||
|
|
01a6f0c049 | ||
|
|
b46b607c91 | ||
|
|
9307177bc2 | ||
|
|
b4f7b61417 | ||
|
|
47623a4297 | ||
|
|
ada64ae461 | ||
|
|
0d4c100e3e | ||
|
|
0587fa2a1d | ||
|
|
7714accddd | ||
|
|
59bfc5b19e | ||
|
|
5c382600c3 | ||
|
|
0796286581 | ||
|
|
e113978834 | ||
|
|
37632f3954 | ||
|
|
94ef672ec5 | ||
|
|
cdb35e9fd0 | ||
|
|
898a293d30 | ||
|
|
dd9d14febe | ||
|
|
69cf9986ca | ||
|
|
ddcd9bcd22 | ||
|
|
59bd837ad1 | ||
|
|
30ccf3b862 | ||
|
|
50cff1a700 | ||
|
|
2f539f8f74 | ||
|
|
64f6eab135 | ||
|
|
33250f39b5 | ||
|
|
4225dc822e | ||
|
|
b066b22152 | ||
|
|
38c34f6c32 | ||
|
|
d40af9bdaf | ||
|
|
5789c2a4ab | ||
|
|
67d24758d6 | ||
|
|
b85b3186fb | ||
|
|
9f8abc8009 | ||
|
|
72c55e876f | ||
|
|
44a65b36e9 | ||
|
|
39a7041cd5 | ||
|
|
02439a6e95 | ||
|
|
f47927a8c2 | ||
|
|
3e95a859b1 | ||
|
|
f29f6e5b5c | ||
|
|
331335c3c2 | ||
|
|
97d821cd77 | ||
|
|
62cf6550ec | ||
|
|
a360e3c0a6 | ||
|
|
aa009cba7b | ||
|
|
89d74b3545 | ||
|
|
ea784b9e9e | ||
|
|
b033308b31 | ||
|
|
42af5c5985 | ||
|
|
f68fa0dfe8 | ||
|
|
810858cedc | ||
|
|
3a9139e379 | ||
|
|
58b9f7058f | ||
|
|
969ea2c6ea | ||
|
|
a7d808f84c | ||
|
|
837a55a040 | ||
|
|
c8e5dcef67 | ||
|
|
a7b208e8e8 | ||
|
|
a471544097 | ||
|
|
dd2dc2b2bd | ||
|
|
eb405d3c8b | ||
|
|
e294292dd5 | ||
|
|
66cd292dcc | ||
|
|
67cacb4d14 | ||
|
|
db7e6dcb9b | ||
|
|
ced30c9659 | ||
|
|
114f10a6a4 | ||
|
|
341356daac | ||
|
|
ec8caea02c | ||
|
|
61ef8bb9a8 | ||
|
|
c9dca2cdc1 | ||
|
|
12a8170bda | ||
|
|
e17a469c72 | ||
|
|
2cd9275677 | ||
|
|
2692320f9d | ||
|
|
5137facd77 | ||
|
|
53e130b4cf | ||
|
|
0cf38f63be | ||
|
|
8a4167b5f3 | ||
|
|
6287804353 | ||
|
|
6646edcade | ||
|
|
abb64638f2 | ||
|
|
05d85fea8c | ||
|
|
077896456e | ||
|
|
970551cdc6 | ||
|
|
6df32bd6ca | ||
|
|
f756c75fee | ||
|
|
4bc21fd32e | ||
|
|
9283a25960 | ||
|
|
52600eb453 | ||
|
|
ee5f5adc9d | ||
|
|
19a68b94f6 | ||
|
|
a159b9d283 | ||
|
|
7dcc2e866f | ||
|
|
4a0a19981c | ||
|
|
49ab678594 | ||
|
|
1f25450971 | ||
|
|
309a28f85d | ||
|
|
7d3c38b185 | ||
|
|
67b29b47fa | ||
|
|
14639ed769 | ||
|
|
928a407c07 | ||
|
|
9bb09d0947 | ||
|
|
8eb930c0b3 | ||
|
|
43478ffaca | ||
|
|
e6f7680791 | ||
|
|
688c970e01 | ||
|
|
449ebc0a7a | ||
|
|
46b725b3fc | ||
|
|
e63d20b420 | ||
|
|
ed3a9f77f4 | ||
|
|
6980dcaa03 | ||
|
|
03347f5ffd | ||
|
|
59ad3b7872 | ||
|
|
77c777308b | ||
|
|
a3398ac240 | ||
|
|
979507c38e | ||
|
|
b46ea36257 | ||
|
|
a3e3d03174 | ||
|
|
6f123cc9a2 | ||
|
|
efebc84e44 | ||
|
|
6524aa7655 | ||
|
|
b46c39b7a4 | ||
|
|
22ba19a9a4 | ||
|
|
ba67dee11b | ||
|
|
41c5aec748 | ||
|
|
d3f1cf3e7d | ||
|
|
2fff062d11 | ||
|
|
b6a8a34555 | ||
|
|
8dbe75bfc9 | ||
|
|
d8a844482c | ||
|
|
c9d85d671e | ||
|
|
0a01b65348 | ||
|
|
e8c9e5d799 | ||
|
|
dab30aad2d | ||
|
|
c039fac22e | ||
|
|
79a9f94a71 | ||
|
|
198388067c | ||
|
|
5a0800c71a | ||
|
|
c2ca2387ac | ||
|
|
d8cf9ccbb6 | ||
|
|
7b41245a0c | ||
|
|
16f931f71f | ||
|
|
b010be6f87 | ||
|
|
6ab779db0b | ||
|
|
076382a995 | ||
|
|
ee4ceb9fc8 | ||
|
|
b9d1b47be7 | ||
|
|
7b5af80bfb | ||
|
|
b0b2e902dd | ||
|
|
7f78764ebd | ||
|
|
7d21cb068c | ||
|
|
82435d9d63 | ||
|
|
1d360860c9 | ||
|
|
549b919469 | ||
|
|
b5f9b663ed | ||
|
|
45064e15d2 | ||
|
|
86ed5cf9a6 | ||
|
|
2b53cc64be | ||
|
|
208d526bb6 | ||
|
|
d8c7afebc2 | ||
|
|
eb466b2caf | ||
|
|
1372ae1bb7 | ||
|
|
0d56896e75 | ||
|
|
3a627e6311 | ||
|
|
6218abafff | ||
|
|
d51129c6b6 |
26
.gitattributes
vendored
26
.gitattributes
vendored
@@ -2,19 +2,19 @@
|
||||
* text=auto
|
||||
|
||||
# List text files in case git doesn't characterize correctly
|
||||
*.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
|
||||
*.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
|
||||
|
||||
# Same for binary
|
||||
*.bin binary
|
||||
|
||||
2128
.gitignore
vendored
2128
.gitignore
vendored
File diff suppressed because it is too large
Load Diff
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
||||
[submodule "lib/libpl"]
|
||||
path = lib/libpl
|
||||
url = https://gitlab.com/parallel-launcher/libpl.git
|
||||
5
.vscode/c_cpp_properties.json
vendored
5
.vscode/c_cpp_properties.json
vendored
@@ -27,12 +27,13 @@
|
||||
"F3DEX_GBI_2=1",
|
||||
"F3DZEX_NON_GBI_2=1",
|
||||
"F3DEX_GBI_SHARED=1",
|
||||
"LIBPL=1"
|
||||
"NON_MATCHING=1",
|
||||
"AVOID_UB=1"
|
||||
],
|
||||
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
|
||||
"cStandard": "gnu17",
|
||||
"cppStandard": "gnu++14",
|
||||
"intelliSenseMode": "linux-gcc-x86"
|
||||
"intelliSenseMode": "linux-gcc-x64"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
|
||||
416
CHANGES
Normal file
416
CHANGES
Normal file
@@ -0,0 +1,416 @@
|
||||
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
|
||||
@@ -2,7 +2,9 @@
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @Reonu @gheskett @arthurtilly
|
||||
* @Reonu
|
||||
* @thecozies
|
||||
* @Mr-Wiseguy
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
|
||||
15
Dockerfile
15
Dockerfile
@@ -1,18 +1,17 @@
|
||||
FROM ubuntu:22.04 as build
|
||||
FROM ubuntu:18.04 as build
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
binutils-mips-linux-gnu \
|
||||
bsdextrautils \
|
||||
bsdmainutils \
|
||||
build-essential \
|
||||
gcc-mips-linux-gnu \
|
||||
libcapstone-dev \
|
||||
pkgconf \
|
||||
python3
|
||||
|
||||
RUN mkdir /hackersm64
|
||||
WORKDIR /hackersm64
|
||||
ENV PATH="/hackersm64/tools:${PATH}"
|
||||
RUN mkdir /sm64
|
||||
WORKDIR /sm64
|
||||
ENV PATH="/sm64/tools:${PATH}"
|
||||
|
||||
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'
|
||||
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'
|
||||
|
||||
60
Jenkinsfile
vendored
Normal file
60
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
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')
|
||||
}
|
||||
}
|
||||
@@ -39,8 +39,6 @@ ACTOR_GROUPS := \
|
||||
|
||||
LEVEL_FILES := $(addsuffix leveldata,$(LEVEL_DIRS))
|
||||
|
||||
LEVEL_ELF_FILES := $(foreach level_dir,$(LEVEL_DIRS),$(BUILD_DIR)/levels/$(level_dir)leveldata.elf)
|
||||
|
||||
SEG_FILES := \
|
||||
$(SEGMENTS:%=$(BUILD_DIR)/bin/%.elf) \
|
||||
$(ACTOR_GROUPS:%=$(BUILD_DIR)/actors/%.elf) \
|
||||
@@ -270,6 +268,3 @@ IPL3_RAW_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%,$(IP
|
||||
|
||||
CRASH_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/crash_custom/*.png)
|
||||
CRASH_TEXTURE_C_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(CRASH_TEXTURE_FILES)))
|
||||
|
||||
FASTTEXT_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/fasttext/*.png)
|
||||
FASTTEXT_TEXTURE_C_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(FASTTEXT_TEXTURE_FILES)))
|
||||
|
||||
41
README.md
41
README.md
@@ -4,9 +4,9 @@
|
||||
|
||||
HackerSM64 now has a discord server! https://discord.gg/brETAakcXr
|
||||
|
||||
This repo requires a US ROM in order to build. JP/EU ROMs are optional for some assets.
|
||||
This repo requires BOTH a US ROM and a JP ROM in order to build. Place baserom.us.z64 in the repo as usual and ALSO include baserom.jp.z64.
|
||||
|
||||
[How to install everything needed and build HackerSM64](https://github.com/HackerN64/HackerSM64/wiki/Installing-HackerSM64)
|
||||
This repo needs gcc in order to be able to build it. To install it, run `sudo apt install gcc-mips-linux-gnu`
|
||||
|
||||
This is a fork of the ultrasm64 repo by CrashOveride which includes the following commonly used patches (patches marked with `*` are toggleable in the config files):
|
||||
|
||||
@@ -14,28 +14,27 @@ 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
|
||||
- **MrComit**: General use object defines, JUMP_KICK_FIX, LEDGE_GRABS_CHECK_SLOPE_ANGLE
|
||||
- **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
|
||||
- **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug
|
||||
- **Fazana**: PuppyLib, ucode swapping, audio load time optimizations (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, shadow optimizations, better hanging, breath meter, z offset geo command, star glow, painting objects, implementation of frameperfection's rounded corners fix, naming most unknowns, various hacker qol improvements, and various optimizations/fixes
|
||||
- **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
|
||||
- **Wiseguy**: World scale reimplementation, silhouette, graph node optimizations, instant input patch, cake screen fix, segmented code support, matrix stack fix, and various optimizations/fixes
|
||||
- **Kaze Emanuar**: Graph node & math util optimizations, automatic optimal collision distance, cell buffer fix
|
||||
- **Pyro Jay**: Texture improvements, repo banner art, some QoL stuff
|
||||
- **CrashOveride**: creating the [ultrasm64](https://github.com/CrashOveride95/ultrasm64) repo
|
||||
- **falcobuster**: Original coordinate overflow fix (world scale), ASM version of extended bounds, emulator detector
|
||||
- **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
|
||||
- **devwizard**: the PJ64 pre-v3.0 detection part of the emulator detector
|
||||
|
||||
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`. *
|
||||
@@ -61,6 +60,7 @@ 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.
|
||||
@@ -82,7 +82,7 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
- Many general use defines for object struct members, meant for use in custom object behaviors. Check `include/object_fields.h` for more info on this. (By MrComit)
|
||||
- Included `actors/group0.c` in `behavior_data.c`
|
||||
- The internal ROM name is now set with a define in `config/config_rom.h` to make it simpler
|
||||
- There is a `gEmulator` variable to detect console or specific emulators and emulator versions
|
||||
- There is a `gIsConsole` variable that is 1 when running on console and 0 when running on emulator. This way you can wrap your code in a console check.
|
||||
- Expanded audio heap allows for a larger concurrent note count and the importing of more m64 sequences and sound banks (By ArcticJaguar725) *
|
||||
- You can set a test level in `config/config_debug.h` in order to boot straight into it, so you can quickly test the level you're working on. *
|
||||
- Allow all surfaces in the game to have a `force` parameter. Activating this doesn't REQUIRE you to set `force` for every surface: If you don't set, it will default to 0x0000 rather than crashing. Increases RAM usage of collision. *
|
||||
@@ -105,7 +105,7 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
|
||||
**Neat Misc. Changes:**
|
||||
- Instant Input patch by Wiseguy (Removes all input lag caused by plugins supporting framebuffer)
|
||||
- This means that you'll have to do your framebuffer effects on buffer 0 for emulator, but NOT for console. You can use the `gEmulator` variable to check for console when doing your framebuffer effects.
|
||||
- This means that you'll have to do your framebuffer effects on buffer 0 for emulator, but NOT for console. You can use the `gIsConsole` variable to check for console when doing your framebuffer effects.
|
||||
- Widescreen (16:9) support toggleable by pressing `L` in the pause menu. *
|
||||
- S2DEX engine by someone2639! To use it, compile with `make TEXT_ENGINE=s2dex_text_engine` or just set `TEXT_ENGINE` to `s2dex_text_engine` in the makefile.
|
||||
- ia8 (64x64) coins, the vanilla coin texture is upgraded to accomodate. *
|
||||
@@ -118,9 +118,10 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
- This repo supports a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general. See `audio/synthesis.c` for more details and configuration info. (By ArcticJaguar725) *
|
||||
- Fazana's "puppyprint" text engine. *
|
||||
- Use `print_small_text` to print normal text. The two last params are aligment and how many characters to print (-1 means PRINT_ALL).
|
||||
- Use `render_multi_image` to draw large texture rectangles consisting of multiple images on the screen.
|
||||
- More info in `puppyprint.c`
|
||||
- Wiseguy's Farcall TLB mapping allows to store executable code inside uncompressed segments, that can be loaded and ran as needed, instead of it having to be loaded at all times. See `farcall.h` in the include folder for instructions and details.
|
||||
- Red Coin Stars now support up to 99 red coins! In addition, multi-area red coin missions can now be created by setting the 2nd behavior paramater of the red coin star to the number of reds required for the star to spawn.
|
||||
|
||||
# UltraSM64
|
||||
|
||||
- This repo contains a full decompilation of Super Mario 64 (J), (U), (E), and (SH).
|
||||
@@ -134,10 +135,18 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
- It has been patched with someone2639's shiftable segments patch
|
||||
- Wiseguy's instant input patch has been added to allow for less input lag on emulation (Does not affect console)
|
||||
This does mean that any framebuffer effects will have to be done on buffer 0 if targeting emulators
|
||||
- Automatic console and emulator detection: Use the `gEmulator` variable to wrap your code in an emulator check.
|
||||
- Automatic console and emulator detection: Use the `gIsConsole` variable to wrap your code in an emulator check.
|
||||
- Separate defines for emulator and console black border height.
|
||||
- Getting HVQM FMV support to work with the game is WIP.
|
||||
|
||||
Requirements are the same as regular SM64, however a GCC MIPS cross compiler is also required. If you're on Debian-like Linux, you can use the ``gcc-mips-linux-gnu`` package. The toolchain that comes with my SDK is also supported.
|
||||
|
||||
## Additional Prerequisites
|
||||
|
||||
BinPNG (the CI texture converter) requires some python3 dependencies. Use pip to install them.
|
||||
|
||||
``pip install pypng bitstring``
|
||||
|
||||
## UNFLoader support
|
||||
|
||||
The repository supports UNFLoader for debugging.
|
||||
@@ -198,3 +207,7 @@ Thanks to "someone2639" for this hacky-ass idea
|
||||
Q: Will this allow me to use FlashRAM/Transfer Pak/microcode swapping/Other Cool N64 Features?
|
||||
|
||||
A: Theoretically, all yes.
|
||||
|
||||
## Installation help
|
||||
|
||||
Go read the original SM64 repo README.md
|
||||
|
||||
@@ -1 +1 @@
|
||||
v2.3.0
|
||||
v2.0.1
|
||||
|
||||
@@ -27,7 +27,6 @@ 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(),
|
||||
};
|
||||
@@ -41,7 +40,6 @@ 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(),
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Chain Ball
|
||||
|
||||
|
||||
// 0x06020AA0
|
||||
static const Vtx chain_ball_seg6_vertex_06020AA0[] = {
|
||||
{{{ -26, -26, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
|
||||
@@ -123,7 +123,6 @@ 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(),
|
||||
@@ -316,7 +315,6 @@ const Gfx coin_seg3_dl_red_45_r[] = {
|
||||
gsSPBranchList(coin_seg3_dl_end),
|
||||
};
|
||||
|
||||
|
||||
const Gfx coin_seg3_dl_red_22_5_r[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_8b, 64, coin_seg3_texture_22_5_ia8),
|
||||
@@ -381,7 +379,6 @@ const Gfx coin_seg3_dl_secret_45_r[] = {
|
||||
gsSPBranchList(coin_seg3_dl_end),
|
||||
};
|
||||
|
||||
|
||||
const Gfx coin_seg3_dl_secret_22_5_r[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_8b, 64, coin_seg3_texture_22_5_ia8),
|
||||
@@ -504,7 +501,6 @@ 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(),
|
||||
|
||||
@@ -226,6 +226,9 @@ extern const Gfx mushroom_1up_seg3_dl_0302A660[];
|
||||
// number
|
||||
extern const GeoLayout number_geo[];
|
||||
|
||||
// painting
|
||||
extern const GeoLayout painting_geo[];
|
||||
|
||||
// pebble
|
||||
extern const Gfx pebble_seg3_dl_0301CB00[];
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "leaves/geo.inc.c"
|
||||
#include "mario_cap/geo.inc.c"
|
||||
#include "number/geo.inc.c"
|
||||
#include "painting/geo.inc.c"
|
||||
#include "mushroom_1up/geo.inc.c"
|
||||
#include "star/geo.inc.c"
|
||||
#include "dirt/geo.inc.c"
|
||||
|
||||
@@ -8,7 +8,6 @@ ALIGNED8 static const Texture cyan_fish_seg6_texture_0600D468[] = {
|
||||
#include "actors/cyan_fish/cyan_fish.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
||||
// 0x0600DC80
|
||||
static const Vtx cyan_fish_seg6_vertex_0600DC80[] = {
|
||||
{{{ -95, 32, 0}, 0, { 32, 436}, {0xa9, 0x5b, 0xff, 0xff}}},
|
||||
|
||||
@@ -476,7 +476,6 @@ const Gfx door_seg3_sub_dl_key_door[] = {
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
|
||||
// 0x03014370
|
||||
static const Vtx door_seg3_vertex_lock[] = {
|
||||
{{{ 600, 916, 60}, 0, { 480, 0}, {0x00, 0x00, 0x7f, 0xff}}},
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user