Commit Graph

195 Commits

Author SHA1 Message Date
fig02 ff78b1263b
Add macros for line number differences (#2365)
* initial work, think I got all of them

* cleanup line_numbers.h

* fix gc-eu-mq-dbg

* fix matching problems

* remove old lines

* format

* missed some stuff

* comment fixes

* other

* review changes
2024-12-15 11:07:21 -05:00
fig02 bda5e94ded
Document Player Params (#2307)
* document player params

* better bgcamindex comment

* cant use -1 for condition

* fix match

* define for default bgcam

* doesnt work

* matches

* better comment
2024-12-08 14:56:01 -05:00
Tharo 3f703a39d9
Fix some more GCC warnings, mark some bugs based on GCC warnings (#2309)
* Fix some more GCC warnings, mark some bugs based on GCC warnings

* Weird formatting

* Suggested changes

* More weird indentation I guess

* UNREACHABLE() macro, add missing NORETURNs to fault_n64.c

* AVOID_UB for PAL path in z_file_nameset.c

* Remove comments about return types

* Remove temp no longer needed
2024-12-02 04:40:49 -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 cf4dc98cc9
Use debug macros even in N64-only code (#2298)
* Use debug macros even in N64-only code

* Use UNK_FILE/UNK_LINE instead
2024-11-15 13:18:05 -05:00
cadmic 2048a65dd8
[ntsc-1.0/1.1] Match line numbers in debug strings (#2255) 2024-10-09 13:41:16 +02:00
Dragorn421 ed77e143b6
[headers] Create `one_point_cutscene.h`, `z64olib.h` and move stuff to `z64{object,player,scene}.h` (#2250)
* [headers] Create `one_point_cutscene.h`, `z64olib.h` and move stuff to `z64{object,player,scene}.h`

* bss

* sSceneCmdHandlers

* bss

* bss
2024-10-01 13:14:54 -04:00
cadmic 52a1c2f969
[PAL N64] Miscellaneous changes (#2211)
* [PAL N64] Miscellaneous changes

* Reword comment

Co-authored-by: fig02 <fig02srl@gmail.com>

* glitch -> Glitch

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
2024-09-23 20:13:09 -04:00
mzxrules acb5c7f20c
Update Room Documentation (#2015)
* Update Room Documentation

* Write more complete documentation, implement suggestions.

* Function name changes; minor comment tweaks

* nit

* Resolve Dragorn fixes

* Resolve Fig suggestions, fix comment wording

* fix bss, fig suggestion

* bss
2024-09-05 21:08:21 +09:00
Dragorn421 dc469461a9
Pause docs: `WorldMapArea` enum and related data (#2130)
* Pause docs: WorldMapArea enum and related data

* `WORLD_MAP_AREA_20` -> `_QUESTION_MARK`

* bss
2024-09-04 17:51:08 -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
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
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 6b58a15fc0
T() macro 6 (#2090)
* T() in z_skelanime.c

* T() in z_eff_blure.c

* T() in z_play.c

* T() in z_jpeg.c

* T() in z_horse.c

* T() in z_eff_spark.c

* T() in z_malloc.c

* T() in z_effect_soft_sprite.c

* add todo on translating "確保" (litterally ~"secure", but may be better as "allocate"-ish)

* review

* format
2024-08-27 17:10:07 +02:00
cadmic 3795574878
Add all N64 version defines (#2095)
* Add all N64 ROMs to versions.h

* Remove OOT_ prefix from version defines

* Make it pretty
2024-08-26 11:43:59 -04:00
Dragorn421 ac2224f095
Add versions.h (#2060) 2024-08-20 17:19:16 -04:00
cadmic d191e8714e
Allow building the Debug ROM without debug features (#2052)
* Allow building the Debug ROM without debug features

* Fix bss

* Add comment

* Reword again

* Fix bss
2024-08-19 23:58:31 +02:00
cadmic 46a5fa919b
Match ntsc-1.2 z_scene_table.c (#2050)
* Match z_scene_table.c

* Attempt to fix bss ordering

* Forward declare PlayState instead

* Untangle circular includes in z64scene.h
2024-08-19 10:24:02 +02:00
Tharo ba5574be6d
[Audio 5/?] Build the Samplebank Table (#2044) 2024-08-17 17:42:15 -04:00
Tharo eaf955ad22
Generic actor params getters (#1359)
* Initial PARAMS_GET macros

* NOSHIFT macro

* Use number of bits rather than raw mask values

* Add descriptions for each generic macro

* Reformat

* Adjust comment

* format

* edit en_door macro names

* edit redead macro name

* edit bdan switch macro name, and remove unneeded comments in go2

* mizushutter macro names

* remove PARAMS_GET_S, rework ishi switch flag handling

* actually remove PARAMS_GET_S

* remove PARAMS_GET2_S

* PARAMS_GET_U and PARAMS_GET_S

* format

* fix merge

* format

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-14 21:29:43 +02: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 067d06bb56
Match NTSC loose ends (#2004)
* Match NTSC loose ends

* Add comment about giObjectSegment size
2024-07-28 00:09:05 -04:00
cadmic bf3339a16d
Set up build system and disassembly for gc-us (#1982)
* Build gc-us

* Set up gc-us disassembly

* Don't disasm unchanged overlays

* Fix gc-eu-mq BSS

* romalign link_animetion for NTSC

* Explicitly set CPP defines to 0/1

* Add #ifs to segment_symbols.h

* Add sButtonTextures now

* Fix message _SHIFTL usage

* Don't ifdef LANGUAGE_MAX
2024-07-06 21:38:31 +02: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
fig02 06bbdf88f1
Revamp "AnimationContext" Docs, now called "AnimTaskQueue" (#1941)
* start using task terminology

* more docs

* format

* cleanups

* MoveActor -> ActorMove

* missed a couple

* hopefully the last changes

* comment explaining the group change

* some review

* dragorn review

* remove accidental file

* fix matching issue, now use while loop
2024-06-18 23:46:36 -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
cadmic 4e1b0f6694
Fix various data issues in gc-eu-mq (#1921)
* Fix various data issues

* D_80153D78 -> sMessageDebuggerTextboxCount
2024-03-29 11:19:55 -04:00
cadmic c6e3ef4570
Match retail code data sizes (#1741)
* Match retail audio data

* Fix various small code data problems

* Disable terminal colors in debug builds

* Match z_actor_dlftbls.c .rodata

* Use _3 for unused nameString macro parameter

* Move sDebugCutsceneScriptBuf to be in-function static

* Comment on actor name being NULL

* Split out padding the fault_drawer.bss.s
2024-02-27 02:23:19 -05:00
engineer124 1e21f69b37
z_play retail OK (#1688)
* z_play OK

* cleanup spacing

* PR
2024-02-01 17:00:27 -05:00
Derek Hensley 06379c3109
Gamealloc, Graph, and Graphalloc retail OK (#1675)
* Gamealloc OK

* Graph + Graphalloc OK

* PR review

* gfxalloc

* new lines

* Remove imposter
2024-01-31 19:07:12 -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
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
engineer124 aef0335681
Struct Returns (#1574)
* change args

* PR Review

* format
2023-11-19 11:17:31 -05:00
engineer124 81a3c3da32
More Camera Flags (#1453)
* Generic Camera Flags

* New flag names

* Add flags to functions

* Finish flag docs

* More docs

* More cleanup

* More clarity

* Better shrinkwindow flag docs

* Improve name

* CAM_INTERFACE_FLAGS

* Better approach to edge cases

* Change ordering for consistency

* Oops

* Add masks to macro

* PR/Discord discussions

* cleanup comment

* Oops

* PR Suggestions

* More PR Feedback

* More PR Suggestions

* More Camera Flags

* PR Suggestions

* More flag style change

* Small cleanup

* More flag docs

* Another flag

* Fix flags

* sync names with other PRs

* more fixes

* fix comments

* update with hud visibility mode docs

* missed one

* fix comments

* Roman PR Suggestions

* interfaceField

* small fix

* letterbox cleanup

* cleanup

* fix macro arg

* fix func declaration

* many more docs

* better docs?

* missed some

* oops, revert

* add flags to name

* cleanup

* flag

* double signal

* simplify cam func name

* more suggestions

* PR Suggestion
2023-11-19 02:17:32 +01:00
Dragorn421 4c75260097
Fix misc 21 (#1573)
* Make `sNew` in (unused) `code_800FC620.c` a string

It is passed as a filename to `__osMallocDebug` so should be a nul-terminated string, not a char[3] missing an explicit \0

* Fix gcc warning in `JpegDecoder_ParseNextSymbol` about SLL on negative value

-1U is an unsigned value, aka 0xFFFFFFFF
I keep -1 because it seems that's what a jpeg standard has too

References:
https://stackoverflow.com/questions/40508958/shifting-a-negative-signed-value-is-undefined
https://www.w3.org/Graphics/JPEG/itu-t81.pdf (page 105, figure F.12)

* Small cleanup

* Fix few mistakes (thanks gcc warnings)

* Add `@bug` in file select settings draw code, using the wrong array

* format

* format main

* rename arg for a happy formatter

* Move important function call out of a printf
2023-11-12 16:59:52 -05:00
fig02 4908b8b37c
Player Docs: public facing csAction things (#1561)
* name public csAction functions

* format

* adjust function comment

* format
2023-10-28 07:46:24 -04:00
Tharo a20163c6ab
Use `long` over `int` for s32/u32 types (#1546)
* long s32

* Suggested changes
2023-10-17 21:16:31 +02:00
Dragorn421 57ce0cf8d9
Doc/Cleanup pass on object handling (#1227)
* `Object_InitBank` -> `Object_InitContext`

* Add and use `OBJECT_SPACE_SIZE_BASE`

* Remove `OBJECT_EXCHANGE_BANK_MAX` -> use `ARRAY_COUNT()` instead

* "object status" -> "object load entry"

* Misc. cleanup/renames

* Partial docs and way too much batch renaming and cleanup for a single commit

* ctrl shift h

* format

* format clang-11.1

* fix regressions

* Improve a `@bug` comment

* Move `OBJECT_SPACE_SIZE_BASE` from header to near `Object_InitContext`

* "objectID" -> "objectId"

* Revert iterator index to `i` in `Actor_KillActorsWithUnloadedObject`

* "object load entry index" -> "object entry"

* `Object_UpdateLoadEntries` -> `Object_UpdateEntries`

* Run format.sh

* "object entry" -> "object slot" (except internal usage)

* Proper `Object_SpawnPersistent` doc

Co-authored-by: fig02 <fig02srl@gmail.com>

* fixup one comment "object bank index" -> "object slot"

* Amend `Object_SpawnPersistent` comment to mention running out of free slots

* `Actor_KillActorsWithUnloadedObject` -> `Actor_KillAllWithMissingObject`

* Remove useless mention of what uses `Object_SpawnPersistent`

* Fix mistake on `Object_SpawnPersistent` doing sync dma, not async

* run formatter

* `Object_InitContext` -> `Object_Init`

* `waitObjectSlot` -> `requiredObjectSlot`

* `Object_Init` -> `func_80097DD8`

* one objectIndex -> objectSlot

* Remove `OBJECT_SPACE_SIZE_BASE`

* light fix on the merge (rm OBJECT_EXCHANGE_BANK_MAX)

* `func_80097DD8` -> `Object_InitContext`

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
2023-09-19 14:10:12 -04:00
Tharo 9b207c356a
Document Framebuffer Filters, VisCvg and VisZbuf (#1534)
* Document z_viscvg and z_viszbuf

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

* Few more notes

* Some more notes

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

* Review

* Americanisation, FB RGB

* Oops

* Review

* Minor documentation modifications

* Header, base struct and enums

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

* functions.h fix

* Suggested changes, further adjustments to file doc comments

* Further suggested changes, standardize capitalization of gfxP

* g

---------

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2023-09-16 17:16:58 -04:00
Dragorn421 d314cfe923
Document pause states (excluding gameover) (#1483)
* Document PauseContext.state

* Very light docs surrounding pause states

* PAUSE_STATE_UNPAUSE -> PAUSE_STATE_RESUME_GAMEPLAY and comment on purpose in the enum

* PAUSE_STATE_MAIN -> PAUSE_STATE_6

* format

* Player_InitDrawPause -> Player_InitPauseDrawData
2023-09-06 11:14:15 -04:00
engineer124 b8aa2a251e
Document z_lib Sfx Functions (#1470)
* document lib sfx

* rename functions
2023-08-15 01:44:20 -04:00
Dragorn421 6e7a6d4181
Split `SaveContext` into sub-structs (#1393)
* Split SaveContext struct

* run formatter

* Remove temporary-until-split stuff in z_sram

* .

* run formatter
2023-08-13 15:24:26 -04:00
Dragorn421 b8c1440d1e
Cleanup?: Use gotos in z_play for large else blocks (#1486)
* remove else when using `goto Play_Draw_DrawOverlayElements`

* Add `goto Play_Draw_skip`, use on prerender save

* format
2023-08-13 10:35:38 -04:00
Roman971 232fdb75d8
Use intptr in most remaining code files (#1438)
* Use intptr in most remaining code files

* Fix missing uintptr_t in actor

* Use u8* casts for texture pointer arithmetic

* Use bg + 1 instead of casting in Room_DrawBackground2D
2023-07-10 15:03:01 -04:00
Tharo 100576edc9
Documentation for skybox drawing (#1515) 2023-07-03 22:30:53 -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
Dragorn421 985dd7f520
`EnHoll` docs (door-less transition between rooms) (#1419)
* some EnHoll cleanup

* some more EnHoll cleanup

* even more EnHoll cleanup

* EnHoll docs

* `enHollFillAlpha` -> `bgCoverAlpha`

* Dl -> DL

* one temp: action -> type

* Move static data out of `EnHoll_HorizontalVisibleNarrow`

* "fade" -> "bgcover"

* spread sentence over several lines

* tweak comments formatting

Co-authored-by: fig02 <fig02srl@gmail.com>
2023-01-12 17:08:38 -05:00
engineer124 1149530c92
DbCamera to DebugCamera (#1482)
* better dbCam prefix

* missed some

* PR Suggestions

* alignment

* more debug

* cleanup
2023-01-12 16:06:31 -05:00
Derek Hensley bd317dbb9d
Fbdemo Docs: `TransitionTile` (#1471)
* TransitionTile'

* Final clean up

* PR

* Header comment

* vtx_tn

* Name background DL

* row <-> col

* Rename update functions

* Update header

* Enum

* Done -> Ready + cleanups

* Update include/z64transition.h

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

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-12-28 22:29:59 +01:00