diff options
-rw-r--r-- | kamek_pal.x | 36 | ||||
-rw-r--r-- | src/bossRamboo.cpp | 23 |
2 files changed, 42 insertions, 17 deletions
diff --git a/kamek_pal.x b/kamek_pal.x index 5127d43..6a2f55e 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -985,9 +985,11 @@ SECTIONS { GetResMdl = 0x80239F70; GetResAnmChr = 0x8023A1F0; GetResAnmTexPat = 0x8023A340; + GetResAnmTexSrt = 0x8023a3b0; GetResAnmChr__Q34nw4r3g3d7ResFileCFPCc = 0x8023a1f0; GetResAnmTexPat__Q34nw4r3g3d7ResFileCFPCc = 0x8023a340; + GetResAnmTexSrt__Q34nw4r3g3d7ResFileCFPCc = 0x8023a3b0; __vt__Q23EGG9Allocator = 0x8034ffc0; @@ -1040,23 +1042,23 @@ SECTIONS { vf0C__Q23m3d11anmTexPat_cFv = 0x801670c0; AllocSizeForAnmTexSrt = 0x80167480; - setup__Q23m3d9anmTexSrt_cFv = 0x80167560; - __vt__Q23m3d9anmTexSrt_cFv = 0x803298c0; - __dt__Q23m3d9anmTexSrt_cFv = 0x801677e0; - detach__Q23m3d9anmTexSrt_cFv = 0x80167850; - bindEntry__Q23m3d9anmTexSrt_cFv = 0x80167940; - sub80167a80__Q23m3d9anmTexSrt_cFv = 0x80167a80; - process__Q23m3d9anmTexSrt_cFv = 0x80167b40; - processOneEntry__Q23m3d9anmTexSrt_cFv = 0x80167bf0; - getFrameForEntry__Q23m3d9anmTexSrt_cFv = 0x80167c50; - setFrameForEntry__Q23m3d9anmTexSrt_cFv = 0x80167c60; - getUpdateRateForEntry__Q23m3d9anmTexSrt_cFv = 0x80167c70; - setUpdateRateForEntry__Q23m3d9anmTexSrt_cFv = 0x80167c80; - isEntryAnimationDone__Q23m3d9anmTexSrt_cFv = 0x80167c90; - setEntryByte34__Q23m3d9anmTexSrt_cFv = 0x80167ca0; - getEntryField28__Q23m3d9anmTexSrt_cFv = 0x80167cc0; - getEntryField2C__Q23m3d9anmTexSrt_cFv = 0x80167ce0; - vf0C__Q23m3d9anmTexSrt_cFv = 0x80167d00; + setup__Q23m3d11anmTexSrt_cFQ34nw4r3g3d6ResMdlQ34nw4r3g3d12ResAnmTexSrtP12mAllocator_cPUii = 0x80167560; + __vt__Q23m3d11anmTexSrt_c = 0x803298c0; + __dt__Q23m3d11anmTexSrt_cFv = 0x801677e0; + detach__Q23m3d11anmTexSrt_cFv = 0x80167850; + bindEntry__Q23m3d11anmTexSrt_cFPQ23m3d5mdl_cQ34nw4r3g3d12ResAnmTexSrtii = 0x80167940; + sub80167a80__Q23m3d11anmTexSrt_cFv = 0x80167a80; + process__Q23m3d11anmTexSrt_cFv = 0x80167b40; + processOneEntry__Q23m3d11anmTexSrt_cFi = 0x80167bf0; + getFrameForEntry__Q23m3d11anmTexSrt_cFi = 0x80167c50; + setFrameForEntry__Q23m3d11anmTexSrt_cFfi = 0x80167c60; + getUpdateRateForEntry__Q23m3d11anmTexSrt_cFi = 0x80167c70; + setUpdateRateForEntry__Q23m3d11anmTexSrt_cFfi = 0x80167c80; + isEntryAnimationDone__Q23m3d11anmTexSrt_cFi = 0x80167c90; + setEntryByte34__Q23m3d11anmTexSrt_cFUci = 0x80167ca0; + getEntryField28__Q23m3d11anmTexSrt_cFi = 0x80167cc0; + getEntryField2C__Q23m3d11anmTexSrt_cFi = 0x80167ce0; + vf0C__Q23m3d11anmTexSrt_cFv = 0x80167d00; __vt__Q23m3d10anmTexSrt_c__child_cFv = 0x803298d8; __dt__Q23m3d10anmTexSrt_c__child_cFv = 0x80167d10; diff --git a/src/bossRamboo.cpp b/src/bossRamboo.cpp index 6bc7e51..d37baf6 100644 --- a/src/bossRamboo.cpp +++ b/src/bossRamboo.cpp @@ -24,6 +24,9 @@ class daRamboo_c : public dEn_c { m3d::anmChr_c anmWaitB; m3d::anmChr_c anmShayB; + nw4r::g3d::ResAnmTexSrt resTexSrt; + m3d::anmTexSrt_c fogSrt; + int timer; int ytimer; char Hiding; @@ -152,6 +155,13 @@ void daRamboo_c::setupModels() { nw4r::g3d::ResAnmChr anmChrF = this->resFile.GetResAnmChr("shay_teresaB_wait"); ret = this->anmWaitB.setup(mdlC, anmChrF, &this->allocator, 0); + nw4r::g3d::ResAnmTexSrt anmSrt = this->resFile.GetResAnmTexSrt("fog"); + this->resTexSrt = anmSrt; + //setup(ResMdl mdl, ResAnmTexSrt anmSrt, mAllocator* allocator, void* NULL, int count); + ret = this->fogSrt.setup(mdl, anmSrt, &this->allocator, 0, 1); + //setEntryByte34(char toSet, int which); + this->fogSrt.setEntryByte34(0, 0); + allocator.unlink(); } @@ -209,6 +219,15 @@ int daRamboo_c::onCreate() { this->fogModel.bindAnim(&this->anmFog, 0.0); this->anmFog.setUpdateRate(1.0); + nw4r::g3d::ResAnmTexSrt anmSrt = this->resFile.GetResAnmTexSrt("fog"); + //bindEntry(mdl_c* model, ResAnmTexSrt anmSrt, int which, int playState?); + this->fogSrt.bindEntry(&this->fogModel, anmSrt, 0, 1); + this->fogModel.bindAnim(&this->fogSrt, 1.0); + //setFrameForEntry(float frame, int which); + this->fogSrt.setFrameForEntry(1.0, 0); + //setUpdateRateForEntry(float rate, int which); + this->fogSrt.setUpdateRateForEntry(1.0, 0); + OSReport("Setting the State"); doStateChange(&StateID_Grow); @@ -230,6 +249,10 @@ int daRamboo_c::onExecute() { if(this->anmFog.isAnimationDone()) this->anmFog.setCurrentFrame(0.0); + this->fogSrt.process(); + if(this->fogSrt.isEntryAnimationDone(0)) + this->fogSrt.setFrameForEntry(1.0, 0); + if (this->aPhysics.result1 == 1) { char PlayerID = NearestPlayer(this); dStageActor_c *Player = GetSpecificPlayerActor(PlayerID); |