Commit Graph

90 Commits

Author SHA1 Message Date
Tharo 7743e5a2c4
Overhaul the build system (#234)
* wip

* fix

* add disassembler

* Disasm builds OK

* Variable addends

* More wip

* Rodata migration implemented

* Cleanup old tools

* Try fix submodule -> subrepo merge

* git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "602e609"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "602e609"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Builds again but assets are totally broken

* git subrepo pull --force tools/asm-processor

subrepo:
  subdir:   "tools/asm-processor"
  merged:   "1ffdb08a"
upstream:
  origin:   "https://github.com/simonlindholm/asm-processor.git"
  branch:   "master"
  commit:   "1ffdb08a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables

* rm z64compress in preparation for subrepo

* git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "eb11085c"
upstream:
  origin:   "https://github.com/z64me/z64compress.git"
  branch:   "main"
  commit:   "eb11085c"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Fix asset extraction

* Fix diff-init make rule

* Split code bss

* Split assumed linker bug padding from assembly files

* add filelists for mm.us.rev1

* Maybe working, but I'm not sure

* add overlays to spec

* Add rodata to actos

* Everything compiles

* Make a lot of C files for code

* Add almost every file in code to spec

* whoops

* 3 code files left

* add scenes to spec

* More progress on progress.py

* Fix skelanime in spec

* audio files!

* Fix merge issues

* Fix some C files in code

* Fix remaining code files

* Use existing O1 C files in spec

* reorder boot order in spec

* update spec

* fault.c

* Convert relocs on completed actors, fixbaserom uses current rom name

* more boot files

* Add VT macros and script

* finish already existing boot files

* most of  libultra

* fix 64bits libultra files

* Use C files for libultra, wrap some functions in NON_MATCHING

* Remove duplicate of OS_CLOCK_RATE from fault.c

* C files for fbdemos

* delete dumb files

* bootstrap C files, still need to add them to the spec

* update fixbaserom

* boot OK?

* I forgot to commit the spec

* C for gamestates

* C for kaleido

* Change all includes to ""

* copy actor sizes script from oot

* I forgot to delete those files

* Basic C files for effects

* Add effects initvars names

* Remove mislabelled boot functions from header/txt

* Begin porting bootstrap_fx, some sizes

* Fix <>

* Fix enum

* Fix diff.py

* fix libultra stuff

* update regconvert

* update setup warnings

* add some missing ;

* Fix some makefile stuff and other fixes on some non_matching functions

* add executable flag in extract_baserom and fixbaserom

* fix relative path

* copy assist from oot

* fix map path

* another assist path fix

* Delete C files for handwritten files

* add code_801A51F0 to spec

* add gfxbuffers to spec

* Move rodata to top of each file when possible

* UNK_TYPEs for func_801A51F0

* Remove kaleido rodata from spec

* Update spec and undefined_syms for recent merge

* GCC warnings and fix errors in nonmatchings,

* round percentage numbers

* progress script: format changes

* progress: error on non-existing files

* fix warning in z_scene_table

* Match 2 nonmatchings in z_actor

* Warnings in lightswitch and invadepoh

* Fix warning in z_actor_dlftbls

* I though I fixed this one

* whoops

* Comment out CC_CHECK

* Removed redundant ultra64.h includes

* Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms

* Completed gamestates bootstrap

* Split kaleido_scope

* Remove section.h and segment.h, move keep object externs to a common location in variables.h

* Completed effects bootstrap

* Segmented address externs for effects, fbdemos, gamestates and kaleido

* Move actor data externs out of the if 0

* Segmented address externs for actors

* Prepare actionfunc detection

* fix script, how did it even work before

* Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler

* Automated actionFunc detection in actors

* Segmented addresses from player .text

* rm old segment addrs script and fix build

* Move sizes folder to tools

* Make build.py executable

* New Jenkinsfile Prayge

* Remove numpy dependencies

* Add warnings_disasm_current.txt

* my bad

* Update spec and undefined_syms

* Add z_eff_ss_hahen to pametfrog

* git subrepo pull (merge) --force tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "163ca2af"
upstream:
  origin:   "https://github.com/z64me/z64compress.git"
  branch:   "main"
  commit:   "163ca2af"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Make z64compress print to stdout

* sneeky commit to update warnings tooling

* test

* Another test

* Mark fixing overlay reloc generating as a TODO

* Update warnings stuff

* Communicate the return code from running z64compress back to the Makefile through the wrapper

* Run formatter, remove extra commented copy of function

* Re-fix some includes

* Convert atan to hex to conform to decided style

* Some tidying up, remove c for fp and the other two handwritten code files

* BSS in z_collision_check & z_scene_proc

* add static back in

* Fix timerintr bss, add file to spec, some cleanup

* Remove externs

* Newline

* Readd enums

* Typo

* Colours

* Comments for hitmark enum values

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Improvements and suggestions

* Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py

Co-authored-by: angie <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-08-03 23:21:31 -04:00
engineer124 9637e19303
EnClearTag OK and documented (#214)
* merge main

* Match Init

* Clear_Tag OK

* Full documentation

* More docs

* Fix function

* Fix MakeFile for assets and Fix texture swapped names

* Fix name

* Improve name and remove pad

* Can't stop the minor tweeks

* Adding potential Makefile fixes

* Minor name change

* Another name fix... and format

* PR Suggestion & Add Overlay File Description

* Re-documentation to match OoT WIP (more to come)

* Finish docs from OoT

* Fix merge and format

* Minor touch-ups

* Cleaner conditional
2021-07-20 11:07:05 -04:00
engineer124 7b154c23e1
AudioMgr OK and Mostly Documented (#208)
* AudioMgr OK

* Cleanup

* Improve naming from PR Feedback
2021-07-19 19:49:29 -04:00
Derek Hensley 594a3ceaff
Ovl_En_Fsn Ok and Documented (#204)
* First decomp pass: Matched everything w/ data

* Minor cleanup of func_80AE2F78

* Documented

* Format

* Some cleanup and PR suggestions

* Format

* Add the word player to a few functions to specify it is the player trying to buy

* Add controller macros

* Move common shopkeeper defines

* name unk274 and add note to unk27A

* Remove macros and just use flag defines

* Convert Controller Macros to take globalCtx

* Fix merge conflicts
2021-07-19 19:26:47 -04:00
engineer124 b5c931e432
z_quake OK and documented (#213)
* Create z_quake.c file

* Match all quake functions with OoT counterparts (quake2 left)

* z_quake OK

* Document first half of quake

* More docs

* more cleanup

* remember to format!

* PR Suggestions

* More PR Suggestions
2021-07-19 19:06:54 -04:00
EllipticEllipsis 66d0656128
C file for Fishing, some changes to collider scripts, a few minor cleanups (#210)
* Improve match in EnFirefly_Draw

* Vestigial fishing files, add enums

* Improve scripts, add ColChkInfo one

* Some minor actor cleanup (static etc)

* C file for Fishing, remove some local vars from variables.h

* Remove comma and format

* Newline

* Review suggestions
2021-07-15 00:33:20 -04:00
Derek Hensley 70b67402cb
ovl_en_in OK (#173)
* First pass, 5 still non matching

* data

* cleanup

* Progress on func_808F33B8

* func_808F33B8 is ugly but it matches

* func_808F5728 ugly but matches

* cleanup

* More cleanup/doc a possible inifite loop bug

* Cleanup of the switch

* Readd functions returns

* More progress on THE switch

* Everything matches but the MACROS

* OK

* Add new global Animaion struct

* fix arg name

* PR suggestions pt 1

* PR suggestions pt 2

* Fix up a few things

* Add comment about walking flag

* update functions.txt

* Update 7 to more explicit bits

* More PR cleanup
2021-06-10 23:08:25 -04:00
engineer124 8b21da8c34
Match Remaining EnGinkoMan Functions (EnGinkoMan OK) (#175)
* EnGinkoMan OK

* Cleanup

* Minor PR suggestion
2021-06-09 18:49:20 -04:00
Anghelo Carvajal 2f239c939d
ovl_Obj_Milk_Bin OK (#161)
* First pass

* second pass

* Everything matches now

* Fix ori

* final pass

* Add description

* Fix warnings (I hope)

* move dlist to top of the file

* Fix conflicts
2021-05-25 21:15:41 -04:00
Zelllll 6c86016603
partially finish `code_0x8012EC80`, document all of gSaveContext (#138)
* not ok, why?

* OK!

* fix data

* finish data etc

* work on save context

* save finished

* first func done

* roomInf

* done for now

* add missing file

* add most og names for struct members

* fix accidental change

* Update z_en_ginko_man.c

* Update z_scene.c

* maybe fix stuff hopefully

* proto

* sasa

* Update include/z64save.h

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* Update z64save.h

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>
2021-05-25 18:49:11 -04:00
engineer124 f4687fbbe7
General Cleanup (#155)
* minor fixes

* Consolidate into globalCtx

* fix error

* Fix Warnings

Co-authored-by: engineer124 <engineer124enginer124@gmail.com>
2021-05-20 21:24:47 -04:00
Anghelo Carvajal 4d6d9c27a4
code_0x8017FEB0 OK (#137)
* almost every function

* atans ok

* import data and rodata

* format `atan_first_8th_array`

* fix signature and rodata

* rename to angle

* Rename the functions to match their OoT counterparts

* rename code_0x8017FEB0 to sys_math_atan
2021-05-18 22:58:30 -04:00
Zelllll 874a75f456
Scene Changes (#114)
* match function

* major cleanups

* rename switch functions

* use graph_alloc to fix fake matches

* more documentation

* more matches, lots of changes

* lots more work

* format

* Update z_scene_proc.c

* very hard lagrange interpolation function OK!

* remove any remaining

* documentation done, only two functions left

* a few more things

* one function left!

* document another oot leftover

* last function decompiled, not matched yet

* scene_proc complete

* start work on z_scene

* done with z_scene

* remove unessecary typedefs

* fix some things to remove warnings

* Add z_scene_table and decomp data

* Delete ctx.c

* add draw cfg enum

* cleanup

* most scene table functions done

* done for now

* all scene files done

* Update include/z64scene.h

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* add missing macros

* fix some renames

* scene texture file rename

* added temporary structs so it still builds

* more structs

* even more old structs

* fix boyo

* should fix compile error

* lets hope nothing broke

* ub comment back

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>
2021-05-09 22:12:42 -04:00
Zelllll 1ca8a9c24d
(Mostly) Decompile PreRender.c (#105)
* start prerender

* match func_8016FDB8

* fix fake af match

* actually add prerender

* Delete ctx.c

* test

* lots of oot transfers

* lots of new functions done

* match even more functions

* slowly thread functions

* two prerender functions left

* some docs

* make names more consistent with oot

* ready for pr?

* Update PreRender.c
2021-05-01 02:44:29 -04:00
Rozelette e97f10a6fa
sys_slowly OK (#101)
* sys_slowly OK

* Feedback

* rename type member
2021-04-19 17:44:12 -04:00
Rozelette 84040f6ba6
z_skin_matrix OK (#81)
* Set up file

* Rename

* z_skin_matrix OK

* Cleanup

* /n nits
2021-04-12 00:41:35 -05:00
Rozelette d2c181a0a9
z_lib fully matched (#85)
* z_lib OK

* Documentation

* Added stdbool and stdint

* Fixup for new names

* Fixup bad merge

* Feedback

* Use u/s32 for intptr_t
2021-04-07 17:16:16 -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
Rozelette fee7a49abc
z_lights fully matched (#80)
* z_lights OK

* Documentation

* Fixup for z_collision_check

* Improve function types of bind functions

* Fixup for types
2021-03-27 14:29:30 -05:00
Rozelette 6536afc6d3
Restructure how buffers are set up (#77) 2021-03-27 12:44:39 -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
Kenix3 a53626049f
Decompiles z_vr_box (from zel) (#73) 2021-03-16 21:27:14 -04:00
Tharo a983d14081
functions and variables headers cleanup (#63) 2021-03-11 20:27:39 -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
kyleburnette 0481c23e75
en_okarina_effect OK (#47)
* en_okarina_effect OK

* Changed setupaction name
2021-02-23 22:46:35 -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 0844c24773
Split headers to be more similar to OOT (#13) 2020-08-31 19:02:37 -04:00
Rozelette f37da749f6
Add actor and scene enums (#8) 2020-08-06 18:06:38 -04:00
MMDecomp 7d61d4e6ff Decompile `game.c` 2020-06-23 10:55:11 -04:00
Kenix3 2d191e301a Adds TODO comments to remove implementation defined pointer manipulation. 2020-06-06 19:27:28 -04:00
Kenix3 cb8b9a2020 z_lib now uses SEGMENTED_TO_VIRTUAL macro
Additionally removed some TODO comments in z_scene and defining gRspSegmentPhysAddrs array size as NUM_SEGMENTS
2020-06-04 23:25:57 -04:00
Kenix3 5c97d35841 Added macros header
Additionally, updated code to use PHYSICAL_TO_VIRTUAL and ALIGN16 macros.
Additionally, retyped gRspSegmentPhysAddrs back to u32 as in OOT. These get the straight return value of PHYSICAL_TO_VIRTUAL, so they are u32.
2020-06-04 23:07:09 -04:00
Kenix3 664182c289 Fixes known undefined behaviour from DmaMgr and Lib_Ptr taking u32 rather than void* 2020-06-04 21:41:44 -04:00
rozlette 01c86ec621 Decompile z_prenmi.c 2020-04-23 01:11:25 -05:00
rozlette c1bb5f00d6 Decompile z_rpc.c 2020-04-22 15:38:09 -05:00
Kenix3 4e63d23cf4
Merge pull request #2 from Kenix3/master
Decompile functions in z_scene
2020-04-08 17:52:03 -04:00
Kenix f8713ceb46 Decompile functions in z_scene 2020-04-08 17:49:40 -04:00
rozlette adc18f10e2 Port over some cutscene documentation from oot 2020-03-18 21:03:18 -05:00
rozlette b4aad9b857 Document some z_eff_* files 2020-03-18 02:32:11 -05:00
rozlette ff958ad932 Rename many functions, structs, and variables to match the oot decomp. Some things have not been renamed as their respective files have not been decompiled yet. 2020-03-15 01:13:53 -05:00
rozlette d4d8f58636 Start on z_bgcheck.c 2020-03-01 19:17:22 -06:00
rozlette 50a7c1c48d Add ovl_Obj_Mure 2020-02-26 21:17:29 -06:00
rozlette 8bac7d120c Split boot .bss 2020-02-26 18:11:32 -06:00
rozlette 81c4300015 Update to latest ghidra project 2020-02-24 23:55:51 -06:00
Kenix3 bfcc1d6a9a
Decompiling functions in z_scene (#4)
* Decompiling functions in z_scene

* Bringing decompiled functions in line with project style
2020-02-17 23:17:07 -06:00
rozlette bb4123c073 Decompile irqmgr 2020-01-22 21:47:05 -06:00
rozlette 36f1c42bf9 Modernize z_std_dma.c, and match a few more functions 2020-01-21 01:45:43 -06:00