mirror of
https://github.com/zeldaret/ss
synced 2026-07-06 05:14:28 -04:00
d_t_event_f OK
This commit is contained in:
@@ -26,8 +26,8 @@ private:
|
||||
/* 0x0FC */ ActorEventRelated mActorEvent;
|
||||
/* 0x14C */ mMtx_c mMatrix;
|
||||
/* 0x17C */ u32 mEventId;
|
||||
/* 0x180 */ u32 p1_s8_0x7FF;
|
||||
/* 0x184 */ u32 p1_s19_0x7FF;
|
||||
/* 0x188 */ u32 p1_s30_0x3;
|
||||
/* 0x180 */ u32 mSetStoryflag;
|
||||
/* 0x184 */ u32 mTrigStoryflag;
|
||||
/* 0x188 */ u32 mSubtype;
|
||||
};
|
||||
#endif
|
||||
|
||||
+16
-16
@@ -10,15 +10,15 @@ SPECIAL_ACTOR_PROFILE(EVENTF_TAG, dTgEventF_c, fProfile::EVENTF_TAG, 0X14, 0, 0)
|
||||
int dTgEventF_c::create() {
|
||||
matrixCreateFromPosRotYScale(mMatrix, mPosition, mRotation.y, mScale, 0x0, 0.0f);
|
||||
mEventId = getFromParams(0, 0xFF);
|
||||
p1_s8_0x7FF = getFromParams(8, 0x7FF);
|
||||
if ((s32)p1_s8_0x7FF == 0x3FF) {
|
||||
p1_s8_0x7FF = 0xFFFFFFFF;
|
||||
mSetStoryflag = getFromParams(8, 0x7FF);
|
||||
if ((s32)mSetStoryflag == 0x3FF) {
|
||||
mSetStoryflag = 0xFFFFFFFF;
|
||||
}
|
||||
p1_s19_0x7FF = getFromParams(19, 0x7FF);
|
||||
if ((s32)p1_s19_0x7FF == 0x3FF) {
|
||||
p1_s19_0x7FF = 0xFFFFFFFF;
|
||||
mTrigStoryflag = getFromParams(19, 0x7FF);
|
||||
if ((s32)mTrigStoryflag == 0x3FF) {
|
||||
mTrigStoryflag = 0xFFFFFFFF;
|
||||
}
|
||||
p1_s30_0x3 = getFromParams(30, 0x3);
|
||||
mSubtype = getFromParams(30, 0x3);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
@@ -45,10 +45,10 @@ void dTgEventF_c::unsetStoryFlag(StoryFlags_e flag) {
|
||||
}
|
||||
|
||||
int dTgEventF_c::actorExecute() {
|
||||
if ((!checkStoryflagValid(p1_s19_0x7FF) || checkUncommitedStoryFlagValue(p1_s19_0x7FF))) {
|
||||
if ((p1_s30_0x3 != 0 && !(checkStoryflagValid(p1_s8_0x7FF) && checkUncommitedStoryFlagValue(p1_s8_0x7FF))) ||
|
||||
(p1_s30_0x3 == 0 && checkStoryflagValid(p1_s8_0x7FF) && checkUncommitedStoryFlagValue(p1_s8_0x7FF))) {
|
||||
if (checkIfVec3fInMatrix(mMatrix, dAcPy_c::LINK->mPosition)) {
|
||||
if ((!checkStoryflagValid(mTrigStoryflag) || checkUncommitedStoryFlagValue(mTrigStoryflag))) {
|
||||
if ((mSubtype != 0 && !(checkStoryflagValid(mSetStoryflag) && checkUncommitedStoryFlagValue(mSetStoryflag))) ||
|
||||
(mSubtype == 0 && checkStoryflagValid(mSetStoryflag) && checkUncommitedStoryFlagValue(mSetStoryflag))) {
|
||||
if (checkAreaBox(mMatrix, dAcPy_c::LINK->mPosition)) {
|
||||
Event EStack_48 = Event(mEventId, (int)mRoomID, 0x100001, 0, 0);
|
||||
mActorEvent.scheduleEvent(EStack_48, 0);
|
||||
}
|
||||
@@ -62,11 +62,11 @@ int dTgEventF_c::actorExecuteInEvent() {
|
||||
// iVar1 = mActorEvent.isThisActorInEvent();
|
||||
if (mActorEvent.isThisActorInEvent()) {
|
||||
mActorEvent.advanceNext();
|
||||
if (!(p1_s30_0x3 == 0 || !checkStoryflagValid(p1_s8_0x7FF) || checkUncommitedStoryFlagValue(p1_s8_0x7FF))) {
|
||||
setStoryFlag((StoryFlags_e)p1_s8_0x7FF);
|
||||
} else if ((p1_s30_0x3 == 0 && checkStoryflagValid(p1_s8_0x7FF)) &&
|
||||
checkUncommitedStoryFlagValue(p1_s8_0x7FF)) {
|
||||
unsetStoryFlag((StoryFlags_e)p1_s8_0x7FF);
|
||||
if (!(mSubtype == 0 || !checkStoryflagValid(mSetStoryflag) || checkUncommitedStoryFlagValue(mSetStoryflag))) {
|
||||
setStoryFlag((StoryFlags_e)mSetStoryflag);
|
||||
} else if ((mSubtype == 0 && checkStoryflagValid(mSetStoryflag)) &&
|
||||
checkUncommitedStoryFlagValue(mSetStoryflag)) {
|
||||
unsetStoryFlag((StoryFlags_e)mSetStoryflag);
|
||||
}
|
||||
}
|
||||
return SUCCEEDED;
|
||||
|
||||
Reference in New Issue
Block a user