summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--kamek_pal.x36
-rw-r--r--src/bossRamboo.cpp23
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);