Commit Graph

275 Commits

Author SHA1 Message Date
Dragorn421 7453709cc1
Doc speed_meter timers and misc. low-ish level stuff (#1364)
* Misc docs (somewhat lower level)

* Run formatter

* Simplify comment

* `a = a +` -> `a +=` with pad removal

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* `isPreNMIStateRunning` -> `inPreNMIState`

* line breaks

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
2022-10-29 16:44:27 -04:00
fig02 26d6028ff1
Rename scene lists (#1344)
* first pass

* revert unwanted zap change

* review

* name Actor_InitContext, change arg name

* change bzero to use type
2022-10-16 18:00:18 -04:00
Tharo 0b38f6e678
`gbi.h` and `ucode_disas.c` cleanups (#1267)
* Merge GfxMod and Gfx, various ucode_disas improvements, gdSPDefMtx, gbi.h formatting improvements

* Suggested changes

* Further suggested changes

* Fix matrix

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

* Formatting changes

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

* Clarify Gnoop callback

* the thing

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

* Switch spaces, uintptr

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-10-15 17:14:35 -04:00
fig02 fd24ad6e67
Document elf_message scripting system (#1398)
* `cUpElfMsgs` -> `cUpMsgs`

Motivation:
ElfMessage is the name of the system that handles c-up messages from navi, but also messages from child/adult saria
so it would make sense to name this after the system name like "ElfMsg"
but "cUpElf" primarily reads like (to me) "c up navi" since the actor implementing navi is EnElf

I think it'd be better to clear that confusion between "navi" and "elfmsg system" by just not using "elf" in the name

* Standardize c-up navi messages ElfMessage data to be named after "CUp"

* -> "Navi"

* Make symbols in `elf_message_` segments static

* new docs

* change commands, format

* introduce navi file id

* use enum

* remove concat

* add clarifying comment for skip

* concat cmd type

* Hints -> QuestHint

* rename command header

* s -> g

* missed enum name

* singular

* missed one

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-10-15 13:24:13 -04:00
engineer124 9675051377
Quake Documentation Pass (#1402)
* begin quake docs

* continue cleanup

* quake offset

* many more docs

* cleanup

* more cleanup

* cleanup headers

* move quake value to internal

* update, still need to test shake zoom/yaw

* more docs

* better docs

* add file descriptions

* fix comment

* explain random index

* cleanup comments

* better type 6 docs

* expand orientation comment

* fix old names, add comment

* remove comment, twas a mistake

* easy PR feedback

* duration in dec

* rm offset, clear up roll

* oops

* merge shakeInfo and QuakeCamData

* match order that always appears in code

* more PR suggestions

* adjust comment

* zeroVec

* rm extra space

* roman PR suggestions
2022-10-15 02:16:37 -04:00
Dragorn421 d1d946a197
`GameInfo` -> `RegEditor` (#1354)
* -> `RegsContext* gRegsContext`

* Name regs-related functions

* Revert naming `GameState_UpdateRegs`

* -> `gRegEditor`

* `Regs_InitContext` -> `Regs_Init`

* remove mistakenly added file
2022-10-15 01:40:00 -04:00
Dragorn421 22b78f169f
Fix misc 17 (#1392)
* Some cleanup on bgcheck waterbox y funcs

* Fix some typo/spelling

* EnFz_ApplyDamage match fixup

* Turn another sus construction into a switch

* Fixup comment on restoring MS as adult

* "doesnt, isnt" -> "doesn't, isn't"

* Hunt down whitespace at end of lines

* Format (clang-format does not like figs bug comment on bongo cutscene unskip sadge)

* Viewport z scale/translation: `0x1FF` -> `G_MAXZ/2` (see proman "9.7 Mixing CPU and SP Addresses", "12.7.6 Depth Source")

* static symbols: g -> s prefix

* Link young/old -> child/adult

* Fixups

* Get rid of signed vs unsigned comparison warning by changing room temps to s32

* waterbox search funcs consistency

* Revert "waterbox search funcs consistency"

This reverts commit 8f386e038f.

* `curWaterBox` -> `waterBox`
2022-10-13 04:06:49 -04:00
Dragorn421 40a4abefa5
Doc dynapoly move flags (#1372)
* Doc dynapoly move flags

* Use `DYNAPOLYMOVE_UPD_` more

* remove `DynaPolyActor.unk_15A` (padding)

* `DYNAPOLYMOVE_UPD_` -> `DYNA_MOVE_`

* Remove `DYNA_MOVE_POS_AND_ROT_Y`

* Actual docs

* Update function names

* transformFlags and Carried names

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

* Fixup comment on `DynaPolyActor_UpdateCarriedActorPos`

* Format

* `DYNA_TRANSFORM_NONE` -> 0

* Touch up mentioning the `DYNA_TRANSFORM_` flags in docs

Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-10-12 00:47:33 +02:00
engineer124 062f4d8e15
Document code_800F9280.c -> audio_seqcmd.c i.e. (Audio_QueueSeqCmd) (#1234)
* Document SoundSources

* PR Suggestions

* Duration timers to dec

* `PlaySfxByPosAndId` -> `PlaySoundByPosition`

* Begin importing docs from MM

* Finish cleanup using code from MM

* Start documenting commands

* First attempt at thorough AudioSeqCmd wrappers

* Improve names

* Merge branch 'master' into audio_seqCmd

fix name to minimize conflicts

* Combine macros, implement them through repo

* Improve docs

* More progress, begin sequence command docs

* seqcmd.h

* More documentation of seqcmd.h

* More docs

* cleanup

* More cleanup

* More docs

* VOL_SCALE_INDEX enum

* missed enums

* More Cleanup

* docs

* More docs

* Add comments about sfxChannelLayout

* More cleanup

* Even better docs

* Add a file description

* small touchups

* More cleanup of comments

* more

* More cleanup

* More cleanup

* Missing space

* typos

* Audio_SetVolumeScaleNow

* More cleanup

* Fill in enum

* one more cleanup

* Capitalize macros

* remove AUDIO_

* cleanup

* more cleanup

* Small Fix

* Add a lot of backticks for docs

* Restructuring docs

* More cleanup

* swap channel args, cleanup

* Typos

* Many suggestions, revert filename

* pr suggestions

* even more PR

* more pr suggestions

* pr suggestion
2022-10-07 13:29:33 +02:00
Dragorn421 9771afdc69
Some pause menu inputs doc (#1370)
* `PauseContext.pageSwitchTimer` -> `delaySwitchPageInputTimer`

* Document stick input repeat in the pause menu

* format

* `delaySwitchPageInputTimer` -> `pageSwitchInputTimer`

* Fix swapped delay and delay_first, oops

* Move timer incrs on their own lines

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2022-10-04 13:13:40 -04:00
Roman971 78e528d6fb
Various minor fixes (#1383)
* Swap REGION_US and REGION_JP

* Fix a few missing EXCH_ITEM enum values

* Remove unnecessary casts on alloc functions

* Fix a double slash in the spec file

* Swap top and bottom args in StackCheck_Init

* Remove some unnecessary & in array references

* Run formatter

* Fix the comments for US and JP codes
2022-10-02 17:40:09 -04:00
Roman971 f5a7c5612b
Use intptr types in more code files (#1385)
* Use intptr types for segments and a few system files

* Use intptr types for more dma rom addresses

* Use intptr types in data referring to rom files

* Update and cleanup a few message casts

* Change sys_cfb functions and debugHeapStart to use pointers

* Update graph.c for the sys_cfb return type change
2022-10-02 11:38:09 -04:00
Tharo 4f65d08eb5
Rumble doc (#1375)
* Rumble doc

* Fixes, suggested changes

* Improve padmgr retrace callback related code

* Name some rumble-adjacent things, further suggested changes

* Further suggested changes

* Suggested changes
2022-09-27 12:40:26 -04:00
Tharo 6b77ddba5a
More documentation for padmgr.c (#1336)
* More documentation for padmgr.c

* Update comments

* Further suggested changes

* Suggested changes

* LOG_SEVERITY_INFO -> LOG_SEVERITY_CRITICAL

* Adjust PadMgr_RequestPadData comment

* Avoid array notation for args, adjust comment, rename the FaultMgr padInput field to inputs to better reflect it's an array
2022-09-03 02:52:13 +02:00
Dragorn421 c0cf83a814
Doc room drawing (#1283)
* (wip) some doc on room draw2

* doc room_draw2

* do what can be done for `func_80095AA0`

* wip

* more cleanup around Room_DrawBackground2D

* format"

* commit to naming things

* move forward declarations of draw handlers to draw handlers array

* two z_room regs

* `R_MESH2_` -> `R_ROOM_CULL_`

* offset -> quakeOffset

* kb -> kB

* Improve cull mesh type doc

* `Sphere16` MeshHeaderCullEntry.bounds

* Revert "`Sphere16` MeshHeaderCullEntry.bounds" (ZAPD...)

This reverts commit cbe55e8090.

* Mesh header type: "cull" -> "cullable"

* Reword some Cullable doc

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>

* `boundsSphere*` for now for the can't-be-`Sphere16 bounds`

* Improve the PrerenderMulti bgCamInfo usage situation

* Comment on `overrideBgCamIndex`

* "are left" -> "remain"

* enum and defines for room draw debug regs

* drawBg -> drawBackground

* "mesh header all" -> "mesh header normal" 🤷

* array_count back to define

* Name some temps a lot less specifically

* "mesh header" -> "room shape"

* "Room shape prerender" -> "Room shape image"

* `ROOM_SHAPE_IMAGE_FORMAT_` -> `ROOM_SHAPE_IMAGE_AMOUNT_`

* `RoomShapeImageMultiBackgroundEntry` -> `RoomShapeImageMultiBgEntry`

* Remove references to "header" (old "mesh header" name)

* Axe variable names

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-08-31 19:28:51 -04:00
Dragorn421 2e18eb334b
Fix misc 16 (#1371)
* Replace tabs in exceptasm.s source

* Replace tabs with \t in strings

* Fix grammar in various comments

* Fix "initalize" typos in code

* (fix typo) `__osMallocIsInitalized` -> `__osMallocIsInitialized`

* Some Link -> Player

* Use `EXCH_ITEM_` more

* "bgm music" -> "background music"

* Fix typos in `place_title_cards.xml`

* `SkelAnime_Update` returns a boolean

* Run formatter
2022-08-30 17:35:00 -04:00
Dragorn421 1ab4e6ee5f
`stickRel` -> `stickAdj` (#1367)
* kaleido and filselect

* ocarina and KaleidoScope_UpdatePrompt
2022-08-30 14:55:37 -04:00
Tharo 0d52a4aebd
More documentation for PreRender.c (#1340)
* More documentation for PreRender.c

* Comment fix

* Suggested changes

* More on coverage reading functions

* Further comment changes

* Further suggestions
2022-08-28 12:18:20 -04:00
Derek Hensley 9c6461751d
sceneNum -> sceneId (#1338)
* sceneNum -> sceneId

* forgot to save play

* scene -> sceneId where appropriate

* Missed 1 + format

* Update src/code/z_sram.c

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Update src/code/z_sram.c

Co-authored-by: mzxrules <mzxrules@gmail.com>

* PR

* Fix

Co-authored-by: mzxrules <mzxrules@gmail.com>
2022-07-31 19:44:47 -04:00
Tharo 455321d2e8
Fix various small gfx issues (#1313)
* Fix various small gfx issues

* Use 0xFFFF instead of -1 for max prim depth

* More fixed point numbers

* scale -> texCoordScale, better cycle 2 render mode in z_title

* GFXP_CHAR_* defines renamed to SPACING

* Fix some gDPLoadMultiBlock uses
2022-07-30 17:49:10 -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 9647f50451
Cleanup z_debug (reg editor) (#1290)
* Cleanup z_debug

* misc

* pad reg names column to """allow""" 40 characters because why not

* safety parentheses in regs.h

* More safety parentheses, in named regs defines

* sort named regs in order, except for message system regs (?)

* put all regs in order (message system ones too)
2022-07-14 19:02:07 -04:00
Roman971 7564502b0b
Use intptr types in a few specific boot files (#1301)
* Add stdint.h with intptr_t and uinptr_t

* Use intptr types in dmamgr and yaz0

* Use intptr types in stackcheck

* Use intptr types in idle

* Run formatter

* Use pointers for StackEntry (+ minor type fix)
2022-07-12 12:47:25 -04:00
Dragorn421 e16779cc33
Rename game states (#1294)
* `TitleSetup` -> `Setup`

* `Title` -> `ConsoleLogo`

* `Opening` -> `TitleSetup`

* `FileChoose` -> `FileSelect`

* `Select` -> `MapSelect`

* prenmi/sample `Context` -> `State`

* Revert filename changes

* .

* setupstate cleanup

* Oops, `GameState` -> `SetupState`
2022-06-23 23:34:26 +02:00
engineer124 d88a23f4a0
Document Viewpoints and Scene Cam Types (#1285)
* Document bgCamData

* More changes and cleanup

* More docs

* Clarify comments

* PR Feedback, rename bgcheck functions

* remove fallthrough cleanup (other pr that deals with that)

* PR Suggestions

* bug report

* bgCamDataIndexBeforeUnderwater

* PR/Discord Discussions

* Missed some

* sync function header args

* Another suggestion

* cleanup

* Comments

* Indoor BgCamData

* Change bgCamData to s16 for now

* PR suggestions

* the

* use "info"

* Missed a suggestion

* Update and sync docs

* More docs

* Even more docs

* Revert macro

* Add comment

* Better comments

* More cleanup

* Better Cam Scene Docs

* Small change

* Market -> Pivot

* "only"

* swap

* Better comment

* Another comment

* to

* Implement suggestions from discord

* Discord Discussion

* Revert bgCamFuncData to Vec3s

* cleanup

* Remaining cleanup

* docs cleanup

* format

* More docs

* Improve notes

* Cleanup

* Change enum

* PR Suggestions

* Improve comment

* Rephrase

* Implement discussion from discord

* Discord discussion

* fixed to locked

* Update comments

* Few more comments

* Update include/z64.h

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

* Update include/z64camera.h

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

* Better comments

* PR Suggestions

* rm numbers

* Update src/code/z_play.c

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

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-06-20 20:31:53 -04:00
Dragorn421 017a3aaf5c
Some doc on actor overlays alloc types (#1266)
* Some doc on actor overlays alloc types

* Line breaks between defines at the top of actor.h

* plain english

* `ACTOR_ALLOC_` -> `ACTOROVL_ALLOC_`

* More line breaks

* `ACTOR_OVERLAY_ABSOLUTE_SPACE_SIZE` -> `ACTOROVL_ABSOLUTE_SPACE_SIZE`

* Document bug about Scarecrow's Song not setting the flag to restore Nayru's Love

* Try to document the check for needing to actor_kill to leave the absolute space being too broad

* "which overlay uses" (bad english) -> simplify to "which uses"

* Run formatter
2022-06-20 16:17:09 -04:00
Dragorn421 5299208291
Macros for `Entranceinfo.field` (#1270)
* Macros for `Entranceinfo.field`

* `ENTRANCE_INFO_FIELD_` -> `ENTRANCE_INFO_`

* Remove mentioning the transition types being "default"

* comment on macros what they are for

* Shorten "transition" -> "trans" for `EntranceInfo.field` usage
2022-06-15 20:41:47 +02:00
Roman971 a33965c1d0
Minor cleanups in z_std_dma.c and yaz0.c (#1269)
* Cleanup dma and yaz0 functions using pointers for ram

Also includes a minor cleanup of yaz0 names to better fit their purpose

* Run formatter

* Additional cleanups on dma and yaz0 functions
2022-06-11 03:42:05 -04:00
Dragorn421 73ba138f54
Doc pass on scene & room headers (#1240)
* Doc pass on scene & room headers

* Remove comments on room draw handlers

* `struct ActorEntry` -> `ActorEntry`
2022-06-09 15:02:18 -04:00
Roman971 b28ad659e3
More minor isolated fixes (#1258)
* Fix reversed array access in z_boss_dodongo.c

* Remove useless return in z_en_encount2.c

* Remove some redundant externs or declarations

* Move some undefs to be performed as early as possible

* AudioOcarina_ResetStaffs -> AudioOcarina_ResetStaves

The plural appears to be staves for the music term

* Remove some uses of UNK_PTR

* Use NULL for pointers set to 0 in z_game_dlftbls.c

* Remove useless !! in z_en_tk.c

* Revert "AudioOcarina_ResetStaffs -> AudioOcarina_ResetStaves"

This reverts commit 1b7fe62408.

* Remove more redundant externs from PR suggestion
2022-06-05 12:48:44 -04:00
Dragorn421 1a41694d58
Add enum for setup dls and name `z_rcp.c` functions (#1196)
* Introduce `SetupDL` enum

* wip

* wip

* Remove comments on each setupdl index

* Name setup dl functions by setupdl index

* `Gfx_SetupDl` -> `Gfx_SetupDL`

* Run formatter

* globalctx -> play

* fix regressions

* `Gfx_SetupDL` -> `Gfx_SetupDL_` (add separating underscore)

* `CallSetupDL` -> `SetupDL`
2022-06-03 18:25:48 -04:00
Tharo 1738b19d63
More documentation for sched.c (#1219)
* More documentation for sched.c

* VI retrace -> vertical retrace, attempt to clarify comment in viconfig

* Further review changes, fix inconsistent capitalization of PreNMI (PRENMI -> PreNMI)

* Fix typo

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Change TaskSwapBuffer, change comment on OS_SC_DRAM_DLIST to unimplemented

* Rename SchedContext/gSchedContext to Scheduler/gScheduler

* Comments fixes

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

* Format

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-06-03 15:43:30 -04:00
Derek Hensley bd6b51a869
Overlay Functions Cleanup (#1235)
* Cleanup load functions

* Some cleanup

* forgot .

* Split off Overlay_Load

* review

* OverlayRelocationType -> MIPSRelocationType

* Reloc type macro and mips relocations
2022-05-31 20:28:17 +02:00
Dragorn421 6eeb217225
Doc pass on scene draw configs: names (#1233)
* Name most scene draw configs

* 0 -> None, 36 -> GanonCastleExterior

* 48 -> GraveExitLightShining

* 47 -> CalmWater

* (0) none -> default

* `SCENE_DRAW_CONFIG_` -> `SDC_`
2022-05-31 20:19:46 +02:00
engineer124 e68f321777
Document Magic (#1199)
* Magic docs WIP

* More docs, first round finished

* Better docs

* More renaming

* Simpler name

* Another small adjustment

* rm if(1)

* Better names again after in-game testing

* Change comments

* change comment

* Big rename based on all the suggestions

* Small touch-up

* More PR Suggestions

* RESTORE_IDLE -> RESET

* More docs

* Capitalization

* PR suggestions

* Make declaration consistent

* Health_ChangeBy (amount)

* PR Suggestions

* Missed one

* More PR Suggestions

* Change comment

* Add another clarity comment

* Discord discussions on `magicFillTarget`

* Comments

* grammar

* More comment clarity

* Another bad comment

* PR suggestions, improved comments

* One more comment

* one more thing

* bar -> meter
2022-05-23 18:52:01 +02:00
fig02 2e6279bc8e
PlayState Rename (#1231)
* global context -> play

* fix PlayState* PlayState
2022-05-21 14:23:43 -04:00
Dragorn421 154f44b6da
Documentation pass on scene/room commands (#1226)
* Rename handler functions

* Rename cmd_id enum names for consistency

* `char` -> `s8` for explicit padding in cmd structs

* `Room.unk03/03` -> `behaviorType2/1`

* `UNK_PTR` -> `void*`

* `showInvisActors` -> `lensActorsMode` + enum

* Add `ROOM_BEHAVIOR_TYPE1/2_` enums

* "mesh" -> "mesh header"

* `Polygon polygon` -> `PolygonBase base` (for now...)

* Misc cleanup

* "lens actors mode" -> "lens actor mode"

* Revert "`char` -> `s8` for explicit padding in cmd structs"

This reverts commit 59b9295828.

* `LENS_ACTOR_MODE_` -> `LENS_MODE_HIDE/SHOW_ACTORS`
2022-05-21 08:54:51 -04:00
EllipticEllipsis 0e51a51fb1
Document SkelCurve system (#1192)
* Rename and document SkelCurve

* AVOID_UB in DemoTreLgt_OverrideLimbDraw

* Rename code_8006C510

* Objdump flags in the makefile

* Move CC_CHECK above compilation

* Review 1

* Review 2

* Review 3

* Review
Add doxygen comments to file head
use angle macro,
improve bug comment,
make arguments of SkelCurve_Draw more consistent,
Change this temp to pad in MagicWind
2022-05-20 02:27:54 -04:00
engineer124 bf56c94f0f
Document Sub-Cameras (#989)
* Copying SubCam Changes from PR 908, made it to the end of bosses

* Finish copying over PR

* format

* More cleanup

* clean-up

* PR Suggestions, Clean-Up, Improvement in CS

* Remove substructs from fd/fd2

* format

* Improve fishing

* minor fix

* Make CutsceneCameraDir more general

* `sActiveCamMove` -> `sCamMove`

* Fix conflict with object kankyo

* Add CAM_ID_MAIN to object_kankyo

* Improve cam cutscenes further

* Revert cutscene cmd names (better for a separate PR)

* At -> LookAt in the context of Cutscenes

* Missed naming in diving game

* Format

* Fill in Ganon2 Names (now that it's matching)

* format

* `sActiveCamId` -> `sReturnToCamId`

* activeCamId -> returnToCamId

* Discord Discussions

* FIRST

* Move macro to bottom, comments

* More suggestions

* PR suggestion, cleanup comment

* Oops

* add comments

* Adjust comment

* Change edge-case

* whoops

Co-authored-by: fig02 <fig02srl@gmail.com>
2022-05-12 20:35:31 +02: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
engineer124 95b4317931
Audio Ocarina Documentation (#1026)
* Begin ocarina documentation

* Many ocarina-related docs

* More ocarina docs

* Introduce Ocarina Fonts Enum

* Fix ocarina font enum

* Fix incorrect documentation, more documentation

* Ocarina recording documentation

* cleanup

* Small touch-ups

* Fix font -> instrument

* format

* Better docs on playback, memory game

* more cleanup

* Add z64ocarina.h

* Clean up names

* final cleanup

* typo

* Fix description

* better docs

* Fix channel -> channelIdx

* Fix old "font" name to correct "instrument" name, add io port docs

* Add comments to clarify certain lines/functions

* format

* Rename noteIdx to pitch

* Missed a name

* Add comment on pitch

* `reset` -> `SetInstrument` and `displayed` -> `playback`

* Clarify audio_update and windmill comment

* Minor PR fixes

* Revert Audio_Update because there are 2 different Audio_Update functions

* PR Feedback

* Ocarina Idx -> Index

* Introduce OCARINA_BTN_C_RIGHT_OR_C_LEFT

* PR Suggestions

* Next PR Suggestions

* Next PR Feedback

* consistency

* Better docs (PR)

* Better comment
2022-05-09 18:59:23 +02:00
Dragorn421 ca77b26c90
Fix misc 11 (#1209)
* Pass boolean for `freezeFlag` to `Actor_SetDropFlag`

* Use `else if`s in `func_80835F44`

* Cleanup `transitionCtx` usage of instance data

* `TransitionContext.setEnvColor` -> `TransitionContext.setUnkColor`

* Fixup one comment

* linebreaks (#1)

* Run formatter

Co-authored-by: fig02 <fig02srl@gmail.com>
2022-05-04 21:25:26 +02:00
Tharo 765cfd63e9
Name rsp ucodes and surrounding cleanup (#1166)
* Name rsp ucodes and surrounding cleanup

* Fix comments alignment and remove unnecessary & in sys_ucode

* Change capitalization of sys_ucode variables

* Remove unnecessary externs for aspMain

* Improvements to Jpeg_ScheduleDecoderTask

* Split unknown rsp code into a separate file, spacing
2022-05-04 00:43:09 +02: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
fig02 16790bc253
Document Transition System (#1131)
* transition type enum

* mode enum, start documenting some types

* some more

* use enums for entrance table

* entrance table filled out

* sceneLoadFlag -> transitionTrigger

* sandstorm state/mode/type

* done i think

* fixes

* clean up circle weirdness

* circle use enum + fix texture names

* fix

* how did that even happen lol

* jesus

* review2

* some more review

* most review, still some more to do

* new transition trigger names

* some of review

* next type default
2022-04-27 16:00:25 -04:00
Tharo 7068ad3703
Message Queues, Threads, and surroundings cleanup (#1178)
* message queues, threads, and surroundings cleanup

* Format, make the formatter prefer clang-format-11 if found

* Fix __osThreadTail type

* Q -> Queue, thread defines renamed

* Reformat, add missing NULL

* Suggested changes and further casting cleanup

* Reformat

* padmgr name fixes
2022-04-08 20:20:23 -04:00
Robin Allen 9984c267d9
Names for some view things (#1191)
* Names for some view things

* Review: ORTHOGRAPHIC → ORTHO

* Review: dirty → dirtyFlags

* Review: Doc comment style

* Review: Define constants in terms of each other

* Review: Rename the ApplyToOverlay functions

* Update include/z64.h

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

* Review: Better View_LookAtInternal doc

* arg1 → mask

* View_LookAtInternal → View_LookAtUnsafe

* Review: View_SanityCheckEyePosition → View_ErrorCheckEyePosition

* sViewNotInitialized → sLogOnNextViewInit

* Remove VIEW_FORCE_ALL

* near/far → zNear/zFar

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* lookAt → at

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* near/far → zNear/zFar

* View_ApplyPerspective/Ortho: Remove from header instead of commenting

* lookAt → at

* Add fwd decls

* Fix external view->at accesses

* Missed these somehow

* lookAt → at

* Omit "Apply" in comments

* dirtyFlags → flags

* View_ApplyScissor → View_ApplyShrinkWindow

* Update src/code/z_view.c

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

Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-04-09 00:50:28 +02:00
Dragorn421 b9b40805f7
Fix misc 9 (#1183)
* Fix typo `tranform` -> `transform`

* (may be controversial) `indexes` (noun) -> `indices`, both are correct but `indices` prevails in the repo currently, and seems prefered in technical contexts

* Fixup one `@bug`

* Fix typo `relfect` -> `reflect`

* Rename and `@bug` `DemoTreLgt_OverrideLimbDraw`

* Fixup `PLAYER_AP_` to `ARROW_` type conversion

* `posModel` -> `modelPos`

* `effSpawnPosModel` -> `effSpawnModelPos`

* Gohma decay bug: Verified that timers do not prevent UB access

* Reorder summation in a more meaningful way

Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
2022-04-03 18:33:50 -04:00
Tharo 93096a45b6
More documentation for IrqMgr (#1144)
* doc irqmgr

* Fix

* Format

* Review suggestions

* Fix

* Some more review

* Further changes
2022-03-13 19:22:14 -04:00
Dragorn421 054bac7583
Doc player drawing (#1098)
* Introduce and use more enums and defines for equips and data involved in player drawing

* `EQUIP_TYPE_`, `EQUIP_INV_`, `EQUIP_VALUE_`

* Improve doc on ItemEquips/Inventory's `equipment` field

* Run formatter

* Add `PLAYER_MODELGROUPENTRY_*` for second index of `gPlayerModelTypes`

* Name `PLAYER_MODELGROUPENTRY_*` from existing documentation

* Partial doc on `PLAYER_MODELTYPE_*`

* Some doc on `PLAYER_MODELGROUP_*`

* Run formatter

* Name and some doc/cleanup on the various player draw functions

* Name symbols used for player position in pause menu

* Name player override/post limb draw callbacks

* `BOOTS_NORMAL` -> `BOOTS_KOKIRI`

* `EQUIP_INV_SWORD_GIANTKNIFE` -> `EQUIP_INV_SWORD_BROKENGIANTKNIFE`

* `currentSword` -> `currentSwordItem` to avoid confusion with `PlayerSword` enum

* Make one constant more explicit

* Document severe bug (not an issue by luck)

* Some doc on `PLAYER_MODELTYPE_RH_FF`

* Actually name most of `PlayerModelType`

* Actually name most of `PlayerModelGroup` and improve comments

* Make equipment in debug save data use equip enums

* Name symbol for computing player's `bodyPartsPos` and fix struct access

* Name right/left `HandType` symbols

* Add `PlayerBodyPart` enum

* Run formatter

* Introduce defines for pause player render dimensions and cleanup viewport usage in pause drawing

* Document `playerSegment` related usage

* Run formatter

* Revert player bodypart changes

* Revert equips doc changes

* Revert player model and anim data changes

* Revert drawing-unrelated changes

* Move `sTunicColors` tunic comments to after data
2022-03-12 19:06:43 -05:00
Dragorn421 dfbc356cdf
Document vismono (#1107)
* Document and explain vismono

* Make it more clear "CFB" means Color Frame Buffer

* Rename: Update DList/TLUT -> Desaturate DList/TLUT
2022-02-27 16:21:26 -05:00
engineer124 85ce3d3ca4
Document Distortions from z_camera and z_view (#1102)
* Document Distortions

* cleanup

* cleanup hot-room comment

* small swap

* PR Review 1

* Missed a small thing

* Add fishing case

* PR Feedback

* dirRot -> orientation

* `UpdateWater` and `UpdateHotRoom`
2022-02-20 18:35:53 -05:00
Dragorn421 e51fd73704
Fix misc 7 (#1149)
* Fixup `Math3D_LineClosestToPoint`

* `gDodongosCavernBossLavaFloorTex` is 32x64

* Name empty-dlist-making functions `_EmptyDList`

* Fix typos

* transitionRate -> morphFrames

* Compare `xyzDistToPlayerSq` to squared values

* Fix hookshot target/post collision header names being swapped

* Fix description of `z_bg_mizu_movebg.c`

* Add scene command comment to `func_80098508` to match other scene command handlers

* Some fixup in `Camera_Demo5`

* `1` -> `ALLOCTYPE_ABSOLUTE` in comment on `ActorContext.absoluteSpace`
2022-02-20 08:31:31 -05:00
Anghelo Carvajal 8926b08582
Force required alignment on DMA related stuff (#1135)
* Force dword alignment on OSPifRam

* force_structure_alignment on each Font buffer

* Add ALIGNED8 macro to gSaveContext to ensure alignment

* create alignment.h header and use ALIGN8 in PLAYER_LIMB_BUF_COUNT

* add comment in common_data

* Roman's suggestion

* player_limb_buf_count

Co-authored-by: fig02 <fig02srl@gmail.com>
2022-02-11 18:23:57 -05:00
Tharo cf048f849a
Correctly align program stacks (#1133)
* Properly align program stacks

* Enforce size being a multiple of 8 bytes

* Correct alignment calculation

* Use an ALIGN8 macro in the stack declaration macro
2022-02-06 13:00:01 -05:00
Tharo c8f4d66b00
Documentation for fault.c and fault_drawer.c (#1106)
* Mostly document fault and fault_drawer

* FaultDrawer printf functions return s32

* Review Suggestions for comments

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

* Some further review suggestions

* Further changes from suggestions

* Fix Fault_AddClient doc comment

* Bug comment for memdump overrun, add more to Fault_PadCallback bug comment

* mb -> MB, comment about bss above externs

* Fix color codes

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2022-02-02 16:43:34 -05:00
louist103 d1ac7eb80d
Document the lens system (#1079)
* merge master

* A little bit

* start docs on lens

* Delete Jenkinsfile

* Make sense of the numbers in `Actor_DrawLensOfTruthMask` f3dzex commands

* More comments on `Actor_DrawLens` f3dzex usage

* remove padding

* renames

* Simplify gfx comments

* Add some line breaks

* Remove undef

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: Louis <louist103@pop-os.localdomain>
2022-01-25 00:42:36 +01:00
hatal175 1f300f4a79
lifemeter_z.c documentation (#1092)
* lifemeter documentation

* Review fixes

* Rename oscillator members

* Do no use true/false with direction

* Rerename oscillators
2022-01-23 18:17:15 -05:00
playerskel f4a72303cb
Whitespace (#1112)
* remove trailing whitespaces

* minor docs tweaks

* some more trailing whitespaces

* few more tweaks
2022-01-23 18:09:02 -05:00
Dragorn421 98259a128d
Misc. doc/cleanup 4 (#1093)
* Cleanup parameters passed to `Actor_SpawnFloorDustRing`

* `10` -> `ARROW_NUT` for spawning EnArrow

* Missing empty line after declaration

* Introduce `ACTORCAT_MAX`

* Minor cleanup

* Run formatter

* `sgiDrawIds` -> `giDrawIds`

* `sDmaMgrDataExistError` -> `sDmaMgrIsRomCompressed` bool

* Add Makefile dependencies to rebuild some files when editing actor, object and effect tables in `include/tables/`

* Run formatter

* Revert "Add Makefile dependencies to rebuild some files when editing actor, object and effect tables in `include/tables/`"

This reverts commit c6b9a92139.
2022-01-17 21:30:30 +01:00
Anghelo Carvajal 9fec455805
Small Skin system documentation pass (#1017)
* some docs

* rename a bunch of callbacks

* more cleanup

* format

* last cleanup

* some updates

* more docs

* done i think

* name flag and format

* name unused variable

* comments

* revert unwanted change

* z64skin.h

* format

* Address review

* Rename PostLimbDraw callbacks to PostDraw and some PR addressing

* add true/false for setTranslation

* ahhhh

* remove "you"

Co-authored-by: fig02 <fig02srl@gmail.com>
2022-01-12 18:00:28 -05:00
Dragorn421 11917bf640
Cleanup around some generic animation info structs (#1059)
* Name generic anim info structs and cleanup usage

* Make `EnDaiku` use generic struct

* Add `/* decimalid */` comments to all added enums

* small fixes

* Two more generic animinfo structs

* Cleanup usage of newly generic structs

* Cleanup x2 usage of newly generic structs

* `transitionRate` -> `morphFrames`

* Properly name generic anim structs (attempt to at least)

* `anim` -> `animation`

* fixes

* run formatter

* Use consistent prototypes for each actor's ChangeAnim helper

* run formatter

* minor cleanup

* Run formatter

* `Animation_ChangeInfo` -> `Animation_ChangeByInfo`
2022-01-11 21:10:43 -05:00
engineer124 59e212c197
Document code_8006BA00 (Audio Sound Sources) (#997)
* Document SoundSources

* PR Suggestions

* Duration timers to dec

* `PlaySfxByPosAndId` -> `PlaySoundByPosition`

* Improve names

* `PlaySfxAtStationaryPosition` -> `PlaySfxAtFixedWorldPos` and `originWorldPos` -> `worldPos`

* format
2022-01-10 20:31:53 -05:00
Dragorn421 05b2cbfc60
Doc dodongo's cavern stuff (#1019)
* Document `func_80033480` more

* More doc in `BgDdanKd`

* WIP Document BgDodoago

The dodongo skull light-eyes-with-bomb puzzle
Some TODOs, jank/legacy code which I'm unsure if it achieves something significant

* Finish documenting BgDodoago

* `BgDodoago_WaitExplosives_` -> `BgDodoago_WaitExplosives`

* Run formatter

* `dlistBuffer` -> `displayListHead`
2021-12-10 20:21:19 -05:00
louist103 037c1dcad6
Cleanup more u32 being used as pointers. (#1052)
* merge master

* more u32 -> void*

* remove jenkins file

* format

* z64.h

* fix

* re cleanup z64scene.h
2021-12-07 14:19:13 -05:00
engineer124 79220ba58a
Document Sequence Modes and Related Functions (#1046)
* Document Audio_SetSequenceMode

* Cleanup surrounding docs

* format

* Clean-up

* fix capital `I` in `playeridx`

* Dist -> DistSq

* `SetCamModeAndSeqMode` -> `UpdateCamAndSeqModes`

* Get rid of extra padding

* PR Feedback
2021-12-05 12:13:53 -05:00
engineer124 5e9d24fca4
Clean Up Sequence Structs in Scene/Save/z64 (#1051)
* Clean up sound scene struct

* Follow-up cleaning

* cleanup

* Document forcedSeqId

* Update include/z64save.h

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

* Update include/z64.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2021-12-03 09:49:32 -05:00
Tharo f1d183d6fe
libultra files and directories restructure (#1038)
* Restructure files, begin header restructure

* Format

* us2dex

* Fix parallel spelling

Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>

* Use OS_K0_TO_PHYSICAL in place of VIRTUAL_TO_PHYSICAL in osAiSetNextBuffer

* Uppercase hex, exception vector address defines

* Interrupt flags 1

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

* Interrupt flags 2

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

Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-11-30 19:08:57 -05:00
engineer124 eabc918817
Name the coordinate transformation matrices (#1042) 2021-11-30 18:52:16 -05:00
Dragorn421 669732abbe
Misc Cleanup 2 (#1007)
* Cleanup `UNK_TYPE`, `UNK_PTR` usage

* Add some missing empty lines after declarations

* Remove some legacy comments from non-matching times

* Fix some grammar (mostly "it's"/"its")

* Use proper names for two symbols after ZAPD bugfix

* Cleanup `place_title_cards.xml`

* Use `NULL` to check against `D_8012D260` pointer

* Parentheses around some macro arguments

* wip proofread headers up to z64animation.h
2021-11-30 18:40:42 -05:00
engineer124 783ef3a117
Audio Sequence Player Ids Enum (#1040)
* bgm.h -> sequence.h

* First round of filling in enum

* More

* seqCmd

* format
2021-11-30 13:47:09 -05:00
Roman971 54d77c71f1
Improve gfxprint documentation and strings (#1028)
* Improve gfxprint documentation and strings

* Add GFXP_UNUSED_CHAR and rename bss variable
2021-11-28 08:48:17 -05:00
Roman971 6efb590699
Various minor cleanups (#1029)
* Fix some disp usage in EffectSsGMagma2

* Fix some incorrect SAC flags

* Remove some instances where bool was used

* Fix a few line numbers to be decimal

* Remove MatrixInternal and use Mtx instead

* Fix gs flag names to be plural for consistency

* Fix some hex numbers to be uppercase

* Fix instances of 0X for hex numbers
2021-11-26 17:37:33 -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
fig02 a3b4dcf388
File Select (z_file_choose) OK (#1012)
* matching split

* migrate progress

* split done and rodata migrated

* all data migrated to c

* start init

* progress

* progress

* progress

* progress

* progress

* progress

* copy done

* progress

* erase and settings done

* progress

* progress

* progress

* start keyboard

* progress

* progress

* progress

* progress

* Minor progress

* fix z_magic_dark issue

* func_80806F34 decomp'd

* verified equivalence

* one fix

* format

* merge petries work

* reorganizing

* lots of reorganizing and wraning fixing

* rename file

* remove language enum

* unwanted changes

* some symbol replacement, organization, and some names

* all symbols replaced, some organization

* some more cleanup

* continue docs

* Match the remaining functions in file_choose

* merge master

* select mode documented, all functions in file_choose.c named

* nameset functions named, some other cleaning

* some more general cleanup

* stub comments for cm, name a few things

* fix data and sizeof

* copy/erase functions and modes named

* rename assets, format

* change some struct members

* fixes

* review1

* fix maching error

* extract VTX data

* re add werror to ZAPD

* review 2

* fix

* remove file boundary padding

* remove zeroes

* review3

* change skybox stuff

* changes to  vs  etc

Co-authored-by: KrimtonZ <krimtonz@gmail.com>
Co-authored-by: Thar0 <17233964+Thar0@users.noreply.github.com>
Co-authored-by: mzxrules <mzxrules@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
Co-authored-by: Louis <louist103@gmail.com>
2021-11-15 22:33:44 +01:00
louist103 0b18419489
Scene cleanups (#1002)
* remove fake match

* u32 segment -> void* and add symbols to sEntranceCutsceneTable

* rename some symbols

* remove if1

* add the last missing symbol

* add symbols for almost all extrence textures

* finish adding the symbols

* Remove comment

* spelling fix

* Fig's and Dragorn's fixes

* add symbols to unkknown array

* format

* romans fixes
2021-11-08 21:15:37 -05:00
Anghelo Carvajal 9b89ec5fac
Document `ovl_select` (#966)
* Some renames

* Some renames

* Some more renames

* pageDown

* Last name update

* Translate scene entries

* formatter

* Review

* A bunch of suggestions

* Run formatter

* Roman's suggestions
2021-10-23 20:44:45 -04:00
Dragorn421 f1d27bf653
Fix/cleanup/rephrase miscellaneous stuff (#983)
* Add parens around params usage in VEC_SET macro

* Remove unnecessary space character in a xml

* Use defines instead of magic values in head/tail magic comments

* Use `OS_USEC_TO_CYCLES` to make a time look better in `Graph_TaskSet00`

* `0x25800` -> `sizeof(u16[SCREEN_HEIGHT][SCREEN_WIDTH])`

* `0x803DA800` -> `0x80400000 - frame buffer size`

* Use `OS_VI_` defines instead of hex

* Add empty line after some variable declarations

* Remove unused `extern CutsceneData` in `z_bg_dy_yoseizo.c`

* `Matrix_MtxFToYXZRotS` does not use `MTXMODE_`

* Use `MTXMODE_` more

* Remove `ASCII_TO_U32`, use `'IS64'`

* Add explicit `!= NULL` in some ternaries

* Use `INV_CONTENT`, `AMMO` macros more

* Use `PLAYER_AP_` enum more to compare to `Player#heldItemActionParam`

* Get rid of lowercase hex (outside libultra)

* `gWindMill*` -> `gWindmill*`

* Format and small fix enums in `z_boss_mo.h`

* Use `CHECK_BTN_ANY` more

* Fix xz/xy mistake in comment in tektite

* Rephrase comments mentioning "the devs" in a more neutral way

* Clean-up some objectively useless parens

* Fix some negative values written as u16 instead of s16 in ichains

* `SKJ_ACTON_` -> `SKJ_ACTION_`

* Run formatter

* Fix unk_ offset of `TransformUpdateIndex#unk_10` -> `unk_0E`

* Remove comments using in-game text

* Remove `U` suffix from integer literals

* Revert "Remove `ASCII_TO_U32`, use `'IS64'`"

This reverts commit c801337dde.

* Use `PLAYER_STR_*` to compare to `CUR_UPG_VALUE(UPG_STRENGTH)`

* Add empty line after decl x2

* Revert "Use `PLAYER_STR_*` to compare to `CUR_UPG_VALUE(UPG_STRENGTH)`"

This reverts commit d80bdb32da.

* Make `CUR_UPG_VALUE(UPG_STRENGTH)` compare to integers (eventually needs its own enum)

* Only use `PLAYER_SHIELD_` enum with `Player#currentShield`

* Only use `PLAYER_TUNIC_` enum with `Player#currentTunic`
2021-10-02 23:17:09 -04:00
petrie911 b18227e6ad
Decomp the remaining functions in vr_box and import its data (#917)
* stuff

* not quite there

* data imported

* fixed some things and adjusted sSetupDLs

* remove setup dls

* remove alloc casts

* format

* palette swap

* Update src/code/z_vr_box_draw.c

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

* improved loop matches

* fixed some comments

* format and adjustments

* palettes

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-09-21 04:48:43 -04:00
petrie911 e51f50f0ff
Decompile z_kankyo (#956)
* working

* start color switch

* progress

* progress

* progress on bgm func

* progress

* game over matched (except the rodata meme)

* start update

* progress

* lightning docs done

* progress

* progress

* progress

* progress

* progress

* can compile at least

* suns state, progress on kankyo_update

* some new names

* progress

* progress

* progress

* new functions

* cleanup

* more matches

* another match

* now functional

* format

* better match

* hugely improved update

* cleanup/review

* remove old changes

* review2

* review3

* missed one

* review4

* change asm filenames

* update doorwarp1

* review5

* Kankyo_ -> Environment_

* format

* merge master and format functions.h

Co-authored-by: Jacob Young <jacobly0@users.noreply.github.com>
Co-authored-by: fig <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-09-20 12:51:35 -04:00
louist103 e3f1ccd902
Fix all headers to comply with C standard (#957)
* Fix all headers to comply with C standard

* fix a file in libultra

* Update include/stdbool.h

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

* Update stdbool.h

* Update z64animation.h

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-09-15 19:24:19 -04:00
Zelllll 7551dc2b71
Global Context And General Cleanup (#863)
* door context

* renames

* done

* fix unintended change

* all nb gone

* more nb gone

* merge fishing

* fix size commentX

* door changes suggested by dragorn

* fix accidental semicolon

* another

* change all texture pointers to void*

* error fix and format

* Update src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c

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

* fix ostime

* correct mistake in SkyboxContext

* probably fix nonmatching

* Update include/z64.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* roman's suggestions, fix incorrect type definition in z64scene.h

* typo in struct

* make typedef use u8 array

* forgot one

* pull in master and format.sh

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2021-08-15 19:15:58 -04:00
Revo 463283a1ac
Fix SKYBOX_HOUSE_LINK enum value. (#902) 2021-08-14 11:32:34 +02:00
Sirius902 bc9ca97086
ovl_Boss_Ganon2 (2 nonmatching) (#874)
* Match a few

* Remove cast

* BossGanon2_Destroy

* Some struct layout

* Missed one

* Work on BossGanon2_Update

* Oops missed another

* Work on update more

* Get it to compile

* Work a bit on update

* func_808FD27C

* Cleanup a bit

* Fix incompatible pointer type

* Work more on update

* Multiply

* Fix janky cast regalloc

* Remove some casts

* Move switch case to right spot

* Tiny regalloc

* Fix stack

* Try to fix jump table

* Migrate bss

* Make data match

* Fix minor formatting

* Another minor formatting

* Replace hex with symbols

* Do display lists

* Vertices

* jnt items init

* Split gfx into separate file

* func_808FCF40

* func_808FCF5C

* func_808FD080

* func_808FD4D4

* func_808FF898

* func_808FFA24

* func_808FFAC8

* func_808FFBBC

* func_808FFC84

* use unk_313 as a bool

* func_808FFCFC

* func_808FFDB0

* Add commented static

* func_808FFEBC

* func_808FFFE0

* func_809000A0

* Remove useless cast in func_809000A0

* Remove useless temp

* Fix wrong branch

* BossGanon2_Update

* Fix implicit function declarations

* Type D_8090EB2C to zelda pointer

* Reorder include because why not

* Deduplicate undefined syms

* Add more to struct

* Work on func_808FD5F4

* Major work on func_808FD5F4

* Get func_808FD5F4 to compile

* Make unk_398 unsigned

* Work on func_808FD5F4

* Progress

* func_808FD210

* BossGanon2_Draw

* Make it compile

* Fix compiler warnings

* Fix branches func_808FD5F4

* re-nonmatching func_808FD5F4

* stuff

* fix math functions

* clang format

* more progress

* Replace bit stuff with type

* Merge master

* Add possibly janky things and fix while loop

* Why does this help

* Chained assignment

* Remove dubious thing

* Reorder thing

* Add possibly fake notices

* Use true and false

* Make func_808FD5F4 equivalent

* Massage stack a little

* func_80906AB0

* Correct texture params

* Whitespace is good

* Use decimal line numbers

* func_809069F8

* Work on func_809060E8

* Make funny loop less funny

* Float stuff

* Remove useless cast

* Merge upstream

* Fix compiler error in nonmatchings

* func_809060E8

* Change tex alloc to be full integer

* Add unk_234

* Correct size of unk_2F4

* Make textures u64[]

* Type textures to u64[]

* func_80905DA8

* func_80905674

* Replace some pi

* BossGanon2_PostLimbDraw2

* func_8090523C

* func_80904FC8

* func_80904D88

* BossGanon2_PostLimbDraw

* BossGanon2_OverrideLimbDraw

* func_8090464C

* func_80903F38

* Match func_80900890

* Move func_80906538 prototype

* Work on func_80902348

* Match func_80902348

* Add fake warning to array thing

* Work on func_8090120C

* Remove useless var from func_8090120C

* Work more on func_8090120C

* Move case probably into place func_8090120C

* Work on func_8090120C until 4914

* Add break to switch

* Pass player to startPlayerCutscene

* Work more on func_8090120C

* Work on func_80902524

* Move function prototype

* Match func_80902524

* Clean up sfx ids in func_808FD5F4

* Correct SFX_FLAG in func_8090120C

* Match func_8090120C

* Match func_80904340

* Change tex to u8[]

* Cleanup func_808FD5F4 a bit

* Clean up another inequality func_808FD5F4

* Match func_80904108

* Cleanup for PR

* Cleanup for PR part 2

* Cleanup data a bit and start on func_80906538

* Basically match func_80906538

* Match func_80906538

* Rename tex to shadowTexture

* Work on func_809034E4 a bit

* replace 255 with 0xFF for texture

* Correct NON_MATCHING guard

* Make func_809034E4 equivalent and not ugly!

* Reuse i in func_809034E4

* Minor cleanup in func_809034E4

* Remove unused asm

* Static all the data

* Switch to using assets xml for overlay graphics :)

* Remove now unused undefined syms

* Rename pad to D_809071FC

* Some cleanup

* Cleanup and name more stuff

* Name BossGanon2_DrawShadowTexture

* Rename to sZelda

* Correct array in func_809034E4.s

* Start using proper symbols for assets

* Add morre undefined syms comments

* Cleanup a bit

* Cleanup a bit more

* Use THIS in limb functions

* Update comments

* Use define for actor id

* Remove unnecessary padding in struct

* Rename rand_float to randFloat

* Update src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c

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

* Various minor suggestions

* Replace shadowTexture with void* wherever possible

* Update src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c

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

* Do multiply

* Name some variables from debug prints

* Update src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c

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

* Use ARRAY_COUNT(sParticles) everywhere

* Put data and bss in _data.c

* Remove unecessary @bug s

* Minor suggestions

* Why are there so many timers

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-08-06 20:30:31 +02:00
krimtonz d1a5ea5110
Audio WIP (#836)
* being code_800EC960

* wip

* wip

* more audio progress

* migrate data in code_800E11F0

* wip

* make ok

* remove asm

* wip

* move some variables outside of gAudioContext to the AudioContext structure due to the size used in func_800E3094

* more progress

* wip

* wip

* split code_800E11F0

* migrate rodata in code_800E11F0

* match functions that couldn't because of data issues

* move code_800E4FE0 asm files

* wip

* more wip

* fix global functions, and forward declarations

* wip

* wip

* wip

* ocarina wip

* match a couple functions

* some progress

* separate some bss

* match func_800EDA3C

* some matching

* more matches

* migrate audio rodata

* some matches

* more matchess

* start on synthesis

* work on synthesis

* fix function declaration

* Merge branch 'master' into audio

* match a few more functions

* wip

* wip

* more matching, rename Audio_SetBGM to Audio_QueueSeqCmd

* name several audio functions, and audiocontext members

* more naming, rename code_800E11F0 to audio_load, code_800DAAC0 to audio_synthesis

* audio wip

* match a few more functions.

* wip

* add missing NON_MATCHING directive

* wip

* some matching, data reogranization

* match cursed function

* wip

* wip

* formatting

* remove prefix from struct memebers

* missed function rename

* review

Co-authored-by: fig02 <fig02srl@gmail.com>
2021-07-27 19:44:58 -04:00
Zelllll 89f684b026
Change PreRenderContext to just be PreRender (#862) 2021-07-04 11:58:19 -04:00
Tharo cd9a2ed648
Some progress on z_vr_box.c (#838)
* z_vr_box.c progress

* Rename dpList to dlistBuf and SKYBOX_CLEAR_SKY to SKYBOX_NORMAL_SKY

* Fix

* renamed dlistBuf to dListBuf and split large string further
2021-07-04 11:43:04 -04:00
fig02 0a35c752e7
Some actor.c docs (in preparation for en_test) (#820)
* renames

* format

* format functions.h

* clean

* arg name

* remove asm
2021-06-22 08:51:04 +09:00
Zelllll c644aaa2ee
Interface improvements (#822)
* Add symbols, does NOT build OK

* parameter OK with syms

* Use `static` more and inline arrays

* wip docs

* Start on Interface_Draw, NOT OK yet

* rename variables since interface dev is weird

* nonmatching for now

* kaleido

* Update src/code/z_parameter.c

Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>

* Make most texture rectangles use shifts

* fix symbols for all interface things

* done with interface_draw for now

* Update z_parameter.c

* format files

* fix wrong function calls

* fix bss

* improvements in matching

* remove button enum for now

* (void)0 to fix warning

* make conditional look nicer

* fix

* fix wrong combiner

* Update src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* format

* remove "HUD" naming

* review suggestions

Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2021-06-15 13:29:10 -04:00
Vijfhoek 36fead60a0
Improve z_jpeg documentation (#825)
* Improve z_jpeg documentation

* JpegWork::data is probably better than address

* Rename Jpeg_SendTask to Jpeg_ScheduleDecoderTask

* Rename njpegUCode to gJpegUCode

* Rename GetU16 to GetUnalignedU16 and improve docs
2021-05-26 20:46:07 +02:00
Zach Banks 7c77253eca
ViMode progress (#802)
* ViMode OK

* Fix variable name in regconvert tool

* ViMode: fix formatting

* Add nonmatching impl for ViMode_Configure, respond to PR

- Fixed struct field naming (unkXX -> unk_XX)
- ViMode_Configure args are not flags for top/left etc; seem to be for
    video mode
- Used @Random06457's implementation of `ViMode_LogPrint`

* Use plain LOG_ADDRESS in ViMode_LogPrint

* Incorporate PR feedback from Roman971
2021-05-03 21:49:09 -04:00
Roman971 a53e084cd2
Decompile the pause menu aka. ovl_kaleido_scope (+ minor changes) (#803)
* Decompile ovl_kaleido_scope + minor cleanups

* Add a common header for ovl_kaleido_scope

* Start cleaning up and documenting kaleido_scope (+ some interface docs)

* Improve and fix some kaleido_scope non matchings

* Match KaleidoSetup_Init

* Extract icon_item_fra/ger_static files

* Add more documentation and matches to kaleido_scope

* Improve the z_kaleido_collect.c non matching

* Rename z_kaleido_8081EFF0.c to z_kaleido_prompt.c

* Update most kaleido variables to be static

* Improve GS flag macros

* Improve z_lmap_mark.c and extract z_lmap_mark_data.c with a script

* Various minor fixes and improvements

* Minor fixes and review changes

* Review changes part 2

* Rename gSetTileCustom to gDPSetTileCustom

* Review changes part 3
2021-05-02 19:15:16 -04:00
petrie911 7b2b88d552
Volvagia (ovl_Boss_Fd) and related actors (#352)
* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* Lots of functions matched. Some big ones are close.

* Five left unmatched, one close.

* Merged data and decompiled the giant function into something readable. Its branch structure has yet to be matched.

* Three unmatched, one essentially matched, the rest matched.

* More fixes.

* Documented more of the structure and cleaned up a bit.

* BossFd2, BgVbSima, and EnVbBall matched and documented

* Also removed unneeded .s files

* And need to name EnVbBall's functions

* give this a shot

* fix conflict

* one more try

* removing darkmeiro changes

* and again

* now OK from make clean

* minor cleanup

* One more matching function for BossFd

* which means it doesn't need its .s

* splitting

* splitting

* splitting

* forgot some .s

* fancy new names

* fancy new names

* trying again

* sneaky .s files

* sound effects and some hex to decimal conversions

* Sound effects and static variable cleanup

* format.sh and clean up static variables

* sfx and formatting

* ZAP and cleanup

* small cleanup

* cleanup and ZAP

* ZAP

* looking at the giant function again

* looking at the giant function again

* Only the big function left.

* Those .s files aren't mine, officer

* float literals might be fixed. regalloc still a nightmare

* almost done with the big function

* should make now

* not much of a change

* all functions match. rodata somehow doesn't.

* forgot some things

* lots of cleanup

* and a little more

* small error

* large cleanup. Also BossFd has function names and inlined variable declarations

* still more cleanup

* the quest for 0.1f continues

* forgot to put NON_MATCHING back in

* Data structures fully documented. Still more cleanup.

* DECR now works with BossFd2

* should match now

* cleanup

* small cleanup

* cleanup and names

* tiny thing

* particles and headers and stuff

* now with more enums

* merge

* test

* end test

* update

* cleanup

* object 2

* object 1

* doc object_fd2

* git subrepo pull --force tools/ZAPD

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

* formatting

* .s

* merge actor

* vertex arrays

* a little more

* formatting

* merge opd

* fixed damage check

* cleanup

* fixes

* effect struct

* review

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: fig02 <fig02srl@gmail.com>
2021-04-17 19:12:46 +02:00
Synray 7f94088a3b
En_Horse OK (#554)
* En_Horse OK

* Remove reloc

* WIP

* Use EnIn

* Documentation

* Documentation

* Remove debug prints

* Warnings

* Cleanup

* Unused asm

* Review comment

* Review comments and reformat

* More review comments

* Rename flags

* Review changes

Co-authored-by: Fig02 <fig02srl@gmail.com>
2021-04-11 21:23:40 -04:00
gamestabled 03b81c71c2
named members of TitleCardContext (#749)
* named members of TitleCardContext

* changed screenX/Y to just x/y

* added clarifying comments and renamed timer -> duration because i think its better

* changed names to delayTimer and durationTimer

* made texture a void*

Co-authored-by: gamestabled <chandler2016@yahoo.com>
2021-04-05 13:37:46 -04:00
Dragorn421 288320317c
Gohma (ovl_Boss_Goma) (#397)
* ovl_Boss_Goma OK, except func_80917D98

* ovl_Boss_Goma OK and documented

* Minor cleanup: shorten enums, use named constants...

* Floats with .0f, less useless static usage, details on oversight about spawning child gohmas, cleanup...

* More documentation, hopefully less weird about documenting setups and actions

* fix fhg_fire

* remove warnings

* formatting things

* newlines

* review

Co-authored-by: Fig02 <fig02srl@gmail.com>
2021-04-03 16:58:33 -04:00
petrie911 9b4482314a
OnePointDemo OK (#719)
* matches

* more matches

* progress?

* it's time

* so close

* organize declarations

* docs

* more fixes

* more fixes

* fix stage 1

* more fixes

* first try

* demo ids in decimal

* final cleanup

* one more thing

* fixes

* more cleanup

* onepointcs

* OnePointCutscene

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-03-31 12:18:31 -04:00
mzxrules 86f16cf662
"decompile" ovl_map_mark_data, make minor tweaks to z_map_mark.c (#704)
* "decompile" ovl_map_mark_data, make minor tweaks to z_map_mark.c

* implement some suggestions

* eliminate wrapping braces
2021-03-29 19:24:08 +02:00
Kenix3 f4499a8de2
En_Clear_Tag OK and documented (#689)
* Decompile and document En_Clear_Tag

* Adds a define for setting the total count of ClearTag particles.

* Fixes swap in particle effect struct member names.

Additionally, implements the DECR macro where available.
Additionally, implements the CLAMP_MIN macro.
Additionally, adds more comments inside of functions explaining how the Arwing works.

* Reformats z_en_clear_tag.c after recent fixes.

* Removes not OK DECR and CLAMP_MIN macros.

I don't know why they built locally OK for me. May have had a stale build.

* Added static to data declarations.

Additionally added white spacing between data definitions.

* Various syling fixes in EnClearTag

Fixes inconsistent usage of particle/effect. They're Effect is the better name, so I went with that.

Fixed a naming issue in CalculateFloorTangent.

Adds s prefix to all the static variables.

Renames clearTagParticlesBuffer to sClearTagEffects

Consistent capitalization in comments.

Adds more descriptive comments to function level comments that didn't say a lot already.

Renamed gameplay.particleEffects to gameplay.specialEffects.

Renames cameraNumber to cameraId.

Fixed capitalization in display list variable names.

* Always capitalize the A in arwing.

* Fixes issue with overzealous replacement of arwing -> Arwing

* Renames arwing display lists to include the g prefix.

* Renames effect seed -> random

* Removes unnecessary decrement timer comments.

* Updates Arwing comments to detail why it's important that the roll is updated to zero.

* Updates stack variable names in EnClearTag_Update to be more consistent with each other.

* Updates Arwing crashing documentation.

* Further update documentation on arwing crashing.

* Even further updates to Arwing crashing docs.

* Fixes issue of missing newline in En_Clear_Tag.xml

* targetDirection reset now has a chained assignment

* Rotation angle to hex

* Fixes rotation hex and identifies float.

* Updates arwing fire check.

* Arwing cutscene timer is multiplied by 128 rather than shifting 7

* Updates scaledCrashingTimer assignment to be more consistent.

* Updates max scale to multiply by 2

* Gives name to the work buffer indices.

Additionally, makes enum names more consistent.

* Removes unnecessary globalCtx2 in EnClearTag_CreateFlashEffect

* Runs format.sh after recent changes.

* Updated path of ClearTag assets.

* Clear tag now uses Arwing in the display list name for all effects.

* Updates work buffer to expand and contract as new enums are added.

* Uses c99 defines in my c89

* Updates the unknown 8 bytes in en_clear_tag

* review

Co-authored-by: fig02 <fig02srl@gmail.com>
2021-03-29 19:14:08 +02:00
fig02 1639417327
code_80110450 (game over) OK* (#739)
* OK (sort of)

* remove hack

* clean up comments
2021-03-28 19:50:46 -04:00