Commit Graph

577 Commits

Author SHA1 Message Date
kyleburnette d327f3e6c3
Changed ichaindis to output actual names by default and added an --offset arg to output offset names if needed. Also changed permission on all the overlayhelper scripts (#102) 2021-04-12 21:47:36 -05:00
kyleburnette 50d0bbe087
dm_sa OK (#88)
* initial dm_sa work

* more dmsa work

* dm_sa OK

* Changed char arrays in header to be UNK_TYPE1

* Made all of roz's suggested changes

* merge
2021-04-07 18:08:19 -04:00
Rozelette b22e26dbd8
z_en_item00 (#78)
* z_en_item00 WIP 17/21 match, rest close to matching

* Split .rodata for z_en_item00

* Item00 documentation, some misc cleanup

* Minor cleanup

* Fixup for z_collision_check

* Address feedback

* Delete old file

* Fix bad merge
2021-03-27 19:55:42 -05:00
Lucas Shaw 623b6d5318
Some OOT transfers, some renaming, etc (#75)
* Progress on various files

* gfxprint stuff

* split some rodata, add iconv for rodata string parsing

* z_std_dma rodata

* 2 nonmatchings in gfxprint

* mtxuty-cvt ok

* more

* match a function in idle.c

* progress

* Cleanup

* Rename BgPolygon to CollisionPoly

* progress

* some effect stuff

* more effect progress

* updates

* made suggested changes

* z_effect_soft_sprite_old_init mostly ok

Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com>
Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
2021-03-27 16:17:41 -05:00
Tharo 012e3c21ae
Floats and Strings in asm (#82) 2021-03-27 14:10:09 -05:00
Rozelette 807db1ca54
Improve the robustness of depend.py (#76) 2021-03-27 12:44:31 -05:00
Tharo 1a2e6d7ffe
z_collision_check.c (#58)
* setup

* Progress on z_collision_check.c

* Further progress on z_collision_check.c

* renamed code_0x800E03A0 to z_collision_btltbls, z_collision_check.c decompiled besides bss

* Structs changes

* Document functions

* overlayhelpers folder, colliderinit.py and ichaindis.py

* Flags, format existing ColliderInits

* Fix merge

* Few more small improvements

* Review suggestions
2021-03-22 17:48:15 -04:00
Rozelette 8342329538
yaz0.c OK (#71) 2021-03-16 21:49:27 -04:00
Rozelette 3a91922e89
Generate dependencies for C files with GLOBAL_ASM (#70) 2021-03-14 22:12:14 -04:00
Kenix3 daca195583 Comments out debugging print statements 2021-03-10 22:28:06 -05:00
Kenix3 1f7ad229c5 Updates progress.py to use the git module for outputting commit hash 2021-03-10 22:28:06 -05:00
Kenix3 375f99f2b4 Fixes matching and non-matching counts in progress.py 2021-03-10 22:28:06 -05:00
Kenix3 c8e9e78e78 Fixes issue that causes split rodata to be read as code decomp progress 2021-03-10 22:28:06 -05:00
Kenix3 037ba9a22e Initial support of tracking progress per code/boot/overlay, and outputs the stats to csv. 2021-03-10 22:28:06 -05:00
Zelllll fb1ed529ad
Add OoT actor structs and enums (#55)
* add oot structs

* revert formatting

* fix comment thing

* fix accidental renames

* slight fix

* naviEnemyId -> hintId

* fix headers
2021-02-28 22:52:12 -05:00
Kenix3 5c761c33f0
Updates asm-differ (#53) 2021-02-25 19:36:55 -05:00
Kenix3 7955a59194
PoC automatic rodata split Total split: 585 Failed / Troublesome: 61 (10,42735042735043%) Successfull rodata split: 524 (89,57264957264957%) Failed due to Script issues: 51 Failed due to object boundary issues or unreferenced .rodata: 10 Build OK?: :feelsokman: (#51)
rom_uncompressed.z64: OK
2a0a8acb61538235bc1094d297fb6556  rom.z64
rom.z64: OK

List Of Troublesome (mostly simliar edge cases, some are strings that we dont catch right / data without references):
 -    ovl_Arrow_Ice
 -    ovl_Arrow_Light
 -    ovl_Bg_Dkjail_Ivy
 -    ovl_Bg_Ikana_Mirror
 -    ovl_Boss_02
 -    ovl_Boss_07
 -    ovl_Boss_Hakugin
 -    ovl_Elf_Msg
 -    ovl_Elf_Msg2
 -    ovl_Elf_Msg3
 -    ovl_Elf_Msg4
 -    ovl_Elf_Msg5
 -    ovl_En_Az
 -    ovl_En_Bigokuta
 -    ovl_En_Bigpamet
 -    ovl_En_Bigpo
 -    ovl_En_Bigslime
 -    ovl_En_Box
 -    ovl_En_Butte
 -    ovl_En_Col_Man
 -    ovl_En_Crow
 -    ovl_En_Death
 -    ovl_En_Elf
 -    ovl_En_Elforg
 -    ovl_En_Encount3
 -    ovl_En_Encount4
 -    ovl_En_Fish
 -    ovl_En_Fish2
 -    ovl_En_Fsn
 -    ovl_En_Honotrap
 -    ovl_En_Horse
 -    ovl_En_Horse_Game
 -    ovl_En_Invadepoh
 -    ovl_En_Ishi
 -    ovl_En_Kame
 -    ovl_En_Kanban
 -    ovl_En_Kusa2
 -    ovl_En_M_Thunder
 -    ovl_En_Maruta
 -    ovl_En_Mushi2
 -    ovl_En_Okuta
 -    ovl_En_Ossan
 -    ovl_En_Pametfrog
 -    ovl_En_Peehat
 -    ovl_En_Rg
 -    ovl_En_Ruppecrow
 -    ovl_En_Slime
 -    ovl_En_Sob1
 -    ovl_En_Syateki_Man
 -    ovl_En_Test7
 -    ovl_En_Trt
 -    ovl_En_Wiz_Fire
 -    ovl_Mir_Ray
 -    ovl_Obj_Bombiwa
 -    ovl_Obj_Driftice
 -    ovl_Obj_Hariko
 -    ovl_Obj_Iceblock
 -    ovl_Obj_Mure
 -    ovl_Obj_Snowball2
 -    ovl_Obj_Toudai
 -    ovl_select

Co-authored-by: MMDecomp <MMDecomp@anon.tld>
2021-02-25 19:05:33 -05:00
Kenix3 73eed5a0b3
Fixes IDO recomp and allows git to detect binary files. (#50) 2021-02-25 18:21:51 -05:00
louist103 36557611ce
Added IDO recomp support (#45)
* Added recomp

* Fix .exes not being included maybe

* Fixed now?

* OK this should add IDO

* Re recompile in -O2

* Updates asm-processor to point to current HEAD.

* Uses the exact same ido_recomp binaries as OOT.

Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
2021-02-24 00:50:57 -05:00
Tharo c55e9eeee5
pragma variant for GLOBAL_ASM (#49)
* pragma GLOBAL_ASM

* Revert split_asm.py arg description change
2021-02-23 23:15:58 -05:00
fullgrowngaming 1c4a3047de
z_skelanime OK (#34)
* initial skelanime commit

* Skelanime OK

* Forgot to add z64animation.h and skelanime.c
2020-10-11 13:31:06 -04:00
Rozelette 07efebe2ff
z_actor_dlftbls.c OK. Rework a bunch of segment address organization. (#29) 2020-09-27 20:19:06 -04:00
Rozelette a672633c3b
Fix ordering of relocations in overlay (#32) 2020-09-27 20:18:45 -04:00
Rozelette dc7b8cc5b4
Add some OOT tools (#17)
* Add first_diff.py and sym_info.py

* Add c tools from OOT. Replace yaz0 tool
2020-09-17 17:11:59 -04:00
Rozelette 88e5dbbb7a
Add .data and .rodata sections to generated assembly. Add Overlay .rodata splits. (#18) 2020-09-16 20:33:34 -05:00
Rozelette ec912054da
Update tools (#16)
* Clean up .gitignore

* Set exec bit on all python and shell scripts

* Delete unused files

* Add decomp-permuter repo

* Update submodules
2020-09-13 21:09:13 -04:00
Rozelette 189d0d6c30
Bootstrap actors (#14)
* Bootstrap actors

* Address feedback. Improve header guard. Remove ovl_Player_Actor, it will need to be handled seperately.
2020-09-13 14:21:43 -04:00
Rozelette b930732494
Makefile rework. Add init and uncompressed targets. (#15)
* Makefile rework. Add init and uncompressed targets

* Update file_setup.sh for new makefile

* Change CFLAGS
2020-09-11 19:00:17 -04:00
Rozelette f4936cc471
Delete function type information (#12)
* Remove ability to generate headers when disassembling

* Remove type information from function table

Co-authored-by: Rozelette <users.noreply.github.com>
2020-08-28 20:55:33 -04:00
MMDecomp 7d61d4e6ff Decompile `game.c` 2020-06-23 10:55:11 -04:00
MMDecomp 730b1ae46b Add helper script to generate mips2c C-Context
- This script is based on it's OoT decomp variant
2020-05-04 22:51:31 +02:00
rozlette a5eed624ed Add ZAP2 module 2020-05-01 16:48:21 -05:00
rozlette 5687f3741a Fix variadic function typedef to be legal C 2020-04-28 15:11:14 -05:00
rozlette c1bb5f00d6 Decompile z_rpc.c 2020-04-22 15:38:09 -05:00
rozlette 57587fa612 Add file_setup.sh to streamline first-time setup for each file 2020-04-18 14:42:28 -05:00
rozlette b455d2993a parse_dl: Find mesh headers in object files 2020-03-02 17:43:36 -06:00
rozlette 5037e2da8d Set up diff script 2020-03-02 00:21:16 -06:00
rozlette baf0935a47 Build ROM with relocated overlays to prep for nonmatching builds. Makefile cleanup of the predmadata stage. 2020-02-27 16:22:42 -06:00
rozlette 50a7c1c48d Add ovl_Obj_Mure 2020-02-26 21:17:29 -06:00
rozlette 581a97b561 Make non-matchings consistent with oot 2020-02-20 16:29:22 -06:00
rozlette e45d0ef673 Normalize line endings 2020-02-19 11:18:03 -06:00
rozlette 2982bd5d81 Update asm-preprocessor 2020-02-17 00:52:18 -06:00
rozlette 930b8bc242 Port a bunch of libultra files from sm64 2020-01-20 23:27:02 -06:00
rozlette 0f93f269d4 Add ability in progress.py to print out an individual file's progress 2020-01-20 23:19:19 -06:00
rozlette e74e227113 Decomp idle.c 2020-01-16 21:35:54 -06:00
rozlette 50019e85ad Greatly improve automatic symbol finding in the disassembler. Code still needs to be cleaned up a bit 2020-01-16 13:06:32 -06:00
rozlette bb9de27a16 Decomp controller.c 2020-01-11 08:54:07 -06:00
rozlette fe8a5a216e Fixed typo in progress.py that made it count .rodata as decompilable code 2019-12-29 21:30:42 -06:00
rozlette 37969fbe50 Decompile Bg_Fu_Kaiten. Add some method to generate overlays, refinement needed 2019-12-27 20:55:40 -06:00
rozlette db6b680402 Add WIP DL parser for object files. There's still a lot I want to do with this. 2019-12-23 03:15:23 -06:00
rozlette 8f66e8c6a9 Add progress script 2019-12-20 01:52:50 -06:00
rozlette 45d820041c Add README.md. Minor makefile cleanup. 2019-12-15 23:06:39 -06:00
rozlette d6f9c091cc Include all unnamed files in objects.py 2019-12-14 03:30:11 -06:00
rozlette 3a504f249a Update tables from ghidra project 2019-12-08 00:06:30 -06:00
rozlette 60eaf159b4 Generate all major headers from ghidra project 2019-12-07 18:21:34 -06:00
rozlette 86ab9c2067 Use variable names from ghidra project. Reorganize some data tables and header files to work easier with it. 2019-11-28 00:26:09 -06:00
rozlette e64adeff3e Split .rodata 2019-11-17 17:48:25 -06:00
rozlette 1fb72838f0 Don't put dmadata vrom symbols in undef.txt 2019-11-16 03:36:30 -06:00
rozlette 08d128bdaa Add dmadata vrom symbols. Link rom in two passes: first to generate dmadata, second to apply dmadata symbols. Clean up symbols at low addresses. 2019-11-16 03:28:05 -06:00
rozlette 6905647e4f Add .bss sections. Link symbols in .bss sections relative to the start of the section. 2019-11-15 14:04:55 -06:00
rozlette b1938991fa Update structs.h because Ghidra can handle bitfields now 2019-11-13 22:14:03 -06:00
rozlette 0c974976c9 Maybe I should test before I commit 2019-11-12 22:57:09 -06:00
rozlette 3038e5db8e Add rename script 2019-11-12 22:13:26 -06:00
rozlette 5808f694c3 fix old variable in extract_rom 2019-11-12 22:12:04 -06:00
rozlette 77f79d068a Makerom: compress rom only if dmadata contains compressed files, pad to smallest power of 2 2019-11-12 22:08:56 -06:00
rozlette 33a45c2819 makerom improvements. Faster and generate checksum 2019-10-02 19:52:30 -05:00
rozlette a8060ddcff Use structs.h generated from Ghidra project 2019-09-29 01:37:21 -05:00
rozlette 69b94fd1af Fix several issues with disassembler. Don't print symbols to undef.txt that are defined in file address ranges 2019-09-26 22:35:32 -05:00
rozlette 5c4de897d4 Print data labels not aligned to a word 2019-09-26 21:26:15 -05:00
rozlette dbb90b579e Adjust disasm automatic behavior. Print out symbol names for function and data pointers 2019-09-26 00:18:22 -05:00
rozlette 9fe4f51f97 Moved extract_rom into tools 2019-09-23 01:46:58 -05:00
rozlette b88d1d0bf6 Move more tools into tools folder 2019-09-22 03:11:22 -05:00
rozlette ec35f43925 Make dmadata tool usable from command line 2019-09-22 02:11:47 -05:00
rozlette 7546b77798 Make disassembler usable from command line 2019-09-21 20:53:37 -05:00
rozlette 2581bed7bf Use per-function ASM blocks 2019-09-20 20:47:01 -05:00
rozlette 31342be30b Update asm-process 2018-11-14 10:02:25 -06:00
rozlette 325ff3875a Add asm-processor submodule 2018-11-11 16:44:24 -06:00