summaryrefslogtreecommitdiff
path: root/src/code/sys_matrix.c
AgeCommit message (Collapse)Author
2025-06-04Remove "z64" prefix from all headers (#2518)fig02
* z64 - a * z64 - b * z64 - c * z64 - d * z64 - e * z64 - f * z64 - g * z64 - h * z64 - i * z64 - l * z64 - m * z64 - o * z64 - p * z64 - q * z64 - r * z64 - s * z64 - t * z64 - v * restore file * fix merge * fix merge --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2025-04-27Delete macros.h; Delete global.h (#2516)fig02
2025-04-23macros.h 1/?: `PRINTF` and `T` (#2509)fig02
* create printf and translation headers * non-overlays complete * printf finished * move T macro * edit comment * fix error * fix bss * remove is_64 * fix bss
2025-02-13Reduce overlay dependencies on global.h (6) (#2468)mzxrules
* add some headers, split some of z64.h * MtxClear -> IdentityMtx * more misc cleanups * move D_80116280 to header, fix build issue * remove z64.h * Revert "MtxClear -> IdentityMtx" This reverts commit 8fc74c0672f72b91ae4068e73228fc46fe9465d4. * split z64path.h and z64skin.h functions * z64face_reaction.h * cleanup overlay global references * trim padding * bss
2025-02-08Rename gMtx(F)Clear to gIdentityMtx(F) (#2458)mzxrules
2024-11-17Decouple Debug Features From gc-eu-mq-dbg (#2296)fig02
* 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-09-28[PAL N64] Completely match pal-1.0 and pal-1.1 and add to CI (#2246)cadmic
* [PAL N64] Match pal-1.0 and pal-1.1 and add to CI * bss fixes from Jenkins
2024-09-11Cleanup gSPMatrix, rename `Matrix_New` -> `Matrix_Finalize`, add ↵Dragorn421
`MATRIX_FINALIZE_AND_LOAD` (#1983) * clean up gSPMatrix usage * add weird hybrid macro gSPMATRIX_SET_NEW * Matrix_NewMtx, MATRIX_NEW -> Matrix_Finalize, MATRIX_FINALIZE * gSPMATRIX_SET_NEW -> MATRIX_FINALIZE_AND_LOAD * format
2024-09-04Pause docs: `WorldMapArea` enum and related data (#2130)Dragorn421
* Pause docs: WorldMapArea enum and related data * `WORLD_MAP_AREA_20` -> `_QUESTION_MARK` * bss
2024-08-28[ntsc-1.2] Match N64 libultra (#2081)cadmic
* Match N64 libultra * INITIALIZE_FUNC -> OSINITIALIZE_FUNC * Document osGetIntMask * Refer readers of osGetIntMask to osSetIntMask comment * Whitelist new static functions in disasm unksyms check
2024-08-28[ntsc-1.2] Decompile fault.c (#2046)Dragorn421
* 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-25[ntsc-1.2] Decompile cic6105.c, main.c (#2068)Dragorn421
* decompile-OK Main, cic6105.c * names cleanup / minimal doc * match versions * fix bad disasm metadata format * bss * bss * review 1 * review 2 * review 3 * review 4 * cleanup * bss * add some sizes to disasm metadata symbols
2024-02-27Filename & line number args cleanup (#1891)Tharo
* Filename & line number args cleanup * Use int for line number args over s32/u32 * Add missing const qualifiers from filename args * Fix gcc warning in game.c * Add comment to weird assignments in GameState_Init
2024-02-01Match sys_matrix.c (#1682)cadmic
2024-01-30Define OOT_DEBUG=0 in retail builds (#1658)cadmic
* Define OOT_DEBUG=0 in retail builds * Fix ifndef * Replace VI_MODE_EDITOR_INACTIVE * Revert "Replace VI_MODE_EDITOR_INACTIVE" This reverts commit f7c4cae7c3b3d9fdc56e97183690c05f2dcec215. * Replace VI_MODE_EDITOR_INACTIVE, take 2 * Revert EnBom_Draw
2024-01-12Replace most osSyncPrintf calls with PRINTF macro (#1598)cadmic
* Replace most osSyncPrintf calls with PRINTF macro * DEBUG -> OOT_DEBUG
2024-01-09Create debug macros for common functions (#1597)cadmic
* 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
2022-10-15`gbi.h` and `ucode_disas.c` cleanups (#1267)Tharo
* 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-04-24Angle cleanup - macros names (#1193)Dragorn421
* Move binang utility macros out of angle conversion macros block * `BINANG_TO_DEGF` -> `BINANG_TO_DEG_ALT` (it may even be warranted to name it _approx instead of _alt, unsure) * Add `BINANG_TO_DEG` (unused by oot) (for completeness) * `DEGF_TO_BINANG` -> `DEG_TO_BINANG_ALT` (again may even be _approx, or maybe _cam) * Add `DEG_TO_BINANG` (unused by oot) (for completeness) * `RADF_TO_BINANG` -> `RAD_TO_BINANG` * `RADF_TO_DEGF` -> `RAD_TO_DEG` * Cleanup argument names in angle conversion macros * Format for angle macros changes * Run formatter * Move `DEG_TO_BINANG_ALT`, `BINANG_TO_DEG_ALT` to z64camera.h * Remove `DEG_TO_BINANG`, `BINANG_TO_DEG` * Remove `_ALT` from `DEG_TO_BINANG`, `BINANG_TO_DEG` * Add comment about inaccuracy near `DEG_TO_BINANG`, `BINANG_TO_DEG` * run formatter * `CAM_` prefix on `DEG_TO_BINANG`, `BINANG_TO_DEG` macros * Revert "Remove `DEG_TO_BINANG`, `BINANG_TO_DEG`" This reverts commit 5321647e5b2e3538ef25325f41399e1dd3984656.
2022-03-13Angle cleanup - `RADF_TO_BINANG` (#1155)Dragorn421
* Run formatter * Touch up angle macros (parentheses and hex constants) * Use `RADF_TO_BINANG` more
2022-02-21Fix oob access in Matrix_SetTranslateScaleMtx2 (#1152)Anghelo Carvajal
2022-01-11Document undocumented matrix functions (#955)Dragorn421
* Document `func_800D1694` as `Matrix_TranslateRotateYXZ` * Document `func_800D1FD4` as `Matrix_ReplaceRotation` * Cleanup `Matrix_RotateAxis` * Document `func_800A7EC0` as `SkinMatrix_SetRotateAxis` * Document `func_800D2A34` and `func_800D2A98` as `Matrix_SetTranslateScaleMtx`(`F`) * Document mostly unused functions at the end of `sys_matrix.c` * Add in-use renamed functions to `namefixer.py` * Add `Matrix_SetTranslateScaleMtx2` to `namefixer.py` * Run formatter * Fix namefixer.py mistake from #952 * Format clang-11.1 * Fix `Matrix_TranslateRotateYXZ` wrongly documented, it actually is `Matrix_SetTranslateRotateYXZ` * VS Code is stellar at refactoring (no) * Run formatter * Come on VS Code * Improve `Matrix_ReplaceRotation` docs * Fix typo * Fix namefixer.py
2021-11-17Fix matrices documentation (#952)Dragorn421
* Update names and doc of `Matrix_RotateRPY` and `SkinMatrix_SetRotateRPY` to ZYX Tait-Bryan angles * Update name and doc of `Matrix_JointPosition` to `Matrix_TranslateRotateZYX` * `Euler ***` -> `Tait-Bryan *** angles` * Update docs of `SkinMatrix_Vec3fMtxFMultXYZW` and `SkinMatrix_Vec3fMtxFMultXYZ` * Fix doc of `SkinMatrix_MtxFMtxFMult` * Update docs of `SkinMatrix_Invert` * Change name and docs of `SkinMatrix_SetRotateYRP` to `SkinMatrix_SetRotateYXZ` * Change name and docs of `SkinMatrix_SetScaleRotateRPYTranslate` to `SkinMatrix_SetScaleRotateZYXTranslate` * Change name and docs of `SkinMatrix_SetScaleRotateYRPTranslate` to `SkinMatrix_SetScaleRotateYXZTranslate` * Change name and docs of `SkinMatrix_SetRotateRPYTranslate` to `SkinMatrix_SetRotateZYXTranslate` * Add renamed functions to `namefixer.py` * Run formatter * Consistent function names (`ABC()` if equivalent to `A() B() C()`)
2021-08-31Rename MtxF members to use the common convention (#923)Dragorn421
* Rename MtxF members like xy -> now_21 * Revert comments I didn't mean to commit * Rename c*/r* temps in `SkinMatrix_MtxFMtxFMult` * Rename MtxF members like now_21 -> yx
2021-08-22Document EnGoroiwa and BgJyaGoroiwa (#860)Dragorn421
* Document EnGoroiwa and BgJyaGoroiwa * Run format.sh * Add renamed functions to actorfixer script * no more calling out "the devs" for bad code * `EnGoroiwa#flags` -> `stateFlags` * `Matrix_MtxFToRotS` -> `Matrix_MtxFToYXZRotS` (and not ZXY oops), `func_800D2264` -> `Matrix_MtxFToZYXRotS`
2021-04-29`assert` macro OK (#755)Anghelo Carvajal
* create assert macro and replace a bunch of __assert Signed-off-by: angie <angheloalf95@gmail.com> * Another bunch of assert Signed-off-by: angie <angheloalf95@gmail.com> * more assert Signed-off-by: angie <angheloalf95@gmail.com> * assert(false) Signed-off-by: angie <angheloalf95@gmail.com> * last assert used in matching code Signed-off-by: angie <angheloalf95@gmail.com> * the non-matchings Signed-off-by: angie <angheloalf95@gmail.com> * typo Signed-off-by: angie <angheloalf95@gmail.com> * format Signed-off-by: angie <angheloalf95@gmail.com> * change macro to uppercase Signed-off-by: angie <angheloalf95@gmail.com> * Apply suggestions from code review Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Change ASSERT(false) to ASSERT(0) Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2021-04-05Match the last 4 functions in sys_matrix.c (#761)Roman971
2021-02-24Rename Matrix_Pull to Matrix_Pop (#703)Roman971
2021-02-13Fix most compiler warnings in the boot and code segments (#674)Tharo
* Less warnings in boot & code segments * few more warnings gone * Ran formatter * z_view warning gone * -> 1 * f31 -> 31 * Remove function casts * Few more small improvements * Separate declaration and assignment in func_80091738 and Item_Give Co-authored-by: Thar0 <maximilianc64@gmail.com>
2020-12-26Consistent naming for Math_ functions (#542)petrie911
* Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * could be useful * whoops * ZAP2 stuff * ZAP why * ZAP again * maths * Factoriali -> Factorial * soon, soon * renames * rand * docs * merged * formatting * little more cleanup * asm crept back in * changes to MathF * smooth criminal * functions.h
2020-12-01Matched functions in sys_matrix (#505)petrie911
* Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * could be useful * whoops * ZAP2 stuff * ZAP why * ZAP again * first match * more matching
2020-10-26Revert accidental rename of Matrix_MtxFToNewMtx (#460)Roman971
2020-10-03libultra cleanup (#215)Random
* cleanup libultra * fixes - use quotes instead of <> for includes - add macros for zelda specific thread priorities - fix Makefile - properly format the remaining pfs structs * fix button macros + add CHECK_BTN_ANY/CHECK_BTN_ALL * remove ULTRA_ABS * fix includes * update z_player.c/z_lib.c + run format.sh * merge upstream/master * fix include in En_Goroiwa * fix includes
2020-08-08z_skin_matrix.c decompiled (1 non matching, 1 non equivalent) (#243)AdamKiddle
* func_800A7BE4 and func_800A7C20 done - func_800A7BE4 copy of "Math_Vec3f_ToVec3s" in z_lib.c - func_800A7C20 copy of "Math_Vec3s_ToVec3f" in z_lib.c * done func_800A7A24 * func_800A76A4 done * func_800A6E10 done * func_800A6EF4 done * func_800A6FA0 done * func_800A72FC done * Deleted z_skin_matrix.data.s and updated spec * func_800A730C done * func_800A735C done * func_800A7E70 done, func_800A7C60 matching but I'm not happy with it (weird types in function params) * Corrections. func_800A7C60 in skin_matrix done, Matrix_MtxFToMtx in sys_matrix done. * func_800A7EC0 nonmatching * func_800A8030 nonmatching but VERY close (two registers swapped) * func_800A8030 done * updating comments * func_800A7704 done * func_800A7894 done * halfway through deciphering mips_to_c for func_800A73E0 * func_800A73E0 functional but non-matching (saved register differences and probably regalloc) * Renaming some arguments and rewriting comments * Renamed files across whole project and deleted asm nonmatchings * ran format.sh * fixed function name * fixing multiplcation order in SkinMatrix_MtxFMtxFMult * Corrections in SkinMatrix_MtxFMtxFMult * Formatting changes after review * Changes as per code review * fixing rename error * fixing rename error * rename fixes * fixing function rename error * ran ./format.sh * last couple of changes as per code review * renamed SetScaling -> SetScale * Skin_Matrix_Invert -> SkinMatrix_Invert * Renaming and fixing debug message print * Renamed argument "mf" to more specific "clear" in SkinMatrix_GetClear * renamed again to "mfp" * snake case to camel case changes
2020-05-26Decompiles sched.c (#145)krimtonz
* decompile sched.c * rename Game_AllocEnd to Game_Alloc in z_effect_soft_sprite.c * pr updates
2020-05-25Decompile a bunch of small files (#160)Random
* Decompile a bunch of small files * Rename dacrate to dacRate * Run format.sh * Minor fixes in PR #160
2020-05-14Decomp game.c (#129)krimtonz
* decomp most of game.c * improve GameState_DrawInputDisplay matching * fix merge conflicts * pr suggestions * remove builtin math functions
2020-04-28rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf (#96)krimtonz
* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf * rename Matrix_RotateRPYf to Matrix_JointPosition * rename Matrix_RotateZYX to Matrix_RotateRPY
2020-04-16Decompile z_play.c and Match/Document some of z_view.c (#74)Roman971
* Decompile z_play.c and Match/Document some of z_view.c Also fix the last non matching in z_sample.c and update some game state functions. * Suggestions from PR #74 * Fix undefined reference to Gameplay_DrawOverlay * Suggestion from PR #74 (2) * Fix a fake argument in func_800BC450
2020-03-30skelanime update wipKrimtonZ
2020-03-24minor formatting updates, match func_800A4A20KrimtonZ
2020-03-24use clang, modify z64animation.h and z64dma.h to use open braces on newlineKrimtonZ
2020-03-24Merge branch 'master' into skelanimeKrimtonZ
2020-03-24Run formatter with changesRoman971
2020-03-23skelanime WIP, name Matrix_TranslateThanRotateZYX, match Matrix_TranslateKrimtonZ
2020-03-22Format all src C filesRoman971
2020-03-21code_800FCE80 OKglank
2020-03-17First proper commit.Jack Walker