summaryrefslogtreecommitdiff
path: root/src/code/db_camera.c
AgeCommit message (Collapse)Author
2025-06-17Document `Save.cutsceneIndex` and adjacent data / code (#2286)Leonid Kapitonov
* introduce `enum CutsceneIndex` as a first step * crudely rename `enum CutsceneIndex` entries * run `check_format.py ...` separetely so that it doesn't clutter previous commit. still, allowing `clangd LSP` to run format-on-save yields inconsistent results for me with the project's tooling, especially for header files * apply a draft PR suggestion Co-authored-by: mzxrules <mzxrules@gmail.com> * rename `CS_INDEX_*` with PR suggestions and some additional observations reverified with > `check_format.py ...` > `make ...` additionally: - current clang-format lacks a rule for trailing commas - compiler says about them `cfe: Warning 624` * improve `CS_INDEX_*` naming, rem `ENTRANCE` suffix https://github.com/zeldaret/oot/pull/2286#discussion_r1829165205 reverified with > `check_format.py ...` > `make ...` * apply Jenkins fixes https://jenkins.deco.mp/job/OOT/job/PR-2286/4/console hmm, i do need this automation locally to * apply a PR suggestion https://github.com/zeldaret/oot/pull/2286#discussion_r1829219841 * remove redundant comments, fix the header comment and add a comment chunk from https://github.com/zeldaret/oot/pull/2286#discussion_r1829108940 * rename the flag for freeing `nextCutsceneIndex` * rename the flag for automatic `sceneLayer` calc it gets assigned to the `nextCutsceneIndex`, so `CS_INDEX_NONE` name was misleading * use explicit scene layer names instead of numbers * ok, now the last two `CS_INDEX_*` are less unknown the purpose of `CS_INDEX_BARRIER` is not quite clear still * apply Jenkins fixes https://jenkins.deco.mp/job/OOT/job/PR-2286/14/console * run `fix_bss` locally `ntsc-1.2` refused to comply though * revert all local to the branch bss shifts * ugh, use defines instead of an enum probably size of enum entries doesn't match well? originally these were just numbers. besides, not like it's a real enumeration from zero to a value or some bit flags * still, add a BSS pragma for `z_demo.c` * apply review changes * factor out a cutscene layer formula * give scene layers names throughout code * apply Jenkins fixes https://jenkins.deco.mp/job/OOT/job/PR-2286/32/console * tweak `CS_INDEX` descriptions * apply PR review suggestions * rename "auto" -> "default" * apply PR review suggestions https://github.com/zeldaret/oot/pull/2286#discussion_r1868693980 essentially reverts 106cb1021be88f745ee303838c11c7d7cbf9c79d, except for 2 generic `z_scene.c` lines * apply Jenkins fixes https://jenkins.deco.mp/job/OOT/job/PR-2286/77/console * Apply suggestions from code review Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: mzxrules <mzxrules@gmail.com> * apply Jenkins fixes https://jenkins.deco.mp/job/OOT/job/PR-2286/175/console * Move CS_INDEX_* macros to z64save.h, with the definition of gSaveContext.save.cutsceneIndex * `#define CS_INDEX_D 0xFFFD` and co. Co-authored-by: cadmic <cadmic24@gmail.com> * add comment on CS_INDEX_D * review * CS_INDEX_NONE is back * bss * expand comment about 0xFFFD * fix comment about 0xFFFF usage * review --------- Co-authored-by: mzxrules <mzxrules@gmail.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: cadmic <cadmic24@gmail.com>
2025-06-15Macroify PlaySfxGeneral calls: introduce `SFX_PLAY_CENTERED` and ↵Dragorn421
`SFX_PLAY_AT_POS` (#2633) * Add `SFX_PLAY_CENTERED` * Add `SFX_PLAY_AT_POS`
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-26add array_count.h (#2514)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-26Reduce dependencies on global.h (10) (#2490)mzxrules
* reduce z64.h size * fix z_cheap_proc.inc.c * ,bss * remove temp delcaration
2025-02-19Reduce overlay dependencies on global.h (8) (#2478)mzxrules
* move variables into z64environment.h * z_room.h * z64sram.h, z64ss_sram.h, z64font.h, kanread.h * z64lifemeter.h, z64debug.h, debug_arena.h * buffers.h * remove z_bgcheck global * gamealloc.h * suggestions * .bdd
2025-02-16Reduce overlay dependencies on global.h (7) (#2472)mzxrules
* z64env_flags, z64quest_hint_commands * z64cutscene_spline, z64save.h moved from z64.h * bss * pr suggestion * bss * suggestions
2025-02-12Reduce overlay dependencies on global.h (5) (#2466)mzxrules
* remove global.h dependency from all actors * fix compiler error * fix another build issue * fix bss
2025-02-05Reduce overlay dependencies on global.h (3) (#2449)mzxrules
* kill more global.h references * .format.py * bss * ique
2025-01-10Only build .o files listed in the spec (#2410)cadmic
* Only build .o files listed in the spec * Remove useless CPP guards
2024-12-02Fix some more GCC warnings, mark some bugs based on GCC warnings (#2309)Tharo
* 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-02-03Give debug_malloc.c the same treatment as system_malloc.c and z_malloc.c (#1700)cadmic
2024-01-12Replace most osSyncPrintf calls with PRINTF macro (#1598)cadmic
* Replace most osSyncPrintf calls with PRINTF macro * DEBUG -> OOT_DEBUG
2023-11-19Struct Returns (#1574)engineer124
* change args * PR Review * format
2023-10-17Use `long` over `int` for s32/u32 types (#1546)Tharo
* long s32 * Suggested changes
2023-08-13Split `SaveContext` into sub-structs (#1393)Dragorn421
* Split SaveContext struct * run formatter * Remove temporary-until-split stuff in z_sram * . * run formatter
2023-01-12DbCamera to DebugCamera (#1482)engineer124
* better dbCam prefix * missed some * PR Suggestions * alignment * more debug * cleanup
2022-12-30Document debug text drawing functions in z_debug.c (#1472)fig02
* name functions and clean up some stuff * clean up function call args and use enum, format * slightly change comment * review * make things more debug cam oriented * rename buffer * regs update comment * move enum
2022-12-24z_demo documentation (#1327)fig02
* commit old stuff * progress * progress * progress * progress * more progress, renaming cues next * small changes * enum values added for all actions * hardcoded values removed when possible * commands renamed * first pass of action -> cue * fix some matches * some more cleanup * scriptPtr * forgot one * remove cue rot union * more changes * some more stuff * more stuff * fix matching issues * some more things * progress, starting to rename destinations * small changes * name some destinations * more names * need to switch branch * progress * first pass of destination names * usages fixed * use destination enum * fix csdis * format * command descriptions * revert accidental zap changes * forgot some things * use a single macro for CutsceneCameraPoint (idk why i didnt think of this sooner) * typo * review1 * clarify ruby/sapphire comment * remove endframe for commands that dont use it * some more review * most review, but not all * scriptPtr -> script, and another small change * ocarina action * remove +1 from light settings command, change comment * actionIndex -> cueIdTemp (i guess) * _SetCueX -> _SetXFromCue * format * tweak fade out seq arg names * use spline terminology * more dragorn and engineer review * misc start/end frame note * cleanup StartPosRotFromCue vs PosRotFromCue * cleanup spline terminology * sPrevCamId -> sReturnToCamId * comment on debug cs data address * Cutscene_Init -> Cutscene_InitContext * single point types are not a list * remove todo comment * some more review * rumble struct names * some review * more review * missed one * reword pointer comment * even more review * match transition terminology with z_play * change condition and format * frame count * command specific structs with alignment * anon review * remove unneeded arg from time macro * yeet `CsCmdGeneric` * remove unused from single point types * typo * compromise attempt -- name endFrame everywhere * fixes * fix again * copied the wrong note * cutscene data note * review, format * compat defines * idk whats going on man Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-11-22Document Hud Mode (#1323)engineer124
* begin interface alpha docs * more progress/docs * First draft of docs done * cleanup * Consistency * Display -> Mode * Remaining display -> mode * Better docs * Small touchups * Small Update * Apply discord discussion * small fix * More discussions * PR Suggestions * Roman PR Suggestions * better comments * PR Suggestions * another suggestion * discord discussions * cleanup comments * more discord/pr suggestions
2022-11-16Mempak doc (#1382)Tharo
* Mempak doc * Format * Suggested changes * Further changes
2022-10-15Improve match for `DbCamera_CalcUpFromPitchYawRoll`, add docs (#1408)engineer124
* improve match * found solution without void
2022-10-15Cleanup `VecSph`: Better Distinguish Between "Spherical" vs. "Geographic" ↵engineer124
Coordinates (#1407) * begin geo and sph docs * cleanup * cleanup * cleanup struct * PR suggestions * spacing
2022-09-03More documentation for padmgr.c (#1336)Tharo
* 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-08-15Doc shrink_window, rename system to Letterbox (#1341)fig02
* docs * missed some hex * document Gfx_SetupFrame * review
2022-07-30Rename "Sound" to "Sfx" (#1292)engineer124
* 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-14Cleanup z_debug (reg editor) (#1290)Dragorn421
* 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-06-22Remove `BINANG_ROT180` (#1241)Dragorn421
2022-06-03Fix a number of warnings when compiling with GCC (#1239)Tharo
* Silence a number of GCC warnings * Remove * Suggested changes * Format * Fix comment in en_go2
2022-05-21PlayState Rename (#1231)fig02
* global context -> play * fix PlayState* PlayState
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-04-23Name variables for Audio_PlaySoundGeneral (#1198)engineer124
* Rename variables and function * Improve comment * PR Suggestion * PR Suggestions * Revert back to `Audio_PlaySoundGeneral`, make a separate PR `Sound` -> `Sfx` * Oops, fixed that
2022-04-03Angle cleanup - miscellaneous (#1159)Dragorn421
* Add `BINANG_TO_RAD_ALT2` * Few hex constants in place of decimal cardinal angles * Use `BINANG_TO_DEGF` more * Use `DEG_TO_RAD(int)` for angle literals * `BINANG_TO_RAD_ALT(literal)` -> use `BINANG_TO_RAD` * Somewhat arbitrary literal angles cleanup
2021-12-05Use defines for actor flags (#873)Dragorn421
* Add ACTOR_FLAG_ defines * Add ACTOR_FLAGS_ALL macro and use ACTOR_FLAG_* constants everywhere * Remove unused ACTOR_FLAG_* constants * actor flags in bigokuta & ko * actor flags in obj_mure * actor flags in stalfos, twinrova & ganon2 * actor flags in morpha & barinade * name some previously missed actor flags * found some comments using hex for actor flags * Actor flags in ovl_En_Ganon_Mant * Actor flags in EnWf * Flags in en_zf * Actor flags in BossGanon (FeelsOKMan) * Remove `ACTOR_FLAG_NONE` * Wrap expansion of `FLAGS` in parentheses * `ACTOR_FLAGS_ALL` -> `CHECK_FLAG_ALL` * Move `CHECK_FLAG_ALL` to `macros.h` * Run formatter
2021-11-30Misc Cleanup 2 (#1007)Dragorn421
* 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-28Improve gfxprint documentation and strings (#1028)Roman971
* Improve gfxprint documentation and strings * Add GFXP_UNUSED_CHAR and rename bss variable
2021-11-22z_message_PAL, message_data_static and surrounding doc (#996)Tharo
* 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-10-23Document `ovl_select` (#966)Anghelo Carvajal
* 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-01Match the remaining functions in db_camera.c (#991)Roman971
2021-09-28Format all translation comments like `// "..."` (hopefully all of them) (#986)Dragorn421
* Format all translation comments like `// "..."` (hopefully all of them) * Move translation comments to before on long lines Located them with `grep -r src -e '^[^(]*);[ ]*//'` Regex `osSyncPrintf\([^;]*\n.*//` didn't find more * Format two more
2021-09-08Improve non-matchings in DbCamera (#953)engineer124
* DbCamera_Update equivalent * Very small progress * cleanup * More cleanup * format * even more cleanup * typo
2021-09-07Fix compiler warnings in z_camera/db_camera (#947)zelda2774
* Fix compiler warnings in z_camera/db_camera * review Co-authored-by: zelda2774 <zelda2774@invalid>
2021-08-19cleanup warnings (#907)louist103
* cleanup warnings * remove camera header from some places * Remove extra new line
2021-07-26db_camera (#842)Random
* Decompile shrink_window.c * progress * progress * makefile * progress * match 8 functions * 1 more match * match 2 functions * decompile func_800B9638 * fix flow * migrate .bss * doc * name some stuff * fixes * comment fix * remove scene .c files * old z_camera .s files * revert z_camera change * revert unwanted z_camera change * fixes * remove unused files, run clang-format and fix non-matching * fix clang-format causing non-matching * remove newline + old comment in func_800B3BD4 * make db_camera global variables static * add s prefix to startic variables * change magic constants * rename "unk_50" * Match func_800B3BD4 and Match DbCamera_UpdateDemoControl (-bss) * Lots of progress on update * Mainly cleanup * run format.sh + remove unused asm * replace chevrons with add quotes * remove useless cast + use correct empty argument function declaration Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
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-06decompile z_camera (#398)krimtonz
* cleanup * name camera action functions * decompile a few small functions, name a few Camera struct members * decompile camera data, decompile a few camera functions * Split ASM for code_800BB0A0 * removing code_800BB0A0.s * PR Requests, Camera WIP * remove #define NON_MATCHING from db_camera * rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c * camera wip * rename some struct memebers, some decomp wip * pr updates * camera wip * name some fields in Camera Struct, being making sense of Camera_Update * Camera WIP * wip * wip * add z64camera.h header, begin creating CameraSetting macros * wip * wip * wip * wip * migrate camera bss to c * match a couple functions in db_camera * match some small db_camera functions * wip * migrate db_camera rodata, match a few functions * remote db_camera.rodata.s * match some of db_camera * identify types of some unknown data pieces * some small wip * Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs * add naming for a few more Camera struct members * wip * match func_80043F94 * Match Camera_Jump1 * document some of Camera_Jump1 * wip * match Camera_Jump3 * Match Camera_Update, FeelsAmazing * wip * wip * match Camera_SetParam * minor cleanup * wip * wip * match Camera_KeepOn0 * some documentation, modify some matching functions to match style of others. * match Camera_Demo1 * match camera_demo9 * document Camera_Demo1 and Camera_Demo9 * wip * Match camera_battle4 * match camera_unique2 * Match Camera_Unique3 * match camera_special6 * match Camera_Special5 * wip * document camera_special6 * naming updates * match camera_Unique1 * match Camera_Unique0 * wip * Match Camera_CalcUpFromPitchYawRoll * match func_80045508 * document Camera_Battle4 * document several camera functions, move camera data to separate file * rename phi/theta to pitch/yaw * wip * uniq9 wip * Camera_Unqiue9 OK * document Camera_Unique9 * name unk_160 in camera struct * wip * wip * minor updates * fix conflicts * wip * wip * Olib updates * wip * wip * rename most Math3D functions, few matches, documentation * wip * document most of math3d * wip * wip * wip * pr updates * Match Camera_Fixed4 * match func_80058E8C * pr updates * add missing comment block finalizer * Merge math3dupdates * match Camera_ChangeSetting * Match Camera_ChangeMode * match func_80058148 * Match Camera_Special9 * decompile the rest of camera data * match Camera_Demo5 * name a few camera functions in z_play * match func_80046CB4, some work on other fucntions * wip * impove some non matchings * fix function rename * match func_800588B4 * match Camera_Subj4 * wip * Camera_Demo3 matching, Camera_Battle1 big progress * Camera_Normal2 OK * wip * match Camera_Parallel1 * normalize some things across functions * match Camera_Normal1 * Match Camera_Normal3 * some cleanup * more cleanup * more cleanup , match Camera_CalcDefaultPitch * data formatting * Match Camera_Jump2 * document Camera_Jump2 * Match Camera_KeepOn3 * document some of Camera_KeepOn3 * improve some non_matchings * match func_80045C74 and func_800460A8 * code cleanup, documentation * match Camera_KeepOn1 * Match Camera_Subj3 * Match Camera_Battle1 * remove non_matching from func_80044adc and func_80046e20 * name several members of Battle1 * more documentation on Battle1 * cleanup * renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector * reorganize update structs, remove final references to params, remove CameraParams union * implement camera enums into player * Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player * remove non-global camera variables from variables.h * clean up some variable declarations * finish pr comment updates * fix some warnings * data formatting * finish commenting on data * delete unused asm * remove asm Co-authored-by: fig <fig02srl@gmail.com>
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-07-08Decompile shrink_window.c (#232)Random
2020-03-22Format all src C filesRoman971