Commit Graph

82 Commits

Author SHA1 Message Date
mzxrules d855f2bfd8
Split z64debug_display.h, z64draw.h, z_en_item00.h (#2443)
* z64debug_display.h

* z64draw.h

* z_en_item00.h

* bss
2025-01-27 13:01:54 -05:00
Tharo afa0842de4
[iQue] Import libultra audio library files (#2433)
Note about comments in these files:
The libultra audio library was originally available to developers in
source code form, unlike most of libultra. These files are based on
these source code forms, adapted to meet the style of this project.
The comments in the files as of this commit are, apart from the style,
comments from the original SGI authors.
2025-01-21 15:21:48 -05:00
cadmic f329507f97
[iQue] Create/update macros for printing debug strings (#2398) 2025-01-08 10:33:49 -05:00
Tharo df5d4cb467
[Audio 10/10] Loose ends (#2337)
* Introduce afile_sizes, generate headers of sizes for soundfonts and sequences

* Initial tools/audio README

* Versioning for samplebank extraction

* Clean up the disassemble_sequence.py runnable interface

* Add static assertions for maximum bank sizes

* Boost optimization for audio tools

* Samplebank XML doc

* Soundfont XML doc

* More docs in sampleconv for vadpcm

* Various tools fixes/cleanup

* VADPCM doc

* Try to fix md formatting

* VADPCM doc can come later

* Fix merge with PR 9

* Fix blobs from MM

* Try to fix bss

* Try fix bss round 2

* Fix sampleconv memset bug

* Suggested documentation tweaks
2024-12-13 19:26:36 -05:00
fig02 17edb82c0d
Decouple Debug Features From gc-eu-mq-dbg (#2296)
* rename OOT_DEBUG to DEBUG_FEATURES

* makefile changes

* add DEBUG_ASSETS

* fix DEBUG_FEATURES usages

* format

* fix errors

* review

* fix problem and review2

* review

* add DEBUG_FEATURES to DEBUG_ASSETS check

* review

* whoops

* format
2024-11-17 17:02:07 -05:00
cadmic 8ce69c3ac9
Completely match ntsc-1.0/1.1 bss and add to CI (#2294) 2024-11-12 17:39:08 -05:00
Dragorn421 93f22fcc42
[includes] z_collision_check.c (#2252)
* [includes] z_collision_check.c

* bss
2024-10-07 11:16:04 +02:00
Dragorn421 47c6c36dc3
[headers] Create zelda_arena.h, move protos to z64effect.h, and misc fixups (#2248)
* [headers] Create z64malloc.h, move protos to z64effect.h, and misc fixups

* zelda_arena.h

* bss

* bss2

* bss3

* bss
2024-10-01 08:46:56 +02:00
cadmic bdc11c2894
[ntsc-1.0/1.1] Match "game engine" files (#2244)
* [ntsc-1.0/1.1] Match "game engine" files

* Use R_START_BTN_X/R_START_BTN_Y

* Comment obvious bugs

* Move Magic_Fill comments

* Move EVENTINF_HORSES_INDEX printf inside #if

* Replace "this function"
2024-09-30 15:52:38 -04:00
cadmic f7f38ff874
[PAL N64] Completely match pal-1.0 and pal-1.1 and add to CI (#2246)
* [PAL N64] Match pal-1.0 and pal-1.1 and add to CI

* bss fixes from Jenkins
2024-09-28 20:52:45 -04:00
Dragorn421 fbf797f1e2
[headers] Create `gfxalloc.h`, `map.h`, move protos to `gfx.h`, `z64{player,view}.h` (#2233)
* [headers] Create gfxalloc.h, map.h, move protos to z64{actor,player,view}.h

* oops

* bss

* comment on player_lib protos & format

* format map.h

* Move SCREEN_{WIDTH,HEIGHT} and SET_FULLSCREEN_VIEWPORT to z64view.h

* bss

* revert move screen_width/height

* bss
2024-09-27 14:51:00 -04:00
Dragorn421 f70e363392
[headers] z64bgcheck.h functions (#2239)
* [headers] z64bgcheck.h functions

* format

* bss
2024-09-27 11:29:19 +02:00
Dragorn421 5ed5f196d9
[headers] audio functions to z64audio.h and z64ocarina.h (#2223)
* [headers] audio functions to z64audio.h and z64ocarina.h

* bss
2024-09-25 10:25:49 +02:00
mzxrules dc1501e7a0
create ucode_disas.h (#2222)
* ucode_disas.h

* create UcodeType

* bss
2024-09-24 13:45:53 -04:00
mzxrules 56981d5297
Document Player Knockback related functions (#1601)
* document knockback related functions

* rotation -> yRot

* implement some changes

* Renames and comments

* mq bss

* format

* Intangibility and Invulnerability

* bss

* .bss

* add #pragma increment_block_number to z_en_item00.c

* .bss
2024-09-23 18:31:00 -04:00
Dragorn421 48780cd2b1
Colliders: elemType -> elemMaterial (#2189)
* elemType -> elemMaterial

* format
2024-09-16 18:11:01 -04:00
cadmic f089adf20c
[ntsc-1.2] Match ntsc-1.2 BSS and add to CI (#2187)
* Match ntsc-1.2

* Add ntsc-1.2 to CI

* Apply fixes from Jenkins

* Promote ntsc-1.2 to "supported" in Makefile

* Declare D_80858AD8 as a u64 array

* Tweak wording

* Hopefully make ntsc-1.2 bss more stable

* Restore segmented_address.h include
2024-09-12 14:10:43 -04:00
Dragorn421 f193311013
Colliders: colType -> colMaterial (#2186)
* colType -> colMaterial

* fixups
2024-09-11 21:18:46 -04:00
Dragorn421 62b30e2ebe
Move `Graph_Alloc` and open/close Disps to `gfx.h` (#1976)
* move graph_alloc and open/close Disps to gfx.h

* zcolchk bss reeeeeee

* fix matching gc-eu-mq (bss)

* remove __gfxCtx extern

* revert makefile -Werror=implicit-function-declaration

* bss
2024-09-07 19:30:55 +09:00
Dragorn421 87c304afcb
[headers 6] collision_check functions and structs (#2148)
* [headers 6] collision_check functions and structs

* bss
2024-09-07 02:29:50 -04: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
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
Tharo aa97586659
[Audio 6/?] Build Soundfonts and the Soundfont Table (#2056)
* [Audio 6/?] Build Soundfonts and the Soundfont Table

* Improve lots of error messages

* First suggested changes

* Make audio build debugging more friendly

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Some fixes from MM review

* Make soundfont_table.h generation depend on the samplebank xmls since they are read, report from which soundfont the invalid pointer indirect warning originates from

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-27 21:09:59 -04:00
Dragorn421 fd14ddcbf1
T() macro 5 (#2089)
* T() in __osMalloc.c

* T() in code_80097A00.c

* T() in debug_malloc.c

* T() in code/load.c

* T() in sys_math3d.c

* T() in z_collision_btltbls.c, z_fbdemo_fade.c, z_fcurve_data_skelanime.c, z_view.c

* T() in z_collision_check.c

* remaining T() in __osMalloc.c

* __osMalloc consistency

* format
2024-08-27 14:32:33 +02:00
cadmic e6bc4bd8cb
Add names to all typedef'd structs, unions, and enums (#2028)
* Add names to all typedef'd structs, unions, and enums

* wtf vs code

* Use a better regex
2024-08-12 03:07:48 -04:00
cadmic d495436190
Match remaining GC retail versions (#2019)
* Match the remaining GC retail versions

* Fix BSS ordering for existing versions

* Disable clang-format for #pragma increment_block_number

* sramResetCode -> sSramResetCode

* Replace 0xFF3F with or-ing all buttons together

* Revert "Disable clang-format for #pragma increment_block_number"

This reverts commit 406b6d26c9.

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-09 20:58:46 -04:00
cadmic 1021c482af
gc-us OK (#2018)
Match BSS order and delete disassembly data
2024-08-08 03:26:48 -04:00
cadmic 0da402b9de
Automate fixing BSS ordering (#2009)
* Automate fixing BSS ordering

* Typo

* Some cleanups

* Move pragma check after printing BSS info

* Some proofreading

* multiprocessing, require version, some colors

* Tweak output

* Black + mypy

* Move logging and sys.exit out of helper functions

* Use stdout instead of stderr in fix_bss.py

* Add suggestion to conflicting offsets error

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Remove var = list[T]()

* Improve error handling

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Add error if no pointers to BSS

* Add comment about process_file_worker

* Only print updates if stdout is a tty

* Use new binary-search-esque candidate generation algorithm

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Add Wikipedia link

* More comment tweaks

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-02 20:31:15 -04:00
Anghelo Carvajal d8f2e9abc6
Move `PlayState` to a new `z64play.h` (#1966)
* ActorContext

* frameadvance

* SfxSource

* GameOverContext

* RoomContext

* TransitionActorContext

* fix bss

* Move PlayState

* Move play functions to new header

* SAC_ENABLE

* no longer needed

* SAC_ENABLE again

* z_demo being silly

* comment

* format headers

* fix retail bss

* actually fix bss

* Cutscene_ProcessScript comment

* bss again

* Update src/code/z_demo.c

Co-authored-by: cadmic <cadmic24@gmail.com>

* rename to frame_advance and remove it from z64.h

* move macros too

* review

* Rename SequenceContext to SceneSequences

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-06-25 15:13:31 -04:00
mzxrules 8d83727429
Experiment: remove global.h dependency from sys_math, sys_math3d, z_lib (#1956)
* split sys_math, sys_math3d, z_lib from global.h

* suggestions

* forgot this

* more math stuff

* nit fix

* re-add ichain.h

* resolve tharo's comments
2024-06-19 00:00:23 -04:00
cadmic f643499462
Match retail BSS ordering (#1927)
* Match retail BSS ordering

* Revert moving some global variables to headers

* Adjust block numbers after header changes

* Fix debug build

* Overlay bss ordering

* Fix BSS ordering after header changes

* gc-eu-mq OK

* Implement preprocessor for #pragma increment_block_number

* Transfer usage comment from reencode.sh

* Use temporary directory instead of temporary file

* Move ColChkMassType back
2024-04-14 23:51:32 +02:00
Dragorn421 68a86d2d00
Colliders: change "touch, bump" to AT and AC (elems) (#1637)
* toucherFlags, bumperFlags -> atElemFlags, acElemFlags

* TOUCH_ -> ATELEM_

* BUMP_ -> ACELEM_

* ColliderElementTouch,Bump -> ColliderElementDamageInfoAT,AC

* toucher,bumper -> atDmgInfo,acDmgInfo

* Update docs and zcolchk funcs names

* run formatter

* remove the last mentions of "bump" for colliders

* Update renamed functions in disasm
2024-03-04 19:33:08 -05:00
cadmic 17da5e7bf9
z_collision_check.c OK (#1642)
* Match z_collision_check.c

* Disable function declarations

* Remove /* OOT_DEBUG */

* Remove newlines around ifdef

* Newlines

* Tweak z_actor.c #if to avoid merge conflicts
2024-01-30 19:43:10 -05:00
engineer124 795f7e5251
`z_parameter` retail OK (#1649)
* z_parameter okay

* no u32
2024-01-28 16:20:21 -05:00
cadmic 324db1d578
Replace most osSyncPrintf calls with PRINTF macro (#1598)
* Replace most osSyncPrintf calls with PRINTF macro

* DEBUG -> OOT_DEBUG
2024-01-12 10:38:13 -05:00
Dragorn421 1a8772e540
Cleanup `z_collision_check` 1 (#1427)
* Cleanup `z_collision_check.c` and structs

* Revert `other*` names to master, split to other pr

* WIP/experimental: `ColliderCylinderElement`

* Revert "WIP/experimental: `ColliderCylinderElement`"

This reverts commit cfc8c32ace.

* ac/atHitInfo -> HitElem

* rename some collider elements to "elem" (instead of item, info, hurtbox...)

* cut down on more "hitbox" usage

* name all `ColliderElement*` temps properly

* rearrange colcheck structs

* add collider shape name descriptions

* reword collider shape descriptions

* jntsph first again

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
2024-01-11 10:30:47 -05:00
cadmic cd917b0cb8
Create debug macros for common functions (#1597)
* Create debug macros for common functions

* Revert NDEBUG change

* MALLOCR -> MALLOC_R

* DEBUG -> OOT_DEBUG

* Use the same name for debug and non-debug matrix functions

* Fix file/line argument order

* Revert g[s]DPNoOp[Tag]

* Use SystemArena_MallocDebug directly in GameAlloc_MallocDebug

* MTXF_TO_MTX -> MATRIX_TO_MTX
2024-01-09 07:59:03 -05:00
Tharo 3475651701
libc cleanup (#1568)
* libc cleanup

* Suggested changes, small alloca tweak

* Remove printf include
2023-10-27 16:06:44 +02:00
cadmic b3486b57ef
Rename Math3D_CylOutsideCyl and Math3D_CylOutsideCylDist (#1557)
* Rename Math3D_CylOutsideCyl and Math3D_CylOutsideCylDist

* radix -> radii

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Make Math3D sphere/cylinder collision check function names more consistent

---------

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2023-10-07 19:42:28 -04:00
engineer124 35887e25ee
Minor Misc Cleanup 2 (#1422)
* misc cleanup

* more cleanup

* more cleanup

* PR Suggestions

* cleanup cond
2023-02-26 21:48:42 +01:00
engineer124 c7a61aa670
Document Surface Material (#1447)
* material

* cleanup

* iron boots

* climb

* more docs

* rename

* small fix

* comments

* adjust bug comment

* simplify comment
2022-11-26 18:11:06 -05:00
Dragorn421 abb4201e57
Fix misc 18 (#1423)
* two more ABS

* fixup item_name_static texs outnames

* fixup CollisionCheck_SetOCvsOC docs

* Cleanup int comments alignments

* collsion -> collision

* `SQ*` macros fixup

* use `LERP` more

* static -> `s` prefix

* grammar: dont -> don't

* 3
2022-11-13 23:47:25 +01:00
Dragorn421 ab90300062
Rename `vt.h` to `terminal.h` (#1339)
* `vt.h` -> `terminal.h`

* `VT_` -> `T_` (as in Terminal)

* `vt.h` -> `terminal.h` in includes too Pepega

* Sort out tiny terminal.h include inconsistencies

* Format

* -> `TE_`

* format

* `TE_` -> back to `VT_` (parkour!)

* explicit VT
2022-11-01 19:17:11 -04:00
Roman971 2f4c25da53
Fix many missing NULLs (#1389)
* Fix many missing NULLs

* Fix a raw actor id in en_horse
2022-10-04 01:18:50 -04:00
engineer124 1d19f37b26
Rename "Sound" to "Sfx" (#1292)
* First attempt

* More

* rename

* more sound -> sfx / sound effect (#7)

* PR Suggestions

* PR Suggestions

* Small fix

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
2022-07-30 09:05:27 -04:00
Dragorn421 b3b913d33d
Use `DMG_` defines in code (#1245)
* Use `DMG_` defines for `dmgFlags` when single bits are used

* Pass on several (in code, no colliders)

* Conditional cleanup

* Remove wip comment, just use the flags 4head
2022-06-03 20:36:04 +02:00
Dragorn421 fa1ea37d54
Fix misc 13 (#1244)
* Squared variables fixup

* `sAnimSoundFrames` fixup

* `ocElemFlags` fixup

* `toucherFlags` fixup

* `bumperFlags` fixup

* `atFlags` fixup

* `acFlags` fixup

* `ocFlags1` fixup

* `ocFlags2` fixup

* `&=`

* `TOUCH_SFX_NONE` -> `_MASK` in `CollisionCheck_HitSolid`
2022-05-31 14:48:41 -04:00
fig02 2e6279bc8e
PlayState Rename (#1231)
* global context -> play

* fix PlayState* PlayState
2022-05-21 14:23:43 -04:00
Roman971 c799176a30
Various minor cleanups (#1218)
* Fix assert in z_en_horse.c

* Fix UB sceneFlags access in z_en_elf.c

* Add Object_Spawn to public object functions

This function is used externally in MM and works as a standalone, so it most likely belongs to the public interface

* Fix float literals to always use lowercase e for the exponent

* Remove "mininap" in one of the map data variables

sDgnMinimapTexIndexBase is also used for the pause menu map so naming it for the minimap turned out to be inaccurate
2022-05-10 15:51:38 -04:00
Dragorn421 72847660eb
Fix misc 10 (#1208)
* Cleanup around `Item_DropCollectible`

* Cleanup around `Math3D_Vec3fDistSq`, `Math3D_Dist2DSq`

* Material/Model naming for one dlist pair

* Minor comments fixup

* Explicit `!= NULL` check

* Signed decimal for an array of coordinates

* Fixup comments some more
2022-04-30 08:33:28 -04:00