mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-29 08:42:53 -04:00
d54d983a4a
* Added constructor implementation for `daBoomerang_c`. * Extend `daBoomerang_sightPacket_c` with `dDlst_base_c` base class. * Refactor `d_a_boomerang.h`: reorganize class definitions and update member layout in `daBoomerang_c`. * Extend `daBoomerang_c`: add new arrays, members, and static assertions for structure validation. * Extend `daBoomerang_c`: add `dBgS_BoomerangLinChk` member and update padding fields. * Extend `daBoomerang_c`: implement `create` method, add new members, and update function signatures. * Refactor `daBoomerang_c`: update `createHeap` function to return `BOOL` and adjust related calls. * Extend `daBoomerang_c`: implement `execute` method logic, update member variables, and adjust structure layout in `d_a_boomerang.h`. * Extend `daBoomerang_c`: add static blur vector definitions for `l_blur_top` and `l_blur_root`. * Add fields to `daBoomerang_blur_c`. * Refactor `daBoomerang_blur_c`: implement `initBlur` logic, add `pos` field, update structure layout in `d_a_boomerang.h`. * Refactor `daBoomerang_blur_c`: update `initBlur` and `copyBlur` logic, modify array structure to use 2D layout, and adjust declarations in `d_a_boomerang.h`. * Match `copyBlur` * Update `config.yml`: add symbol `l_matDL` for `daBoomerang_blur_c`. * Extend `daBoomerang_blur_c`: implement `draw` method, add vertex description, attribute format lists, and texture handling logic. * Add fields to `daBoomerang_sightPacket_c` * Update `play` method in `daBoomerang_sightPacket_c`: implement looping logic for modifying `field_0xF4` values. * Refactor `setSight` and `play` in `daBoomerang_sightPacket_c`: implement animation logic, replace `field_0xF4` with `arr_0xF4`, add `arr_0xF9`, and update structure in `d_a_boomerang.h`. * Refactor `daBoomerang_sightPacket_c`: add `setTex` and `setImage` methods; update image data logic in `d_a_boomerang.cpp` and `d_a_boomerang.h`. * Update `initFrame` and `resetSightOn` in `daBoomerang_sightPacket_c`: initialize `arr_0xF4` and reset `targetFlags`. * Replace hardcoded array size with `BOOM_TARGET_MAX` in `d_a_boomerang.cpp` and `d_a_boomerang.h` * Refactor `daBoomerang_sightPacket_c`: rename variables for clarity, update structure fields, and adjust logic in `setSight`, `play`, and related methods. * Implement `draw` method in `daBoomerang_sightPacket_c`: add vertex descriptor/attribute format lists, texture handling, and sight rendering logic. * Adjust vertex attribute formats in `d_a_boomerang.cpp`: update position to `GX_S8` and texture to `GX_U8`. * Reorder includes in `d_a_boomerang.cpp` to resolve dependencies for `l_sightMatDL` and `l_sightDL__d_a_boomerang` * Update `getFlyMax` in `daBoomerang_c`: add player status and stage name checks to determine maximum flight distance. * Refactor `procMove` and `execute` in `daBoomerang_c`: improve boomerang targeting logic, rename variables for clarity, update array structures, and adjust control flow. * Implement enhanced boomerang movement logic in `daBoomerang_c`: calculate angles, update position/rotation, handle water effects, and refine collision detection. Adjust structure fields in `d_a_boomerang.h`. * Refactor `daBoomerang_c` control flow: reorder player retrieval logic, adjust distance-based normalization, and refine boomerang return handling. * Change return type of `returnBoomerang` from `int` to `BOOL` in `d_a_player_main.h` and `d_a_player_boomerang.inc`. * Change `setItemWaterEffect` return type from `u32` to `BOOL` and refactor its parameters and logic for clarity and behavior adjustment. * Adjust `setItemWaterEffect` call in `d_a_boomerang.cpp` to use explicit `BOOL` comparison for clarity. * Refactor `daBoomerang_c` control flow and targeting logic: introduce `mTargetRayEnd`, enhance position/angle calculations, integrate player sight checks, and update camera handling. Adjust includes and structure definitions for consistency. * Match `rockLineCallback` * Rename `param_1` to `pHitActor` in `rockLineCallback` for clarity. * Match `setAimActor` in `d_a_boomerang.cpp`. * Refactor `daBoomerang_c`: update `setLockActor` to use `BOOL` type, modify related logic for clarity, and ensure consistent parameter usage across `d_a_boomerang.cpp`. * Match `resetLockActor` in `d_a_boomerang.cpp`: initialize target arrays and reset counters for consistency. * Refactor `daBoomerang_c`: Fix struct offsets, update instance size * Match `setRoomInfo` in `d_a_boomerang.cpp`: update position handling, ground checks, room ID assignment, and environment override logic. * Match `create` in `d_a_boomerang.cpp`: update matrix handling, target ID initialization, callback setup, and clean up unused code. * Match `setKeepMatrix` in `d_a_boomerang.cpp`: update transformation logic to align boomerang with Link's hand. * Refactor `d_a_player_main` boomerang logic: rename `m36F4` to `mBoomerangCatchPos`, implement `getBoomerangCatchPos` accessor * Match `setAimPos` in `d_a_boomerang.cpp`: implement target position logic based on current target index and player catch position. * Match `checkBgHit` in `d_a_boomerang.cpp`: implement background collision logic, position updates, sound effects, and behavior adjustments. * Continue matching `procWait` in `d_a_boomerang.cpp` * Refactor `d_a_boomerang.cpp`: rename `field_0xF3A` to `mModelRotY` for clarity, update all associated references, and adjust struct definition in the header file. * Continue matching `procWait` in `d_a_boomerang.cpp` * Match `procWait` in `d_a_boomerang.cpp` * Continue matching `procMove` in `d_a_boomerang.cpp` * Refactor `d_a_boomerang.cpp`: convert `u8` fields to `bool` for clarity and better type usage, update header and references accordingly. * Match `draw` in `d_a_boomerang.cpp`: implement drawing logic with model updates, light settings, shadow handling, and target sight management. Update struct definition to include `mGroundY`. * Refactor `procMove` in `d_a_boomerang.cpp`: simplify angle calculations, update `mInWater` to `u8`, and improve readability by reducing nested logic. * Fix `at_offset` initialization in `procMove` in `d_a_boomerang.cpp` * Match `procMove` in `d_a_boomerang.cpp` * Refine `draw` in `d_a_boomerang.cpp`: inline comments for quads setup, add light yellow trail color definition. * Refactor `d_a_boomerang.cpp` and header: rename `field_0x14` to `numTrailSegments` for improved clarity and update all related references. * Refactor `draw` in `d_a_boomerang.cpp`: reorganize quads initialization and alpha blending loops for improved structure and readability. * Refactor `draw` in `d_a_boomerang.cpp`: combine alpha variable declarations for improved local scope and clarity. * Refactor `draw` in `d_a_boomerang.cpp`: introduce `QUAD_VERT` macro to streamline quad vertex setup and improve code readability. * Refactor `draw` in `d_a_boomerang.cpp`: rename `alpha` variables to `uCoord` for improved clarity and consistency with their purpose. * Refactor `d_a_boomerang.cpp` and header: introduce `SEGMENTS_PER_STEP` constant for improved clarity and consistency, update related loops and data structures. * Refactor `d_a_boomerang.cpp` and header: rename trail arrays for improved clarity and consistency, update all related references. * Refactor `d_a_boomerang.cpp` and header: simplify trail vertex array indexing by flattening multidimensional arrays and updating all related code. * Refactor `d_a_boomerang.cpp`: mark `se_flg` array as `const` for improved immutability and clarity. * Refactor `d_a_boomerang.cpp`: relocate `l_at_cps_src` definition for improved organization and consistency. * Refactor `d_a_boomerang.cpp` and header: rename and clarify multiple variables (e.g., `field_0xF2C` to `mIsReturning`) for improved readability and consistency, update all related references and logic. * Refactor `d_a_boomerang.h`: add destructors to `daBoomerang_blur_c` and `daBoomerang_sightPacket_c` for proper ordering. * Refactor `daBoomerang_blur_c::draw` in `d_a_boomerang.cpp`: reorder variable initialization, streamline loops, and adjust `QUAD_VERT` macro usage for improved clarity and consistency. * Add inline geometry utility functions to `GFGeometry.h` * Refactor `d_a_boomerang.cpp`: simplify geometry rendering by updating `QUAD_VERT` macro implementation and replacing manual vertex management with `GFBegin`/`GFEnd`. * Refactor `d_a_boomerang.cpp`: simplify trail rendering by streamlining `uCoord` handling, reducing redundant variables, and improving clarity in loops. * Refactor `d_a_boomerang.cpp`: rename `QUAD_VERT` to `QUAD_VTX` for clarity and update all related references. * Add `l_matDL$4438` entry to config files for `daBoomerang_blur_c` rendering assets. * Add version check around `j3dSys.reinitGX()` in `d_a_boomerang.cpp` to limit execution to non-demo builds. * Refactor `d_a_boomerang.cpp`: replace direct `current.roomNo` usage with `roomNo` variable for improved clarity and consistency. * Add version-specific asserts in `d_a_boomerang.cpp` for demo and non-demo builds * Add version-specific asserts and adjust version check logic in `d_a_boomerang.cpp` for Japanese build * Align `GXVtxDescList` and `GXVtxAttrFmtList` declarations with `ALIGN_DECL(32)` in `d_a_boomerang.cpp` for consistent memory alignment. * Update `d_a_boomerang` to use `MatchingFor` in configuration * Remove outdated `FIXME` comment in `d_a_boomerang.cpp`. * Refactor `d_a_boomerang.cpp`: replace hardcoded rotation constants with `yRotPerStep` variable for clarity and maintainability. * Update `d_a_boomerang.cpp` configuration to use `Matching` instead of `MatchingFor`. * Refactor `d_a_boomerang.cpp`: rename `field_0xF2E` to `mJustHit` and `field_0xF2D` to `unused_0xF2D` for improved clarity. * Replace hardcoded value in `d_a_boomerang.cpp` with `daBoomerang_blur_c::SEGMENTS_PER_STEP` for improved readability and maintainability. * Refactor `d_a_boomerang.cpp`: replace `fpcM_GetParam` with `fopAcM_GetParam` for consistency with actor parameter retrieval methods. * Introduce `Mode` enum in `d_a_boomerang` and replace related hardcoded values for improved readability and maintainability. * Refactor `setAimActor` in `d_a_boomerang.cpp`: rename parameter for improved clarity. * Replace `fpcM_SetParam` with `fopAcM_SetParam` in `d_a_boomerang.cpp` for consistency with actor parameter setting methods. * Replace hardcoded `0` with `dEvtMode_NONE_e` in `d_a_boomerang.cpp` for improved readability and maintainability. * Replace `BOOM_TARGET_MAX` with `BOOMERANG_LOCK_MAX` in `d_a_boomerang` for consistency. * Refactor `d_a_boomerang.cpp` and `d_a_boomerang.h`: rename target-related variables and methods to lock-related for improved clarity and consistency. * Refactor `daBoomerang_Draw` and `daBoomerang_Execute` in `d_a_boomerang.cpp` to simplify and remove redundant casts. * Replace `Mode_0` and `Mode_1` with `Mode_Wait` and `Mode_Throw` in `d_a_boomerang` * Simplify boolean assignment in boomerang lock condition in `d_a_boomerang.cpp`. * Rename variable `b` to `isAiming` in `d_a_boomerang.cpp` for improved readability. * Refactor draw methods in `d_a_boomerang.cpp` to streamline list-setting logic. * Refactor particle effect in `d_a_boomerang.cpp` to use `dComIfGp_particle_setP1` for improved clarity and maintainability. * Replace `g_dComIfG_gameInfo` camera getter with `dComIfGp` equivalents in `d_a_boomerang.cpp` for consistency. * Simplify version-specific `JUT_ASSERT` calls in `d_a_boomerang.cpp` with `VERSION_SELECT` for improved maintainability. * Replace direct model matrix assignment with `fopAcM_SetMtx` in `d_a_boomerang.cpp` for consistency. * Update matching logic for `d_a_boomerang.cpp` to use `MatchingFor`.