308 Commits

Author SHA1 Message Date
cadmic
5773b12241 [iQue] Match libgcc (#2412)
* [iQue] Match libgcc

* Delete old stubs

* Squash warning

* Put GPL modification notice in libgcc2.inc.c too

* Comment wording

* Run clang-tidy on libgcc2.inc.c
2025-01-10 23:31:34 +01:00
cadmic
e4ad4e5eee [iQue] Match remaining src/boot files (#2417)
* [iQue] Match remaining src/boot files

* Fix debug ROM

* Use -funsigned-char

* Sort ique before gc in LNx macros
2025-01-10 18:47:55 +01:00
cadmic
9dafc2f2e4 [iQue] Build some C files with EGCS (#2396) 2025-01-02 03:35:22 -05:00
cadmic
e52d135e15 [ntsc-1.2] Import n64dd code from Decompollaborate/n64dd (#2136)
* Import n64dd code from Decompollaborate/n64dd

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>

* Don't stub out missing textures

* Remove @brief

* Add low-effort file comments

* Match OoT if style

* Fix n64dd matching due to int vs long

* Fix English n64dd error textures

* Compress n64dd segment

* Align n64dd to 0x40

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
2024-09-08 03:37:15 +09:00
cadmic
8153c952f6 [ntsc-1.2] Organize n64dd declarations and convert to 1.0 addresses (#2127)
* Reorganize n64dd declarations

* Fix bss

* Really fix bss
2024-09-05 03:56:24 +09:00
cadmic
e7cf2fceac [ntsc-1.2] Match game.c, z_play.c, z_room.c (#2117)
* Match z_room.c

* Match game.c and z_play.c

* Add undefined syms

* Rewrite condition based on other file matches
2024-09-04 01:46:41 -04:00
cadmic
5e9704b464 [ntsc-1.2] Fix some data / disassembly / undefined_syms (#2103)
* Fix some data splits

* Use real fault functions in cic6105.c

* Fix fault_n64.c data sizes

* Format
2024-08-29 12:05:50 -04:00
cadmic
7079005c83 [ntsc-1.2] Match N64 libultra (#2081)
* Match N64 libultra

* INITIALIZE_FUNC -> OSINITIALIZE_FUNC

* Document osGetIntMask

* Refer readers of osGetIntMask to osSetIntMask comment

* Whitelist new static functions in disasm unksyms check
2024-08-28 21:30:36 -04:00
Dragorn421
68818044db [ntsc-1.2] Decompile fault.c (#2046)
* wip decomp ntsc-1.2 fault.c

* more ntsc-1.2 fault.c

* decompiled fault_v1.c

* name fault_v1 functions, wip

* try to clean up build system (two versions of the fault system coexisting)

* cleanup

* cleanup2

* fix build gc-eu-mq-dbg

* match 2 more, ty anon

* matched

* review

* more review

* fixup spec

* `(uintptr_t)ptr op int` instead of `ptr op (type*)int`

* move fault.h out of global headers, properly include fault.h and versions.h

* compile all fault_*.c files regardless of version by overriding FAULT_VERSION

* n64 FaultMgr.framebuffer s32 -> u16*

* FaultMgr.framebuffer -> FaultMgr.fb

* make gc FaultMgr.fb u16* (yes, thats everything)

* bss

* fix Fault_Printf return type

* noop FaultDrawer_SetFontColor, FaultDrawer_SetCharPad in fault_n64

* fault_color_ stuff is only for fault_gc

* rm empty line in makefile

* I guess `D_80105A90_unknown` is `[sg]TotalAllocFailures`

* bss

* `Fault_WaitInput` -> `Fault_WaitForInput`

* use named fault funcs in pointers array

* FAULT_OOT{N64,GC} -> FAULT_{N64,GC}

* Apply suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* review, sync fault_{gc,n64}

* Apply `FPCSR_CE` suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2024-08-28 09:38:42 +02:00
Dragorn421
1d275fa9a5 [ntsc-1.2] Partially match z_en_mag (#2079)
* Partially match z_en_mag

* review

* Match func_80AEEA48_unknown (thanks cadmic)
2024-08-25 17:57:49 +02:00
Dragorn421
7056423e5b [ntsc-1.2] Decompile cic6105.c, main.c (#2068)
* decompile-OK Main, cic6105.c

* names cleanup / minimal doc

* match versions

* fix bad disasm metadata format

* bss

* bss

* review 1

* review 2

* review 3

* review 4

* cleanup

* bss

* add some sizes to disasm metadata symbols
2024-08-25 16:00:10 +02:00
Dragorn421
20b93a6488 Fix build ntsc-1.2: define n64dd_SetDiskVersion (#2087) 2024-08-24 19:20:42 -04:00
Dragorn421
614c411058 match z_title.c (#2075) 2024-08-23 16:26:53 -04:00
Dragorn421
942df45892 Match n64dd text in code (#2058)
* match n64dd text

* format

* fixups

* add n64dd segment using baserom

* cleanup syms 1

* cleanup symbols 2

* cleanup D_800FF4B0

* fix declaration usage and linking for D_800FF4B0
2024-08-20 19:20:11 -04:00
Dragorn421
6bc6cedaf8 [ntsc-1.2] Match boot_main.c, logutils.c, z_locale.c (text) (#2053)
* Match boot_main.c, logutils.c, z_locale.c (text)

* review

* review 2
2024-08-19 16:17:41 -04:00
Roman971
e978351e84 Cleanup undefined syms and mark bug in z_en_a_keep.c (#1262) 2022-06-07 00:42:03 -04:00
Tharo
7334ffa373 Improve the state of handwritten assembly files (#865)
* Format all handwritten asm and document some

* Use c preprocessor for constants

* Fix

* Fix PI_STATUS_ERROR, some label improvements

* Avoid hi/lo for constants

* Some more comments

* Properly mark functions as functions and their sizes

* Fix merge

* Improvements

* Review suggestions, rework procedure start/end macros to be more like libreultra

* Move IPL3 symbol definitions into ipl3.s

* Fix undefined_syms, add include and language guards to asm.h and fix the comment in gbi.h

* Consistent hex capitalization, add some MIPS builtin defines to CC_CHECK to behave properly

* Add -no-pad-sections assembler option and clean up alignment in gu files and bzero

* Further suggestions and improvements

* Matrix conversion function clarifications

* Fix passing AVOID_UB to gcc

* Suggestions

* Suggestions, global interrupt mask improvements

* Further suggestions, interrupt mask comments

* Comments fixes, rdb.h

* Switch from # comments to // comments, remove unnecesary .set gp=64 directives

* Further review suggestions

* Missed one
2022-05-01 01:03:22 +02:00
Dragorn421
2a4fb604fb Cleanup symbols 7 (#1073)
* Cleanup symbols, mostly from non-matching objects

* ZAPD supports unaligned textures!

* Uncomment `object_oF1s`
2022-01-17 18:50:18 -05:00
louist103
a862411f00 Objects4 (#1057)
* remove fake match

* merge master

* animations

* dog limbs

* textures

* KZ limbs and DL

* a few KZ textures and make a file for link_boy

* the rest of KZ

* Far Limb DLs

* near DLs and limbs

* small fix to child

* boots and some sword and more child clean ups

* a bunch of DLs

* fix boy

* fix link child for real this time

* adult should be good now

* progress

* all undefined symbols done

* progress

* done (for now)

* restore makefile

* child -> adult

* child -> adult

* dog fixes

* KZ fixes

* more player fixes

* remove unneeded enum in dog

* rename hookshot stuff

* Update z_player_lib.c

* revert model group stuff

* move comment

* fix mirror shield upper

* remove useless 2

* OOT -> Oot

* gauntlet plate 2 fix

* fix

Co-authored-by: Louis <louist103@pop-os.localdomain>
2021-12-27 08:08:26 -05:00
fig02
4390dd74b6 boss_ganon (Ganondorf) OK (#1037)
* data migrated and OK

* some functions ported

* everything ported and updated

* merge message

* plenty of functions matched

* remove unwanted file

* 5 more, progress on update

* update matched

* fix proto

* fix

* func_808E06FC

* asm

* 2 left

* 1 more

* last function inital decomp

* Dbg MQ OK

* docs progress

* revert limb stuff

* some more docs

* docs progress

* more docs

* done with docs for now i think

* revert unwanted change

* some symbols

* anime2

* format

* small changes

* some more changes

* merge master and fix matrices

* reviews 1 and 2

* remove continue

* review 3 and 4

* un-name bodyPartsPos for now
2021-12-02 17:31:39 -05:00
Tharo
d9c1dffe09 Remove link_animetion related undefined sym (#1039) 2021-11-29 18:39:52 -05:00
Tharo
982e7be1f7 Preliminary fixes for boot/libultra (#1032)
* Preliminary fixes

* Missed a NULL
2021-11-28 07:50:35 -05:00
Tharo
a497f33bda z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy

* Fix merge

* Some more progress

* Fix merge

* More z_message_PAL

* Small progress

* More small progress

* message_data_static files OK

* Prepare z_message_tables

* Matched another function, small updates

* Attempt to use asm-processor static-symbols branch

* Refactor text id declarations

* Begin large text codes parser function

* Fix merge

* Refactor done

* Build OK, add color and highscore names

* Remove encoded text headers and automatically encode during build

* Fix kanfont

* Various cleanups

* DISP macros

* Another match aside data

* Further progress

* Small improvements

* Deduplicate magic values for text control codes, small improvements

* Tiny progress

* Minor cleanups

* Clean up z_message_PAL comment

* Progress on large functions

* Further progress on large functions

* Changes to mkldscript to link .data in the .rodata section

* data OK

* Few improvements

* Use gDPLoadTextureBlock macros where appropriate

* rm z_message_tables, progress on large functions

* 2 more matches

* Improvements

* Small progress

* More progress on big function

* progress

* match func_80107980

* match Message_Update

* match func_8010BED8

* done

* Progress on remaining large functions

* Small progress on largest function

* Another match, extract text and move to assets, improve text build system

* Small nonmatchings improvements

* docs wip

* Largest function maybe equivalent

* Fix merge

* Document do_action values, largest function is almost instruction-matching

* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice

* Fix merge

* one match

* Last function is instruction-matching

* Fix

* Improvements thanks to engineer124

* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup

* More variables labeled, use text state enum everywhere

* More labels and names

* Fix

* Actor_IsTalking -> Actor_TalkRequested

* Match func_8010C39C and remove unused asm

* More docs

* Mostly ocarina related docs

* All msgModes named

* Fix assetclean

* Cleanup

* Extraction fixes and headers

* Suggestions

* Review suggestions

* Change text extraction again, only extract if the headers do not already exist

* Fix

* Use ast for charmap, fix assetclean for real this time

* Review suggestions

* BGM ids and ran formatter

* Review comments

* rename include_readonly to include_data_with_rodata

* Remove leading 0s in number directives

* Review suggestions for message_data_static

* textbox pos enum comments, rename several enum names from Message to TextBox

Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-22 20:20:30 -05:00
EllipticEllipsis
823a3c0754 EnZf OK and partially documented (#988)
* Match Destroy

* Matched Init

* 3 more matched

* 15 functions matched, data imported

* 16 matched

* 17 matched

* 18 matched

* formatting

* 19 matched

* Fix unk_404

* Draw matched, 20 in total

* 21 matched

* 22 matched

* 23 matched

* 24 matched

* 25 matched

* 26 matched

* 27 matched

* 28 matched

* 29 matched

* 30 matched

* 31 matched

* 33 matched

* 34 matched

* 35 matched

* 36 matched

* 17 left

* 16 left

* 15 left

* 14 left

* 13 left

* 12 left

* 11 left

* 10 left

* spec

* bss

* 9 left

* 8 left

* 7 left

* 6 left

* 5 left

* 4 left

* 1 up to regalloc, 3 left

* 2 left (+ 1 regalloc)

* More naming

* 1 + regalloc left

* Some naming

* matches but for 2 words of stack in func_80B45748

* Delete some padding in header

* Merge remote-tracking branch 'upstream/master' into Zf

* func_8003426C rename

* more failed matching attempts

* Update to new function names

* OK at last

* Actually OK this time, removed pragmas, spec

* Begin documentation

* Few more names

* Some more naming, added description to z_en_geldb.c

* Confirm platform categories

* (Badly) named floor check functions

* Make fighter actors playSpeed animation frame checks consistent (up to names)

* Action enum, lot of work on the skeleton stuff in the object

* Lot of function and animation naming

* More naming, last of the hardcoded symbols

* Some name cleanup

* Remove asm

* Format

* Bit more cleanup

* Dragorn review I

* undefined syms

* Correct limb names

* Non-control flow review suggestions

* Easy review stuff

* Some more review
2021-11-05 23:47:04 -04:00
Dragorn421
aa7ff4e795 Document some of EnHy (Hylian NPCs), mostly its data (#936)
* Document some of EnHy, mostly its data

* Run formatter

* Improve `sModelInfos` formatting (or at least, try to)

* Use decimal in `CollisionCheckInfoInit2`

* Remove `#define`s for params

* Run formatter

* infos -> info

* Use enums in array indices comments

* Fix `objBankIndexSkel*` doc

* Forgot one `skelInfoIndex` -> `skelInfoIndex1`

* Use `ENHY_ANIM_` enum in `func_80034EC0`
2021-11-05 21:46:06 +01:00