isolated chuck quizmo (#685)

* toad house

* push blocks

* requested cleanup

* quizmo 1

* dro_01, dro_02, hos_03, jan_02

* quizmo jan_03

* kmr_02 quizmo

* quizmo area_mac

* quizmo functions aggregated

* remove functions no longer needed

* cleanup

* cleanclean

* quizmo started data

* quizmo data half done

* nearly done

* fix mislabeled data in dgb_01

* fix QuizRequirement struct

* isolate give item code

* deconflict varstash data name with varTable fields

* misc quizmo cleanup

* quizmo done

* fix file with invalid symbols

* PR comments

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
HailSanta 2022-04-12 02:01:58 -04:00 committed by GitHub
parent 93d8c4989b
commit 8d730c5c50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
311 changed files with 2782 additions and 9769 deletions

View File

@ -760,6 +760,35 @@ typedef struct Effect6FInstance {
/* 0x10 */ struct EffectGraphics* effect;
} Effect6FInstance;
// fx_quizmo_stage
typedef struct EffectDataQuizStage {
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ s32 vanishTimer;
/* 0x08 */ s32 lifetime;
/* 0x10 */ Vec3f origin;
/* 0x18 */ s32 microphoneRaiseAmt;
/* 0x1C */ s32 rearWallRaiseAmt;
/* 0x20 */ s32 leftWallRaiseAmt;
/* 0x24 */ s32 rightWallRaiseAmt;
/* 0x28 */ s32 podiumRaiseAmt;
/* 0x2C */ s32 lightScrollAmt;
/* 0x30 */ s32 lightScrollIncrement;
/* 0x34 */ s32 lightScrollDelay;
/* 0x38 */ s32 unkEffectMode;
/* 0x3C */ s32 unk_3C; // stage hidden when == 0xFF
/* 0x3C */ char unk_40[0x10];
} EffectDataQuizStage; // size ~ 0x50 (as allocated on heap)
// fx_quizmo_assistant
typedef struct EffectDataQuizVannaT {
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ Vec3f position;
/* 0x10 */ s32 vanishTimer;
/* 0x14 */ s32 lifetime;
/* 0x18 */ s32 fadeInAmt; // 0 = all-black, FF = fully-visible
/* 0x1C */ s32 anim;
} EffectDataQuizVannaT; // size = 0x20
enum FireBreathType {
FIRE_BREATH_LARGE = 0,
FIRE_BREATH_SMALL = 1,

View File

@ -497,6 +497,10 @@ enum SoundIDs {
SOUND_JR_TROOPA_SWIM = 0x00000046,
SOUND_BOO_SPOOK = 0x00000047,
SOUND_52 = 0x00000052,
SOUND_89 = 0x00000089,
SOUND_8A = 0x0000008A,
SOUND_8B = 0x0000008B,
SOUND_8F = 0x0000008F,
SOUND_A2 = 0x000000A2,
SOUND_B4 = 0x000000B4,
SOUND_BOO_VANISH = 0x000000C1,
@ -1728,10 +1732,12 @@ enum TriggerFlags {
};
enum ItemEntityFlags {
ITEM_ENTITY_FLAGS_10 = 0x00000010,
ITEM_ENTITY_FLAGS_40 = 0x00000040,
ITEM_ENTITY_FLAGS_TINY = 0x00004000,
ITEM_ENTITY_FLAGS_TRANSPARENT = 0x00080000,
ITEM_ENTITY_FLAGS_100000 = 0x00100000,
ITEM_ENTITY_FLAGS_8000000 = 0x08000000,
};
enum Buttons {
@ -1943,6 +1949,7 @@ enum PlayerStatusFlags {
PLAYER_STATUS_FLAGS_80000 = 0x00080000,
PLAYER_STATUS_FLAGS_100000 = 0x00100000,
PLAYER_STATUS_FLAGS_200000 = 0x00200000, // using hammer?
PLAYER_STATUS_FLAGS_400000 = 0x00400000, // taking quiz?
PLAYER_STATUS_FLAGS_800000 = 0x00800000,
PLAYER_STATUS_FLAGS_1000000 = 0x01000000,
PLAYER_STATUS_FLAGS_HAS_CONVERSATION_NPC = 0x02000000,
@ -2144,16 +2151,27 @@ enum ActorEventFlags {
};
// TODO alex struct
enum PartnerAnims {
PARTNER_ANIM_STILL,
PARTNER_ANIM_WALK,
PARTNER_ANIM_JUMP,
PARTNER_ANIM_FALL,
PARTNER_ANIM_FLY,
PARTNER_ANIM_IDLE,
PARTNER_ANIM_RUN,
PARTNER_ANIM_TALK,
PARTNER_ANIM_HURT,
enum PartnerAnimIndices {
PARTNER_ANIM_INDEX_STILL = 0x0,
PARTNER_ANIM_INDEX_WALK = 0x1,
PARTNER_ANIM_INDEX_JUMP = 0x2,
PARTNER_ANIM_INDEX_FALL = 0x3,
PARTNER_ANIM_INDEX_FLY = 0x4,
PARTNER_ANIM_INDEX_IDLE = 0x5,
PARTNER_ANIM_INDEX_RUN = 0x6,
PARTNER_ANIM_INDEX_TALK = 0x7,
PARTNER_ANIM_INDEX_HURT = 0x8,
};
enum AnyPartnerAnims {
PARTNER_ANIM_WALK = 0x101,
PARTNER_ANIM_JUMP = 0x102,
PARTNER_ANIM_FALL = 0x103,
PARTNER_ANIM_FLY = 0x104,
PARTNER_ANIM_IDLE = 0x105,
PARTNER_ANIM_RUN = 0x106,
PARTNER_ANIM_TALK = 0x107,
PARTNER_ANIM_HURT = 0x108,
};
enum FirstStrikes {

View File

@ -58,10 +58,10 @@
#define OVERRIDE_MOVEMENT_SPEED(speed) (speed * 32767)
#define NO_OVERRIDE_MOVEMENT_SPEED OVERRIDE_MOVEMENT_SPEED(-1)
typedef struct QuizRequirements {
s32 unk_00;
s32 unk_04;
} QuizRequirements; // size = 0x8
typedef struct QuizRequirement {
s32 requiredStoryProgress;
s32 numQuestionsUnlocked;
} QuizRequirement; // size = 0x8
typedef struct NpcBlueprint {
/* 0x00 */ s32 flags;

View File

@ -81,7 +81,7 @@ extern s16 D_800F7B80;
extern EncounterStatus gCurrentEncounter;
extern u8* D_801512F0;
extern s16 D_80151308;
extern s32 D_80151310;
extern s32 gEntityHideMode;
extern s32 D_8010C92C;
extern s32 D_8010C950;

View File

@ -6,7 +6,7 @@
#define NAMESPACE EDC020
extern s32 D_802429E0[];
//extern s32** EDC020_varTable = NULL;
//extern s32** EDC020_varStash = NULL;
/*
extern s32 D_80241850_EDD830 = {

View File

@ -1307,7 +1307,7 @@ void render_entities(void) {
if (entity != NULL) {
if (!gGameStatusPtr->isBattle) {
if (D_80151310 != 0 &&
if (gEntityHideMode != 0 &&
!(entity->flags & ENTITY_FLAGS_IGNORE_DISTANCE_CULLING) &&
dist2D(gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z,
@ -1317,11 +1317,11 @@ void render_entities(void) {
continue;
}
if (D_80151310 == 1) {
if (gEntityHideMode == 1) {
if (!(entity->flags & ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1)) {
continue;
}
} else if (D_80151310 == 2) {
} else if (gEntityHideMode == 2) {
if (!(entity->flags & ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2)) {
continue;
}

View File

@ -34,7 +34,7 @@ BSS s32 D_80151304;
BSS s32 D_80151308;
BSS s16 gMsgBGScrollAmtY;
BSS s16 D_8015130E;
BSS s32 D_80151310;
BSS s32 gEntityHideMode;
BSS s32 gHudElementCacheBuffer;
BSS s32 gEntityModelCount;
BSS s32 D_8015131C;

View File

@ -17,8 +17,8 @@ Npc* resolve_npc(Evt* script, s32 npcIdOrPtr) {
void set_npc_animation(Npc* npc, u32 animID) {
PlayerData* playerData = &gPlayerData;
if (animID - 0x101 < 9) {
npc->currentAnim.w = gPartnerAnimations[playerData->currentPartner].anims[animID - 0x101];
if (animID - PARTNER_ANIM_WALK < 9) {
npc->currentAnim.w = gPartnerAnimations[playerData->currentPartner].anims[animID - PARTNER_ANIM_WALK];
} else if ((animID - 0x201) < 0x10) {
npc->currentAnim.w = get_enemy(npc->npcID)->animList[animID - 0x201];
} else {
@ -806,7 +806,7 @@ s32 BringPartnerOut(Evt *script, s32 isInitialCall) {
partner->npcID = -5;
bpPointer->flags = NPC_FLAG_100;
bpPointer->initialAnim = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_FLY];
bpPointer->initialAnim = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_FLY];
bpPointer->onUpdate = NULL;
bpPointer->onRender = NULL;
@ -840,7 +840,7 @@ s32 BringPartnerOut(Evt *script, s32 isInitialCall) {
}
npc->jumpVelocity = ((playerY - targetY) + (npc->jumpScale * npc->duration * npc->duration * 0.5f)) / npc->duration;
npc->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_WALK];
npc->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_WALK];
return ApiStatus_BLOCK;
}
@ -848,7 +848,7 @@ s32 BringPartnerOut(Evt *script, s32 isInitialCall) {
npc->jumpVelocity -= npc->jumpScale;
npc->pos.y += npc->jumpVelocity;
if (npc->jumpVelocity <= 0.0f) {
npc->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_JUMP];
npc->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_JUMP];
}
npc_move_heading(npc, npc->moveSpeed, npc->yaw);
duration = npc->duration;
@ -861,7 +861,7 @@ s32 BringPartnerOut(Evt *script, s32 isInitialCall) {
npc->duration--;
if (npc->duration < 0) {
npc->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_IDLE];
npc->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_IDLE];
npc->jumpVelocity = 0.0f;
npc->pos.y = npc->moveToPos.y;
npc->scale.x = 1.0f;
@ -910,7 +910,7 @@ ApiStatus PutPartnerAway(Evt* script, s32 isInitialCall) {
partnerY = targetY - partnerY;
partner->jumpVelocity = (partnerY + (partner->jumpScale * partner->duration * partner->duration * 0.5f)) / partner->duration;
partner->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_WALK];
partner->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_WALK];
return ApiStatus_BLOCK;
} else {
return ApiStatus_DONE2;
@ -920,7 +920,7 @@ ApiStatus PutPartnerAway(Evt* script, s32 isInitialCall) {
partner->jumpVelocity -= partner->jumpScale;
partner->pos.y += partner->jumpVelocity;
if (partner->jumpVelocity <= 0.0f) {
partner->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_JUMP];
partner->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_JUMP];
}
npc_move_heading(partner, partner->moveSpeed, partner->yaw);
@ -935,7 +935,7 @@ ApiStatus PutPartnerAway(Evt* script, s32 isInitialCall) {
partner->duration--;
if (partner->duration < 0) {
partner->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_FALL];
partner->currentAnim.w = gPartnerAnimations[wExtraPartnerID].anims[PARTNER_ANIM_INDEX_FALL];
partner->jumpVelocity = 0.0f;
partner->pos.y = partner->moveToPos.y;
free_npc_by_index(wExtraPartnerNpcID);

View File

@ -219,7 +219,7 @@ ApiStatus N(func_8024113C_BDFECC)(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
static s32** N(varTable) = NULL;
static s32** N(varStash) = NULL;
#include "world/common/StashVars.inc.c"
EvtScript N(80241C6C) = {

View File

@ -1327,7 +1327,7 @@ Gfx D_8024DEC0_C0B740[] = {
gsSPEndDisplayList(),
};
Gfx D_8024DEF8_C0B778[] = {
Gfx sam_01_Quizmo_Worker[] = {
gsSPSetLights1(dgb_01_D_80253140_C109C0),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -1509,7 +1509,7 @@ Gfx D_8024E440_C0BCC0[] = {
gsSPDisplayList(D_8024E0A8_C0B928),
gsSPDisplayList(D_8024E020_C0B8A0),
gsSPDisplayList(D_8024DFA0_C0B820),
gsSPDisplayList(D_8024DEF8_C0B778),
gsSPDisplayList(sam_01_Quizmo_Worker),
gsSPDisplayList(D_8024DEC0_C0B740),
gsSPDisplayList(D_8024DD28_C0B5A8),
gsSPEndDisplayList(),
@ -3665,7 +3665,7 @@ StaticAnimatorNode N(D_802523C8_C0FC48) = {
};
StaticAnimatorNode N(D_802523F4_C0FC74) = {
.displayList = D_8024DEF8_C0B778,
.displayList = sam_01_Quizmo_Worker,
};
StaticAnimatorNode N(D_80252420_C0FCA0) = {

View File

@ -85,7 +85,7 @@ EvtScript N(main) = {
EVT_END
};
static s32** N(varTable) = NULL;
static s32** N(varStash) = NULL;
#include "world/common/StashVars.inc.c"
EvtScript N(80240624) = {

View File

@ -130,7 +130,7 @@ static s32 N(pad_868)[] = {
0x00000000, 0x00000000,
};
static s32** N(varTable) = NULL;
static s32** N(varStash) = NULL;
#include "world/common/StashVars.inc.c"
EvtScript N(80240874) = {

View File

@ -651,7 +651,7 @@ static s32 N(pad_36D8)[] = {
0x00000000, 0x00000000,
};
s32** N(varTable) = NULL; // StashVars.inc.c data
s32** N(varStash) = NULL; // StashVars.inc.c data
EvtScript N(802436E4) = {
EVT_SET_GROUP(EVT_GROUP_0)

View File

@ -9,7 +9,7 @@
ApiStatus N(UnkFunc1)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkNpcAIMainFunc)(Evt* script, s32 isInitialCall);
extern s32** N(varTable);
extern s32** N(varStash);
extern NpcGroupList N(npcGroupList_802436B4);
extern EvtScript N(main);

View File

@ -9,7 +9,7 @@
#include "sprite/npc/three_sisters.h"
#include "sprite/npc/world_parakarry.h"
#define UNK_ALPHA_FUNC_NPC 10
#define CHUCK_QUIZMO_NPC_ID 10
extern s16 MessagePlural;
extern s16 MessageSingular;
@ -59,14 +59,14 @@ typedef struct {
void N(func_802430C8_95E2C8)(Unk_Struct_1* ptr, s32 arg1);
static s32 N(D_8024DFC0);
static s32 N(Quizmo_Worker);
static s8 N(pad_D_8024DFC4)[0x4];
static s32 N(pad_D_8024DFC8)[4];
static s32 N(D_8024DFD8);
static s32 N(Quizmo_ScriptArray)[4];
static s32 N(Quizmo_AnswerResult);
static s8 N(pad_D_8024DFDC)[0x4];
static EffectInstance* N(D_8024DFE0);
static EffectInstance* N(D_8024DFE4);
static EffectInstance* N(D_8024DFE8);
static EffectInstance* N(Quizmo_StageEffect);
static EffectInstance* N(Quizmo_AudienceEffect);
static EffectInstance* N(Quizmo_VannaTEffect);
static s8 N(pad_D_8024DFEC)[0x4];
static s32 N(bigArray)[112];
static s8 N(pad_D_8024E1B0)[0x4]; // Probably part of the above
@ -304,708 +304,7 @@ NpcSettings N(npcSettings_8024518C) = {
.level = 99,
};
s32** N(varTable) = NULL;
EvtScript N(802451BC) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 0)
EVT_RETURN
EVT_RETURN
EVT_END
};
EvtScript N(802451EC) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 16)
EVT_RETURN
EVT_RETURN
EVT_END
};
u8 N(quizAnswers)[] = {
0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00,
0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02,
0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00,
0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01,
0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01,
0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02,
0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01,
};
QuizRequirements N(quizRequirements)[] = {
{ -108, 0 }, { -76, 10 },
{ -54, 20 }, { -14, 30 },
{ 6, 37 }, { 39, 44 },
{ 58, 52 }, { 88, 60 },
{ 96, 64 }, { 0, 64 },
};
EvtScript N(802452AC) = {
EVT_CALL(N(GetGameStatus75))
EVT_IF_LE(EVT_VAR(0), 1)
EVT_CALL(GetNpcPos, NPC_SELF, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 300)
EVT_CALL(SetNpcJumpscale, NPC_SELF, 1)
EVT_CALL(SetNpcAnimation, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_C)
EVT_WAIT_FRAMES(40)
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_END_IF
EVT_RETURN
EVT_END
};
EvtScript N(8024535C) = {
EVT_CALL(N(GetCamVfov), 0, EVT_ARRAY(0))
EVT_CALL(N(SetCamVfov), 0, 25)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(SetPanTarget, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(UseSettingsFrom, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(GetCamType, 0, EVT_VAR(1), EVT_VAR(2))
EVT_CALL(SetCamType, 0, EVT_VAR(1), 0)
EVT_CALL(GetCamDistance, 0, EVT_VAR(0))
EVT_IF_GT(EVT_VAR(0), 0)
EVT_SETF(EVT_VAR(0), 370)
EVT_ELSE
EVT_SETF(EVT_VAR(0), -370)
EVT_END_IF
EVT_CALL(SetCamDistance, 0, EVT_VAR(0))
EVT_CALL(GetCamPitch, 0, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(0), EVT_FIXED(13.0))
EVT_SETF(EVT_VAR(1), EVT_FIXED(-10.0))
EVT_CALL(SetCamPitch, 0, EVT_VAR(0), EVT_VAR(1))
EVT_CALL(PanToTarget, 0, 0, 1)
EVT_CALL(SetCamLeadPlayer, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(802454F8) = {
EVT_CALL(GetNpcPos, 10, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 30)
EVT_CALL(SetPanTarget, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(GetCamDistance, 0, EVT_VAR(0))
EVT_IF_GT(EVT_VAR(0), 0)
EVT_SETF(EVT_VAR(0), 17)
EVT_ELSE
EVT_SETF(EVT_VAR(0), -17)
EVT_END_IF
EVT_CALL(SetCamDistance, 0, EVT_VAR(0))
EVT_CALL(SetCamSpeed, 0, EVT_FIXED(90.0))
EVT_CALL(WaitForCam, 0, EVT_FIXED(1.0))
EVT_CALL(SetCamSpeed, 0, 1)
EVT_RETURN
EVT_END
};
EvtScript N(802455F4) = {
EVT_CALL(N(SetCamVfov), 0, EVT_ARRAY(0))
EVT_CALL(PanToTarget, 0, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(80245630) = {
EVT_WAIT_FRAMES(20)
EVT_CALL(N(UnkCameraFunc), EVT_ARRAY(1), EVT_ARRAY(3), 83, EVT_VAR(0), EVT_VAR(1))
EVT_THREAD
EVT_SETF(EVT_VAR(2), 0)
EVT_LOOP(60)
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_MULF(EVT_VAR(3), EVT_VAR(2))
EVT_MULF(EVT_VAR(4), EVT_VAR(2))
EVT_DIVF(EVT_VAR(3), 60)
EVT_DIVF(EVT_VAR(4), 60)
EVT_ADDF(EVT_VAR(3), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(4), EVT_ARRAY(3))
EVT_CALL(SetPlayerPos, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_ADDF(EVT_VAR(2), 1)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_ADDF(EVT_VAR(3), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(4), EVT_ARRAY(3))
EVT_CALL(SetPlayerPos, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_END_THREAD
EVT_CALL(N(UnkRotatePlayer))
EVT_CALL(func_802D2884, EVT_ARRAY(1), EVT_ARRAY(3), 0)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_RETURN
EVT_END
};
EvtScript N(802457E0) = {
EVT_CALL(GetNpcPos, NPC_PARTNER, EVT_VAR(10), EVT_VAR(11), EVT_VAR(12))
EVT_CALL(N(UnkCameraFunc), EVT_VAR(10), EVT_VAR(12), 108, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(5), EVT_ARRAY(2))
EVT_SUBF(EVT_VAR(5), EVT_VAR(11))
EVT_THREAD
EVT_CALL(N(UnkMovePartner))
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_SETF(EVT_VAR(6), EVT_VAR(5))
EVT_ADDF(EVT_VAR(3), EVT_VAR(10))
EVT_ADDF(EVT_VAR(4), EVT_VAR(12))
EVT_ADDF(EVT_VAR(6), EVT_VAR(11))
EVT_CALL(SetNpcPos, NPC_PARTNER, EVT_VAR(3), EVT_VAR(6), EVT_VAR(4))
EVT_END_THREAD
EVT_CALL(N(UnkRotatePartner))
EVT_CALL(NpcFacePlayer, NPC_PARTNER, 0)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x106)
EVT_RETURN
EVT_END
};
EvtScript N(80245918) = {
EVT_CALL(GetNpcPos, 10, EVT_VAR(10), EVT_VAR(11), EVT_VAR(12))
EVT_CALL(N(UnkCameraFunc), EVT_VAR(10), EVT_VAR(12), -70, EVT_VAR(0), EVT_VAR(1))
EVT_THREAD
EVT_SETF(EVT_VAR(2), 0)
EVT_LOOP(60)
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_MULF(EVT_VAR(3), EVT_VAR(2))
EVT_MULF(EVT_VAR(4), EVT_VAR(2))
EVT_DIVF(EVT_VAR(3), 60)
EVT_DIVF(EVT_VAR(4), 60)
EVT_ADDF(EVT_VAR(3), EVT_VAR(10))
EVT_ADDF(EVT_VAR(4), EVT_VAR(12))
EVT_CALL(SetNpcPos, 10, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_ADDF(EVT_VAR(2), 1)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_WAIT_FRAMES(60)
EVT_CALL(NpcFacePlayer, 10, 0)
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1)
EVT_RETURN
EVT_END
};
EvtScript N(80245A84) = {
EVT_EXEC(N(80245630))
EVT_EXEC(N(802457E0))
EVT_EXEC_WAIT(N(80245918))
EVT_RETURN
EVT_END
};
EvtScript N(80245AB8) = {
EVT_LOOP(0)
EVT_CALL(SetPlayerAnimation, ANIM_QUESTION)
EVT_WAIT_FRAMES(20)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(80245AF8) = {
EVT_CALL(SetPlayerAnimation, ANIM_THROW)
EVT_WAIT_FRAMES(15)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_RETURN
EVT_END
};
EvtScript N(80245B34) = {
EVT_LOOP(0)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_ARRAY(2), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_RETURN
EVT_END
};
EvtScript N(8024667C) = {
EVT_CALL(SetPlayerAnimation, ANIM_SHOCK_STILL)
EVT_LOOP(0)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(802466BC) = {
EVT_THREAD
EVT_CALL(N(UnkCameraFunc), EVT_ARRAY(1), EVT_ARRAY(3), 25, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(2), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(2), EVT_VAR(0))
EVT_SETF(EVT_VAR(3), EVT_ARRAY(3))
EVT_ADDF(EVT_VAR(3), EVT_VAR(1))
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x102)
EVT_CALL(NpcMoveTo, NPC_PARTNER, EVT_VAR(2), EVT_VAR(3), 40)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x106)
EVT_END_THREAD
EVT_CALL(PlayerMoveTo, EVT_ARRAY(1), EVT_ARRAY(3), 40)
EVT_RETURN
EVT_END
};
EvtScript N(80246798) = {
EVT_EXEC_GET_TID(N(80245B34), EVT_VAR(1))
EVT_WAIT_FRAMES(60)
EVT_KILL_THREAD(EVT_VAR(1))
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_WAIT_FRAMES(20)
EVT_EXEC_WAIT(N(802466BC))
EVT_RETURN
EVT_END
};
EvtScript N(80246848) = {
EVT_EXEC_GET_TID(N(8024667C), EVT_VAR(1))
EVT_WAIT_FRAMES(60)
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_WAIT_FRAMES(20)
EVT_KILL_THREAD(EVT_VAR(1))
EVT_EXEC_WAIT(N(802466BC))
EVT_RETURN
EVT_END
};
EvtScript N(802468F8) = {
EVT_IF_GT(EVT_SAVE_VAR(352), 63)
EVT_SET(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_CALL(GetPlayerPos, EVT_ARRAY(1), EVT_ARRAY(2), EVT_ARRAY(3))
EVT_CALL(NpcFacePlayer, NPC_SELF, 16)
EVT_IF_EQ(EVT_SAVE_VAR(352), 63)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000A))
EVT_ELSE
EVT_IF_EQ(EVT_SAVE_FLAG(1767), 1)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0009))
EVT_ELSE
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0008))
EVT_SET(EVT_SAVE_FLAG(1767), 1)
EVT_END_IF
EVT_END_IF
EVT_CALL(ShowChoice, MESSAGE_ID(0x1E, 0x000D))
EVT_IF_EQ(EVT_VAR(0), 1)
EVT_CALL(ContinueSpeech, -1, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000C))
EVT_EXEC_WAIT(N(802452AC))
EVT_SET(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_SET(EVT_SAVE_FLAG(1793), 1)
EVT_CALL(N(Set80151310_1))
EVT_CALL(N(UnkAlphaFunc))
EVT_EXEC(N(8024535C))
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, ((NPC_FLAG_GRAVITY)), FALSE)
EVT_CALL(SetNpcFlagBits, 10, ((NPC_FLAG_GRAVITY)), FALSE)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, ((NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100)), TRUE)
EVT_CALL(SetNpcFlagBits, 10, ((NPC_FLAG_100)), TRUE)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x106)
EVT_EXEC_GET_TID(N(80245A84), EVT_VAR(1))
EVT_CALL(ContinueSpeech, -1, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000B))
EVT_CALL(PlaySound, 137)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(N(func_80241BE0_95CDE0))
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_SET(EVT_VAR(0), 2883584)
EVT_ADD(EVT_VAR(0), EVT_SAVE_VAR(352))
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6, 0, EVT_VAR(0))
EVT_CALL(SetPlayerAnimation, ANIM_QUESTION)
EVT_SET(EVT_VAR(0), 2949120)
EVT_ADD(EVT_VAR(0), EVT_SAVE_VAR(352))
EVT_CALL(PlaySound, 142)
EVT_CALL(ShowChoice, EVT_VAR(0))
EVT_KILL_THREAD(EVT_VAR(1))
EVT_CALL(StopSound, 142)
EVT_EXEC(N(80245AF8))
EVT_WAIT_FRAMES(15)
EVT_CALL(PlaySound, 141)
EVT_CALL(N(func_80241EE0_95D0E0), EVT_VAR(0))
EVT_SET(EVT_ARRAY(4), 0)
EVT_CALL(N(func_802424D4_95D6D4))
EVT_WAIT_FRAMES(40)
EVT_CALL(N(func_80241B5C_95CD5C))
EVT_THREAD
EVT_WAIT_FRAMES(110)
EVT_CALL(CloseChoice)
EVT_SET(EVT_ARRAY(4), 0)
EVT_END_THREAD
EVT_IF_EQ(EVT_VAR(0), 1)
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_7)
EVT_SET(EVT_ARRAY(4), 1)
EVT_THREAD
EVT_CALL(N(func_80241EAC_95D0AC), 1)
EVT_WAIT_FRAMES(6)
EVT_WAIT_FRAMES(6)
EVT_WAIT_FRAMES(6)
EVT_CALL(N(func_80241EAC_95D0AC), 2)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(PlaySound, 540)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, 540)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, 540)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, 540)
EVT_END_THREAD
EVT_CALL(PlaySound, 138)
EVT_CALL(N(func_80241F78_95D178))
EVT_THREAD
EVT_WAIT_FRAMES(15)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 50)
EVT_CALL(N(UnkCameraFunc), 0, 0, 83, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(N(UnkCameraFunc), 0, 0, 58, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_ADD(EVT_VAR(1), 30)
EVT_CALL(N(UnkCameraFunc), 0, 0, 93, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_END_THREAD
EVT_WAIT_FRAMES(20)
EVT_EXEC_GET_TID(N(80246798), EVT_VAR(1))
EVT_ADD(EVT_SAVE_VAR(352), 1)
EVT_IF_GT(EVT_SAVE_VAR(352), 63)
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x0010))
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5)
EVT_SET(EVT_VAR(0), 348)
EVT_SET(EVT_VAR(1), 3)
EVT_EXEC_WAIT(N(802451BC))
EVT_CALL(AddStarPieces, 1)
EVT_CALL(N(func_80241EAC_95D0AC), 15)
EVT_CALL(N(func_80241F60_95D160))
EVT_CALL(SetMessageValue, EVT_SAVE_VAR(352), 0)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0011))
EVT_ELSE
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x000E))
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5)
EVT_SET(EVT_VAR(0), 348)
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(802451BC))
EVT_CALL(AddStarPieces, 1)
EVT_CALL(N(func_80241EAC_95D0AC), 15)
EVT_CALL(N(func_80241F60_95D160))
EVT_CALL(SetMessageValue, EVT_SAVE_VAR(352), 0)
EVT_IF_EQ(EVT_SAVE_VAR(352), 1)
EVT_CALL(SetMessageMsg, EVT_PTR(MessageSingular), 1)
EVT_ELSE
EVT_CALL(SetMessageMsg, EVT_PTR(MessagePlural), 1)
EVT_END_IF
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000F))
EVT_END_IF
EVT_SET(EVT_VAR(0), 1)
EVT_ELSE
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_9)
EVT_SET(EVT_ARRAY(4), 2)
EVT_CALL(PlaySound, SOUND_MENU_ERROR)
EVT_CALL(PlaySound, 139)
EVT_EXEC_GET_TID(N(80246848), EVT_VAR(1))
EVT_CALL(GetPlayerPos, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4))
EVT_CALL(PlayEffect, 0x2B, 0, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x000D))
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_A)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_SET(EVT_VAR(0), 0)
EVT_END_IF
EVT_CALL(N(func_80241EE0_95D0E0), -1)
EVT_CALL(EnablePartnerAI)
EVT_THREAD
EVT_WAIT_FRAMES(30)
EVT_CALL(PlaySound, 143)
EVT_END_THREAD
EVT_THREAD
EVT_WAIT_FRAMES(45)
EVT_CALL(StopSound, 137)
EVT_END_THREAD
EVT_CALL(N(func_80241F94_95D194))
EVT_CALL(N(func_80241DF8_95CFF8))
EVT_EXEC_WAIT(N(802452AC))
EVT_EXEC(N(802455F4))
EVT_CALL(N(UnkFunc29))
EVT_CALL(N(Set80151310_0))
EVT_SET(EVT_SAVE_FLAG(1793), 0)
EVT_RETURN
EVT_END
};
EvtScript N(80247628) = {
EVT_CALL(N(UnkQuizFunc))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_1000000)), FALSE)
EVT_CALL(SetNpcSprite, -1, 0x00AF0001)
EVT_CALL(N(UnkFunc31))
EVT_RETURN
EVT_END
};
EvtScript N(8024769C) = {
EVT_USE_ARRAY(EVT_PTR(N(pad_D_8024DFC8)))
EVT_SET(EVT_SAVE_FLAG(1769), 1)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerFlagBits, 4194304, 1)
EVT_EXEC_WAIT(N(802468F8))
EVT_CALL(DisablePlayerPhysics, FALSE)
EVT_CALL(SetPlayerFlagBits, 4194304, 0)
EVT_RETURN
EVT_END
};
EvtScript N(8024771C) = {
EVT_CALL(N(GetNpcUnsafeOwner2))
EVT_RETURN
EVT_END
};
NpcAISettings N(npcAISettings_80247738) = {
.moveSpeed = 0.7f,
.moveTime = 30,
.waitTime = 20,
.unk_14 = -1,
.unk_2C = 1,
};
EvtScript N(80247768) = {
EVT_CALL(DoBasicAI, EVT_PTR(N(npcAISettings_80247738)))
EVT_RETURN
EVT_END
};
NpcSettings N(npcSettings_80247788) = {
.unk_00 = { 0x00, 0xAF, 0x00, 0x01 },
.height = 35,
.radius = 28,
.otherAI = &N(80247628),
.onInteract = &N(8024769C),
.aux = &N(8024771C),
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.level = 99,
};
NpcSettings N(npcSettings_802477B4) = {
.unk_00 = { 0x00, 0xAF, 0x00, 0x01 },
.height = 35,
.radius = 28,
.otherAI = &N(80247628),
.onInteract = &N(8024769C),
.ai = &N(80247768),
.aux = &N(8024771C),
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.level = 99,
.unk_2A = 16,
};
#include "world/common/atomic/QuizmoData.inc.c"
s32 N(D_802477E0_9629E0) = {
0x00000000,
@ -1158,7 +457,7 @@ EvtScript N(80247D90) = {
EVT_IF_NE(EVT_VAR(6), 0)
EVT_SET(EVT_VAR(0), EVT_VAR(6))
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(802451BC))
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddKeyItem, EVT_VAR(6))
EVT_END_IF
EVT_SET(EVT_VAR(12), 2)
@ -1474,7 +773,7 @@ EvtScript N(interact_80248D54) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_artist_toad_Palette_01_Anim_2, NPC_ANIM_artist_toad_Palette_01_Anim_1, 0, MESSAGE_ID(0x0D, 0x0083))
EVT_SET(EVT_VAR(0), 104)
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(802451BC))
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddKeyItem, ITEM_MELODY)
EVT_SET(EVT_SAVE_FLAG(754), 1)
EVT_RETURN
@ -1867,7 +1166,7 @@ StaticNpc N(npcGroup_80249B34)[] = {
},
{
.id = NPC_CHUCK_QUIZMO,
.settings = &N(npcSettings_80247788),
.settings = &N(Quizmo_NpcSettings),
.pos = { -400.0f, 0.0f, 100.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.unk_1C = { 00, 00, 00, 01, 00, 03, 02, 00},
@ -2094,7 +1393,7 @@ N(shopPrice) N(shopPriceList_8024B550)[] = {
};
#define NAMESPACE dro_01_dup
s32** N(varTable) = NULL;
s32** N(varStash) = NULL;
#define NAMESPACE dro_01
EvtScript N(8024B5B4) = {
@ -2722,160 +2021,7 @@ EvtScript N(makeEntities) = {
#include "world/common/UnkNpcAIMainFunc.inc.c"
#include "world/common/StashVars.inc.c"
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
ApiStatus N(func_80241B5C_95CD5C)(Evt* script, s32 isInitialCall) {
u16 quizzesAnswered = gPlayerData.quizzesAnswered;
if (quizzesAnswered < 999) {
gPlayerData.quizzesAnswered++;
}
if (script->varTable[0] == N(quizAnswers)[evt_get_variable(NULL, EVT_SAVE_VAR(352))]) {
script->varTable[0] = 1;
gPlayerData.quizzesCorrect++;
} else {
script->varTable[0] = 0;
}
return ApiStatus_DONE2;
}
ApiStatus N(func_80241BE0_95CDE0)(Evt* script, s32 isInitialCall) {
EffectInstanceDataThing* effectPtr;
if (isInitialCall) {
N(D_8024DFE0) = fx_quizmo_stage(0, evt_get_variable(script, EVT_ARRAY(1)), evt_get_variable(script, EVT_ARRAY(2)),
evt_get_variable(script, EVT_ARRAY(3)));
N(D_8024DFE4) = fx_quizmo_audience(0, evt_get_variable(script, EVT_ARRAY(1)), evt_get_variable(script, EVT_ARRAY(2)),
evt_get_variable(script, EVT_ARRAY(3)));
N(D_8024DFE8) = fx_quizmo_assistant(0, evt_get_variable(script, EVT_ARRAY(1)), evt_get_variable(script, EVT_ARRAY(2)),
evt_get_variable(script, EVT_ARRAY(3)), 1.0f, 0);
effectPtr = N(D_8024DFE0)->data;
effectPtr->unk_18 = 0;
effectPtr->unk_20 = 0;
effectPtr->unk_24.s = 0;
effectPtr->unk_28 = 0;
effectPtr->unk_1C = 0;
}
effectPtr = N(D_8024DFE0)->data;
effectPtr->unk_20 += 10;
effectPtr->unk_28 += 10;
effectPtr->unk_24.s += 10;
effectPtr->unk_18 += 10;
effectPtr->unk_1C += 10;
if (effectPtr->unk_18 >= 255) {
effectPtr->unk_18 = 255;
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(func_80241DF8_95CFF8)(Evt* script, s32 isInitialCall) {
EffectInstanceDataThing* effectPtr;
if (isInitialCall) {
N(D_8024DFE4)->flags |= 0x10;
N(D_8024DFE8)->flags |= 0x10;
}
effectPtr = N(D_8024DFE0)->data;
effectPtr->unk_18 -= 10;
effectPtr->unk_20 -= 10;
effectPtr->unk_24.s -= 10;
effectPtr->unk_28 -= 10;
effectPtr->unk_1C -= 10;
if (effectPtr->unk_18 <= 0) {
effectPtr->unk_18 = 0;
remove_effect(N(D_8024DFE0));
free_generic_entity(N(D_8024DFC0));
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(func_80241EAC_95D0AC)(Evt* script, s32 isInitialCall) {
((EffectInstanceDataThing*)N(D_8024DFE0)->data)->unk_34 = evt_get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
ApiStatus N(func_80241EE0_95D0E0)(Evt* script, s32 isInitialCall) {
s32 var = evt_get_variable(script, *script->ptrReadPos);
EffectInstanceDataThing* effectPtr = N(D_8024DFE0)->data;
switch (var) {
case 0:
effectPtr->unk_38 = 0xC0;
break;
case 1:
effectPtr->unk_38 = 0x80;
break;
case 2:
effectPtr->unk_38 = 0x40;
break;
default:
effectPtr->unk_38 = 0;
break;
}
return ApiStatus_DONE2;
}
ApiStatus N(func_80241F60_95D160)(Evt* script, s32 isInitialCall) {
((EffectInstanceDataThing*)N(D_8024DFE8)->data)->unk_1C = 0;
return ApiStatus_DONE2;
}
ApiStatus N(func_80241F78_95D178)(Evt* script, s32 isInitialCall) {
((EffectInstanceDataThing*)N(D_8024DFE8)->data)->unk_1C = 1;
return ApiStatus_DONE2;
}
ApiStatus N(func_80241F94_95D194)(Evt* script, s32 isInitialCall) {
((EffectInstanceDataThing*)N(D_8024DFE8)->data)->unk_1C = 2;
return ApiStatus_DONE2;
}
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
void N(func_80242468_95D668)(void) {
s32 var = evt_get_variable(NULL, N(D_8024DFD8));
if (var == 1) {
fx_quizmo_answer(0, 0, 0, 0);
} else if (var == 2) {
fx_quizmo_answer(1, 0, 0, 0);
}
}
ApiStatus N(func_802424D4_95D6D4)(Evt* script, s32 isInitialCall) {
N(D_8024DFC0) = create_generic_entity_frontUI(NULL, N(func_80242468_95D668));
return ApiStatus_DONE2;
}
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -18,36 +18,36 @@ typedef struct {
u32 unk_08;
} N(shopPrice);
ApiStatus N(GetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(GetGameStatus75)(Evt* script, s32 isInitialCall);
ApiStatus N(GetNpcUnsafeOwner2)(Evt* script, s32 isInitialCall);
ApiStatus N(Set80151310_0)(Evt* script, s32 isInitialCall);
ApiStatus N(Set80151310_1)(Evt* script, s32 isInitialCall);
ApiStatus N(SetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_GetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_ShouldQuizmoLeave)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_NPC_Aux_Impl)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_ShowEntities)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_HideEntities)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(SetManyVars)(Evt* script, s32 isInitialCall);
ApiStatus N(TransformFoliage)(Evt* script, s32 isInitialCall);
ApiStatus N(AddPlayerHandsOffset)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkAlphaFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkCameraFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkMovePartner)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkRotatePartner)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkRotatePlayer)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_HideWorld)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_AddViewRelativeOffset)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_UpdatePartnerPosition)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SpinPartner)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SpinPlayer)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkYawFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc27)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc26)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkNpcAIMainFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkQuizFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc31)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc29)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241B5C_95CD5C)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241BE0_95CDE0)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241DF8_95CFF8)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241EAC_95D0AC)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241EE0_95D0E0)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241F60_95D160)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241F78_95D178)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241F94_95D194)(Evt* script, s32 isInitialCall);
ApiStatus N(func_802424D4_95D6D4)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_ShouldAppear)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_RenderInit)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_FadeInWorld)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_UpdateRecords)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_CreateStage)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_DestroyEffects)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetStageLightsDelay)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_UnkStageEffectMode)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetVannaAnim_Idle)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetVannaAnim_Clap)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetVannaAnim_Wave)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_CreateWorker)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80242730_95D930)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80242784_95D984)(Evt* script, s32 isInitialCall);
ApiStatus N(BigArrayFunc)(Evt* script, s32 isInitialCall);
@ -67,7 +67,7 @@ ApiStatus N(dup_Pipe_GetEntryPos)(Evt* script, s32 isInitialCall);
ApiStatus N(dup_Pipe_SetAnimFlag)(Evt* script, s32 isInitialCall);
ApiStatus N(dup_Pipe_GetPointAheadOfPlayer)(Evt* script, s32 isInitialCall);
extern s32** N(varTable);
extern s32** N(varStash);
extern N(shopInventory) N(shopInventory_8024B4FC)[];
extern N(shopPrice) N(shopPriceList_8024B550)[];

View File

@ -12,7 +12,7 @@
#include "sprite/npc/world_merlee.h"
#include "sprite/npc/world_parakarry.h"
#define UNK_ALPHA_FUNC_NPC 10
#define CHUCK_QUIZMO_NPC_ID 10
extern s16 MessagePlural;
extern s16 MessageSingular;
@ -58,15 +58,14 @@ static f32 N(D_8024EF84);
static s32 N(D_8024EF88);
static s8 N(pad_D_8024EF8C)[0x4];
static N(temp)* N(D_8024EF90)[4]; // possibly bigger?
static s32 N(D_8024EFA0);
static s32 N(Quizmo_Worker);
static s32 N(pad_D_8024EFA4);
static s32 N(D_8024EFA8);
static s32 N(pad_D_8024EFAC)[3];
static s32 N(D_8024EFB8);
static s32 N(Quizmo_ScriptArray)[4];
static s32 N(Quizmo_AnswerResult);
static s8 N(pad_D_8024EFBC)[0x4];
static EffectInstance* N(D_8024EFC0);
static EffectInstance* N(D_8024EFC4);
static EffectInstance* N(D_8024EFC8);
static EffectInstance* N(Quizmo_StageEffect);
static EffectInstance* N(Quizmo_AudienceEffect);
static EffectInstance* N(Quizmo_VannaTEffect);
static Evt* N(D_8024EFCC);
static s32 N(D_8024EFD0)[16];
static D_8024F010_Struct N(D_8024F010)[3];
@ -467,708 +466,7 @@ static s32 N(pad_4DD4)[] = {
0x00000000, 0x00000000, 0x00000000,
};
s32** N(varTable) = NULL;
EvtScript N(80244DE4) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 0)
EVT_RETURN
EVT_RETURN
EVT_END
};
EvtScript N(80244E14) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 16)
EVT_RETURN
EVT_RETURN
EVT_END
};
u8 N(quizAnswers)[] = {
0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00,
0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02,
0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00,
0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01,
0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01,
0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02,
0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01,
};
QuizRequirements N(quizRequirements)[] = {
{ -108, 0 }, { -76, 10 },
{ -54, 20 }, { -14, 30 },
{ 6, 37 }, { 39, 44 },
{ 58, 52 }, { 88, 60 },
{ 96, 64 }, { 0, 64 },
};
EvtScript N(80244ED4) = {
EVT_CALL(N(GetGameStatus75))
EVT_IF_LE(EVT_VAR(0), 1)
EVT_CALL(GetNpcPos, NPC_SELF, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 300)
EVT_CALL(SetNpcJumpscale, NPC_SELF, 1)
EVT_CALL(SetNpcAnimation, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_C)
EVT_WAIT_FRAMES(40)
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_END_IF
EVT_RETURN
EVT_END
};
EvtScript N(80244F84) = {
EVT_CALL(N(GetCamVfov), 0, EVT_ARRAY(0))
EVT_CALL(N(SetCamVfov), 0, 25)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(SetPanTarget, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(UseSettingsFrom, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(GetCamType, 0, EVT_VAR(1), EVT_VAR(2))
EVT_CALL(SetCamType, 0, EVT_VAR(1), 0)
EVT_CALL(GetCamDistance, 0, EVT_VAR(0))
EVT_IF_GT(EVT_VAR(0), 0)
EVT_SETF(EVT_VAR(0), 370)
EVT_ELSE
EVT_SETF(EVT_VAR(0), -370)
EVT_END_IF
EVT_CALL(SetCamDistance, 0, EVT_VAR(0))
EVT_CALL(GetCamPitch, 0, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(0), EVT_FIXED(13.0))
EVT_SETF(EVT_VAR(1), EVT_FIXED(-10.0))
EVT_CALL(SetCamPitch, 0, EVT_VAR(0), EVT_VAR(1))
EVT_CALL(PanToTarget, 0, 0, 1)
EVT_CALL(SetCamLeadPlayer, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(80245120) = {
EVT_CALL(GetNpcPos, 10, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 30)
EVT_CALL(SetPanTarget, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(GetCamDistance, 0, EVT_VAR(0))
EVT_IF_GT(EVT_VAR(0), 0)
EVT_SETF(EVT_VAR(0), 17)
EVT_ELSE
EVT_SETF(EVT_VAR(0), -17)
EVT_END_IF
EVT_CALL(SetCamDistance, 0, EVT_VAR(0))
EVT_CALL(SetCamSpeed, 0, EVT_FIXED(90.0))
EVT_CALL(WaitForCam, 0, EVT_FIXED(1.0))
EVT_CALL(SetCamSpeed, 0, 1)
EVT_RETURN
EVT_END
};
EvtScript N(8024521C) = {
EVT_CALL(N(SetCamVfov), 0, EVT_ARRAY(0))
EVT_CALL(PanToTarget, 0, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(80245258) = {
EVT_WAIT_FRAMES(20)
EVT_CALL(N(UnkCameraFunc), EVT_ARRAY(1), EVT_ARRAY(3), 83, EVT_VAR(0), EVT_VAR(1))
EVT_THREAD
EVT_SETF(EVT_VAR(2), 0)
EVT_LOOP(60)
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_MULF(EVT_VAR(3), EVT_VAR(2))
EVT_MULF(EVT_VAR(4), EVT_VAR(2))
EVT_DIVF(EVT_VAR(3), 60)
EVT_DIVF(EVT_VAR(4), 60)
EVT_ADDF(EVT_VAR(3), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(4), EVT_ARRAY(3))
EVT_CALL(SetPlayerPos, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_ADDF(EVT_VAR(2), 1)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_ADDF(EVT_VAR(3), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(4), EVT_ARRAY(3))
EVT_CALL(SetPlayerPos, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_END_THREAD
EVT_CALL(N(UnkRotatePlayer))
EVT_CALL(func_802D2884, EVT_ARRAY(1), EVT_ARRAY(3), 0)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_RETURN
EVT_END
};
EvtScript N(80245408) = {
EVT_CALL(GetNpcPos, NPC_PARTNER, EVT_VAR(10), EVT_VAR(11), EVT_VAR(12))
EVT_CALL(N(UnkCameraFunc), EVT_VAR(10), EVT_VAR(12), 108, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(5), EVT_ARRAY(2))
EVT_SUBF(EVT_VAR(5), EVT_VAR(11))
EVT_THREAD
EVT_CALL(N(UnkMovePartner))
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_SETF(EVT_VAR(6), EVT_VAR(5))
EVT_ADDF(EVT_VAR(3), EVT_VAR(10))
EVT_ADDF(EVT_VAR(4), EVT_VAR(12))
EVT_ADDF(EVT_VAR(6), EVT_VAR(11))
EVT_CALL(SetNpcPos, NPC_PARTNER, EVT_VAR(3), EVT_VAR(6), EVT_VAR(4))
EVT_END_THREAD
EVT_CALL(N(UnkRotatePartner))
EVT_CALL(NpcFacePlayer, NPC_PARTNER, 0)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x106)
EVT_RETURN
EVT_END
};
EvtScript N(80245540) = {
EVT_CALL(GetNpcPos, 10, EVT_VAR(10), EVT_VAR(11), EVT_VAR(12))
EVT_CALL(N(UnkCameraFunc), EVT_VAR(10), EVT_VAR(12), -70, EVT_VAR(0), EVT_VAR(1))
EVT_THREAD
EVT_SETF(EVT_VAR(2), 0)
EVT_LOOP(60)
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_MULF(EVT_VAR(3), EVT_VAR(2))
EVT_MULF(EVT_VAR(4), EVT_VAR(2))
EVT_DIVF(EVT_VAR(3), 60)
EVT_DIVF(EVT_VAR(4), 60)
EVT_ADDF(EVT_VAR(3), EVT_VAR(10))
EVT_ADDF(EVT_VAR(4), EVT_VAR(12))
EVT_CALL(SetNpcPos, 10, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_ADDF(EVT_VAR(2), 1)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_WAIT_FRAMES(60)
EVT_CALL(NpcFacePlayer, 10, 0)
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1)
EVT_RETURN
EVT_END
};
EvtScript N(802456AC) = {
EVT_EXEC(N(80245258))
EVT_EXEC(N(80245408))
EVT_EXEC_WAIT(N(80245540))
EVT_RETURN
EVT_END
};
EvtScript N(802456E0) = {
EVT_LOOP(0)
EVT_CALL(SetPlayerAnimation, ANIM_QUESTION)
EVT_WAIT_FRAMES(20)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(80245720) = {
EVT_CALL(SetPlayerAnimation, ANIM_THROW)
EVT_WAIT_FRAMES(15)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_RETURN
EVT_END
};
EvtScript N(8024575C) = {
EVT_LOOP(0)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_ARRAY(2), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_RETURN
EVT_END
};
EvtScript N(802462A4) = {
EVT_CALL(SetPlayerAnimation, ANIM_SHOCK_STILL)
EVT_LOOP(0)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(802462E4) = {
EVT_THREAD
EVT_CALL(N(UnkCameraFunc), EVT_ARRAY(1), EVT_ARRAY(3), 25, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(2), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(2), EVT_VAR(0))
EVT_SETF(EVT_VAR(3), EVT_ARRAY(3))
EVT_ADDF(EVT_VAR(3), EVT_VAR(1))
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x102)
EVT_CALL(NpcMoveTo, NPC_PARTNER, EVT_VAR(2), EVT_VAR(3), 40)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x106)
EVT_END_THREAD
EVT_CALL(PlayerMoveTo, EVT_ARRAY(1), EVT_ARRAY(3), 40)
EVT_RETURN
EVT_END
};
EvtScript N(802463C0) = {
EVT_EXEC_GET_TID(N(8024575C), EVT_VAR(1))
EVT_WAIT_FRAMES(60)
EVT_KILL_THREAD(EVT_VAR(1))
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_WAIT_FRAMES(20)
EVT_EXEC_WAIT(N(802462E4))
EVT_RETURN
EVT_END
};
EvtScript N(80246470) = {
EVT_EXEC_GET_TID(N(802462A4), EVT_VAR(1))
EVT_WAIT_FRAMES(60)
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_WAIT_FRAMES(20)
EVT_KILL_THREAD(EVT_VAR(1))
EVT_EXEC_WAIT(N(802462E4))
EVT_RETURN
EVT_END
};
EvtScript N(80246520) = {
EVT_IF_GT(EVT_SAVE_VAR(352), 63)
EVT_SET(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_CALL(GetPlayerPos, EVT_ARRAY(1), EVT_ARRAY(2), EVT_ARRAY(3))
EVT_CALL(NpcFacePlayer, NPC_SELF, 16)
EVT_IF_EQ(EVT_SAVE_VAR(352), 63)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000A))
EVT_ELSE
EVT_IF_EQ(EVT_SAVE_FLAG(1767), 1)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0009))
EVT_ELSE
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0008))
EVT_SET(EVT_SAVE_FLAG(1767), 1)
EVT_END_IF
EVT_END_IF
EVT_CALL(ShowChoice, MESSAGE_ID(0x1E, 0x000D))
EVT_IF_EQ(EVT_VAR(0), 1)
EVT_CALL(ContinueSpeech, -1, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000C))
EVT_EXEC_WAIT(N(80244ED4))
EVT_SET(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_SET(EVT_SAVE_FLAG(1793), 1)
EVT_CALL(N(Set80151310_1))
EVT_CALL(N(UnkAlphaFunc))
EVT_EXEC(N(80244F84))
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, ((NPC_FLAG_GRAVITY)), FALSE)
EVT_CALL(SetNpcFlagBits, 10, ((NPC_FLAG_GRAVITY)), FALSE)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, ((NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100)), TRUE)
EVT_CALL(SetNpcFlagBits, 10, ((NPC_FLAG_100)), TRUE)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x106)
EVT_EXEC_GET_TID(N(802456AC), EVT_VAR(1))
EVT_CALL(ContinueSpeech, -1, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000B))
EVT_CALL(PlaySound, 0x89)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(N(func_80240A70_969C30))
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_SET(EVT_VAR(0), 2883584)
EVT_ADD(EVT_VAR(0), EVT_SAVE_VAR(352))
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6, 0, EVT_VAR(0))
EVT_CALL(SetPlayerAnimation, ANIM_QUESTION)
EVT_SET(EVT_VAR(0), 2949120)
EVT_ADD(EVT_VAR(0), EVT_SAVE_VAR(352))
EVT_CALL(PlaySound, 0x8E)
EVT_CALL(ShowChoice, EVT_VAR(0))
EVT_KILL_THREAD(EVT_VAR(1))
EVT_CALL(StopSound, 142)
EVT_EXEC(N(80245720))
EVT_WAIT_FRAMES(15)
EVT_CALL(PlaySound, 0x8D)
EVT_CALL(N(func_80240D70_969F30), EVT_VAR(0))
EVT_SET(EVT_ARRAY(4), 0)
EVT_CALL(N(func_80241364_96A524))
EVT_WAIT_FRAMES(40)
EVT_CALL(N(func_802409EC_969BAC))
EVT_THREAD
EVT_WAIT_FRAMES(110)
EVT_CALL(CloseChoice)
EVT_SET(EVT_ARRAY(4), 0)
EVT_END_THREAD
EVT_IF_EQ(EVT_VAR(0), 1)
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_7)
EVT_SET(EVT_ARRAY(4), 1)
EVT_THREAD
EVT_CALL(N(func_80240D3C_969EFC), 1)
EVT_WAIT_FRAMES(6)
EVT_WAIT_FRAMES(6)
EVT_WAIT_FRAMES(6)
EVT_CALL(N(func_80240D3C_969EFC), 2)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(PlaySound, 0x21C)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, 0x21C)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, 0x21C)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, 0x21C)
EVT_END_THREAD
EVT_CALL(PlaySound, 0x8A)
EVT_CALL(N(func_80240E08_969FC8))
EVT_THREAD
EVT_WAIT_FRAMES(15)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 50)
EVT_CALL(N(UnkCameraFunc), 0, 0, 83, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(N(UnkCameraFunc), 0, 0, 58, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_ADD(EVT_VAR(1), 30)
EVT_CALL(N(UnkCameraFunc), 0, 0, 93, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_END_THREAD
EVT_WAIT_FRAMES(20)
EVT_EXEC_GET_TID(N(802463C0), EVT_VAR(1))
EVT_ADD(EVT_SAVE_VAR(352), 1)
EVT_IF_GT(EVT_SAVE_VAR(352), 63)
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x0010))
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5)
EVT_SET(EVT_VAR(0), 348)
EVT_SET(EVT_VAR(1), 3)
EVT_EXEC_WAIT(N(80244DE4))
EVT_CALL(AddStarPieces, 1)
EVT_CALL(N(func_80240D3C_969EFC), 15)
EVT_CALL(N(func_80240DF0_969FB0))
EVT_CALL(SetMessageValue, EVT_SAVE_VAR(352), 0)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0011))
EVT_ELSE
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x000E))
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5)
EVT_SET(EVT_VAR(0), 348)
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(80244DE4))
EVT_CALL(AddStarPieces, 1)
EVT_CALL(N(func_80240D3C_969EFC), 15)
EVT_CALL(N(func_80240DF0_969FB0))
EVT_CALL(SetMessageValue, EVT_SAVE_VAR(352), 0)
EVT_IF_EQ(EVT_SAVE_VAR(352), 1)
EVT_CALL(SetMessageMsg, EVT_PTR(MessageSingular), 1)
EVT_ELSE
EVT_CALL(SetMessageMsg, EVT_PTR(MessagePlural), 1)
EVT_END_IF
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000F))
EVT_END_IF
EVT_SET(EVT_VAR(0), 1)
EVT_ELSE
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_9)
EVT_SET(EVT_ARRAY(4), 2)
EVT_CALL(PlaySound, SOUND_MENU_ERROR)
EVT_CALL(PlaySound, 0x8B)
EVT_EXEC_GET_TID(N(80246470), EVT_VAR(1))
EVT_CALL(GetPlayerPos, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4))
EVT_CALL(PlayEffect, 0x2B, 0, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x000D))
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_A)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_SET(EVT_VAR(0), 0)
EVT_END_IF
EVT_CALL(N(func_80240D70_969F30), -1)
EVT_CALL(EnablePartnerAI)
EVT_THREAD
EVT_WAIT_FRAMES(30)
EVT_CALL(PlaySound, 0x8F)
EVT_END_THREAD
EVT_THREAD
EVT_WAIT_FRAMES(45)
EVT_CALL(StopSound, 137)
EVT_END_THREAD
EVT_CALL(N(func_80240E24_969FE4))
EVT_CALL(N(func_80240C88_969E48))
EVT_EXEC_WAIT(N(80244ED4))
EVT_EXEC(N(8024521C))
EVT_CALL(N(UnkFunc29))
EVT_CALL(N(Set80151310_0))
EVT_SET(EVT_SAVE_FLAG(1793), 0)
EVT_RETURN
EVT_END
};
EvtScript N(80247250) = {
EVT_CALL(N(UnkQuizFunc))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_1000000)), FALSE)
EVT_CALL(SetNpcSprite, -1, 0x00AF0001)
EVT_CALL(N(UnkFunc31))
EVT_RETURN
EVT_END
};
EvtScript N(802472C4) = {
EVT_USE_ARRAY(EVT_PTR(N(D_8024EFA8)))
EVT_SET(EVT_SAVE_FLAG(1769), 1)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerFlagBits, 4194304, 1)
EVT_EXEC_WAIT(N(80246520))
EVT_CALL(DisablePlayerPhysics, FALSE)
EVT_CALL(SetPlayerFlagBits, 4194304, 0)
EVT_RETURN
EVT_END
};
EvtScript N(80247344) = {
EVT_CALL(N(GetNpcUnsafeOwner2))
EVT_RETURN
EVT_END
};
NpcAISettings N(npcAISettings_80247360) = {
.moveSpeed = 0.7f,
.moveTime = 30,
.waitTime = 20,
.unk_14 = -1,
.unk_2C = 1,
};
EvtScript N(80247390) = {
EVT_CALL(DoBasicAI, EVT_PTR(N(npcAISettings_80247360)))
EVT_RETURN
EVT_END
};
NpcSettings N(npcSettings_802473B0) = {
.unk_00 = { 0x00, 0xAF, 0x00, 0x01 },
.height = 35,
.radius = 28,
.otherAI = &N(80247250),
.onInteract = &N(802472C4),
.aux = &N(80247344),
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.level = 99,
};
NpcSettings N(npcSettings_802473DC) = {
.unk_00 = { 0x00, 0xAF, 0x00, 0x01 },
.height = 35,
.radius = 28,
.otherAI = &N(80247250),
.onInteract = &N(802472C4),
.ai = &N(80247390),
.aux = &N(80247344),
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.level = 99,
.unk_2A = 0x10,
};
#include "world/common/atomic/QuizmoData.inc.c"
NpcAISettings N(npcAISettings_80247408) = {
.moveSpeed = 1.5f,
@ -1537,7 +835,7 @@ EvtScript N(802482F8) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_world_merlee_Palette_00_Anim_7, NPC_ANIM_world_merlee_Palette_00_Anim_4, 0, MESSAGE_ID(0x0D, 0x00DC))
EVT_SET(EVT_VAR(0), 39)
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(80244DE4))
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddKeyItem, ITEM_CRYSTAL_BALL)
EVT_SET(EVT_SAVE_FLAG(759), 1)
EVT_WAIT_FRAMES(20)
@ -2121,7 +1419,7 @@ EvtScript N(8024B5A0) = {
EVT_IF_NE(EVT_VAR(6), 0)
EVT_SET(EVT_VAR(0), EVT_VAR(6))
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(80244DE4))
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddKeyItem, EVT_VAR(6))
EVT_END_IF
EVT_SET(EVT_VAR(12), 2)
@ -2525,7 +1823,7 @@ EvtScript N(interact_8024C4EC) = {
EVT_CALL(SpeakToPlayer, 5, NPC_ANIM_moustafa_Palette_00_Anim_5, NPC_ANIM_moustafa_Palette_00_Anim_1, 0, MESSAGE_ID(0x0D, 0x00C9))
EVT_SET(EVT_VAR(0), 18)
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(80244DE4))
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddKeyItem, ITEM_PULSE_STONE)
EVT_SET(EVT_SAVE_VAR(0), -63)
EVT_CALL(SpeakToPlayer, 5, NPC_ANIM_moustafa_Palette_00_Anim_5, NPC_ANIM_moustafa_Palette_00_Anim_1, 0, MESSAGE_ID(0x0D, 0x00CA))
@ -3030,7 +2328,7 @@ StaticNpc N(npcGroup_8024D7B4)[] = {
},
{
.id = NPC_CHUCK_QUIZMO,
.settings = &N(npcSettings_802473B0),
.settings = &N(Quizmo_NpcSettings),
.pos = { -335.0f, 0.0f, 90.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT | NPC_FLAG_NO_PROJECT_SHADOW,
.unk_1C = { 00, 00, 00, 01, 00, 03, 02, 01},
@ -3065,160 +2363,7 @@ NpcGroupList N(npcGroupList_8024EEF4) = {
{},
};
#include "world/common/StashVars.inc.c"
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
ApiStatus N(func_802409EC_969BAC)(Evt* script, s32 isInitialCall) {
u16 quizzesAnswered = gPlayerData.quizzesAnswered;
if (quizzesAnswered < 999) {
gPlayerData.quizzesAnswered++;
}
if (script->varTable[0] == N(quizAnswers)[evt_get_variable(NULL, EVT_SAVE_VAR(352))]) {
script->varTable[0] = 1;
gPlayerData.quizzesCorrect++;
} else {
script->varTable[0] = 0;
}
return ApiStatus_DONE2;
}
ApiStatus N(func_80240A70_969C30)(Evt* script, s32 isInitialCall) {
EffectInstanceDataThing* effectPtr;
if (isInitialCall) {
N(D_8024EFC0) = fx_quizmo_stage(0, (f32) evt_get_variable(script, EVT_ARRAY(1)), (f32) evt_get_variable(script, EVT_ARRAY(2)),
(f32) evt_get_variable(script, EVT_ARRAY(3)));
N(D_8024EFC4) = fx_quizmo_audience(0, (f32) evt_get_variable(script, EVT_ARRAY(1)), (f32) evt_get_variable(script, EVT_ARRAY(2)),
(f32) evt_get_variable(script, EVT_ARRAY(3)));
N(D_8024EFC8) = fx_quizmo_assistant(0, (f32) evt_get_variable(script, EVT_ARRAY(1)), (f32) evt_get_variable(script, EVT_ARRAY(2)),
(f32) evt_get_variable(script, EVT_ARRAY(3)), 1.0f, 0);
effectPtr = (EffectInstanceDataThing*) N(D_8024EFC0)->data; // TODO this is wrong
effectPtr->unk_18 = 0;
effectPtr->unk_20 = 0;
effectPtr->unk_24.s = 0;
effectPtr->unk_28 = 0;
effectPtr->unk_1C = 0;
}
effectPtr = (EffectInstanceDataThing*) N(D_8024EFC0)->data; // TODO this is wrong
effectPtr->unk_20 += 10;
effectPtr->unk_28 += 10;
effectPtr->unk_24.s += 10;
effectPtr->unk_18 += 10;
effectPtr->unk_1C += 10;
if (effectPtr->unk_18 >= 255) {
effectPtr->unk_18 = 255;
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(func_80240C88_969E48)(Evt* script, s32 isInitialCall) {
EffectInstanceDataThing* effectPtr;
if (isInitialCall) {
N(D_8024EFC4)->flags |= 0x10;
N(D_8024EFC8)->flags |= 0x10;
}
effectPtr = (EffectInstanceDataThing*) N(D_8024EFC0)->data;
effectPtr->unk_18 -= 10;
effectPtr->unk_20 -= 10;
effectPtr->unk_24.s -= 10;
effectPtr->unk_28 -= 10;
effectPtr->unk_1C -= 10;
if (effectPtr->unk_18 <= 0) {
effectPtr->unk_18 = 0;
remove_effect(N(D_8024EFC0));
free_generic_entity(N(D_8024EFA0));
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(func_80240D3C_969EFC)(Evt* script, s32 isInitialCall) {
((N(temp)*)N(D_8024EFC0))->unk_0C->unk_34 = evt_get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
ApiStatus N(func_80240D70_969F30)(Evt* script, s32 isInitialCall) {
s32 var = evt_get_variable(script, *script->ptrReadPos);
EffectInstanceDataThing* effectPtr = (EffectInstanceDataThing*) N(D_8024EFC0)->data;
switch (var) {
case 0:
effectPtr->unk_38 = 0xC0;
break;
case 1:
effectPtr->unk_38 = 0x80;
break;
case 2:
effectPtr->unk_38 = 0x40;
break;
default:
effectPtr->unk_38 = 0;
break;
}
return ApiStatus_DONE2;
}
ApiStatus N(func_80240DF0_969FB0)(Evt* script, s32 isInitialCall) {
((N(temp)*)N(D_8024EFC8))->unk_0C->unk_1C = 0;
return ApiStatus_DONE2;
}
ApiStatus N(func_80240E08_969FC8)(Evt* script, s32 isInitialCall) {
((N(temp)*)N(D_8024EFC8))->unk_0C->unk_1C = 1;
return ApiStatus_DONE2;
}
ApiStatus N(func_80240E24_969FE4)(Evt* script, s32 isInitialCall) {
((N(temp)*)N(D_8024EFC8))->unk_0C->unk_1C = 2;
return ApiStatus_DONE2;
}
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
void N(func_802412F8_96A4B8)(void) {
s32 var = evt_get_variable(NULL, N(D_8024EFB8));
if (var == 1) {
fx_quizmo_answer(0, 0, 0, 0);
} else if (var == 2) {
fx_quizmo_answer(1, 0, 0, 0);
}
}
ApiStatus N(func_80241364_96A524)(Evt* script, s32 isInitialCall) {
N(D_8024EFA0) = create_generic_entity_frontUI(NULL, N(func_802412F8_96A4B8));
return ApiStatus_DONE2;
}
#include "world/common/atomic/Quizmo.inc.c"
ApiStatus N(func_80241394_96A554)(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;

View File

@ -9,35 +9,35 @@
ApiStatus N(ToadHouse_DisableStatusMenu)(Evt* script, s32 isInitialCall);
ApiStatus N(ToadHouse_ShowStatusMenu)(Evt* script, s32 isInitialCall);
ApiStatus N(ToadHouse_GetPartnerBackOut)(Evt* script, s32 isInitialCall);
ApiStatus N(GetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(GetGameStatus75)(Evt* script, s32 isInitialCall);
ApiStatus N(GetNpcUnsafeOwner2)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_GetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_ShouldQuizmoLeave)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_NPC_Aux_Impl)(Evt* script, s32 isInitialCall);
ApiStatus N(ToadHouse_PutPartnerAway)(Evt* script, s32 isInitialCall);
ApiStatus N(Set80151310_0)(Evt* script, s32 isInitialCall);
ApiStatus N(Set80151310_1)(Evt* script, s32 isInitialCall);
ApiStatus N(SetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_ShowEntities)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_HideEntities)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetCamVfov)(Evt* script, s32 isInitialCall);
ApiStatus N(SetManyVars)(Evt* script, s32 isInitialCall);
ApiStatus N(AddPlayerHandsOffset)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkAlphaFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkCameraFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_HideWorld)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_AddViewRelativeOffset)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc26)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc27)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc29)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkMovePartner)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkRotatePartner)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkRotatePlayer)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_FadeInWorld)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_UpdatePartnerPosition)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SpinPartner)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SpinPlayer)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkYawFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkQuizFunc)(Evt* script, s32 isInitialCall);
ApiStatus N(UnkFunc31)(Evt* script, s32 isInitialCall);
ApiStatus N(func_802409EC_969BAC)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240A70_969C30)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240C88_969E48)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240D3C_969EFC)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240D70_969F30)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240DF0_969FB0)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240E08_969FC8)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80240E24_969FE4)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241364_96A524)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_ShouldAppear)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_RenderInit)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_UpdateRecords)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_CreateStage)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_DestroyEffects)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetStageLightsDelay)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_UnkStageEffectMode)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetVannaAnim_Idle)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetVannaAnim_Clap)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_SetVannaAnim_Wave)(Evt* script, s32 isInitialCall);
ApiStatus N(Quizmo_CreateWorker)(Evt* script, s32 isInitialCall);
ApiStatus N(func_80241394_96A554)(Evt* script, s32 isInitialCall);
ApiStatus N(func_802414C0_96A680)(Evt* script, s32 isInitialCall);
ApiStatus N(func_802415CC_96A78C)(Evt* script, s32 isInitialCall);

View File

@ -183,7 +183,7 @@ NpcSettings N(npcSettings_80240EDC) = {
.level = 99,
};
s32** N(varTable) = NULL;
s32** N(varStash) = NULL;
EvtScript N(80240F0C) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 0)

View File

@ -226,7 +226,7 @@ NpcSettings N(npcSettings_80241220) = {
#include "common/foliage.inc.c"
s32** N(varTable) = NULL;
s32** N(varStash) = NULL;
EvtScript N(80241BB4) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 0)

View File

@ -164,7 +164,7 @@ static s32 N(pad_1CA8)[] = {
0x00000000, 0x00000000,
};
s32** N(varTable) = NULL;
s32** N(varStash) = NULL;
EvtScript N(80241CB4) = SCRIPT({
ShowGotItem(EVT_VAR(0), 1, 0);

View File

@ -13,7 +13,7 @@ s32 N(func_80240000_CB9200)(void);
ApiStatus N(func_80240040_CB9240)(Evt* script, s32 isInitialCall);
extern s32 N(D_80244070_CBD270);
extern s32** N(varTable);
extern s32** N(varStash);
extern NpcGroupList N(npcGroupList_80244054);
extern EvtScript N(802427EC);
extern EvtScript N(80242AE8);

View File

@ -167,7 +167,7 @@ NpcSettings N(npcSettings_80240E5C) = {
#include "common/foliage.inc.c"
s32** N(varTable) = NULL;
s32** N(varStash) = NULL;
EvtScript N(802417F0) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 0)

View File

@ -1,6 +1,6 @@
#include "hos_03.h"
#define UNK_ALPHA_FUNC_NPC 7
#define CHUCK_QUIZMO_NPC_ID 7
#include "world/common/UnkNpcAIFunc23.inc.c"
@ -26,44 +26,10 @@
#include "world/common/atomic/ToadHouse.inc.c"
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242B90_A1DC90);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242C14_A1DD14);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242E2C_A1DF2C);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242EE0_A1DFE0);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242F14_A1E014);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242F94_A1E094);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242FAC_A1E0AC);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80242FC8_A1E0C8);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_8024349C_A1E59C);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1BDB0", func_80243508_A1E608);
#include "world/common/atomic/Quizmo.inc.c"

View File

@ -1,6 +1,12 @@
#include "hos_04.h"
#include "world/common/SetCamVfov.inc.c"
ApiStatus N(SetCamXXVfov)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 cameraID = evt_get_variable(script, *args++);
gCameras[cameraID].vfov = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_hos/hos_04/A274B0", func_80240654_A27524);

View File

@ -1,6 +1,6 @@
#include "jan_02.h"
#define UNK_ALPHA_FUNC_NPC 5
#define CHUCK_QUIZMO_NPC_ID 5
#include "world/common/UnkNpcAIFunc24.inc.c"
@ -36,46 +36,12 @@ INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80241540_B2D9B0);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80241578_B2D9E8);
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80241D00_B2E170);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80241D84_B2E1F4);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80241F9C_B2E40C);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80242050_B2E4C0);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80242084_B2E4F4);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80242104_B2E574);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_8024211C_B2E58C);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80242138_B2E5A8);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_8024260C_B2EA7C);
INCLUDE_ASM(s32, "world/area_jan/jan_02/B2C8A0", func_80242678_B2EAE8);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/SwitchToPartner.inc.c"

View File

@ -5,7 +5,7 @@ static char* N(exit_str_1) = "jan_05";
static char* N(exit_str_2) = "jan_22";
static char* N(exit_str_3) = "";
#define UNK_ALPHA_FUNC_NPC 17
#define CHUCK_QUIZMO_NPC_ID 17
#include "world/common/atomic/Pipe.inc.c"
@ -53,47 +53,13 @@ INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_80241A64_B36634);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_80241B00_B366D0);
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_80242288_B36E58);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_8024230C_B36EDC);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_80242524_B370F4);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_802425D8_B371A8);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_8024260C_B371DC);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_8024268C_B3725C);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_802426A4_B37274);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_802426C0_B37290);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_80242B94_B37764);
INCLUDE_ASM(s32, "world/area_jan/jan_03/B34BD0", func_80242C00_B377D0);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/SetManyVars.inc.c"

View File

@ -0,0 +1,51 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_802429E8_BDD198
.ascii "party_resa\0\0omo_03\0\0\0\0\0\0"
.section .text
glabel func_80240350_BDAB00
/* BDAB00 80240350 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BDAB04 80240354 3C048024 */ lui $a0, %hi(D_802429E8_BDD198)
/* BDAB08 80240358 248429E8 */ addiu $a0, $a0, %lo(D_802429E8_BDD198)
/* BDAB0C 8024035C 27A50010 */ addiu $a1, $sp, 0x10
/* BDAB10 80240360 AFBF0020 */ sw $ra, 0x20($sp)
/* BDAB14 80240364 AFB1001C */ sw $s1, 0x1c($sp)
/* BDAB18 80240368 0C016B3A */ jal load_asset_by_name
/* BDAB1C 8024036C AFB00018 */ sw $s0, 0x18($sp)
/* BDAB20 80240370 0040802D */ daddu $s0, $v0, $zero
/* BDAB24 80240374 0200202D */ daddu $a0, $s0, $zero
/* BDAB28 80240378 3C118024 */ lui $s1, %hi(D_80242A00)
/* BDAB2C 8024037C 26312A00 */ addiu $s1, $s1, %lo(D_80242A00)
/* BDAB30 80240380 0C01BB7C */ jal decode_yay0
/* BDAB34 80240384 0220282D */ daddu $a1, $s1, $zero
/* BDAB38 80240388 0C00AB1E */ jal general_heap_free
/* BDAB3C 8024038C 0200202D */ daddu $a0, $s0, $zero
/* BDAB40 80240390 3C048024 */ lui $a0, %hi(D_80246990)
/* BDAB44 80240394 24846990 */ addiu $a0, $a0, %lo(D_80246990)
/* BDAB48 80240398 3C028024 */ lui $v0, %hi(D_80242C00)
/* BDAB4C 8024039C 24422C00 */ addiu $v0, $v0, %lo(D_80242C00)
/* BDAB50 802403A0 AC820000 */ sw $v0, ($a0)
/* BDAB54 802403A4 24020096 */ addiu $v0, $zero, 0x96
/* BDAB58 802403A8 A4820008 */ sh $v0, 8($a0)
/* BDAB5C 802403AC 24020069 */ addiu $v0, $zero, 0x69
/* BDAB60 802403B0 A482000A */ sh $v0, 0xa($a0)
/* BDAB64 802403B4 24020002 */ addiu $v0, $zero, 2
/* BDAB68 802403B8 AC82000C */ sw $v0, 0xc($a0)
/* BDAB6C 802403BC 24020001 */ addiu $v0, $zero, 1
/* BDAB70 802403C0 AC910004 */ sw $s1, 4($a0)
/* BDAB74 802403C4 0C0496CB */ jal set_message_images
/* BDAB78 802403C8 AC820010 */ sw $v0, 0x10($a0)
/* BDAB7C 802403CC 8FBF0020 */ lw $ra, 0x20($sp)
/* BDAB80 802403D0 8FB1001C */ lw $s1, 0x1c($sp)
/* BDAB84 802403D4 8FB00018 */ lw $s0, 0x18($sp)
/* BDAB88 802403D8 24020002 */ addiu $v0, $zero, 2
/* BDAB8C 802403DC 03E00008 */ jr $ra
/* BDAB90 802403E0 27BD0028 */ addiu $sp, $sp, 0x28
/* BDAB94 802403E4 00000000 */ nop
/* BDAB98 802403E8 00000000 */ nop
/* BDAB9C 802403EC 00000000 */ nop

View File

@ -18,25 +18,7 @@ INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_802407F0_B4B260);
#include "world/common/UnkNpcAIMainFunc2.inc.c"
#include "world/common/UnkNpcAIFunc4.inc.c"
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
#include "world/common/UnkNpcAIFunc27.inc.c"
#include "world/common/UnkNpcAIFunc28.inc.c"
#include "world/common/atomic/enemy/SpearGuy.inc.c"
#define NAMESPACE dup_jan_05
#include "common/foliage.inc.c"

View File

@ -18,25 +18,7 @@
INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_80241554_B53D84);
#include "world/common/UnkNpcAIFunc4.inc.c"
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
#include "world/common/UnkNpcAIFunc27.inc.c"
#include "world/common/UnkNpcAIFunc28.inc.c"
#include "world/common/atomic/enemy/SpearGuy.inc.c"
#define NAMESPACE dup_jan_06
#include "common/foliage.inc.c"

View File

@ -3,22 +3,4 @@
static char* N(exit_str_0) = "jan_06";
static char* N(exit_str_1) = "\0\0\0\0";
#include "world/common/UnkNpcAIFunc4.inc.c"
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
#include "world/common/UnkNpcAIFunc27.inc.c"
#include "world/common/UnkNpcAIFunc28.inc.c"
#include "world/common/atomic/enemy/SpearGuy.inc.c"

View File

@ -2,22 +2,4 @@
INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_802413A0_B5F650);
#include "world/common/UnkNpcAIFunc4.inc.c"
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
#include "world/common/UnkNpcAIFunc27.inc.c"
#include "world/common/UnkNpcAIFunc28.inc.c"
#include "world/common/atomic/enemy/SpearGuy.inc.c"

View File

@ -1,21 +1,3 @@
#include "jan_09.h"
#include "world/common/UnkNpcAIFunc4.inc.c"
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
#include "world/common/UnkNpcAIFunc27.inc.c"
#include "world/common/UnkNpcAIFunc28.inc.c"
#include "world/common/atomic/enemy/SpearGuy.inc.c"

View File

@ -1,21 +1,3 @@
#include "jan_12.h"
#include "world/common/UnkNpcAIFunc4.inc.c"
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
#include "world/common/UnkNpcAIFunc27.inc.c"
#include "world/common/UnkNpcAIFunc28.inc.c"
#include "world/common/atomic/enemy/SpearGuy.inc.c"

View File

@ -1,11 +1,12 @@
#include "kmr_02.h"
#include "effects.h"
static char* N(exit_str_0) = "kmr_05";
static char* N(exit_str_1) = "kmr_00";
static char* N(exit_str_2) = "kmr_09";
static char* N(exit_str_3) = "";
#define UNK_ALPHA_FUNC_NPC 8
#define CHUCK_QUIZMO_NPC_ID 8
#include "world/common/atomic/Pipe.inc.c"
@ -13,47 +14,13 @@ INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_802402E0_8B0350);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240370_8B03E0);
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240A7C_8B0AEC);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240B00_8B0B70);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240D18_8B0D88);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240DCC_8B0E3C);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240E00_8B0E70);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240E80_8B0EF0);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240E98_8B0F08);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80240EB4_8B0F24);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80241388_8B13F8);
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_802413F4_8B1464);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/UnkNpcAIFunc43.inc.c"

View File

@ -5,6 +5,6 @@ static char* N(exit_str_1) = "kpa_111";
INCLUDE_ASM(s32, "world/area_kpa/kpa_130/AA2D20", func_80240000_AA2D20);
INCLUDE_ASM(s32, "world/area_kpa/kpa_130/AA2D20", func_80240048_AA2D68);
#include "world/common/atomic/enemy/BulletBill.inc.c"
INCLUDE_ASM(s32, "world/area_kpa/kpa_130/AA2D20", func_802404AC_AA31CC);

View File

@ -1,48 +1,15 @@
#include "mac_00.h"
#include "effects.h"
#define UNK_ALPHA_FUNC_NPC 6
#define CHUCK_QUIZMO_NPC_ID 6
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80240D1C_7EBA2C);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80240DA0_7EBAB0);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80240FB8_7EBCC8);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_8024106C_7EBD7C);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_802410A0_7EBDB0);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80241120_7EBE30);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80241138_7EBE48);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80241154_7EBE64);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80241628_7EC338);
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EB340", func_80241694_7EC3A4);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -1,6 +1,6 @@
#include "mac_01.h"
#define UNK_ALPHA_FUNC_NPC 5
#define CHUCK_QUIZMO_NPC_ID 5
extern u8 D_80258407_818C87;
@ -33,47 +33,13 @@ extern u8 D_80258407_818C87;
static char* N(exit_str_0) = "flo_00";
static char* N(exit_str_1) = "kmr_22";
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_802425FC_802E7C);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242680_802F00);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242898_803118);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_8024294C_8031CC);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242980_803200);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242A00_803280);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242A18_803298);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242A34_8032B4);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242F08_803788);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242F74_8037F4);
#include "world/common/atomic/Quizmo.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80242FA4_803824);

View File

@ -1,6 +1,6 @@
#include "mac_02.h"
#define UNK_ALPHA_FUNC_NPC 12
#define CHUCK_QUIZMO_NPC_ID 12
#include "world/common/UnkNpcAIFunc24.inc.c"
@ -26,47 +26,13 @@
#include "world/common/UnkNpcAIMainFunc.inc.c"
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_80241EAC_82516C);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_80241F30_8251F0);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_80242148_825408);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_802421FC_8254BC);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_80242230_8254F0);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_802422B0_825570);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_802422C8_825588);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_802422E4_8255A4);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_802427B8_825A78);
INCLUDE_ASM(s32, "world/area_mac/mac_02/823BF0", func_80242824_825AE4);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -1,50 +1,17 @@
#include "mac_03.h"
#include "effects.h"
#define UNK_ALPHA_FUNC_NPC 23
#define CHUCK_QUIZMO_NPC_ID 23
#include "common/UnkFloatFunc.inc.c"
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240B9C_83239C);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240C20_832420);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240E38_832638);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240EEC_8326EC);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240F20_832720);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240FA0_8327A0);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240FB8_8327B8);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80240FD4_8327D4);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_802414A8_832CA8);
INCLUDE_ASM(s32, "world/area_mac/mac_03/831B20", func_80241514_832D14);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -1,48 +1,15 @@
#include "mac_04.h"
#include "effects.h"
#define UNK_ALPHA_FUNC_NPC 20
#define CHUCK_QUIZMO_NPC_ID 20
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240B4C_84371C);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240BD0_8437A0);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240DE8_8439B8);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240E9C_843A6C);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240ED0_843AA0);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240F50_843B20);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240F68_843B38);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80240F84_843B54);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_80241458_844028);
INCLUDE_ASM(s32, "world/area_mac/mac_04/843030", func_802414C4_844094);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -3,7 +3,7 @@
static char* N(exit_str_0) = "mac_04";
static char* N(exit_str_1) = "kgr_01";
#define UNK_ALPHA_FUNC_NPC 6
#define CHUCK_QUIZMO_NPC_ID 6
#include "world/common/atomic/TexturePan.inc.c"
@ -35,47 +35,13 @@ INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_8024047C_8525EC);
#include "world/common/UnkNpcAIMainFunc.inc.c"
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241A0C_853B7C);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241A90_853C00);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241CA8_853E18);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241D5C_853ECC);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241D90_853F00);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241E10_853F80);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241E28_853F98);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80241E44_853FB4);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80242318_854488);
INCLUDE_ASM(s32, "world/area_mac/mac_05/852170", func_80242384_8544F4);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -3,7 +3,7 @@
static char* N(exit_str_0) = "nok_13";
static char* N(exit_str_1) = "nok_02";
#define UNK_ALPHA_FUNC_NPC 15
#define CHUCK_QUIZMO_NPC_ID 15
#include "world/common/UnkNpcAIFunc43.inc.c"
@ -27,47 +27,13 @@ static char* N(exit_str_1) = "nok_02";
#include "world/common/atomic/ToadHouse.inc.c"
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_80241454_9C6834);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_802414D8_9C68B8);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_802416F0_9C6AD0);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_802417A4_9C6B84);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_802417D8_9C6BB8);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_80241858_9C6C38);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_80241870_9C6C50);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_8024188C_9C6C6C);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_80241D60_9C7140);
INCLUDE_ASM(s32, "world/area_nok/nok_01/9C53E0", func_80241DCC_9C71AC);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -1,6 +1,6 @@
#include "nok_02.h"
#define UNK_ALPHA_FUNC_NPC 19
#define CHUCK_QUIZMO_NPC_ID 19
#include "world/common/UnkNpcAIFunc24.inc.c"
@ -29,49 +29,13 @@
static char* N(exit_str_0) = "nok_02";
static char* N(exit_str_1) = "obk_09";
#define NAMESPACE dup_nok_02
#include "world/common/StashVars.inc.c"
#define NAMESPACE nok_02
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80241FFC_9D901C);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242080_9D90A0);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242298_9D92B8);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_8024234C_9D936C);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242380_9D93A0);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242400_9D9420);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242418_9D9438);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242434_9D9454);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242908_9D9928);
INCLUDE_ASM(s32, "world/area_nok/nok_02/9D7AA0", func_80242974_9D9994);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/GetNpcCollisionHeight.inc.c"

View File

@ -1,6 +1,7 @@
#include "sam_01.h"
#include "effects.h"
#define UNK_ALPHA_FUNC_NPC 14
#define CHUCK_QUIZMO_NPC_ID 14
#include "world/common/GetNpcCollisionHeight.inc.c"
@ -14,47 +15,13 @@ INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_802405C8_CF8138);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80240664_CF81D4);
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80240DEC_CF895C);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80240E70_CF89E0);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80241088_CF8BF8);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_8024113C_CF8CAC);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80241170_CF8CE0);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_802411F0_CF8D60);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80241208_CF8D78);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80241224_CF8D94);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_802416F8_CF9268);
INCLUDE_ASM(s32, "world/area_sam/sam_01/CF7E80", func_80241764_CF92D4);
#include "world/common/atomic/Quizmo.inc.c"
#include "world/common/SetManyVars.inc.c"

View File

@ -1,47 +1,14 @@
#include "sam_02.h"
#include "effects.h"
#define UNK_ALPHA_FUNC_NPC 8
#define CHUCK_QUIZMO_NPC_ID 8
#include "world/common/atomic/ToadHouse.inc.c"
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#include "world/common/Set80151310.inc.c"
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", begin_battle_D06948);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_8024129C_D069CC);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_802414B4_D06BE4);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_80241568_D06C98);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_8024159C_D06CCC);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_8024161C_D06D4C);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_80241634_D06D64);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_80241650_D06D80);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_80241B24_D07254);
INCLUDE_ASM(s32, "world/area_sam/sam_02/D05F60", func_80241B90_D072C0);
#include "world/common/atomic/Quizmo.inc.c"

View File

@ -4,12 +4,17 @@ INCLUDE_ASM(s32, "world/area_sam/sam_11/D3A930", func_80240360_D3A930);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3A930", func_8024052C_D3AAFC);
ApiStatus Set80151310_2(Evt* script, s32 isInitialCall) {
D_80151310 = 2;
#define NAMESPACE dup_sam_11
ApiStatus N(Set80151310_2)(Evt* script, s32 isInitialCall) {
gEntityHideMode = 2;
return ApiStatus_DONE2;
}
#include "world/common/Set80151310_0.inc.c"
ApiStatus N(Set80151310_0)(Evt* script, s32 isInitialCall) {
gEntityHideMode = 0;
return ApiStatus_DONE2;
}
#define NAMESPACE sam_11
#include "world/common/UnsetCamera0MoveFlag1.inc.c"

View File

@ -1,50 +1,15 @@
#include "sam_11.h"
#include "effects.h"
#define UNK_ALPHA_FUNC_NPC 17
#define CHUCK_QUIZMO_NPC_ID 17
#include "world/common/StashVars.inc.c"
extern s32 N(Quizmo_Worker);
extern s32 N(Quizmo_AnswerResult);
extern EffectInstance* N(Quizmo_StageEffect);
extern EffectInstance* N(Quizmo_AudienceEffect);
extern EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/GetItemName.inc.c"
#define NAMESPACE dup_sam_11
#include "world/common/Set80151310.inc.c"
#define NAMESPACE sam_11
#include "world/common/UnkQuizFunc.inc.c"
#include "world/common/UnkFunc31.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80240EBC_D3B48C);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80240F40_D3B510);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80241158_D3B728);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_8024120C_D3B7DC);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80241240_D3B810);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_802412C0_D3B890);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_802412D8_D3B8A8);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_802412F4_D3B8C4);
#include "world/common/GetGameStatus75.inc.c"
#include "world/common/SetCamVfov.inc.c"
#include "world/common/GetCamVfov.inc.c"
#include "world/common/UnkCameraFunc.inc.c"
#include "world/common/UnkRotatePlayer.inc.c"
#include "world/common/UnkPartnerFuncs.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_802417C8_D3BD98);
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80241834_D3BE04);
#include "world/common/atomic/Quizmo.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80241864_D3BE34);

View File

@ -1,10 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(GetCamVfov)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 cameraID = evt_get_variable(script, *args++);
evt_set_variable(script, *args++, EVT_FIXED(gCameras[cameraID].vfov));
return ApiStatus_DONE2;
}

View File

@ -1,7 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(GetGameStatus75)(Evt* script, s32 isInitialCall) {
evt_set_variable(script, EVT_VAR(0), gGameStatusPtr->debugQuizmo);
return ApiStatus_DONE2;
}

View File

@ -2,9 +2,9 @@
#include "npc.h"
ApiStatus N(GetItemName)(Evt* script, s32 isInitialCall) {
Bytecode a0 = *script->ptrReadPos;
s32 itemID = evt_get_variable(script, a0);
Bytecode args = *script->ptrReadPos;
s32 itemID = evt_get_variable(script, args);
evt_set_variable(script, a0, LOOKUP_ITEM(itemID).nameMsg);
evt_set_variable(script, args, LOOKUP_ITEM(itemID).nameMsg);
return ApiStatus_DONE2;
}

View File

@ -1,9 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(Set80151310_1)(Evt* script, s32 isInitialCall) {
D_80151310 = 1;
return ApiStatus_DONE2;
}
#include "world/common/Set80151310_0.inc.c"

View File

@ -2,6 +2,6 @@
#include "npc.h"
ApiStatus N(Set80151310_0)(Evt* script, s32 isInitialCall) {
D_80151310 = 0;
gEntityHideMode = 0;
return ApiStatus_DONE2;
}

View File

@ -1,10 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(SetCamVfov)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 cameraID = evt_get_variable(script, *args++);
gCameras[cameraID].vfov = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}

View File

@ -2,25 +2,25 @@
#include "npc.h"
// remove this and uncomment other when all data from all maps that use this are migrated to C
extern s32** N(varTable);
extern s32** N(varStash);
ApiStatus N(StashVars)(Evt* script, s32 isInitialCall) {
//static s32** varTable = NULL;
s32 i;
if (N(varTable) == NULL) {
N(varTable) = heap_malloc(sizeof(script->varTable));
if (N(varStash) == NULL) {
N(varStash) = heap_malloc(sizeof(script->varTable));
for (i = 0; i < ARRAY_COUNT(script->varTable); i++) {
N(varTable)[i] = (s32*) script->varTable[i];
N(varStash)[i] = (s32*) script->varTable[i];
}
} else {
for (i = 0; i < ARRAY_COUNT(script->varTable); i++) {
script->varTable[i] = (s32) N(varTable)[i];
script->varTable[i] = (s32) N(varStash)[i];
}
heap_free(N(varTable));
N(varTable) = NULL;
heap_free(N(varStash));
N(varStash) = NULL;
}
return ApiStatus_DONE2;

View File

@ -1,22 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(UnkCameraFunc)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var0 = evt_get_variable(script, *args++);
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
Bytecode out1 = *args++;
Bytecode out2 = *args++;
s32 cameraYaw = gCameras[gCurrentCameraID].currentYaw;
s32 outVal1 = evt_get_variable(script, EVT_ARRAY(1)) - (var2 * cos_deg(cameraYaw));
s32 outVal2 = evt_get_variable(script, EVT_ARRAY(3)) - (var2 * sin_deg(cameraYaw));
outVal1 -= var0;
outVal2 -= var1;
evt_set_variable(script, out1, outVal1);
evt_set_variable(script, out2, outVal2);
return ApiStatus_DONE2;
}

View File

@ -1,106 +0,0 @@
#include "common.h"
#include "npc.h"
void N(UnkFunc28)(Npc* npc);
ApiStatus N(UnkFunc31)(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(script->owner2.npcID);
npc->onRender = N(UnkFunc28);
npc->blurBuf = heap_malloc(8);
*((s32*)npc->blurBuf) = 0;
return ApiStatus_DONE1;
}
ApiStatus N(GetNpcUnsafeOwner2)(Evt* script, s32 isInitialCall) {
get_npc_unsafe(script->owner2.npcID);
return ApiStatus_BLOCK;
}
void N(UnkFunc28)(Npc* npc) {
Camera* camera = &gCameras[gCurrentCamID];
if (*((s32*)npc->blurBuf) & 1) {
clamp_angle(-camera->currentYaw);
}
}
ApiStatus N(UnkAlphaFunc)(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
s32 i;
mdl_set_all_fog_mode(1);
D_801512F0[0] = 1;
set_background_color_blend(0, 0, 0, 0);
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);
if (npc != NULL && npc->flags != 0 && npc->npcID != NPC_PARTNER && npc->npcID != UNK_ALPHA_FUNC_NPC) {
npc->flags |= 0x800000;
}
}
for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
ItemEntity* itemEntity = get_item_entity(i);
if (itemEntity != NULL && itemEntity->flags & ENTITY_FLAGS_SKIP_UPDATE_TRANSFORM_MATRIX) {
itemEntity->flags |= ENTITY_FLAGS_8000000;
}
}
script->functionTemp[0] = 0;
}
script->functionTemp[0] += 8;
if (script->functionTemp[0] > 255) {
script->functionTemp[0] = 255;
}
set_background_color_blend(0, 0, 0, script->functionTemp[0]);
return (script->functionTemp[0] == 255) * ApiStatus_DONE2;
}
ApiStatus N(UnkFunc29)(Evt* script, s32 isInitialCall) {
s32 i;
if (isInitialCall) {
set_background_color_blend(0, 0, 0, 255);
script->functionTemp[0] = 255;
script->functionTemp[1] = 0;
}
script->functionTemp[0] -= 8;
if (script->functionTemp[0] < 0) {
script->functionTemp[0] = 0;
}
set_background_color_blend(0, 0, 0, script->functionTemp[0]);
if (script->functionTemp[0] == 0 && script->functionTemp[1] == 0) {
script->functionTemp[1] = 1;
} else if (script->functionTemp[1] == 1) {
mdl_set_all_fog_mode(0);
*D_801512F0 = 0;
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);
if (npc != NULL && npc->flags != 0) {
if (npc->npcID != NPC_PARTNER && npc->npcID != UNK_ALPHA_FUNC_NPC) {
npc->flags &= ~0x00800000;
}
}
}
for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
ItemEntity* entity = get_item_entity(i);
if (entity != NULL && entity->flags & 0x10) {
entity->flags &= ~0x8000000;
}
}
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}

View File

@ -1,40 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(UnkRotatePartner)(Evt* script, s32 isInitialCall) {
Npc* partner = get_npc_unsafe(NPC_PARTNER);
if (isInitialCall) {
script->functionTemp[0] = 60;
}
partner->yaw += 30.0f;
if (partner->yaw >= 360.0f) {
partner->yaw -= 360.0f;
}
script->functionTemp[0]--;
return (script->functionTemp[0] >> 0x1F) & ApiStatus_DONE2;
}
ApiStatus N(UnkMovePartner)(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(NPC_PARTNER);
f32* x = (f32*) &script->functionTemp[1];
f32* y = (f32*) &script->functionTemp[2];
f32* z = (f32*) &script->functionTemp[3];
if (isInitialCall) {
*x = evt_get_float_variable(script, EVT_VAR(0)) / 60.0f;
*y = evt_get_float_variable(script, EVT_VAR(5)) / 60.0f;
*z = evt_get_float_variable(script, EVT_VAR(1)) / 60.0f;
script->functionTemp[0] = 60;
}
npc->pos.x += *x;
npc->pos.y += *y;
npc->pos.z += *z;
script->functionTemp[0]--;
return (script->functionTemp[0] == 0) * ApiStatus_DONE2;
}

View File

@ -1,62 +0,0 @@
#include "common.h"
#include "npc.h"
// TODO, can we remove this once all data disasm'ed?
extern QuizRequirements N(quizRequirements)[];
ApiStatus N(UnkQuizFunc)(Evt* script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
u16 phi_s0 = evt_get_variable(script, EVT_SAVE_FLAG(1768));
u16 phi_s7 = evt_get_variable(script, EVT_SAVE_FLAG(1769));
u16 temp_s6 = evt_get_variable(script, EVT_SAVE_VAR(350));
u16 phi_s5 = evt_get_variable(script, EVT_SAVE_VAR(351));
s32 var;
s32 i;
s32 test2;
u16 temp_s3 = (enemy->varTable[0] & 0xFF0000) >> 16;
u16 sp_10 = (enemy->varTable[0] & 0xFF0000) >> 16;
u16 temp_s2 = (enemy->varTable[0] & 0xFF00) >> 8;
u16 sp_1e = (enemy->varTable[0] & 0xFF) >> 0;
s32 temp_v0;
s32 temp_s0_2;
if (temp_s3 != temp_s6) {
phi_s7 = 0;
phi_s0 = 0;
}
if (phi_s0 == 0) {
if (rand_int(100) < 30) {
phi_s5 = rand_int(temp_s2 - 1);
temp_s6 = temp_s3;
evt_set_variable(script, EVT_SAVE_VAR(350), temp_s6);
evt_set_variable(script, EVT_SAVE_VAR(351), phi_s5);
phi_s0 = 1;
}
}
evt_set_variable(script, EVT_SAVE_FLAG(1768), phi_s0);
evt_set_variable(script, EVT_SAVE_FLAG(1769), phi_s7);
temp_s0_2 = evt_get_variable(NULL, EVT_SAVE_VAR(352));
temp_v0 = evt_get_variable(NULL, EVT_STORY_PROGRESS);
for (i = 0; i < 8; i++) {
if (temp_v0 < (*(N(quizRequirements) + i)).unk_00) {
break;
}
}
temp_v0 = temp_s0_2 < (*(N(quizRequirements) + i)).unk_04;
test2 = var = temp_v0;
if ((((sp_10 == temp_s6) && (sp_1e == phi_s5) && (phi_s7 == 0) && test2)) ||
((gGameStatusPtr->debugQuizmo != 0) && var)) {
script->varTable[0] = 1;
} else {
kill_enemy(enemy);
script->varTable[0] = 0;
}
return ApiStatus_DONE2;
}

View File

@ -1,19 +0,0 @@
#include "common.h"
#include "npc.h"
ApiStatus N(UnkRotatePlayer)(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
if (isInitialCall) {
script->functionTemp[0] = 60;
}
playerStatus->targetYaw += 30.0f;
if (playerStatus->targetYaw >= 360.0f) {
playerStatus->targetYaw -= 360.0f;
}
script->functionTemp[0]--;
return (script->functionTemp[0] >> 0x1F) & ApiStatus_DONE2;
}

View File

@ -0,0 +1,465 @@
#include "common.h"
#include "effects.h"
// TODO, can we remove this once all data disasm'ed?
extern QuizRequirement N(Quizmo_Requirements)[];
extern u8 N(Quizmo_Answers)[64];
extern s32** N(Quizmo_varStash);
void N(Quizmo_NPC_OnRender)(Npc* npc);
ApiStatus N(Quizmo_StashVars)(Evt* script, s32 isInitialCall) {
//static s32** varTable = NULL;
s32 i;
if (N(Quizmo_varStash) == NULL) {
N(Quizmo_varStash) = heap_malloc(sizeof(script->varTable));
for (i = 0; i < ARRAY_COUNT(script->varTable); i++) {
N(Quizmo_varStash)[i] = script->varTablePtr[i];
}
} else {
for (i = 0; i < ARRAY_COUNT(script->varTable); i++) {
script->varTablePtr[i] = N(Quizmo_varStash)[i];
}
heap_free(N(Quizmo_varStash));
N(Quizmo_varStash) = NULL;
}
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_GetItemName)(Evt* script, s32 isInitialCall) {
Bytecode args = *script->ptrReadPos;
s32 itemID = evt_get_variable(script, args);
evt_set_variable(script, args, LOOKUP_ITEM(itemID).nameMsg);
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_HideEntities)(Evt* script, s32 isInitialCall) {
gEntityHideMode = 1;
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_ShowEntities)(Evt* script, s32 isInitialCall) {
gEntityHideMode = 0;
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_ShouldAppear)(Evt* script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
u16 hasLocation = evt_get_variable(script, EVT_SAVE_FLAG(1768));
u16 changedLocation = evt_get_variable(script, EVT_SAVE_FLAG(1769));
u16 locTown = evt_get_variable(script, EVT_SAVE_VAR(350));
u16 locMap = evt_get_variable(script, EVT_SAVE_VAR(351));
s32 var;
s32 i;
s32 test2;
u16 curTown1 = (enemy->varTable[0] & 0xFF0000) >> 16;
u16 curTown2 = (enemy->varTable[0] & 0xFF0000) >> 16;
u16 numMaps = (enemy->varTable[0] & 0xFF00) >> 8;
u16 curMap = (enemy->varTable[0] & 0xFF) >> 0;
s32 progress;
s32 numAnswered;
if (curTown1 != locTown) {
changedLocation = FALSE;
hasLocation = FALSE;
}
if (!hasLocation) {
if (rand_int(100) < 30) {
locMap = rand_int(numMaps - 1);
locTown = curTown1;
evt_set_variable(script, EVT_SAVE_VAR(350), locTown);
evt_set_variable(script, EVT_SAVE_VAR(351), locMap);
hasLocation = TRUE;
}
}
evt_set_variable(script, EVT_SAVE_FLAG(1768), hasLocation);
evt_set_variable(script, EVT_SAVE_FLAG(1769), changedLocation);
numAnswered = evt_get_variable(NULL, EVT_SAVE_VAR(352));
progress = evt_get_variable(NULL, EVT_STORY_PROGRESS);
// vanilla bug? never checks the final requirement in the list
for (i = 0; i < 8; i++) {
if (progress < N(Quizmo_Requirements)[i].requiredStoryProgress) {
break;
}
}
//TODO clean this up
progress = numAnswered < N(Quizmo_Requirements)[i].numQuestionsUnlocked;
test2 = var = progress;
if ((((curTown2 == locTown) && (curMap == locMap) && (changedLocation == 0) && test2)) ||
(gGameStatusPtr->debugQuizmo && var)) {
script->varTable[0] = TRUE;
} else {
kill_enemy(enemy);
script->varTable[0] = FALSE;
}
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_RenderInit)(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(script->owner2.npcID);
npc->onRender = N(Quizmo_NPC_OnRender);
npc->blurBuf = heap_malloc(8);
*((s32*)npc->blurBuf) = 0;
return ApiStatus_DONE1;
}
ApiStatus N(Quizmo_NPC_Aux_Impl)(Evt* script, s32 isInitialCall) {
// does nothing, probably a default/template function for NPCs
get_npc_unsafe(script->owner2.npcID);
return ApiStatus_BLOCK;
}
void N(Quizmo_NPC_OnRender)(Npc* npc) {
Camera* camera = &gCameras[gCurrentCamID];
if (*((s32*)npc->blurBuf) & 1) {
clamp_angle(-camera->currentYaw);
}
}
ApiStatus N(Quizmo_HideWorld)(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
s32 i;
mdl_set_all_fog_mode(1);
D_801512F0[0] = 1;
set_background_color_blend(0, 0, 0, 0);
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);
if (npc != NULL && npc->flags != 0 && npc->npcID != NPC_PARTNER && npc->npcID != CHUCK_QUIZMO_NPC_ID) {
npc->flags |= NPC_FLAG_NO_DROPS; // odd
}
}
for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
ItemEntity* itemEntity = get_item_entity(i);
if (itemEntity != NULL && itemEntity->flags & ENTITY_FLAGS_SKIP_UPDATE_TRANSFORM_MATRIX) {
itemEntity->flags |= ENTITY_FLAGS_8000000;
}
}
script->functionTemp[0] = 0;
}
script->functionTemp[0] += 8;
if (script->functionTemp[0] > 255) {
script->functionTemp[0] = 255;
}
set_background_color_blend(0, 0, 0, script->functionTemp[0]);
if (script->functionTemp[0] == 255) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus N(Quizmo_FadeInWorld)(Evt* script, s32 isInitialCall) {
s32 i;
if (isInitialCall) {
set_background_color_blend(0, 0, 0, 255);
script->functionTemp[0] = 255;
script->functionTemp[1] = 0;
}
script->functionTemp[0] -= 8;
if (script->functionTemp[0] < 0) {
script->functionTemp[0] = 0;
}
set_background_color_blend(0, 0, 0, script->functionTemp[0]);
if (script->functionTemp[0] == 0 && script->functionTemp[1] == 0) {
script->functionTemp[1] = 1;
} else if (script->functionTemp[1] == 1) {
mdl_set_all_fog_mode(0);
*D_801512F0 = 0;
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);
if (npc != NULL && npc->flags != 0) {
if (npc->npcID != NPC_PARTNER && npc->npcID != CHUCK_QUIZMO_NPC_ID) {
npc->flags &= ~NPC_FLAG_NO_DROPS;
}
}
}
for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
ItemEntity* entity = get_item_entity(i);
if (entity != NULL && entity->flags & ITEM_ENTITY_FLAGS_10) {
entity->flags &= ~ITEM_ENTITY_FLAGS_8000000;
}
}
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(Quizmo_UpdateRecords)(Evt* script, s32 isInitialCall) {
u16 quizzesAnswered = gPlayerData.quizzesAnswered;
if (quizzesAnswered < 999) {
gPlayerData.quizzesAnswered++;
}
if (script->varTable[0] == N(Quizmo_Answers)[evt_get_variable(NULL, EVT_SAVE_VAR(352))]) {
script->varTable[0] = 1;
gPlayerData.quizzesCorrect++;
} else {
script->varTable[0] = 0;
}
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_CreateStage)(Evt* script, s32 isInitialCall) {
EffectDataQuizStage* stageData;
if (isInitialCall) {
N(Quizmo_StageEffect) = fx_quizmo_stage(0,
evt_get_variable(script, EVT_ARRAY(1)),
evt_get_variable(script, EVT_ARRAY(2)),
evt_get_variable(script, EVT_ARRAY(3)));
N(Quizmo_AudienceEffect) = fx_quizmo_audience(0,
evt_get_variable(script, EVT_ARRAY(1)),
evt_get_variable(script, EVT_ARRAY(2)),
evt_get_variable(script, EVT_ARRAY(3)));
N(Quizmo_VannaTEffect) = fx_quizmo_assistant(0,
evt_get_variable(script, EVT_ARRAY(1)),
evt_get_variable(script, EVT_ARRAY(2)),
evt_get_variable(script, EVT_ARRAY(3)),
1.0f, 0);
stageData = N(Quizmo_StageEffect)->data;
stageData->microphoneRaiseAmt = 0;
stageData->leftWallRaiseAmt = 0;
stageData->rightWallRaiseAmt = 0;
stageData->podiumRaiseAmt = 0;
stageData->rearWallRaiseAmt = 0;
}
stageData = N(Quizmo_StageEffect)->data;
stageData->leftWallRaiseAmt += 10;
stageData->podiumRaiseAmt += 10;
stageData->rightWallRaiseAmt += 10;
stageData->microphoneRaiseAmt += 10;
stageData->rearWallRaiseAmt += 10;
if (stageData->microphoneRaiseAmt >= 255) {
stageData->microphoneRaiseAmt = 255;
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(Quizmo_DestroyEffects)(Evt* script, s32 isInitialCall) {
EffectDataQuizStage* stageData;
if (isInitialCall) {
N(Quizmo_AudienceEffect)->flags |= EFFECT_INSTANCE_FLAGS_10;
N(Quizmo_VannaTEffect)->flags |= EFFECT_INSTANCE_FLAGS_10;
}
stageData = N(Quizmo_StageEffect)->data;
stageData->microphoneRaiseAmt -= 10;
stageData->leftWallRaiseAmt -= 10;
stageData->rightWallRaiseAmt -= 10;
stageData->podiumRaiseAmt -= 10;
stageData->rearWallRaiseAmt -= 10;
if (stageData->microphoneRaiseAmt <= 0) {
stageData->microphoneRaiseAmt = 0;
remove_effect(N(Quizmo_StageEffect));
free_generic_entity(N(Quizmo_Worker));
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus N(Quizmo_SetStageLightsDelay)(Evt* script, s32 isInitialCall) {
((EffectDataQuizStage*)N(Quizmo_StageEffect)->data)->lightScrollDelay = evt_get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_UnkStageEffectMode)(Evt* script, s32 isInitialCall) {
s32 var = evt_get_variable(script, *script->ptrReadPos);
EffectDataQuizStage* stageData = N(Quizmo_StageEffect)->data;
switch (var) {
case 0:
stageData->unkEffectMode = 0xC0;
break;
case 1:
stageData->unkEffectMode = 0x80;
break;
case 2:
stageData->unkEffectMode = 0x40;
break;
default:
stageData->unkEffectMode = 0;
break;
}
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_SetVannaAnim_Idle)(Evt* script, s32 isInitialCall) {
((EffectDataQuizVannaT*)N(Quizmo_VannaTEffect)->data)->anim = 0;
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_SetVannaAnim_Clap)(Evt* script, s32 isInitialCall) {
((EffectDataQuizVannaT*)N(Quizmo_VannaTEffect)->data)->anim = 1;
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_SetVannaAnim_Wave)(Evt* script, s32 isInitialCall) {
((EffectDataQuizVannaT*)N(Quizmo_VannaTEffect)->data)->anim = 2;
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_ShouldQuizmoLeave)(Evt* script, s32 isInitialCall) {
evt_set_variable(script, EVT_VAR(0), gGameStatusPtr->debugQuizmo);
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_SetCamVfov)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 cameraID = evt_get_variable(script, *args++);
gCameras[cameraID].vfov = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_GetCamVfov)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 cameraID = evt_get_variable(script, *args++);
evt_set_variable(script, *args++, EVT_FIXED(gCameras[cameraID].vfov));
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_AddViewRelativeOffset)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_variable(script, *args++);
s32 y = evt_get_variable(script, *args++);
s32 z = evt_get_variable(script, *args++);
Bytecode ourVarX = *args++;
Bytecode outVarZ = *args++;
s32 cameraYaw = gCameras[gCurrentCameraID].currentYaw;
s32 outX = evt_get_variable(script, EVT_ARRAY(1)) - (z * cos_deg(cameraYaw));
s32 outZ = evt_get_variable(script, EVT_ARRAY(3)) - (z * sin_deg(cameraYaw));
outX -= x;
outZ -= y;
evt_set_variable(script, ourVarX, outX);
evt_set_variable(script, outVarZ, outZ);
return ApiStatus_DONE2;
}
ApiStatus N(Quizmo_SpinPlayer)(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
if (isInitialCall) {
script->functionTemp[0] = 60;
}
playerStatus->targetYaw += 30.0f;
if (playerStatus->targetYaw >= 360.0f) {
playerStatus->targetYaw -= 360.0f;
}
script->functionTemp[0]--;
if(script->functionTemp[0] < 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus N(Quizmo_SpinPartner)(Evt* script, s32 isInitialCall) {
Npc* partner = get_npc_unsafe(NPC_PARTNER);
if (isInitialCall) {
script->functionTemp[0] = 60;
}
partner->yaw += 30.0f;
if (partner->yaw >= 360.0f) {
partner->yaw -= 360.0f;
}
script->functionTemp[0]--;
if(script->functionTemp[0] < 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus N(Quizmo_UpdatePartnerPosition)(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(NPC_PARTNER);
f32* x = (f32*) &script->functionTemp[1];
f32* y = (f32*) &script->functionTemp[2];
f32* z = (f32*) &script->functionTemp[3];
if (isInitialCall) {
*x = evt_get_float_variable(script, EVT_VAR(0)) / 60.0f;
*y = evt_get_float_variable(script, EVT_VAR(5)) / 60.0f;
*z = evt_get_float_variable(script, EVT_VAR(1)) / 60.0f;
script->functionTemp[0] = 60;
}
npc->pos.x += *x;
npc->pos.y += *y;
npc->pos.z += *z;
script->functionTemp[0]--;
if(script->functionTemp[0] == 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
void N(Quizmo_CreateReactionEffect)(void) {
s32 result = evt_get_variable(NULL, N(Quizmo_AnswerResult));
if (result == 1) {
fx_quizmo_answer(0, 0, 0, 0);
} else if (result == 2) {
fx_quizmo_answer(1, 0, 0, 0);
}
}
ApiStatus N(Quizmo_CreateWorker)(Evt* script, s32 isInitialCall) {
N(Quizmo_Worker) = create_generic_entity_frontUI(NULL, N(Quizmo_CreateReactionEffect));
return ApiStatus_DONE2;
}

View File

@ -0,0 +1,715 @@
#include "common.h"
#ifndef CHUCK_QUIZMO_NPC_ID
# error CHUCK_QUIZMO_NPC_ID must be defined for QuizmoData.inc.c
#endif
s32** N(Quizmo_varStash) = NULL;
EvtScript N(EVS_Quizmo_GiveItem_0) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 0)
EVT_RETURN
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_GiveItem_16) = {
EVT_CALL(ShowGotItem, EVT_VAR(0), 1, 16)
EVT_RETURN
EVT_RETURN
EVT_END
};
u8 N(Quizmo_Answers)[64] = {
0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00,
0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02,
0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00,
0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01,
0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01,
0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02,
0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01,
};
QuizRequirement N(Quizmo_Requirements)[] = {
{ STORY_CH0_KAMMY_RETURNED_TO_BOWSER, 0 },
{ STORY_CH1_BEGAN_PEACH_MISSION, 10 },
{ STORY_CH2_BEGAN_PEACH_MISSION, 20 },
{ STORY_CH3_BEGAN_PEACH_MISSION, 30 },
{ STORY_CH4_BEGAN_PEACH_MISSION, 37 },
{ STORY_CH5_STAR_SPRIT_DEPARTED, 44 },
{ STORY_CH6_BEGAN_PEACH_MISSION, 52 },
{ STORY_CH7_BEGAN_PEACH_MISSION, 60 },
{ STORY_EPILOGUE, 64 },
{ 0, 64 }, // end of list
};
EvtScript N(EVS_Quizmo_Exit) = {
EVT_CALL(N(Quizmo_ShouldQuizmoLeave))
EVT_IF_LE(EVT_VAR(0), 1)
EVT_CALL(GetNpcPos, NPC_SELF, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 300)
EVT_CALL(SetNpcJumpscale, NPC_SELF, 1)
EVT_CALL(SetNpcAnimation, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_C)
EVT_WAIT_FRAMES(40)
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_END_IF
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_SetQuizCamera) = {
EVT_CALL(N(Quizmo_GetCamVfov), 0, EVT_ARRAY(0))
EVT_CALL(N(Quizmo_SetCamVfov), 0, 25) //TODO
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(SetPanTarget, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(UseSettingsFrom, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(GetCamType, 0, EVT_VAR(1), EVT_VAR(2))
EVT_CALL(SetCamType, 0, EVT_VAR(1), 0)
EVT_CALL(GetCamDistance, 0, EVT_VAR(0))
EVT_IF_GT(EVT_VAR(0), 0)
EVT_SETF(EVT_VAR(0), 370)
EVT_ELSE
EVT_SETF(EVT_VAR(0), -370)
EVT_END_IF
EVT_CALL(SetCamDistance, 0, EVT_VAR(0))
EVT_CALL(GetCamPitch, 0, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(0), EVT_FIXED(13.0))
EVT_SETF(EVT_VAR(1), EVT_FIXED(-10.0))
EVT_CALL(SetCamPitch, 0, EVT_VAR(0), EVT_VAR(1))
EVT_CALL(PanToTarget, 0, 0, 1)
EVT_CALL(SetCamLeadPlayer, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_OtherCamScript) = {
EVT_CALL(GetNpcPos, CHUCK_QUIZMO_NPC_ID, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 30)
EVT_CALL(SetPanTarget, 0, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_CALL(GetCamDistance, 0, EVT_VAR(0))
EVT_IF_GT(EVT_VAR(0), 0)
EVT_SETF(EVT_VAR(0), 17)
EVT_ELSE
EVT_SETF(EVT_VAR(0), -17)
EVT_END_IF
EVT_CALL(SetCamDistance, 0, EVT_VAR(0))
EVT_CALL(SetCamSpeed, 0, EVT_FIXED(90.0))
EVT_CALL(WaitForCam, 0, EVT_FIXED(1.0))
EVT_CALL(SetCamSpeed, 0, 1)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_ResetCamera) = {
EVT_CALL(N(Quizmo_SetCamVfov), 0, EVT_ARRAY(0))
EVT_CALL(PanToTarget, 0, 0, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_MovePlayerToPodium) = {
EVT_WAIT_FRAMES(20)
EVT_CALL(N(Quizmo_AddViewRelativeOffset), EVT_ARRAY(1), EVT_ARRAY(3), 83, EVT_VAR(0), EVT_VAR(1))
EVT_THREAD
EVT_SETF(EVT_VAR(2), 0)
EVT_LOOP(60)
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_MULF(EVT_VAR(3), EVT_VAR(2))
EVT_MULF(EVT_VAR(4), EVT_VAR(2))
EVT_DIVF(EVT_VAR(3), 60)
EVT_DIVF(EVT_VAR(4), 60)
EVT_ADDF(EVT_VAR(3), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(4), EVT_ARRAY(3))
EVT_CALL(SetPlayerPos, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_ADDF(EVT_VAR(2), 1)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_ADDF(EVT_VAR(3), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(4), EVT_ARRAY(3))
EVT_CALL(SetPlayerPos, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_END_THREAD
EVT_CALL(N(Quizmo_SpinPlayer))
EVT_CALL(func_802D2884, EVT_ARRAY(1), EVT_ARRAY(3), 0)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_MovePartnerToPodium) = {
EVT_CALL(GetNpcPos, NPC_PARTNER, EVT_VAR(10), EVT_VAR(11), EVT_VAR(12))
EVT_CALL(N(Quizmo_AddViewRelativeOffset), EVT_VAR(10), EVT_VAR(12), 108, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(5), EVT_ARRAY(2))
EVT_SUBF(EVT_VAR(5), EVT_VAR(11))
EVT_THREAD
EVT_CALL(N(Quizmo_UpdatePartnerPosition))
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_SETF(EVT_VAR(6), EVT_VAR(5))
EVT_ADDF(EVT_VAR(3), EVT_VAR(10))
EVT_ADDF(EVT_VAR(4), EVT_VAR(12))
EVT_ADDF(EVT_VAR(6), EVT_VAR(11))
EVT_CALL(SetNpcPos, NPC_PARTNER, EVT_VAR(3), EVT_VAR(6), EVT_VAR(4))
EVT_END_THREAD
EVT_CALL(N(Quizmo_SpinPartner))
EVT_CALL(NpcFacePlayer, NPC_PARTNER, 0)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_RUN)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_MoveQuizmoToMicrophone) = {
EVT_CALL(GetNpcPos, CHUCK_QUIZMO_NPC_ID, EVT_VAR(10), EVT_VAR(11), EVT_VAR(12))
EVT_CALL(N(Quizmo_AddViewRelativeOffset), EVT_VAR(10), EVT_VAR(12), -70, EVT_VAR(0), EVT_VAR(1))
EVT_THREAD
EVT_SETF(EVT_VAR(2), 0)
EVT_LOOP(60)
EVT_SETF(EVT_VAR(3), EVT_VAR(0))
EVT_SETF(EVT_VAR(4), EVT_VAR(1))
EVT_MULF(EVT_VAR(3), EVT_VAR(2))
EVT_MULF(EVT_VAR(4), EVT_VAR(2))
EVT_DIVF(EVT_VAR(3), 60)
EVT_DIVF(EVT_VAR(4), 60)
EVT_ADDF(EVT_VAR(3), EVT_VAR(10))
EVT_ADDF(EVT_VAR(4), EVT_VAR(12))
EVT_CALL(SetNpcPos, CHUCK_QUIZMO_NPC_ID, EVT_VAR(3), EVT_ARRAY(2), EVT_VAR(4))
EVT_ADDF(EVT_VAR(2), 1)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_WAIT_FRAMES(60)
EVT_CALL(NpcFacePlayer, CHUCK_QUIZMO_NPC_ID, 0)
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_SetCharacterPositons) = {
EVT_EXEC(N(EVS_Quizmo_MovePlayerToPodium))
EVT_EXEC(N(EVS_Quizmo_MovePartnerToPodium))
EVT_EXEC_WAIT(N(EVS_Quizmo_MoveQuizmoToMicrophone))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_PlayerThinking) = {
EVT_LOOP(0)
EVT_CALL(SetPlayerAnimation, ANIM_QUESTION)
EVT_WAIT_FRAMES(20)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_PlayerHitBuzzer) = {
EVT_CALL(SetPlayerAnimation, ANIM_THROW)
EVT_WAIT_FRAMES(15)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_PlayerReaction_RightAnswer) = {
EVT_LOOP(0)
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_BEFORE_JUMP)
EVT_WAIT_FRAMES(2)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR_STILL)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_MIDAIR)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), 0)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -2)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_CALL(SetPlayerAnimation, ANIM_10009)
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_CALL(SetPlayerAnimation, ANIM_10002)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_ARRAY(2), EVT_VAR(2))
EVT_WAIT_FRAMES(1)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_PlayerReaction_WrongAnswer) = {
EVT_CALL(SetPlayerAnimation, ANIM_SHOCK_STILL)
EVT_LOOP(0)
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_ReturnPlayerToOriginalPos) = {
EVT_THREAD
EVT_CALL(N(Quizmo_AddViewRelativeOffset), EVT_ARRAY(1), EVT_ARRAY(3), 25, EVT_VAR(0), EVT_VAR(1))
EVT_SETF(EVT_VAR(2), EVT_ARRAY(1))
EVT_ADDF(EVT_VAR(2), EVT_VAR(0))
EVT_SETF(EVT_VAR(3), EVT_ARRAY(3))
EVT_ADDF(EVT_VAR(3), EVT_VAR(1))
EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_JUMP)
EVT_CALL(NpcMoveTo, NPC_PARTNER, EVT_VAR(2), EVT_VAR(3), 40)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_RUN)
EVT_END_THREAD
EVT_CALL(PlayerMoveTo, EVT_ARRAY(1), EVT_ARRAY(3), 40)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_RightAnswer) = {
EVT_EXEC_GET_TID(N(EVS_Quizmo_PlayerReaction_RightAnswer), EVT_VAR(1))
EVT_WAIT_FRAMES(60)
EVT_KILL_THREAD(EVT_VAR(1))
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_WAIT_FRAMES(20)
EVT_EXEC_WAIT(N(EVS_Quizmo_ReturnPlayerToOriginalPos))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_WrongAnswer) = {
EVT_EXEC_GET_TID(N(EVS_Quizmo_PlayerReaction_WrongAnswer), EVT_VAR(1))
EVT_WAIT_FRAMES(60)
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), -1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_WAIT_FRAMES(20)
EVT_KILL_THREAD(EVT_VAR(1))
EVT_EXEC_WAIT(N(EVS_Quizmo_ReturnPlayerToOriginalPos))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_QuizMain) = {
EVT_IF_GT(EVT_SAVE_VAR(352), 63)
EVT_SET(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_CALL(GetPlayerPos, EVT_ARRAY(1), EVT_ARRAY(2), EVT_ARRAY(3))
EVT_CALL(NpcFacePlayer, NPC_SELF, 16)
EVT_IF_EQ(EVT_SAVE_VAR(352), 63)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000A))
EVT_ELSE
EVT_IF_EQ(EVT_SAVE_FLAG(1767), 1)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0009))
EVT_ELSE
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0008))
EVT_SET(EVT_SAVE_FLAG(1767), 1)
EVT_END_IF
EVT_END_IF
EVT_CALL(ShowChoice, MESSAGE_ID(0x1E, 0x000D))
EVT_IF_EQ(EVT_VAR(0), 1)
EVT_CALL(ContinueSpeech, -1, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000C))
EVT_EXEC_WAIT(N(EVS_Quizmo_Exit))
EVT_SET(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_SET(EVT_SAVE_FLAG(1793), 1)
EVT_CALL(N(Quizmo_HideEntities))
EVT_CALL(N(Quizmo_HideWorld))
EVT_EXEC(N(EVS_Quizmo_SetQuizCamera))
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE)
EVT_CALL(SetNpcFlagBits, CHUCK_QUIZMO_NPC_ID, NPC_FLAG_GRAVITY, FALSE)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100, TRUE)
EVT_CALL(SetNpcFlagBits, CHUCK_QUIZMO_NPC_ID, NPC_FLAG_100, TRUE)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_RUN)
EVT_EXEC_GET_TID(N(EVS_Quizmo_SetCharacterPositons), EVT_VAR(1))
EVT_CALL(ContinueSpeech, -1, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000B))
EVT_CALL(PlaySound, 137)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(N(Quizmo_CreateStage))
EVT_LOOP(5)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 1)
EVT_CALL(SetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_WAIT_FRAMES(2)
EVT_END_LOOP
EVT_SET(EVT_VAR(0), MESSAGE_ID(0x2C, 0x00))
EVT_ADD(EVT_VAR(0), EVT_SAVE_VAR(352))
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6, 0, EVT_VAR(0))
EVT_CALL(SetPlayerAnimation, ANIM_QUESTION)
EVT_SET(EVT_VAR(0), MESSAGE_ID(0x2D, 0x00))
EVT_ADD(EVT_VAR(0), EVT_SAVE_VAR(352))
EVT_CALL(PlaySound, 142)
EVT_CALL(ShowChoice, EVT_VAR(0))
EVT_KILL_THREAD(EVT_VAR(1))
EVT_CALL(StopSound, 142)
EVT_EXEC(N(EVS_Quizmo_PlayerHitBuzzer))
EVT_WAIT_FRAMES(15)
EVT_CALL(PlaySound, 141)
EVT_CALL(N(Quizmo_UnkStageEffectMode), EVT_VAR(0))
EVT_SET(EVT_ARRAY(4), 0)
EVT_CALL(N(Quizmo_CreateWorker))
EVT_WAIT_FRAMES(40)
EVT_CALL(N(Quizmo_UpdateRecords))
EVT_THREAD
EVT_WAIT_FRAMES(110)
EVT_CALL(CloseChoice)
EVT_SET(EVT_ARRAY(4), 0)
EVT_END_THREAD
EVT_IF_EQ(EVT_VAR(0), 1)
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_7)
EVT_SET(EVT_ARRAY(4), 1)
EVT_THREAD
EVT_CALL(N(Quizmo_SetStageLightsDelay), 1)
EVT_WAIT_FRAMES(6)
EVT_WAIT_FRAMES(6)
EVT_WAIT_FRAMES(6)
EVT_CALL(N(Quizmo_SetStageLightsDelay), 2)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(PlaySound, SOUND_21C)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, SOUND_21C)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, SOUND_21C)
EVT_WAIT_FRAMES(6)
EVT_CALL(PlaySound, SOUND_21C)
EVT_END_THREAD
EVT_CALL(PlaySound, SOUND_8A)
EVT_CALL(N(Quizmo_SetVannaAnim_Clap))
EVT_THREAD
EVT_WAIT_FRAMES(15)
EVT_CALL(GetPlayerPos, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2))
EVT_ADD(EVT_VAR(1), 50)
EVT_CALL(N(Quizmo_AddViewRelativeOffset), 0, 0, 83, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_ADD(EVT_VAR(1), -3)
EVT_CALL(N(Quizmo_AddViewRelativeOffset), 0, 0, 58, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_ADD(EVT_VAR(1), 30)
EVT_CALL(N(Quizmo_AddViewRelativeOffset), 0, 0, 93, EVT_VAR(0), EVT_VAR(2))
EVT_CALL(PlayEffect, 0x7, 2, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(PlayEffect, 0x44, 4, EVT_VAR(0), EVT_VAR(1), EVT_VAR(2), 1, 60, 0, 0, 0, 0, 0, 0, 0)
EVT_WAIT_FRAMES(15)
EVT_END_THREAD
EVT_WAIT_FRAMES(20)
EVT_EXEC_GET_TID(N(EVS_Quizmo_RightAnswer), EVT_VAR(1))
EVT_ADD(EVT_SAVE_VAR(352), 1)
EVT_IF_GT(EVT_SAVE_VAR(352), 63)
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x0010))
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5)
EVT_SET(EVT_VAR(0), ITEM_STAR_PIECE)
EVT_SET(EVT_VAR(1), 3)
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddStarPieces, 1)
EVT_CALL(N(Quizmo_SetStageLightsDelay), 15)
EVT_CALL(N(Quizmo_SetVannaAnim_Idle))
EVT_CALL(SetMessageValue, EVT_SAVE_VAR(352), 0)
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x0011))
EVT_ELSE
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x000E))
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_6)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_5)
EVT_SET(EVT_VAR(0), ITEM_STAR_PIECE)
EVT_SET(EVT_VAR(1), 1)
EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0))
EVT_CALL(AddStarPieces, 1)
EVT_CALL(N(Quizmo_SetStageLightsDelay), 15)
EVT_CALL(N(Quizmo_SetVannaAnim_Idle))
EVT_CALL(SetMessageValue, EVT_SAVE_VAR(352), 0)
EVT_IF_EQ(EVT_SAVE_VAR(352), 1)
EVT_CALL(SetMessageMsg, EVT_PTR(MessageSingular), 1)
EVT_ELSE
EVT_CALL(SetMessageMsg, EVT_PTR(MessagePlural), 1)
EVT_END_IF
EVT_CALL(SpeakToPlayer, NPC_SELF, NPC_ANIM_chuck_quizmo_Palette_00_Anim_4, NPC_ANIM_chuck_quizmo_Palette_00_Anim_1, 0, MESSAGE_ID(0x08, 0x000F))
EVT_END_IF
EVT_SET(EVT_VAR(0), 1)
EVT_ELSE
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_9)
EVT_SET(EVT_ARRAY(4), 2)
EVT_CALL(PlaySound, SOUND_MENU_ERROR)
EVT_CALL(PlaySound, SOUND_8B)
EVT_EXEC_GET_TID(N(EVS_Quizmo_WrongAnswer), EVT_VAR(1))
EVT_CALL(GetPlayerPos, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4))
EVT_CALL(PlayEffect, 0x2B, 0, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4), 0, 0, 0, 0, 0, 0, 0, 0, 0)
EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MESSAGE_ID(0x08, 0x000D))
EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, NPC_ANIM_chuck_quizmo_Palette_00_Anim_A)
EVT_LOOP(0)
EVT_IS_THREAD_RUNNING(EVT_VAR(1), EVT_VAR(0))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT_FRAMES(1)
EVT_END_LOOP
EVT_SET(EVT_VAR(0), 0)
EVT_END_IF
EVT_CALL(N(Quizmo_UnkStageEffectMode), -1)
EVT_CALL(EnablePartnerAI)
EVT_THREAD
EVT_WAIT_FRAMES(30)
EVT_CALL(PlaySound, SOUND_8F)
EVT_END_THREAD
EVT_THREAD
EVT_WAIT_FRAMES(45)
EVT_CALL(StopSound, SOUND_89)
EVT_END_THREAD
EVT_CALL(N(Quizmo_SetVannaAnim_Wave))
EVT_CALL(N(Quizmo_DestroyEffects))
EVT_EXEC_WAIT(N(EVS_Quizmo_Exit))
EVT_EXEC(N(EVS_Quizmo_ResetCamera))
EVT_CALL(N(Quizmo_FadeInWorld))
EVT_CALL(N(Quizmo_ShowEntities))
EVT_SET(EVT_SAVE_FLAG(1793), 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_NPC_OtherAI) = {
EVT_CALL(N(Quizmo_ShouldAppear))
EVT_IF_EQ(EVT_VAR(0), 0)
EVT_RETURN
EVT_END_IF
EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_1000000, FALSE)
EVT_CALL(SetNpcSprite, -1, 0x00AF0001)
EVT_CALL(N(Quizmo_RenderInit))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_NPC_Interact) = {
EVT_USE_ARRAY(EVT_PTR(N(Quizmo_ScriptArray)))
EVT_SET(EVT_SAVE_FLAG(1769), TRUE)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerFlagBits, PLAYER_STATUS_FLAGS_400000, 1)
EVT_EXEC_WAIT(N(EVS_Quizmo_QuizMain))
EVT_CALL(DisablePlayerPhysics, FALSE)
EVT_CALL(SetPlayerFlagBits, PLAYER_STATUS_FLAGS_400000, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Quizmo_NPC_Aux) = {
EVT_CALL(N(Quizmo_NPC_Aux_Impl))
EVT_RETURN
EVT_END
};
NpcAISettings N(Quizmo_NpcAISettings) = {
.moveSpeed = 0.7f,
.moveTime = 30,
.waitTime = 20,
.unk_14 = -1,
.unk_2C = 1,
};
EvtScript N(EVS_Quizmo_Npc_AI) = {
EVT_CALL(DoBasicAI, EVT_PTR(N(Quizmo_NpcAISettings)))
EVT_RETURN
EVT_END
};
// primary quizmo NpcSettings
NpcSettings N(Quizmo_NpcSettings) = {
.unk_00 = { 0x00, 0xAF, 0x00, 0x01 },
.height = 35,
.radius = 28,
.otherAI = &N(EVS_Quizmo_NPC_OtherAI),
.onInteract = &N(EVS_Quizmo_NPC_Interact),
.aux = &N(EVS_Quizmo_NPC_Aux),
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.level = 99,
};
// alternate (unused?) variant of quizmo with AI and NPC_FLAG_100 unset
NpcSettings N(Quizmo_AltNpcSettings) = {
.unk_00 = { 0x00, 0xAF, 0x00, 0x01 },
.height = 35,
.radius = 28,
.otherAI = &N(EVS_Quizmo_NPC_OtherAI),
.onInteract = &N(EVS_Quizmo_NPC_Interact),
.ai = &N(EVS_Quizmo_Npc_AI),
.aux = &N(EVS_Quizmo_NPC_Aux),
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_Y_MOVEMENT,
.level = 99,
.unk_2A = 16,
};

View File

@ -0,0 +1,121 @@
#include "common.h"
#include "effects.h"
ApiStatus N(BulletBill_Think)(Evt* script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
NpcAISettings* aiSettings = (NpcAISettings*)evt_get_variable(script, *script->ptrReadPos);
s32 hitDetected = FALSE;
s32 done = FALSE;
Npc* launcher;
f32 nextX;
f32 nextZ;
f32 deltaY;
if (isInitialCall || enemy->varTable[0] == 0x64) {
script->functionTemp[0] = 0;
npc->duration = 0;
enemy->unk_B0 |= 8;
enemy->flags |= 0x200000;
npc->flags |= 0x40000;
enemy->varTable[0] = 0;
enemy->varTable[1] = -1;
}
if (enemy->unk_B0 & 4) {
if (enemy->unk_B4 != 0) {
return 0;
}
enemy->unk_B0 &= ~4;
}
switch (script->functionTemp[0]) {
case 0:
npc->pos.x = 0.0f;
npc->pos.y = -1000.0f;
npc->pos.z = 0.0f;
npc->rotation.y = 0.0f;
npc->duration = 0;
npc->flags |= 2;
npc->flags &= ~0x400;
disable_npc_shadow(npc);
enemy->varTable[0] = 0;
script->functionTemp[0] = 1;
// fallthrough
case 1:
if (enemy->varTable[0] != 2) {
break;
}
enemy->varTable[0] = 3;
launcher = get_npc_unsafe(get_enemy(enemy->varTable[1])->npcID);
npc->flags &= -3;
npc->pos.x = launcher->pos.x;
npc->pos.y = launcher->pos.y + 11.0;
npc->pos.z = launcher->pos.z + 1.0;
npc->yaw = launcher->yaw;
npc->moveSpeed = aiSettings->chaseSpeed;
npc->currentAnim.w = enemy->animList[2];
add_vec2D_polar(&npc->pos.x, &npc->pos.z, 25.0f, npc->yaw);
if (npc->yaw < 180.0f) {
npc->renderYaw = 180.0f;
} else {
npc->renderYaw = 0.0f;
}
npc->currentAnim.w = enemy->animList[3];
npc->duration = 300;
npc->flags |= 0x10400;
enable_npc_shadow(npc);
script->functionTemp[0] = 2;
// fallthrough
case 2:
deltaY = (npc->pos.y - gPlayerStatusPtr->position.y);
if (!(deltaY > 190.0) && !(deltaY < -120.0)) {
nextX = npc->pos.x;
nextZ = npc->pos.z;
add_vec2D_polar(&nextX, &nextZ, npc->moveSpeed, npc->yaw);
if (npc->yaw < 180.0f) {
if (enemy->varTable[2] <= nextX) {
hitDetected = TRUE;
}
} else {
if (nextX <= enemy->varTable[2]) {
hitDetected = TRUE;
}
}
if (hitDetected) {
npc->currentAnim.w = enemy->animList[7];
ai_enemy_play_sound(npc, 0xB0000018, 0);
fx_ring_blast(0, npc->pos.x, npc->pos.y + 5.0f, npc->pos.z + 1.0f, 0.05f, 0x14);
fx_smoke_burst(0, npc->pos.x, npc->pos.y + 5.0f, npc->pos.z + 0.0f, 1.2f, 0x19);
npc->duration = 1;
script->functionTemp[0] = 3;
} else {
npc_move_heading(npc, npc->moveSpeed, npc->yaw);
}
if (script->functionTemp[0] == 3) {
npc->duration--;
if (npc->duration <= 0) {
done = TRUE;
}
}
} else {
done = TRUE;
}
break;
case 3:
npc->duration--;
if (npc->duration <= 0) {
done = TRUE;
}
break;
}
if (done != 0) {
enemy->varTable[0] = 0x64;
}
return ApiStatus_BLOCK;
}

View File

@ -0,0 +1,23 @@
// 4 includes
#include "world/common/UnkNpcAIFunc4.inc.c"
// unique to this enemy
#include "world/common/UnkNpcAIFunc29.inc.c"
// 25 includes
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
#include "world/common/UnkNpcAIFunc8.inc.c"
#include "world/common/UnkNpcAIFunc5.inc.c"
// 24 includes
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
// 16 includes
#include "world/common/UnkNpcAIFunc27.inc.c"
// unique to this enemy
#include "world/common/UnkNpcAIFunc28.inc.c"

View File

@ -86,18 +86,18 @@ INCLUDE_ASM(s32, "world/script_api/7E2AA0", func_80282594);
#endif
ApiStatus SetEntityHideMode1(Evt* script, s32 isInitialCall) {
D_80151310 = 1;
gEntityHideMode = 1;
return ApiStatus_DONE2;
}
ApiStatus SetEntityHideMode2(Evt* script, s32 isInitialCall) {
D_80151310 = 2;
gEntityHideMode = 2;
return ApiStatus_DONE2;
}
// common probably
ApiStatus SetEntityHideMode0(Evt* script, s32 isInitialCall) {
D_80151310 = 0;
gEntityHideMode = 0;
return ApiStatus_DONE2;
}

View File

@ -1,6 +1,6 @@
#include "common.h"
extern PushBlockGrid* D_802DBC88[]; //TODO determind length
extern PushBlockGrid* D_802DBC88[]; //TODO determine length
extern EvtScript D_80285674_7E64F4;
extern EntityBlueprint D_802EA2BC;
@ -38,10 +38,12 @@ ApiStatus func_80283240(Evt* script) {
Bytecode* args = script->ptrReadPos;
Bytecode outVar = *args++;
Bytecode* sourceToFind = (Bytecode*)evt_get_variable(script, *args++);
s32 retVal = FALSE;
s32 i;
for (i = 0; i < MAX_SCRIPTS; i++) {
for (i = 0; i < MAX_SCRIPTS; i++)
{
Evt* iterScript = get_script_by_index(i);
if (iterScript != 0) {
if (iterScript->ptrFirstLine == sourceToFind) {

View File

@ -3,7 +3,7 @@
.section .data
dlabel filemenu_hudElemScripts
.word 0x802423DC, func_80242434_9D9454, 0x8024248C, 0x802424E4, D_8024253C_AB46AC, 0x80242594, dgb_16_npcGroup_802425EC, 0x80242408, flo_14_updateTexturePan_80242460, 0x802424B8, 0x80242510, D_80242568_A4EF88, 0x802425C0, D_80242618_9800E8, 0x802422D4, 0x80242300, mac_02_SetCamVfov, omo_09_UnkFunc61, func_80242384_833B84, D_802423B0
.word 0x802423DC, nok_02_Quizmo_SetVannaAnim_Wave, 0x8024248C, 0x802424E4, D_8024253C_AB46AC, 0x80242594, dgb_16_npcGroup_802425EC, 0x80242408, flo_14_updateTexturePan_80242460, 0x802424B8, 0x80242510, D_80242568_A4EF88, 0x802425C0, D_80242618_9800E8, 0x802422D4, 0x80242300, mac_02_Quizmo_SetCamVfov, omo_09_UnkFunc61, func_80242384_833B84, D_802423B0
dlabel D_80249E70
.word 0x00000102, 0x02030405, 0x06000001, 0x02020306, 0x06060000, 0x01020203, 0x06060600, 0x00010202, 0x03060606, 0x00000102, 0x02030606, 0x06000000

View File

@ -95,7 +95,7 @@ dlabel D_80243FB0_EA48B0
dlabel D_802440FC_EA49FC
.word 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80243EA0_EA47A0, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x00110000, 0x00000000, 0x00180018, 0x00000000, 0x00000000, D_80243F40_EA4840, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x00190000
dlabel EA0C10_varTable
dlabel EA0C10_varStash
.word 0x00000000
dlabel D_80244158_EA4A58

View File

@ -143,7 +143,7 @@ dlabel D_80243AD8_EAC5B8
dlabel D_80243BB8_EAC698
.word 0x009C8540, 0x009C8F90, 0x80234000, 0x009C7810, 0x009C8540, 0x80234000, 0x009D6E00, 0x009D92C0, 0x80234000, 0x009D92C0, 0x009D9D00, 0x80234000, 0x009C8F90, 0x009C9EE0, 0x80234000, 0x009C9EE0, 0x009CABE0, 0x80234000, 0x009CABE0, 0x009CB690, 0x80234000, 0x009CB690, 0x009CC130, 0x80234000, 0x009CC130, 0x009CCF00, 0x80234000, 0x009CCF00, 0x009CDC30, 0x80234000, 0x009CDC30, 0x009D0C80, 0x80234000, 0x009D0C80, 0x009D3570, 0x80234000, 0x009D3570, 0x009D58B0, 0x80234000, 0x009D58B0, 0x009D6380, 0x80234000, 0x009D6380, 0x009D6E00, 0x80234000, 0x009D9D00, 0x009DC700, 0x80234000, 0x009DC700, 0x009DF4A0, 0x80234000, 0x009DF4A0, 0x009DF9E0, 0x80234000, 0x009DF9E0, 0x009E0EA0, 0x80234000, 0x009E0EA0, 0x009E1B70, 0x80234000, 0x009E1B70, 0x009E2710, 0x80234000, 0x009E2710, 0x009E3390, 0x80234000, 0x009E3390, 0x009E3F30, 0x80234000, 0x009E3F30, 0x009E4810, 0x80234000, 0x009E4810, 0x009E5110, 0x80234000, 0x009E5110, 0x009E7420, 0x80234000, 0x009E7420, 0x009E8E30, 0x80234000, 0x009E8E30, 0x009E9560, 0x80234000, 0x009E9560, 0x009EAEA0, 0x80234000, 0x009EAEA0, 0x009EB590, 0x80234000, 0x009EB590, 0x009EB790, 0x80234000, 0x009EB790, 0x009EBFF0, 0x80234000, 0x009EBFF0, 0x009EE030, 0x80234000, 0x009EE030, 0x009F0820, 0x80234000, 0x009F0820, 0x009F1160, 0x80234000, 0x009F1160, 0x009F2260, 0x80234000, 0x009F2260, 0x009F2D30, 0x80234000
dlabel EA8AE0_varTable
dlabel EA8AE0_varStash
.word 0x00000000
dlabel D_80243D78_EAC858

View File

@ -50,7 +50,7 @@ dlabel D_802416D0_EB2530
dlabel D_802416FC_EB255C
.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel EB1170_varTable
dlabel EB1170_varStash
.word 0x00000000
dlabel D_80241784_EB25E4

View File

@ -35,7 +35,7 @@ dlabel D_80240ED0_EC30D0
dlabel D_80240EFC_EC30FC
.word 0x00000000, 0x00380028, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel EC2240_varTable
dlabel EC2240_varStash
.word 0x00000000
dlabel D_80240F2C_EC312C

View File

@ -35,7 +35,7 @@ dlabel D_80241220_EC83D0
dlabel D_802415AC_EC875C
.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, 0x802DF41C, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, 0x802E37A0, 0x00000165, 0x00000043, 0x00000002, 0x802E37A0, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, EC7590_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, 0x802D7A04, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, EC7590_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, 0x802D5FE0, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, EC7590_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, 0x802D7A04, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, EC7590_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, 0x802D5FE0, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, 0x802E4410, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, 0x802E2F8C, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, 0x802E2F30, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, 0x802E4410, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, 0x802E58EC, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel EC7590_varTable
dlabel EC7590_varStash
.word 0x00000000
dlabel D_80241BB4_EC8D64

View File

@ -29,7 +29,7 @@ dlabel D_80241A78_ED5C98
dlabel D_80241AA4_ED5CC4
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x00000026, 0x00000043, 0x00000002, 0x802E6F50, 0xFFFFFFFF, 0x00000043, 0x00000003, 0x802D8B60, 0x00000000, 0x00000000, 0x00000043, 0x00000006, 0x802D7CD8, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, func_802D8248, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, 0x802D7B70, 0x00000000, 0x00000001, 0x00000043, 0x00000003, 0x80048338, 0x00000000, D_80244144_ED8364, 0x00000046, 0x00000001, D_80241720_ED5940, 0x00000044, 0x00000001, D_80244B40_ED8D60, 0x00000044, 0x00000001, D_802436E8_ED7908, 0x00000044, 0x00000001, D_80242BD8_ED6DF8, 0x00000044, 0x00000001, D_80244164_ED8384, 0x00000043, 0x00000004, AddCoin, 0x00000003, 0x0000000B, 0x00000006, 0x00000043, 0x00000004, AddCoin, 0x00000003, 0x0000000C, 0x00000006, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFEF7, 0x00000024, 0x00000002, 0xFE363C81, 0x000000F7, 0x00000024, 0x00000002, 0xFE363C82, 0x000000C7, 0x00000024, 0x00000002, 0xFE363C83, 0x00000139, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80241770_ED5990, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFED4, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFEED, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFF74, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFF47, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80241770_ED5990, 0x00000024, 0x00000002, 0xFE363C80, 0x00000107, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF08, 0x00000024, 0x00000002, 0xFE363C82, 0x0000016A, 0x00000024, 0x00000002, 0xFE363C83, 0x00000092, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80241770_ED5990, 0x00000043, 0x00000002, 0x802D790C, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_8024333C_ED755C, 0x00000016, 0x00000001, 0x00000002, 0x00000044, 0x00000001, D_802428DC_ED6AFC, 0x00000044, 0x00000001, D_80241A78_ED5C98, 0x0000001C, 0x00000000, 0x00000043, 0x00000004, AddCoin, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000024, 0x00000002, 0xFE363C80, D_80241A78_ED5C98, 0x00000044, 0x00000001, 0x80285C70, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_802415D0_ED57F0, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000035, 0x00000043, 0x00000001, ED4260_DeadUnkFunc1, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000
dlabel ED42A0_varTable
dlabel ED42A0_varStash
.word 0x00000000
dlabel D_80241DA4_ED5FC4

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@ dlabel D_80242830_A0E520
dlabel D_80242878_A0E568
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D016D, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeEntity, D_802EAFDC, 0x000001C2, 0x0000000A, 0xFFFFFF47, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80242830_A0E520, 0x00000043, 0x00000007, MakeEntity, D_802EAFDC, 0x00000357, 0xFFFFFFF6, 0xFFFFFFD8, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80242878_A0E568, 0x00000043, 0x00000008, MakeEntity, 0x802EAB04, 0x0000017C, 0xFFFFFFF6, 0x00000019, 0x00000000, 0x00000010, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405D9A, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel hos_00_varTable
dlabel hos_00_varStash
.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802429D4_A0E6C4

View File

@ -140,5 +140,5 @@ dlabel D_80247AA4_A22BA4
dlabel D_80247B1C_A22C1C
.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C87, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C84, 0x00000008, 0x00000001, 0x00000046, 0x00000043, 0x00000003, EnableModel, 0xFE363C86, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, EnableModel, 0xFE363C86, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000B4, 0x00000014, 0x00000002, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C88, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000006, RotateModel, 0xFE363C89, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0xFE363C87, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, hos_03_ToadHouse_InitScreenOverlay, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, 0x8024AAA0, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C83, 0x00000043, 0x00000001, hos_03_ToadHouse_DoesPlayerNeedSleep, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B30002, 0x00B30001, 0x00000000, 0xFE363C88, 0x00000043, 0x00000002, ShowChoice, 0x001E0006, 0x00000008, 0x00000001, 0x00000003, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B30002, 0x00B30001, 0x00000000, 0xFE363C89, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B30002, 0x00B30001, 0x00000000, 0xFE363C8A, 0x00000043, 0x00000002, SetPlayerJumpscale, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x00000043, 0x00000001, hos_03_ToadHouse_DisableStatusMenu, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80247B1C_A22C1C, 0x00000013, 0x00000000, 0x00000043, 0x00000002, hos_03_ToadHouse_PutPartnerAway, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, 0x8024A7E8, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000003C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, hos_03_ToadHouse_UpdateScreenOverlay, 0x00000003, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, FullyRestoreHPandFP, 0x00000043, 0x00000001, FullyRestoreSP, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80247AA4_A22BA4, 0x00000013, 0x00000000, 0x00000043, 0x00000002, hos_03_ToadHouse_GetPartnerBackOut, 0xFE363C8A, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000001E, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, hos_03_ToadHouse_UpdateScreenOverlay, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000069, 0x00000046, 0x00000001, 0x8024AA1C, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B30002, 0x00B30001, 0x00000000, 0xFE363C8B, 0x00000043, 0x00000001, hos_03_ToadHouse_ShowStatusMenu, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel hos_03_varTable
dlabel hos_03_Quizmo_varStash
.word 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -27,10 +27,10 @@ dlabel D_80241B84_A28A54
.word 0x00000000
dlabel D_80241B88_A28A58
.word 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, hos_04_SetCamVfov, 0x00000000, 0x0000004B, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80241B50_A28A20, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000056, 0x00000000, 0x00000044, 0x00000001, D_80241C5C_A28B2C, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, hos_04_SetCamXXVfov, 0x00000000, 0x0000004B, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80241B50_A28A20, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000056, 0x00000000, 0x00000044, 0x00000001, D_80241C5C_A28B2C, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241C5C_A28B2C
.word 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000043, 0x00000003, SetNpcYaw, 0x00000000, 0x000000B4, 0x00000043, 0x00000001, func_802409B0_A27880, 0x00000008, 0x00000001, 0x0000000F, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000B4, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000001, func_80240A84_A27954, 0x00000057, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x000000C8, D_80241AC0_A28990, 0x00000008, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000055, 0x00000043, 0x00000001, func_8024068C_A2755C, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000078, 0x00000043, 0x00000001, func_80240654_A27524, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, hos_04_SetCamVfov, 0x00000000, 0x0000004B, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80241B24_A289F4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802408F8_A277C8, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000012C, 0x00000043, 0x00000001, func_80240654_A27524, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000043, 0x00000003, SetNpcYaw, 0x00000000, 0x000000B4, 0x00000043, 0x00000001, func_802409B0_A27880, 0x00000008, 0x00000001, 0x0000000F, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000B4, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000001, func_80240A84_A27954, 0x00000057, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x000000C8, D_80241AC0_A28990, 0x00000008, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000055, 0x00000043, 0x00000001, func_8024068C_A2755C, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000078, 0x00000043, 0x00000001, func_80240654_A27524, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, hos_04_SetCamXXVfov, 0x00000000, 0x0000004B, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80241B24_A289F4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802408F8_A277C8, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000012C, 0x00000043, 0x00000001, func_80240654_A27524, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241F40_A28E10
.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000

View File

@ -8,7 +8,7 @@ dlabel D_80242BB0_A3C090
dlabel D_80242BDC_A3C0BC
.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel hos_06_varTable
dlabel hos_06_varStash
.word 0x00000000
dlabel D_80242C0C_A3C0EC

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
.section .data
dlabel isk_09_varTable
dlabel isk_09_varStash
.word 0x00000000
dlabel D_802406F4_986BD4

View File

@ -65,7 +65,7 @@ dlabel D_80240FA0_90DBE0
dlabel D_80240FCC_90DC0C
.word 0x00000000, 0x001E001A, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00630000
dlabel iwa_00_varTable
dlabel iwa_00_varStash
.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024105C_90DC9C

View File

@ -47,7 +47,7 @@ dlabel D_80241D6C_917ADC
dlabel D_80241D7C_917AEC
.word 0x00000000, 0x002A001A, D_80241D6C_917ADC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel iwa_02_varTable
dlabel iwa_02_varStash
.word 0x00000000
dlabel D_80241DAC_917B1C

View File

@ -14,7 +14,7 @@ dlabel D_802413FC_919FAC
dlabel D_80241428_919FD8
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x00000008, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000001, 0x80242920, 0x00000046, 0x00000001, D_8024183C_91A3EC, 0x00000044, 0x00000001, 0x80242BB8, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000016, 0x00000000, 0x00000008, 0x00000024, 0x00000002, 0xFE363C80, D_802413FC_919FAC, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000012, 0x7FFFFE00, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel iwa_03_varTable
dlabel iwa_03_varStash
.word 0x00000000
dlabel D_80241534_91A0E4

View File

@ -14,7 +14,7 @@ dlabel D_80241D4C_9202BC
dlabel D_80241DA4_920314
.word 0x00000000, 0x001A0017, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel iwa_10_varTable
dlabel iwa_10_varStash
.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241E34_9203A4

View File

@ -23,7 +23,7 @@ dlabel D_80242290_B227D0
dlabel D_8024239C_B228DC
.word 0x00000000, 0x0014001C, D_80242214_B22754, D_80242290_B227D0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel jan_00_varTable
dlabel jan_00_varStash
.word 0x00000000
dlabel D_802423CC_B2290C

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -14,7 +14,7 @@ dlabel D_802413E0_B45B50
dlabel D_8024140C_B45B7C
.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000024, 0x00000002, 0xFE363C80, D_802413E0_B45B50, 0x00000044, 0x00000001, EnterWalk, 0x00000021, 0x00000002, 0x00000001, 0x00000002, 0x00000044, 0x00000001, 0x802449E0, 0x00000016, 0x00000001, 0x00000003, 0x00000044, 0x00000001, 0x80244454, 0x00000016, 0x00000001, 0x00000004, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000024, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80243708, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80243720, 0x00000023, 0x00000000, 0x00000044, 0x00000001, D_80241998_B46108, 0x00000044, 0x00000001, 0x80244314, 0x00000044, 0x00000001, 0x80245B74, 0x00000044, 0x00000001, 0x8024385C, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000022, 0x00000004, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000025, 0x00000004, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000028, 0x00000004, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000022, 0x00080000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000025, 0x00080000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000028, 0x00080000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000004, 0x00000001, 0x00000043, 0x00000002, MakeTransformGroup, 0x00000059, 0x00000043, 0x00000003, EnableTexPanning, 0x00000058, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C82, 0x0000008C, 0x00000024, 0x00000002, 0xFE363C83, 0x00000050, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802412B0_B45A20, 0x00000057, 0x00000000, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, 0x80246260, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_8024140C_B45B7C, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x80241180, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel jan_04_varTable
dlabel jan_04_varStash
.word 0x00000000
dlabel D_80241804_B45F74

View File

@ -68,7 +68,7 @@ dlabel D_8024250C_B8668C
dlabel D_80242590_B86710
.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel jan_22_varTable
dlabel jan_22_varStash
.word 0x00000000
dlabel D_802425C0_B86740

View File

@ -2,7 +2,7 @@
.section .data
dlabel kkj_17_varTable
dlabel kkj_17_varStash
.word 0x00000000, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000002, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024092C_AF258C

View File

@ -2,7 +2,7 @@
.section .data
dlabel kkj_20_varTable
dlabel kkj_20_varStash
.word 0x00000000
dlabel D_80240884_AFE3C4

File diff suppressed because one or more lines are too long

View File

@ -14,7 +14,7 @@ dlabel D_80242090_8CC990
dlabel D_802423F0_8CCCF0
.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_04_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_04_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, kmr_04_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, kmr_04_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel kmr_04_varTable
dlabel kmr_04_varStash
.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242A58_8CD358

View File

@ -2,7 +2,7 @@
.section .data
dlabel kmr_10_varTable
dlabel kmr_10_varStash
.word 0x00000000
dlabel D_80240C24_8D90F4

View File

@ -8,7 +8,7 @@ dlabel D_8024A8B0_8F66D0
dlabel D_8024A8DC_8F66FC
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x000E0001
dlabel kmr_20_varTable
dlabel kmr_20_varStash
.word 0x00000000
dlabel D_8024A90C_8F672C

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@ dlabel D_80240B94_AA38B4
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001
dlabel D_80240BC4_AA38E4
.word 0x00000043, 0x00000002, SyncOverrideEnemyPos, 0x00000001, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000002, func_80240048_AA2D68, D_80240B94_AA38B4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000002, SyncOverrideEnemyPos, 0x00000001, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000002, kpa_130_BulletBill_Think, D_80240B94_AA38B4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240C24_AA3944
.word 0x00000000, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
@ -24,7 +24,7 @@ dlabel D_80240C68_AA3988
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40E9999A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001
dlabel D_80240C98_AA39B8
.word 0x00000043, 0x00000002, SyncOverrideEnemyPos, 0x00000001, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000002, func_80240048_AA2D68, D_80240C68_AA3988, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000002, SyncOverrideEnemyPos, 0x00000001, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000002, kpa_130_BulletBill_Think, D_80240C68_AA3988, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240CF8_AA3A18
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, func_80045900, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetEnemyFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -2,7 +2,7 @@
.section .data
dlabel kpa_14_varTable
dlabel kpa_14_varStash
.word 0x00000000, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000002, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024196C_A58E1C

View File

@ -2,7 +2,7 @@
.section .data
dlabel kpa_15_varTable
dlabel kpa_15_varStash
.word 0x00000000
dlabel D_80240AA4_A59E34

Some files were not shown because too many files have changed in this diff Show More