mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-16 20:48:11 -04:00
d_a_ship 95% (#706)
* Initial Progress Basic functions at 100% matching 100% Matching: - `daShip_Draw` - `daShip_Execute` - `daShip_IsDelete` - `daShip_Delete` - `daShip_createHeap` - `daShip_Create` * implemented `getJointPos` inlines in `daTornado_c` needed for d_a_ship * implemented `Center()` inline in `dCamera_c` needed for d_a_ship * added `setTranslationX` inline to `J3DTexMtx` needed for match in d_a_ship * parameters set to `const` for certain inlines in `m_Do_mtx.h` * added `dComIfGp_onMenuCollect` inline * changed `shipSpecialDemoStart` return type to `BOOL` * added member functions to `dPa_waveEcallBack`, `dPa_splashEcallBack `, `dPa_trackEcallBack` also modified member type of `mRotMtx` of `dPa_waveEcallBack` and `mPos` of `dPa_trackEcallBack` * added member to `daGrid_c` that is used in d_a_ship * added `mDoAud_setShipSailState` and `mDoAud_shipCruiseSePlay` inline functions * added `fopAcM_seenPlayerAngleY` inline * d_a_ship mostly matching approx. 90% matching, mostly regalloc issues. , `checkNextMode`, `setRopePos`, `setHeadAnm`, and `execute` need to have their logic fixer * replace `unknown_inline_TODO ` from `daShip_c` with `checkForceMove` * .data match * .rodata matching * more inline return type changes from `bool` to `BOOL` Also changed the array size of `mPlayerStatus` * implemented `force_calc_wind_rel_angle` inline in `daGrid_c` * fix `d_a_ship_static` * fixed `getEmitterAxis`, might need review but works for now * more progress * reverted change to `getEmitterAxis`, moved casts to function call in `dPa_waveEcallBack::executeAfter` * more progress * change return types of certain inlines from `BOOL` to `u32` `dComIfGp_checkCameraAttentionStatus`, `dComIfGp_checkPlayerStatus0`, `dComIfGp_checkPlayerStatus1` needed for match in d_a_ship * fixed memory addresses in `daGrid_c` * more progress * resolving symbols * Initial PR changes * Removed unnecessary cast * replaced instances of `PSVECSquareMag` with corresponding inline functions * update memory layout in `d_a_grid` for consistency * More PR changes `checkNextMode` and `procZevDemo` now at 100% matching
This commit is contained in:
@@ -1815,7 +1815,7 @@ BOOL daPy_lk_c::changeDamageProc() {
|
||||
mCurProc == daPyProc_SHIP_READY_e ||
|
||||
(
|
||||
dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) &&
|
||||
ship && ship->unknown_inline_TODO()
|
||||
ship && ship->checkForceMove()
|
||||
)
|
||||
) {
|
||||
offNoResetFlg0(daPyFlg0_SHIP_DROP);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 8013F848-8013F8AC .text shipSpecialDemoStart__9daPy_lk_cFv */
|
||||
void daPy_lk_c::shipSpecialDemoStart() {
|
||||
BOOL daPy_lk_c::shipSpecialDemoStart() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
|
||||
+4398
-167
File diff suppressed because it is too large
Load Diff
@@ -11,14 +11,14 @@ void daShip_c::initStartPos(const cXyz* pos, short rotY) {
|
||||
old.pos = *pos;
|
||||
shape_angle.y = rotY;
|
||||
current.angle.y = shape_angle.y;
|
||||
m0358 &= ~0x10;
|
||||
offStateFlg(daSFLG_UNK10_e);
|
||||
gravity = -2.5f;
|
||||
|
||||
mWaveL.remove();
|
||||
mWaveR.remove();
|
||||
mSplash.remove();
|
||||
mTrack.remove();
|
||||
m1970.end();
|
||||
mRipple.end();
|
||||
m1984.end();
|
||||
m1998.end();
|
||||
m19AC.end();
|
||||
|
||||
@@ -984,7 +984,7 @@ void dPa_waveEcallBack::remove() {
|
||||
|
||||
/* 8007E2BC-8007E484 .text executeAfter__17dPa_waveEcallBackFP14JPABaseEmitter */
|
||||
void dPa_waveEcallBack::executeAfter(JPABaseEmitter* emitter) {
|
||||
emitter->getEmitterAxis(mRotMtx[0], mRotMtx[1], mRotMtx[2]);
|
||||
emitter->getEmitterAxis(reinterpret_cast<JGeometry::TVec3<f32>&>(mRotMtx[0]), reinterpret_cast<JGeometry::TVec3<f32>&>(mRotMtx[1]), reinterpret_cast<JGeometry::TVec3<f32>&>(mRotMtx[2]));
|
||||
|
||||
if (mState != 0) {
|
||||
emitter->setDirectionalSpeed(0.0f);
|
||||
|
||||
Reference in New Issue
Block a user