Files
tww/include/d
Mike Lester 64cc277d05 d_wood (bushes) matching (#682)
* d_wood (bushes) 73% matching

* d_wood::Unit_c::set_ground 100% match

Jasper pointed me to the fact that the complicated inv_sqrt function I wrote was indeed just std::sqrtf(), which unlocked the rest of the match

* Replace some bitshifts with multiplies based on PR feedback

* Remove all instances of "this->" from d_wood

* Add missing struct offset comment for mTevStr

* Cleaned up d_tree externs

* Use MTXIdentity instead of PSMTXIdentity

* Remove incorrect TODO rearding cCcD_ObjAtType enum

* Use the mDoAud_seStart inline function

* Remove unnecessary parenthesis

* Fix incorrect branching logic in d_wood::cc_hit_before_cut()

* d_wood data sections fixup

* Re-add "Nonmatching" comments to all nonmatching functions

* Formatting: reformat from 2 to 4 space indentation

This was a local system problem which slipped by me in a previous commit

* 100% match for d_wood::Anm_c::mode_norm()

Thanks Chippy! https://discord.com/channels/727908905392275526/873250400483024976/1298360716964790294

* Use cLib_*Bit() functions for flag checking and setting

Based on the inline functions from the .map

* d_wood: Use AnmID_e according to the .map file

* d_wood: add a couple AnmID_e related inlines from the .map

* d_wood: Name remaining unknowns related to animation

* d_wood: Match cc_hit_before_cut()

* d_wood: Match calc_cc() by using the dComIfGp_roomControl_getStayNo() inline

* d_wood: Match string table and search_anm() by using a constant in assert string

* d_wood: Match mode_to_norm()

Switching normAnim to a const* did most of the work

* d_wood: 100% match for L_attr and the .rodata section

* d_wood: Fill in .data section. Still some extra data from vtables

* d_wood: Match .sbss section

* d_wood: Match .sdata section

* d_wood: 98% match for Packet_c::draw()

The only error is that g_dTree_shadowTexCoord is still using a 32-bit load instead of 16. the only way I know of to fix that is to define the data in this compilation unit. But that can't be right

* d_wood: Various small formatting changes

- No one line function implementations
- Replaced instances of (SomeType*)0x0 (copy/pasted from Ghidra) with NULL
- Replaced a few instances of 0.0 with 0.0f
- Replaced one instance where a number was used instead of an enum value

* d_wood: More formatting fixes

- Removed unused variables from functions
- Removed unnecessary iVar1 loop variables (leftover Ghidra detritus)
- Fixed dtk function comments being wrapped by autoformatter. They now always appear on one line

* d_tree: 100% match of data which is used by d_wood

This moves g_dTree_shadowTexCoord into .sdata which allows d_wood::Packet_c::draw() to load its address with a single instruction. This  makes a 100% match for draw()

* d_wood: Removed unnecessary comment now that draw() matches

g_dTree_shadowTexCoord now lives in the d_tree .sdata section, so its instruction can be loaded with a single instruction. This makes a 100% match with draw().

* d_wood: 100% match for mode_cut()

* d_wood: Match mode_push_into()

Also renamed mWindDir to mForceDir as it represents both wind and an actor pushing from a vector

* d_wood: Match mode_push_back

* d_wood: Match __sinit_d_wood_cpp

The l_matDL display list is dynamically patched to reference the l_Txa_swood_bTEX texture at static initialization time. Is there a better way to represent this?

* d_wood: Fix incorrect constant in set_ground()

* d_wood: Simplify dummy data at the top of .data section

* d_wood: Mark as matching in configure.py

Had to move Packet_c destructor to get the functions in the right order. See discussion: https://discord.com/channels/727908905392275526/873250400483024976/1300680009458913280

* d_wood: Add `d/d_cc_d.h` include as some enums have moved

* d_wood: Clean up some types at the top

* Mark d_wood as non-matching for the Japanese version
2024-10-31 16:58:37 -04:00
..
2024-07-10 22:42:42 -07:00
2024-08-03 11:34:32 -07:00
2024-03-01 01:21:27 -05:00
2023-12-13 00:52:09 -05:00
2024-02-05 20:48:25 -05:00
2023-12-20 21:23:22 -08:00
2023-10-09 15:45:46 -04:00
2023-12-02 14:47:52 -08:00
2024-02-11 12:46:14 -08:00
2024-02-05 20:48:25 -05:00
2023-10-09 15:45:46 -04:00
2024-09-02 18:21:08 -07:00
2024-07-13 16:43:59 -07:00
2024-10-28 21:16:46 -07:00
2024-10-31 16:58:37 -04:00
2024-08-24 12:39:21 -04:00
2024-02-09 13:55:31 -05:00
2023-12-29 17:17:18 -05:00
2024-06-30 17:29:54 -07:00
2024-02-05 19:46:59 -05:00
2024-03-10 20:57:14 -07:00
2023-10-21 15:43:26 -07:00
2024-06-29 23:18:51 -04:00
2024-09-02 14:14:30 -07:00
2023-12-09 15:38:09 -05:00
2024-03-18 19:15:15 -04:00
2024-06-19 12:43:21 -07:00
2024-10-19 13:07:44 -04:00
2023-09-23 03:47:34 -07:00
2023-11-28 20:35:06 -08:00
2024-07-24 09:16:22 -07:00
2024-09-02 23:31:19 -07:00
2024-10-07 23:38:54 -04:00
2024-02-25 13:48:17 -08:00
2024-03-10 20:57:14 -07:00
2024-01-16 17:18:38 -05:00
2024-01-16 17:18:38 -05:00
2024-01-16 17:18:38 -05:00
2024-01-16 17:18:38 -05:00
2024-01-16 17:18:38 -05:00
2024-01-16 17:18:38 -05:00
2024-01-16 17:18:38 -05:00
2024-07-17 14:05:53 -04:00
2024-03-01 01:21:27 -05:00
2024-03-01 01:21:27 -05:00
2023-12-20 19:04:09 -08:00
2024-07-02 16:31:05 -07:00
2024-07-11 23:37:28 -07:00
2024-07-13 10:45:21 -07:00
2024-10-19 14:04:00 -04:00
2024-05-18 20:55:58 -04:00
2024-03-01 01:21:27 -05:00
2024-05-12 12:26:10 -04:00
2023-10-13 13:07:18 -07:00
2024-07-02 16:31:05 -07:00
2024-07-01 23:45:16 -07:00
2024-02-25 21:56:33 -08:00
2024-02-26 15:13:17 -05:00
2024-07-14 10:04:25 -07:00
2024-03-01 01:21:27 -05:00
2023-11-26 16:21:56 -08:00
2024-04-13 15:16:15 -04:00
2024-07-11 00:26:17 -07:00
2024-10-10 16:10:16 -04:00
2024-10-31 16:58:37 -04:00
2024-03-01 01:21:27 -05:00
2024-07-01 21:49:56 -07:00
2024-10-31 16:58:37 -04:00
2024-02-29 20:00:41 -05:00
2024-06-29 15:06:25 -07:00