mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
kmr + revisions (#828)
* kmr_07 * more kmr * kzn cleanup 1-9 * kzn cleanup II * arn/mgm/gv/end revision * iwa I * bubulb spelling * rest of iwa * more kmr * enough kmr_23 for now * quick fix Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
parent
64763ae586
commit
342887a94c
@ -1932,13 +1932,11 @@ typedef struct PeachStarBeamFXData {
|
|||||||
|
|
||||||
typedef struct ChapterChangeFXData {
|
typedef struct ChapterChangeFXData {
|
||||||
/* 0x00 */ s32 unk_00;
|
/* 0x00 */ s32 unk_00;
|
||||||
/* 0x04 */ f32 unk_04;
|
/* 0x04 */ Vec2f chapterPos;
|
||||||
/* 0x08 */ f32 unk_08;
|
|
||||||
/* 0x0C */ f32 unk_0C;
|
/* 0x0C */ f32 unk_0C;
|
||||||
/* 0x10 */ f32 unk_10;
|
/* 0x10 */ Vec2f endOfPos;
|
||||||
/* 0x14 */ f32 unk_14;
|
/* 0x18 */ s32 timeLeft;
|
||||||
/* 0x18 */ s32 unk_18;
|
/* 0x1C */ s32 lifetime;
|
||||||
/* 0x1C */ s32 unk_1C;
|
|
||||||
/* 0x20 */ s32 unk_20;
|
/* 0x20 */ s32 unk_20;
|
||||||
/* 0x24 */ s32 unk_24;
|
/* 0x24 */ s32 unk_24;
|
||||||
/* 0x28 */ s32 unk_28;
|
/* 0x28 */ s32 unk_28;
|
||||||
@ -1965,14 +1963,12 @@ typedef struct IceShardFXData {
|
|||||||
|
|
||||||
typedef struct SpiritCardFXData {
|
typedef struct SpiritCardFXData {
|
||||||
/* 0x00 */ char unk_00[0x4];
|
/* 0x00 */ char unk_00[0x4];
|
||||||
/* 0x04 */ f32 unk_04;
|
/* 0x04 */ Vec3f pos;
|
||||||
/* 0x08 */ f32 unk_08;
|
|
||||||
/* 0x0C */ f32 unk_0C;
|
|
||||||
/* 0x10 */ char unk_10[0x10];
|
/* 0x10 */ char unk_10[0x10];
|
||||||
/* 0x20 */ s32 unk_20;
|
/* 0x20 */ s32 unk_20;
|
||||||
/* 0x24 */ f32 unk_24;
|
/* 0x24 */ f32 yaw;
|
||||||
/* 0x28 */ char unk_28[0xC];
|
/* 0x28 */ char unk_28[0xC];
|
||||||
/* 0x34 */ s8 unk_34;
|
/* 0x34 */ s8 chapter;
|
||||||
} SpiritCardFXData; // ?
|
} SpiritCardFXData; // ?
|
||||||
|
|
||||||
#define MAX_LIL_OINKS 11
|
#define MAX_LIL_OINKS 11
|
||||||
|
@ -3608,6 +3608,38 @@ enum AnyPartnerAnims {
|
|||||||
PARTNER_ANIM_9 = 0x109,
|
PARTNER_ANIM_9 = 0x109,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum EnemyAnimIndices {
|
||||||
|
ENEMY_ANIM_INDEX_IDLE = 0,
|
||||||
|
ENEMY_ANIM_INDEX_WALK = 1,
|
||||||
|
ENEMY_ANIM_INDEX_RUN = 2,
|
||||||
|
ENEMY_ANIM_INDEX_CHASE = 3,
|
||||||
|
ENEMY_ANIM_INDEX_JUMP = 4,
|
||||||
|
ENEMY_ANIM_INDEX_05 = 5,
|
||||||
|
ENEMY_ANIM_INDEX_DEATH = 6,
|
||||||
|
ENEMY_ANIM_INDEX_HIT = 7,
|
||||||
|
ENEMY_ANIM_INDEX_MELEE_PRE = 8,
|
||||||
|
ENEMY_ANIM_INDEX_MELEE_HIT = 9,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum AnyEnemyAnims {
|
||||||
|
ENEMY_ANIM_IDLE = 0x201,
|
||||||
|
ENEMY_ANIM_WALK = 0x202,
|
||||||
|
ENEMY_ANIM_RUN = 0x203,
|
||||||
|
ENEMY_ANIM_CHASE = 0x204,
|
||||||
|
ENEMY_ANIM_JUMP = 0x205,
|
||||||
|
ENEMY_ANIM_5 = 0x206,
|
||||||
|
ENEMY_ANIM_DEATH = 0x207,
|
||||||
|
ENEMY_ANIM_HIT = 0x208,
|
||||||
|
ENEMY_ANIM_8 = 0x209,
|
||||||
|
ENEMY_ANIM_9 = 0x20A,
|
||||||
|
ENEMY_ANIM_A = 0x20B,
|
||||||
|
ENEMY_ANIM_B = 0x20C,
|
||||||
|
ENEMY_ANIM_C = 0x20D,
|
||||||
|
ENEMY_ANIM_D = 0x20E,
|
||||||
|
ENEMY_ANIM_E = 0x20F,
|
||||||
|
ENEMY_ANIM_F = 0x210,
|
||||||
|
};
|
||||||
|
|
||||||
enum FirstStrikes {
|
enum FirstStrikes {
|
||||||
FIRST_STRIKE_NONE = 0x00000000,
|
FIRST_STRIKE_NONE = 0x00000000,
|
||||||
FIRST_STRIKE_PLAYER = 0x00000001,
|
FIRST_STRIKE_PLAYER = 0x00000001,
|
||||||
@ -4266,19 +4298,6 @@ enum EnemyAIStates {
|
|||||||
AI_STATE_PROJECTILE_HITBOX_33 = 33,
|
AI_STATE_PROJECTILE_HITBOX_33 = 33,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EnemyAIAnims {
|
|
||||||
ENEMY_ANIM_IDLE = 0,
|
|
||||||
ENEMY_ANIM_WALK = 1,
|
|
||||||
ENEMY_ANIM_RUN = 2,
|
|
||||||
ENEMY_ANIM_CHASE = 3,
|
|
||||||
ENEMY_ANIM_JUMP = 4,
|
|
||||||
ENEMY_ANIM_05 = 5,
|
|
||||||
ENEMY_ANIM_DEATH = 6,
|
|
||||||
ENEMY_ANIM_HIT = 7,
|
|
||||||
ENEMY_ANIM_MELEE_PRE = 8,
|
|
||||||
ENEMY_ANIM_MELEE_HIT = 9,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum EnemyActionFlags {
|
enum EnemyActionFlags {
|
||||||
AI_ACTION_JUMP_WHEN_SEE_PLAYER = 0x01,
|
AI_ACTION_JUMP_WHEN_SEE_PLAYER = 0x01,
|
||||||
AI_ACTION_02 = 0x02,
|
AI_ACTION_02 = 0x02,
|
||||||
@ -4749,6 +4768,19 @@ enum EncounterStatusFlags {
|
|||||||
ENCOUNTER_STATUS_FLAGS_80000000 = 0x80000000,
|
ENCOUNTER_STATUS_FLAGS_80000000 = 0x80000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum WindowImageFormat {
|
||||||
|
WINDOW_IMG_RGBA_16 = 0x02,
|
||||||
|
WINDOW_IMG_RGBA_32 = 0x03,
|
||||||
|
WINDOW_IMG_YUV_16 = 0x12,
|
||||||
|
WINDOW_IMG_CI_4 = 0x20,
|
||||||
|
WINDOW_IMG_CI_8 = 0x21,
|
||||||
|
WINDOW_IMG_IA_4 = 0x30,
|
||||||
|
WINDOW_IMG_IA_8 = 0x31,
|
||||||
|
WINDOW_IMG_IA_16 = 0x32,
|
||||||
|
WINDOW_IMG_I_4 = 0x40,
|
||||||
|
WINDOW_IMG_I_8 = 0x41,
|
||||||
|
};
|
||||||
|
|
||||||
enum WindowFlags {
|
enum WindowFlags {
|
||||||
WINDOW_FLAGS_INITIALIZED = 0x00000001,
|
WINDOW_FLAGS_INITIALIZED = 0x00000001,
|
||||||
WINDOW_FLAGS_FPUPDATE_CHANGED = 0x00000002,
|
WINDOW_FLAGS_FPUPDATE_CHANGED = 0x00000002,
|
||||||
|
@ -142,6 +142,17 @@ typedef enum ShapeTypes {
|
|||||||
SHAPE_TYPE_SPECIAL_GROUP = 10,
|
SHAPE_TYPE_SPECIAL_GROUP = 10,
|
||||||
} ShapeTypes;
|
} ShapeTypes;
|
||||||
|
|
||||||
|
typedef struct ShapeFile {
|
||||||
|
/* 0x00 */ ModelNode* root;
|
||||||
|
/* 0x04 */ Vtx_t* vertexTable;
|
||||||
|
/* 0x08 */ char** modelNames;
|
||||||
|
/* 0x0C */ char** colliderNames;
|
||||||
|
/* 0x10 */ char** zoneNames;
|
||||||
|
/* 0x14 */ unsigned char pad_14[0xC];
|
||||||
|
// end header
|
||||||
|
/* 0x20 */ u8 data[0];
|
||||||
|
} ShapeFile; // size = variable
|
||||||
|
|
||||||
typedef ModelTreeInfo ModelTreeInfoList[0x200];
|
typedef ModelTreeInfo ModelTreeInfoList[0x200];
|
||||||
extern ModelTreeInfoList* mdl_currentModelTreeNodeInfo;
|
extern ModelTreeInfoList* mdl_currentModelTreeNodeInfo;
|
||||||
extern ModelList* gCurrentModels;
|
extern ModelList* gCurrentModels;
|
||||||
|
@ -133,7 +133,7 @@ extern s16 D_800A0922;
|
|||||||
extern char wMapTexName[];
|
extern char wMapTexName[];
|
||||||
extern char wMapHitName[];
|
extern char wMapHitName[];
|
||||||
extern char wMapShapeName[];
|
extern char wMapShapeName[];
|
||||||
extern struct ModelNode* D_80210000;
|
extern struct ShapeFile* D_80210000; // shouldnt be a pointer
|
||||||
extern u8 D_802D9D70; // player alpha1 copy?
|
extern u8 D_802D9D70; // player alpha1 copy?
|
||||||
extern u8 D_802D9D71; // player alpha2 copy?
|
extern u8 D_802D9D71; // player alpha2 copy?
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ EvtScript EnemyNpcHit = {
|
|||||||
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_JUMP)
|
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_JUMP)
|
||||||
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_HAMMER)
|
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_HAMMER)
|
||||||
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_PARTNER)
|
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_PARTNER)
|
||||||
EVT_CALL(GetSelfAnimationFromTable, ENEMY_ANIM_HIT, LVar0)
|
EVT_CALL(GetSelfAnimationFromTable, ENEMY_ANIM_INDEX_HIT, LVar0)
|
||||||
EVT_EXEC_WAIT(EVS_NpcHitRecoil)
|
EVT_EXEC_WAIT(EVS_NpcHitRecoil)
|
||||||
EVT_CASE_EQ(ENCOUNTER_TRIGGER_SPIN)
|
EVT_CASE_EQ(ENCOUNTER_TRIGGER_SPIN)
|
||||||
EVT_THREAD
|
EVT_THREAD
|
||||||
|
14
src/23680.c
14
src/23680.c
@ -268,7 +268,7 @@ void basic_ai_wander_init(Evt* script, MobileAISettings* npcAISettings, EnemyDet
|
|||||||
// chose a random direction and move time
|
// chose a random direction and move time
|
||||||
npc->duration = (npcAISettings->moveTime / 2) + rand_int((npcAISettings->moveTime / 2) + 1);
|
npc->duration = (npcAISettings->moveTime / 2) + rand_int((npcAISettings->moveTime / 2) + 1);
|
||||||
npc->yaw = clamp_angle(npc->yaw + rand_int(60) - 30.0f);
|
npc->yaw = clamp_angle(npc->yaw + rand_int(60) - 30.0f);
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK];
|
||||||
script->functionTemp[1] = 0;
|
script->functionTemp[1] = 0;
|
||||||
|
|
||||||
if (enemy->territory->wander.moveSpeedOverride < 0) {
|
if (enemy->territory->wander.moveSpeedOverride < 0) {
|
||||||
@ -378,7 +378,7 @@ void basic_ai_loiter_init(Evt* script, MobileAISettings* aiSettings, EnemyDetect
|
|||||||
|
|
||||||
npc->duration = (aiSettings->waitTime / 2) + rand_int((aiSettings->waitTime / 2) + 1);
|
npc->duration = (aiSettings->waitTime / 2) + rand_int((aiSettings->waitTime / 2) + 1);
|
||||||
npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f);
|
npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f);
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE];
|
||||||
script->AI_TEMP_STATE = AI_STATE_LOITER;
|
script->AI_TEMP_STATE = AI_STATE_LOITER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ void basic_ai_found_player_jump_init(Evt* script, MobileAISettings* npcAISetting
|
|||||||
Npc* npc = get_npc_unsafe(enemy->npcID);
|
Npc* npc = get_npc_unsafe(enemy->npcID);
|
||||||
|
|
||||||
ai_enemy_play_sound(npc, SOUND_3E1, 0);
|
ai_enemy_play_sound(npc, SOUND_3E1, 0);
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_JUMP];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_JUMP];
|
||||||
npc->jumpVelocity = 10.0f;
|
npc->jumpVelocity = 10.0f;
|
||||||
npc->jumpScale = 2.5f;
|
npc->jumpScale = 2.5f;
|
||||||
npc->moveToPos.y = npc->pos.y;
|
npc->moveToPos.y = npc->pos.y;
|
||||||
@ -488,7 +488,7 @@ void basic_ai_chase_init(Evt* script, MobileAISettings* npcAISettings, EnemyDete
|
|||||||
npc->duration = 0;
|
npc->duration = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE];
|
||||||
npc->moveSpeed = npcAISettings->chaseSpeed;
|
npc->moveSpeed = npcAISettings->chaseSpeed;
|
||||||
script->AI_TEMP_STATE = AI_STATE_CHASE;
|
script->AI_TEMP_STATE = AI_STATE_CHASE;
|
||||||
}
|
}
|
||||||
@ -501,7 +501,7 @@ void basic_ai_chase(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume
|
|||||||
|
|
||||||
if (!basic_ai_check_player_dist(territory, enemy, aiSettings->chaseRadius, aiSettings->chaseOffsetDist, 1)) {
|
if (!basic_ai_check_player_dist(territory, enemy, aiSettings->chaseRadius, aiSettings->chaseOffsetDist, 1)) {
|
||||||
fx_emote(EMOTE_QUESTION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &sp28);
|
fx_emote(EMOTE_QUESTION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &sp28);
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE];
|
||||||
npc->duration = 20;
|
npc->duration = 20;
|
||||||
script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER;
|
script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER;
|
||||||
return;
|
return;
|
||||||
@ -514,7 +514,7 @@ void basic_ai_chase(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume
|
|||||||
z = npc->pos.z;
|
z = npc->pos.z;
|
||||||
if (npc_test_move_simple_with_slipping(npc->collisionChannel, &x, &y, &z, 1.0f, npc->yaw, npc->collisionHeight, npc->collisionRadius)) {
|
if (npc_test_move_simple_with_slipping(npc->collisionChannel, &x, &y, &z, 1.0f, npc->yaw, npc->collisionHeight, npc->collisionRadius)) {
|
||||||
fx_emote(EMOTE_QUESTION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xC, &sp28);
|
fx_emote(EMOTE_QUESTION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xC, &sp28);
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE];
|
||||||
npc->duration = 15;
|
npc->duration = 15;
|
||||||
script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER;
|
script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER;
|
||||||
return;
|
return;
|
||||||
@ -569,7 +569,7 @@ ApiStatus BasicAI_Main(Evt* script, s32 isInitialCall) {
|
|||||||
script->AI_TEMP_STATE = AI_STATE_WANDER_INIT;
|
script->AI_TEMP_STATE = AI_STATE_WANDER_INIT;
|
||||||
npc->duration = 0;
|
npc->duration = 0;
|
||||||
|
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE];
|
||||||
|
|
||||||
npc->flags &= ~NPC_FLAG_JUMPING;
|
npc->flags &= ~NPC_FLAG_JUMPING;
|
||||||
if (!enemy->territory->wander.isFlying) {
|
if (!enemy->territory->wander.isFlying) {
|
||||||
|
@ -92,18 +92,18 @@ void shim_draw_msg(s32, s32, s32, s32, s32, s32);
|
|||||||
s32 shim_get_msg_width(s32, u16);
|
s32 shim_get_msg_width(s32, u16);
|
||||||
|
|
||||||
void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) {
|
void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) {
|
||||||
s32 unk_1C = data->unk_1C;
|
s32 unk_1C = data->lifetime;
|
||||||
UnkStruct* it;
|
UnkStruct* it;
|
||||||
f32 var0;
|
f32 posX;
|
||||||
f32 var1;
|
f32 posY;
|
||||||
s32 temp;
|
s32 temp;
|
||||||
|
|
||||||
if (arg1 == 0) {
|
if (arg1 == 0) {
|
||||||
var0 = data->unk_04;
|
posX = data->chapterPos.x;
|
||||||
var1 = data->unk_08;
|
posY = data->chapterPos.y;
|
||||||
} else {
|
} else {
|
||||||
var0 = data->unk_10;
|
posX = data->endOfPos.x;
|
||||||
var1 = data->unk_14;
|
posY = data->endOfPos.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg2 != NULL) {
|
if (arg2 != NULL) {
|
||||||
@ -113,10 +113,10 @@ void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) {
|
|||||||
temp = it->x - 384;
|
temp = it->x - 384;
|
||||||
gDPSetTileSize(gMasterGfxPos++, 1, (unk_1C * 4 - temp) * 4, 0, (unk_1C * 4 - it->x + 511) * 4, 0);
|
gDPSetTileSize(gMasterGfxPos++, 1, (unk_1C * 4 - temp) * 4, 0, (unk_1C * 4 - it->x + 511) * 4, 0);
|
||||||
gSPScisTextureRectangle(gMasterGfxPos++,
|
gSPScisTextureRectangle(gMasterGfxPos++,
|
||||||
(var0 + it->x) * 4,
|
(posX + it->x) * 4,
|
||||||
(var1 + it->y) * 4,
|
(posY + it->y) * 4,
|
||||||
(var0 + it->x + it->width) * 4,
|
(posX + it->x + it->width) * 4,
|
||||||
(var1 + it->y + it->height) * 4,
|
(posY + it->y + it->height) * 4,
|
||||||
G_TX_RENDERTILE, 0, 0, 1024, 1024);
|
G_TX_RENDERTILE, 0, 0, 1024, 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
|
EffectInstance* chapter_change_main(s32 arg0, f32 posX, f32 posY, f32 arg3, f32 arg4, s32 duration) {
|
||||||
EffectBlueprint bp;
|
EffectBlueprint bp;
|
||||||
ChapterChangeFXData* data;
|
ChapterChangeFXData* data;
|
||||||
EffectInstance* effect;
|
EffectInstance* effect;
|
||||||
@ -143,14 +143,14 @@ EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32
|
|||||||
ASSERT(effect->data.chapterChange != NULL);
|
ASSERT(effect->data.chapterChange != NULL);
|
||||||
|
|
||||||
data->unk_00 = arg0;
|
data->unk_00 = arg0;
|
||||||
data->unk_1C = 0;
|
data->lifetime = 0;
|
||||||
if (arg5 <= 0) {
|
if (duration <= 0) {
|
||||||
data->unk_18 = 1000;
|
data->timeLeft = 1000;
|
||||||
} else {
|
} else {
|
||||||
data->unk_18 = arg5;
|
data->timeLeft = duration;
|
||||||
}
|
}
|
||||||
data->unk_04 = data->unk_10 = arg1;
|
data->chapterPos.x = data->endOfPos.x = posX;
|
||||||
data->unk_08 = data->unk_14 = arg2;
|
data->chapterPos.y = data->endOfPos.y = posY;
|
||||||
data->unk_0C = arg3;
|
data->unk_0C = arg3;
|
||||||
data->unk_50 = arg4;
|
data->unk_50 = arg4;
|
||||||
data->unk_20 = 255;
|
data->unk_20 = 255;
|
||||||
@ -182,18 +182,18 @@ void chapter_change_init(EffectInstance* effect) {
|
|||||||
void chapter_change_update(EffectInstance* effect) {
|
void chapter_change_update(EffectInstance* effect) {
|
||||||
ChapterChangeFXData* data = effect->data.chapterChange;
|
ChapterChangeFXData* data = effect->data.chapterChange;
|
||||||
|
|
||||||
if (effect->flags & 0x10) {
|
if (effect->flags & EFFECT_INSTANCE_FLAGS_10) {
|
||||||
effect->flags &= ~0x10;
|
effect->flags &= ~EFFECT_INSTANCE_FLAGS_10;
|
||||||
data->unk_18 = 0x10;
|
data->timeLeft = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data->unk_18 < 1000) {
|
if (data->timeLeft < 1000) {
|
||||||
data->unk_18--;
|
data->timeLeft--;
|
||||||
}
|
}
|
||||||
|
|
||||||
data->unk_1C++;
|
data->lifetime++;
|
||||||
|
|
||||||
if (data->unk_18 < 0) {
|
if (data->timeLeft < 0) {
|
||||||
shim_remove_effect(effect);
|
shim_remove_effect(effect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,8 @@ void set_npc_animation(Npc* npc, u32 animID) {
|
|||||||
|
|
||||||
if (animID - PARTNER_ANIM_WALK < 9) {
|
if (animID - PARTNER_ANIM_WALK < 9) {
|
||||||
npc->currentAnim = gPartnerAnimations[playerData->currentPartner].anims[animID - PARTNER_ANIM_WALK];
|
npc->currentAnim = gPartnerAnimations[playerData->currentPartner].anims[animID - PARTNER_ANIM_WALK];
|
||||||
} else if ((animID - 0x201) < 0x10) {
|
} else if ((animID - ENEMY_ANIM_IDLE) < 0x10) {
|
||||||
npc->currentAnim = get_enemy(npc->npcID)->animList[animID - 0x201];
|
npc->currentAnim = get_enemy(npc->npcID)->animList[animID - ENEMY_ANIM_IDLE];
|
||||||
} else {
|
} else {
|
||||||
npc->currentAnim = animID;
|
npc->currentAnim = animID;
|
||||||
}
|
}
|
||||||
|
@ -19,3 +19,8 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_02
|
#define NAMESPACE arn_02
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_02.h"
|
#include "arn_02.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_02_ENTRY_0] { -585.0, 60.0, 150.0, 90.0 },
|
[arn_02_ENTRY_0] { -585.0, 60.0, 150.0, 90.0 },
|
||||||
[arn_02_ENTRY_1] { 880.0, 320.0, 150.0, 270.0 },
|
[arn_02_ENTRY_1] { 880.0, 320.0, 150.0, 270.0 },
|
||||||
@ -14,17 +12,3 @@ MapSettings N(settings) = {
|
|||||||
.background = &gBackgroundImage,
|
.background = &gBackgroundImage,
|
||||||
.tattle = { MSG_MapTattle_arn_02 },
|
.tattle = { MSG_MapTattle_arn_02 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
15
src/world/area_arn/arn_02/arn_02_1_music.c
Normal file
15
src/world/area_arn/arn_02/arn_02_1_music.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "arn_02.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,9 +1,5 @@
|
|||||||
#include "arn_02.h"
|
#include "arn_02.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitWalk_arn_05_1) = EVT_EXIT_WALK(60, arn_02_ENTRY_0, "arn_05", arn_05_ENTRY_1);
|
EvtScript N(EVS_ExitWalk_arn_05_1) = EVT_EXIT_WALK(60, arn_02_ENTRY_0, "arn_05", arn_05_ENTRY_1);
|
||||||
EvtScript N(EVS_ExitWalk_arn_04_0) = EVT_EXIT_WALK(60, arn_02_ENTRY_1, "arn_04", arn_04_ENTRY_0);
|
EvtScript N(EVS_ExitWalk_arn_04_0) = EVT_EXIT_WALK(60, arn_02_ENTRY_1, "arn_04", arn_04_ENTRY_0);
|
||||||
|
|
@ -32,3 +32,9 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_03
|
#define NAMESPACE arn_03
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(BeforeNPCs);
|
||||||
|
extern NpcGroupList N(AfterNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_03.h"
|
#include "arn_03.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_03_ENTRY_0] { -76.0, 165.0, 150.0, 90.0 },
|
[arn_03_ENTRY_0] { -76.0, 165.0, 150.0, 90.0 },
|
||||||
[arn_03_ENTRY_1] { 576.0, 225.0, 150.0, 270.0 },
|
[arn_03_ENTRY_1] { 576.0, 225.0, 150.0, 270.0 },
|
||||||
@ -14,17 +12,3 @@ MapSettings N(settings) = {
|
|||||||
.background = &gBackgroundImage,
|
.background = &gBackgroundImage,
|
||||||
.tattle = { MSG_MapTattle_arn_03 },
|
.tattle = { MSG_MapTattle_arn_03 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
15
src/world/area_arn/arn_03/arn_03_1_music.c
Normal file
15
src/world/area_arn/arn_03/arn_03_1_music.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "arn_03.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,10 +1,5 @@
|
|||||||
#include "arn_03.h"
|
#include "arn_03.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(BeforeNPCs);
|
|
||||||
extern NpcGroupList N(AfterNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitWalk_arn_07_1) = EVT_EXIT_WALK(60, arn_03_ENTRY_0, "arn_07", arn_07_ENTRY_1);
|
EvtScript N(EVS_ExitWalk_arn_07_1) = EVT_EXIT_WALK(60, arn_03_ENTRY_0, "arn_07", arn_07_ENTRY_1);
|
||||||
EvtScript N(EVS_ExitWalk_arn_05_0) = EVT_EXIT_WALK(60, arn_03_ENTRY_1, "arn_05", arn_05_ENTRY_0);
|
EvtScript N(EVS_ExitWalk_arn_05_0) = EVT_EXIT_WALK(60, arn_03_ENTRY_1, "arn_05", arn_05_ENTRY_0);
|
||||||
|
|
@ -1,5 +1,4 @@
|
|||||||
#include "arn_03.h"
|
#include "arn_03.h"
|
||||||
#include "entity.h"
|
|
||||||
|
|
||||||
#include "world/common/npc/Boo_Patrol.inc.c"
|
#include "world/common/npc/Boo_Patrol.inc.c"
|
||||||
#include "world/common/npc/Boo.inc.c"
|
#include "world/common/npc/Boo.inc.c"
|
@ -21,3 +21,8 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_04
|
#define NAMESPACE arn_04
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_04.h"
|
#include "arn_04.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_04_ENTRY_0] { -585.0, 60.0, 150.0, 90.0 },
|
[arn_04_ENTRY_0] { -585.0, 60.0, 150.0, 90.0 },
|
||||||
[arn_04_ENTRY_1] { 820.0, 285.0, 150.0, 270.0 },
|
[arn_04_ENTRY_1] { 820.0, 285.0, 150.0, 270.0 },
|
||||||
@ -14,17 +12,3 @@ MapSettings N(settings) = {
|
|||||||
.background = &gBackgroundImage,
|
.background = &gBackgroundImage,
|
||||||
.tattle = { MSG_MapTattle_arn_04 },
|
.tattle = { MSG_MapTattle_arn_04 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
15
src/world/area_arn/arn_04/arn_04_1_music.c
Normal file
15
src/world/area_arn/arn_04/arn_04_1_music.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "arn_04.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,9 +1,4 @@
|
|||||||
#include "arn_04.h"
|
#include "arn_04.h"
|
||||||
#include "entity.h"
|
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitWalk_arn_02_1) = EVT_EXIT_WALK(60, arn_04_ENTRY_0, "arn_02", arn_02_ENTRY_1);
|
EvtScript N(EVS_ExitWalk_arn_02_1) = EVT_EXIT_WALK(60, arn_04_ENTRY_0, "arn_02", arn_02_ENTRY_1);
|
||||||
EvtScript N(EVS_ExitWalk_dgb_00_0) = EVT_EXIT_WALK(60, arn_04_ENTRY_1, "dgb_00", dgb_00_ENTRY_0);
|
EvtScript N(EVS_ExitWalk_dgb_00_0) = EVT_EXIT_WALK(60, arn_04_ENTRY_1, "dgb_00", dgb_00_ENTRY_0);
|
@ -9,10 +9,6 @@
|
|||||||
#include "mapfs/arn_05_shape.h"
|
#include "mapfs/arn_05_shape.h"
|
||||||
#include "mapfs/arn_05_hit.h"
|
#include "mapfs/arn_05_hit.h"
|
||||||
|
|
||||||
#include "sprite/npc/Boo.h"
|
|
||||||
#include "sprite/npc/WorldBow.h"
|
|
||||||
#include "sprite/npc/WorldTubba.h"
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NPC_Boo_01 = 0,
|
NPC_Boo_01 = 0,
|
||||||
NPC_Boo_02 = 1,
|
NPC_Boo_02 = 1,
|
||||||
@ -32,3 +28,10 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_05
|
#define NAMESPACE arn_05
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupTubbaRaid);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(BeforeNPCs);
|
||||||
|
extern NpcGroupList N(AfterNPCs);
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
|
|
||||||
#include "arn_05.h"
|
#include "arn_05.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_05_ENTRY_0] { -77.0, 135.0, 150.0, 90.0 },
|
[arn_05_ENTRY_0] { -77.0, 135.0, 150.0, 90.0 },
|
||||||
[arn_05_ENTRY_1] { 577.0, 200.0, 150.0, 270.0 },
|
[arn_05_ENTRY_1] { 577.0, 200.0, 150.0, 270.0 },
|
||||||
@ -15,19 +13,3 @@ MapSettings N(settings) = {
|
|||||||
.background = &gBackgroundImage,
|
.background = &gBackgroundImage,
|
||||||
.tattle = { MSG_MapTattle_arn_05 },
|
.tattle = { MSG_MapTattle_arn_05 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_SAW_TUBBA_EAT_BOO)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
18
src/world/area_arn/arn_05/arn_05_1_music.c
Normal file
18
src/world/area_arn/arn_05/arn_05_1_music.c
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
#include "arn_05.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_SAW_TUBBA_EAT_BOO)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,11 +1,5 @@
|
|||||||
#include "arn_05.h"
|
#include "arn_05.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupTubbaRaid);
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
extern NpcGroupList N(NpcGroup1);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitWalk_arn_03_1) = EVT_EXIT_WALK(60, arn_05_ENTRY_0, "arn_03", arn_03_ENTRY_1);
|
EvtScript N(EVS_ExitWalk_arn_03_1) = EVT_EXIT_WALK(60, arn_05_ENTRY_0, "arn_03", arn_03_ENTRY_1);
|
||||||
EvtScript N(EVS_ExitWalk_arn_02_0) = EVT_EXIT_WALK(60, arn_05_ENTRY_1, "arn_02", arn_02_ENTRY_0);
|
EvtScript N(EVS_ExitWalk_arn_02_0) = EVT_EXIT_WALK(60, arn_05_ENTRY_1, "arn_02", arn_02_ENTRY_0);
|
||||||
|
|
||||||
@ -35,9 +29,9 @@ EvtScript N(EVS_Main) = {
|
|||||||
EVT_CALL(SetSpriteShading, SHADING_NONE)
|
EVT_CALL(SetSpriteShading, SHADING_NONE)
|
||||||
EVT_SETUP_CAMERA_DEFAULT()
|
EVT_SETUP_CAMERA_DEFAULT()
|
||||||
EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs)))
|
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(BeforeNPCs)))
|
||||||
EVT_ELSE
|
EVT_ELSE
|
||||||
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup1)))
|
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(AfterNPCs)))
|
||||||
EVT_END_IF
|
EVT_END_IF
|
||||||
EVT_EXEC_WAIT(N(EVS_MakeEntities))
|
EVT_EXEC_WAIT(N(EVS_MakeEntities))
|
||||||
EVT_EXEC(N(EVS_SetupTubbaRaid))
|
EVT_EXEC(N(EVS_SetupTubbaRaid))
|
@ -1,15 +1,8 @@
|
|||||||
#include "arn_05.h"
|
#include "arn_05.h"
|
||||||
|
|
||||||
extern EvtScript(N(EVS_SetupMusic));
|
#include "sprite/npc/WorldBow.h"
|
||||||
|
|
||||||
NpcSettings N(NpcSettings_Tubba) = {
|
|
||||||
.height = 90,
|
|
||||||
.radius = 65,
|
|
||||||
.level = 13,
|
|
||||||
.onHit = &EnemyNpcHit,
|
|
||||||
.onDefeat = &EnemyNpcDefeat,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
#include "world/common/enemy/complete/TubbaBlubba.inc.c"
|
||||||
#include "world/common/npc/Boo_Patrol.inc.c"
|
#include "world/common/npc/Boo_Patrol.inc.c"
|
||||||
#include "world/common/npc/Boo.inc.c"
|
#include "world/common/npc/Boo.inc.c"
|
||||||
|
|
||||||
@ -243,11 +236,7 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Boo_01),
|
.init = &N(EVS_NpcInit_Boo_01),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.territory = {
|
.territory = {
|
||||||
.patrol = {
|
.patrol = {
|
||||||
.isFlying = FALSE,
|
.isFlying = FALSE,
|
||||||
@ -262,24 +251,7 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.detectSize = { 50 },
|
.detectSize = { 50 },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
.animations = {
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
.tattle = MSG_NpcTattle_ARN_BooD,
|
.tattle = MSG_NpcTattle_ARN_BooD,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -289,29 +261,8 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Boo_02),
|
.init = &N(EVS_NpcInit_Boo_02),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
.tattle = MSG_NpcTattle_ARN_BooE,
|
.tattle = MSG_NpcTattle_ARN_BooE,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -321,29 +272,8 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Boo_03),
|
.init = &N(EVS_NpcInit_Boo_03),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
.tattle = MSG_NpcTattle_ARN_BooF,
|
.tattle = MSG_NpcTattle_ARN_BooF,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -353,29 +283,8 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Boo_04),
|
.init = &N(EVS_NpcInit_Boo_04),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
.tattle = MSG_NpcTattle_ARN_BooG,
|
.tattle = MSG_NpcTattle_ARN_BooG,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -385,11 +294,7 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Boo_05),
|
.init = &N(EVS_NpcInit_Boo_05),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.territory = {
|
.territory = {
|
||||||
.patrol = {
|
.patrol = {
|
||||||
.isFlying = FALSE,
|
.isFlying = FALSE,
|
||||||
@ -404,24 +309,7 @@ StaticNpc N(NpcData_Boo_01)[] = {
|
|||||||
.detectSize = { 50 },
|
.detectSize = { 50 },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
.animations = {
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
.tattle = MSG_NpcTattle_ARN_BooH,
|
.tattle = MSG_NpcTattle_ARN_BooH,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -748,34 +636,13 @@ s32 N(extraAnimationList_80244390)[] = {
|
|||||||
|
|
||||||
StaticNpc N(NpcData_Tubba) = {
|
StaticNpc N(NpcData_Tubba) = {
|
||||||
.id = NPC_Tubba,
|
.id = NPC_Tubba,
|
||||||
.settings = &N(NpcSettings_Tubba),
|
.settings = &N(NpcSettings_TubbaBlubba),
|
||||||
.pos = { NPC_DISPOSE_LOCATION },
|
.pos = { NPC_DISPOSE_LOCATION },
|
||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Tubba),
|
.init = &N(EVS_NpcInit_Tubba),
|
||||||
.drops = {
|
.drops = TUBBA_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = TUBBA_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_WorldTubba_Anim06,
|
|
||||||
.walk = ANIM_WorldTubba_Anim09,
|
|
||||||
.run = ANIM_WorldTubba_Anim0C,
|
|
||||||
.chase = ANIM_WorldTubba_Anim0C,
|
|
||||||
.anim_4 = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_5 = ANIM_WorldTubba_Anim00,
|
|
||||||
.death = ANIM_WorldTubba_Anim00,
|
|
||||||
.hit = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_8 = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_9 = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_A = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_B = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_C = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_D = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_E = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_F = ANIM_WorldTubba_Anim00,
|
|
||||||
},
|
|
||||||
.extraAnimations = N(extraAnimationList_80244390),
|
.extraAnimations = N(extraAnimationList_80244390),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -839,29 +706,8 @@ StaticNpc N(NpcData_Boo_06)[] = {
|
|||||||
.yaw = 90,
|
.yaw = 90,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
||||||
.init = &N(EVS_NpcInit_Boo_06),
|
.init = &N(EVS_NpcInit_Boo_06),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_Boo_07,
|
.id = NPC_Boo_07,
|
||||||
@ -870,29 +716,8 @@ StaticNpc N(NpcData_Boo_06)[] = {
|
|||||||
.yaw = 90,
|
.yaw = 90,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
||||||
.init = &N(EVS_NpcInit_Boo_07),
|
.init = &N(EVS_NpcInit_Boo_07),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_Boo_08,
|
.id = NPC_Boo_08,
|
||||||
@ -901,29 +726,8 @@ StaticNpc N(NpcData_Boo_06)[] = {
|
|||||||
.yaw = 90,
|
.yaw = 90,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
||||||
.init = &N(EVS_NpcInit_Boo_08),
|
.init = &N(EVS_NpcInit_Boo_08),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_Boo_09,
|
.id = NPC_Boo_09,
|
||||||
@ -932,39 +736,18 @@ StaticNpc N(NpcData_Boo_06)[] = {
|
|||||||
.yaw = 90,
|
.yaw = 90,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
|
||||||
.init = &N(EVS_NpcInit_Boo_09),
|
.init = &N(EVS_NpcInit_Boo_09),
|
||||||
.drops = {
|
.drops = BOO_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = GUSTY_BOO_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_Boo_Tan_Idle,
|
|
||||||
.walk = ANIM_Boo_Tan_Walk,
|
|
||||||
.run = ANIM_Boo_Tan_Run,
|
|
||||||
.chase = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_4 = ANIM_Boo_Tan_Idle,
|
|
||||||
.anim_5 = ANIM_Boo_Tan_Idle,
|
|
||||||
.death = ANIM_Boo_Tan_Still,
|
|
||||||
.hit = ANIM_Boo_Tan_Still,
|
|
||||||
.anim_8 = ANIM_Boo_Tan_Confused,
|
|
||||||
.anim_9 = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_A = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_B = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_C = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_D = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_E = ANIM_Boo_Tan_Run,
|
|
||||||
.anim_F = ANIM_Boo_Tan_Run,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
NpcGroupList N(DefaultNPCs) = {
|
NpcGroupList N(BeforeNPCs) = {
|
||||||
NPC_GROUP(N(NpcData_Tubba)),
|
NPC_GROUP(N(NpcData_Tubba)),
|
||||||
NPC_GROUP(N(NpcData_Boo_01)),
|
NPC_GROUP(N(NpcData_Boo_01)),
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
NpcGroupList N(NpcGroup1) = {
|
NpcGroupList N(AfterNPCs) = {
|
||||||
NPC_GROUP(N(NpcData_Tubba)),
|
NPC_GROUP(N(NpcData_Tubba)),
|
||||||
NPC_GROUP(N(NpcData_Boo_01)),
|
NPC_GROUP(N(NpcData_Boo_01)),
|
||||||
NPC_GROUP(N(NpcData_Boo_06)),
|
NPC_GROUP(N(NpcData_Boo_06)),
|
@ -14,8 +14,6 @@
|
|||||||
#include "sprite/npc/WorldBow.h"
|
#include "sprite/npc/WorldBow.h"
|
||||||
#include "sprite/npc/Boo.h"
|
#include "sprite/npc/Boo.h"
|
||||||
#include "sprite/npc/Bootler.h"
|
#include "sprite/npc/Bootler.h"
|
||||||
#include "sprite/npc/WorldSkolar.h"
|
|
||||||
#include "sprite/npc/Paragoomba.h"
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NPC_TubbasHeart = 0,
|
NPC_TubbasHeart = 0,
|
||||||
@ -39,3 +37,15 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_07
|
#define NAMESPACE arn_07
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern EvtScript N(EVS_UnlockDoor);
|
||||||
|
extern EvtScript N(EVS_SetupWindmill);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript(N(EVS_SpawnStarCard));
|
||||||
|
extern EvtScript(N(EVS_ExitDoor_arn_08_0));
|
||||||
|
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
extern NpcGroupList N(BossNPCs);
|
||||||
|
extern NpcGroupList N(SpiritNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_07.h"
|
#include "arn_07.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_07_ENTRY_0] { 0.0, 20.0, -147.0, 180.0 },
|
[arn_07_ENTRY_0] { 0.0, 20.0, -147.0, 180.0 },
|
||||||
[arn_07_ENTRY_1] { 485.0, 0.0, 0.0, 270.0 },
|
[arn_07_ENTRY_1] { 485.0, 0.0, 0.0, 270.0 },
|
||||||
@ -16,24 +14,3 @@ MapSettings N(settings) = {
|
|||||||
.background = &gBackgroundImage,
|
.background = &gBackgroundImage,
|
||||||
.tattle = { MSG_MapTattle_arn_07 },
|
.tattle = { MSG_MapTattle_arn_07 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_CASE_LT(STORY_CH3_HEART_ESCAPED_WINDY_MILL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_CASE_EQ(STORY_CH3_BEGAN_PEACH_MISSION)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_STAR_SPIRIT_THEME, 1, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
22
src/world/area_arn/arn_07/arn_07_1_music.c
Normal file
22
src/world/area_arn/arn_07/arn_07_1_music.c
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#include "arn_07.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_CASE_LT(STORY_CH3_HEART_ESCAPED_WINDY_MILL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_CASE_EQ(STORY_CH3_BEGAN_PEACH_MISSION)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_STAR_SPIRIT_THEME, 1, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_CALL(PlayAmbientSounds, AMBIENT_WIND)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,13 +1,5 @@
|
|||||||
#include "arn_07.h"
|
#include "arn_07.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern EvtScript N(EVS_UnlockDoor);
|
|
||||||
extern EvtScript N(EVS_SetupWindmill);
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
extern NpcGroupList N(BossNPCs);
|
|
||||||
extern NpcGroupList N(SpiritNPCs);
|
|
||||||
|
|
||||||
#include "world/common/todo/StarSpiritEffectFunc.inc.c"
|
#include "world/common/todo/StarSpiritEffectFunc.inc.c"
|
||||||
|
|
||||||
s32 N(KeyList)[] = {
|
s32 N(KeyList)[] = {
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_07.h"
|
#include "arn_07.h"
|
||||||
|
|
||||||
extern EvtScript(N(EVS_UpdateWindmill));
|
|
||||||
|
|
||||||
MAP_RODATA_PAD(1,windmill);
|
MAP_RODATA_PAD(1,windmill);
|
||||||
|
|
||||||
API_CALLABLE(N(WrapWindmillAngle)) {
|
API_CALLABLE(N(WrapWindmillAngle)) {
|
||||||
@ -14,6 +12,8 @@ API_CALLABLE(N(WrapWindmillAngle)) {
|
|||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern EvtScript(N(EVS_UpdateWindmill));
|
||||||
|
|
||||||
EvtScript N(EVS_SetupWindmill) = {
|
EvtScript N(EVS_SetupWindmill) = {
|
||||||
EVT_EXEC(N(EVS_UpdateWindmill))
|
EVT_EXEC(N(EVS_UpdateWindmill))
|
||||||
EVT_RETURN
|
EVT_RETURN
|
@ -1,8 +1,6 @@
|
|||||||
#include "arn_07.h"
|
#include "arn_07.h"
|
||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
|
|
||||||
extern EvtScript(N(EVS_ExitDoor_arn_08_0));
|
|
||||||
|
|
||||||
MAP_RODATA_PAD(1,entity);
|
MAP_RODATA_PAD(1,entity);
|
||||||
|
|
||||||
#include "world/common/todo/RemovePadlock.inc.c"
|
#include "world/common/todo/RemovePadlock.inc.c"
|
@ -1,39 +1,11 @@
|
|||||||
#include "arn_07.h"
|
#include "arn_07.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
|
|
||||||
extern EvtScript(N(EVS_SetupMusic));
|
|
||||||
extern EvtScript(N(EVS_SpawnStarCard));
|
|
||||||
|
|
||||||
#include "world/common/enemy/complete/HyperParagoomba.inc.c"
|
#include "world/common/enemy/complete/HyperParagoomba.inc.c"
|
||||||
#include "world/common/npc/TubbasHeart.inc.c"
|
#include "world/common/npc/TubbasHeart.inc.c"
|
||||||
|
#include "world/common/enemy/complete/TubbaBlubba.inc.c"
|
||||||
NpcSettings N(NpcSettings_Tubba) = {
|
|
||||||
.height = 90,
|
|
||||||
.radius = 65,
|
|
||||||
.level = 13,
|
|
||||||
.onHit = &EnemyNpcHit,
|
|
||||||
.onDefeat = &EnemyNpcDefeat,
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "world/common/npc/Boo.inc.c"
|
#include "world/common/npc/Boo.inc.c"
|
||||||
|
#include "world/common/npc/StarSpirit.inc.c"
|
||||||
NpcSettings N(NpcSettings_Skolar) = {
|
|
||||||
.height = 26,
|
|
||||||
.radius = 24,
|
|
||||||
.level = 99,
|
|
||||||
};
|
|
||||||
|
|
||||||
NpcSettings N(NpcSettings_Unused1) = {
|
|
||||||
.height = 20,
|
|
||||||
.radius = 20,
|
|
||||||
.level = 99,
|
|
||||||
};
|
|
||||||
|
|
||||||
NpcSettings N(NpcSettings_Unused2) = {
|
|
||||||
.height = 22,
|
|
||||||
.radius = 24,
|
|
||||||
.level = 99,
|
|
||||||
};
|
|
||||||
|
|
||||||
API_CALLABLE(N(UpgradeStarPower)) {
|
API_CALLABLE(N(UpgradeStarPower)) {
|
||||||
PlayerData* playerData = &gPlayerData;
|
PlayerData* playerData = &gPlayerData;
|
||||||
@ -591,34 +563,13 @@ EvtScript N(EVS_NpcInit_Skolar) = {
|
|||||||
StaticNpc N(NpcData_Tubba)[] = {
|
StaticNpc N(NpcData_Tubba)[] = {
|
||||||
{
|
{
|
||||||
.id = NPC_Tubba,
|
.id = NPC_Tubba,
|
||||||
.settings = &N(NpcSettings_Tubba),
|
.settings = &N(NpcSettings_TubbaBlubba),
|
||||||
.pos = { 309.0f, 0.0f, 11.0f },
|
.pos = { 309.0f, 0.0f, 11.0f },
|
||||||
.yaw = 270,
|
.yaw = 270,
|
||||||
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000,
|
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000,
|
||||||
.init = &N(EVS_NpcInit_Tubba),
|
.init = &N(EVS_NpcInit_Tubba),
|
||||||
.drops = {
|
.drops = TUBBA_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = TUBBA_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_WorldTubba_Anim06,
|
|
||||||
.walk = ANIM_WorldTubba_Anim09,
|
|
||||||
.run = ANIM_WorldTubba_Anim0C,
|
|
||||||
.chase = ANIM_WorldTubba_Anim0C,
|
|
||||||
.anim_4 = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_5 = ANIM_WorldTubba_Anim00,
|
|
||||||
.death = ANIM_WorldTubba_Anim00,
|
|
||||||
.hit = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_8 = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_9 = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_A = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_B = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_C = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_D = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_E = ANIM_WorldTubba_Anim00,
|
|
||||||
.anim_F = ANIM_WorldTubba_Anim00,
|
|
||||||
},
|
|
||||||
.extraAnimations = N(ExtraAnims_Tubba),
|
.extraAnimations = N(ExtraAnims_Tubba),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -851,34 +802,13 @@ StaticNpc N(NpcData_HyperParagoomba_03) = {
|
|||||||
|
|
||||||
StaticNpc N(NpcData_Skolar) = {
|
StaticNpc N(NpcData_Skolar) = {
|
||||||
.id = NPC_Skolar,
|
.id = NPC_Skolar,
|
||||||
.settings = &N(NpcSettings_Skolar),
|
.settings = &N(NpcSettings_StarSpirit),
|
||||||
.pos = { NPC_DISPOSE_LOCATION },
|
.pos = { NPC_DISPOSE_LOCATION },
|
||||||
.yaw = 0,
|
.yaw = 0,
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
|
||||||
.init = &N(EVS_NpcInit_Skolar),
|
.init = &N(EVS_NpcInit_Skolar),
|
||||||
.drops = {
|
.drops = SKOLAR_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = SKOLAR_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
.idle = ANIM_WorldSkolar_Idle,
|
|
||||||
.walk = ANIM_WorldSkolar_Idle,
|
|
||||||
.run = ANIM_WorldSkolar_Idle,
|
|
||||||
.chase = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_4 = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_5 = ANIM_WorldSkolar_Idle,
|
|
||||||
.death = ANIM_WorldSkolar_Idle,
|
|
||||||
.hit = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_8 = ANIM_WorldSkolar_Still,
|
|
||||||
.anim_9 = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_A = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_B = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_C = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_D = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_E = ANIM_WorldSkolar_Idle,
|
|
||||||
.anim_F = ANIM_WorldSkolar_Idle,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
NpcGroupList N(BossNPCs) = {
|
NpcGroupList N(BossNPCs) = {
|
@ -18,3 +18,11 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_08
|
#define NAMESPACE arn_08
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_AnimateGears);
|
||||||
|
extern EvtScript N(EVS_SetupHole);
|
||||||
|
extern EvtScript N(EVS_PlayDemoScene);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_08.h"
|
#include "arn_08.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_08_ENTRY_0] { -80.0, 0.0, 108.0, 45.0 },
|
[arn_08_ENTRY_0] { -80.0, 0.0, 108.0, 45.0 },
|
||||||
[arn_08_ENTRY_1] { 0.0, 0.0, 0.0, 0.0 },
|
[arn_08_ENTRY_1] { 0.0, 0.0, 0.0, 0.0 },
|
||||||
@ -14,17 +12,3 @@ MapSettings N(settings) = {
|
|||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
.tattle = { MSG_MapTattle_arn_08 },
|
.tattle = { MSG_MapTattle_arn_08 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_CALL(ClearAmbientSounds, 250)
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
15
src/world/area_arn/arn_08/arn_08_1_music.c
Normal file
15
src/world/area_arn/arn_08/arn_08_1_music.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "arn_08.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_CALL(ClearAmbientSounds, 250)
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,12 +1,5 @@
|
|||||||
#include "arn_08.h"
|
#include "arn_08.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_AnimateGears);
|
|
||||||
extern EvtScript N(EVS_SetupHole);
|
|
||||||
extern EvtScript N(EVS_PlayDemoScene);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitDoor_arn_07_0) = {
|
EvtScript N(EVS_ExitDoor_arn_07_0) = {
|
||||||
EVT_SET_GROUP(EVT_GROUP_1B)
|
EVT_SET_GROUP(EVT_GROUP_1B)
|
||||||
EVT_CALL(DisablePlayerInput, TRUE)
|
EVT_CALL(DisablePlayerInput, TRUE)
|
@ -16,3 +16,9 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_09
|
#define NAMESPACE arn_09
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_LaunchPlayer);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_09.h"
|
#include "arn_09.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_09_ENTRY_0] { 125.0, 0.0, 0.0, 270.0 },
|
[arn_09_ENTRY_0] { 125.0, 0.0, 0.0, 270.0 },
|
||||||
[arn_09_ENTRY_1] { 0.0, 200.0, 0.0, 90.0 },
|
[arn_09_ENTRY_1] { 0.0, 200.0, 0.0, 90.0 },
|
||||||
@ -13,16 +11,3 @@ MapSettings N(settings) = {
|
|||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
.tattle = { MSG_MapTattle_arn_09 },
|
.tattle = { MSG_MapTattle_arn_09 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
14
src/world/area_arn/arn_09/arn_09_1_music.c
Normal file
14
src/world/area_arn/arn_09/arn_09_1_music.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "arn_09.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,11 +1,5 @@
|
|||||||
#include "arn_09.h"
|
#include "arn_09.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
extern EvtScript N(EVS_LaunchPlayer);
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitDoor_arn_10_0) = EVT_EXIT_SPLIT_SINGLE_DOOR(arn_09_ENTRY_0, "arn_10", arn_10_ENTRY_0,
|
EvtScript N(EVS_ExitDoor_arn_10_0) = EVT_EXIT_SPLIT_SINGLE_DOOR(arn_09_ENTRY_0, "arn_10", arn_10_ENTRY_0,
|
||||||
COLLIDER_tte, MODEL_doa, MODEL_o37, DOOR_SWING_OUT);
|
COLLIDER_tte, MODEL_doa, MODEL_o37, DOOR_SWING_OUT);
|
||||||
|
|
@ -9,12 +9,14 @@
|
|||||||
#include "mapfs/arn_10_shape.h"
|
#include "mapfs/arn_10_shape.h"
|
||||||
#include "mapfs/arn_10_hit.h"
|
#include "mapfs/arn_10_hit.h"
|
||||||
|
|
||||||
#include "sprite/npc/TubbasHeart.h"
|
|
||||||
#include "sprite/npc/Goomba.h"
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NPC_TubbasHeart = 0,
|
NPC_TubbasHeart = 0,
|
||||||
NPC_HyperGoomba = 1,
|
NPC_HyperGoomba = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_10
|
#define NAMESPACE arn_10
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_10.h"
|
#include "arn_10.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_10_ENTRY_0] { -225.0, 0.0, 0.0, 90.0 },
|
[arn_10_ENTRY_0] { -225.0, 0.0, 0.0, 90.0 },
|
||||||
[arn_10_ENTRY_1] { 225.0, 0.0, 0.0, 270.0 },
|
[arn_10_ENTRY_1] { 225.0, 0.0, 0.0, 270.0 },
|
||||||
@ -13,16 +11,3 @@ MapSettings N(settings) = {
|
|||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
.tattle = { MSG_MapTattle_arn_10 },
|
.tattle = { MSG_MapTattle_arn_10 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
14
src/world/area_arn/arn_10/arn_10_1_music.c
Normal file
14
src/world/area_arn/arn_10/arn_10_1_music.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "arn_10.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,9 +1,5 @@
|
|||||||
#include "arn_10.h"
|
#include "arn_10.h"
|
||||||
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitDoor_arn_09_0) = EVT_EXIT_SINGLE_DOOR(arn_10_ENTRY_0, "arn_09", arn_09_ENTRY_0,
|
EvtScript N(EVS_ExitDoor_arn_09_0) = EVT_EXIT_SINGLE_DOOR(arn_10_ENTRY_0, "arn_09", arn_09_ENTRY_0,
|
||||||
COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN);
|
COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN);
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
#include "arn_10.h"
|
#include "arn_10.h"
|
||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
|
|
||||||
EvtScript N(80240BE0) = {
|
EvtScript N(EVS_ReadSign) = {
|
||||||
EVT_CALL(DisablePlayerInput, TRUE)
|
EVT_CALL(DisablePlayerInput, TRUE)
|
||||||
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0182, 160, 40)
|
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0182, 160, 40)
|
||||||
EVT_CALL(DisablePlayerInput, FALSE)
|
EVT_CALL(DisablePlayerInput, FALSE)
|
||||||
@ -11,7 +11,7 @@ EvtScript N(80240BE0) = {
|
|||||||
|
|
||||||
EvtScript N(EVS_MakeEntities) = {
|
EvtScript N(EVS_MakeEntities) = {
|
||||||
EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 200, 0, -40, 0, MAKE_ENTITY_END)
|
EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 200, 0, -40, 0, MAKE_ENTITY_END)
|
||||||
EVT_CALL(AssignScript, EVT_PTR(N(80240BE0)))
|
EVT_CALL(AssignScript, EVT_PTR(N(EVS_ReadSign)))
|
||||||
EVT_RETURN
|
EVT_RETURN
|
||||||
EVT_END
|
EVT_END
|
||||||
};
|
};
|
@ -16,3 +16,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_11
|
#define NAMESPACE arn_11
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_11.h"
|
#include "arn_11.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_11_ENTRY_0] { -165.0, 0.0, 0.0, 90.0 },
|
[arn_11_ENTRY_0] { -165.0, 0.0, 0.0, 90.0 },
|
||||||
};
|
};
|
||||||
@ -12,16 +10,3 @@ MapSettings N(settings) = {
|
|||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
.tattle = { MSG_MapTattle_arn_11 },
|
.tattle = { MSG_MapTattle_arn_11 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_WENT_DOWN_THE_WELL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
14
src/world/area_arn/arn_11/arn_11_1_music.c
Normal file
14
src/world/area_arn/arn_11/arn_11_1_music.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "arn_11.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_WENT_DOWN_THE_WELL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,8 +1,5 @@
|
|||||||
#include "arn_11.h"
|
#include "arn_11.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_SetupCamera) = {
|
EvtScript N(EVS_SetupCamera) = {
|
||||||
EVT_CALL(SetCamType, CAM_DEFAULT, 6, TRUE)
|
EVT_CALL(SetCamType, CAM_DEFAULT, 6, TRUE)
|
||||||
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0))
|
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0))
|
@ -9,12 +9,14 @@
|
|||||||
#include "mapfs/arn_12_shape.h"
|
#include "mapfs/arn_12_shape.h"
|
||||||
#include "mapfs/arn_12_hit.h"
|
#include "mapfs/arn_12_hit.h"
|
||||||
|
|
||||||
#include "sprite/npc/TubbasHeart.h"
|
|
||||||
#include "sprite/npc/Goomba.h"
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NPC_TubbasHeart = 0,
|
NPC_TubbasHeart = 0,
|
||||||
NPC_HyperGoomba = 1,
|
NPC_HyperGoomba = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_12
|
#define NAMESPACE arn_12
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_12.h"
|
#include "arn_12.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_12_ENTRY_0] { -231.0, 0.0, 5.0, 90.0 },
|
[arn_12_ENTRY_0] { -231.0, 0.0, 5.0, 90.0 },
|
||||||
[arn_12_ENTRY_1] { 231.0, 0.0, 5.0, 270.0 },
|
[arn_12_ENTRY_1] { 231.0, 0.0, 5.0, 270.0 },
|
||||||
@ -13,16 +11,3 @@ MapSettings N(settings) = {
|
|||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
.tattle = { MSG_MapTattle_arn_12 },
|
.tattle = { MSG_MapTattle_arn_12 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
14
src/world/area_arn/arn_12/arn_12_1_music.c
Normal file
14
src/world/area_arn/arn_12/arn_12_1_music.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "arn_12.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,9 +1,5 @@
|
|||||||
#include "arn_12.h"
|
#include "arn_12.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitDoor_arn_10_1) = EVT_EXIT_SINGLE_DOOR(arn_12_ENTRY_0, "arn_10", arn_10_ENTRY_1,
|
EvtScript N(EVS_ExitDoor_arn_10_1) = EVT_EXIT_SINGLE_DOOR(arn_12_ENTRY_0, "arn_10", arn_10_ENTRY_1,
|
||||||
COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN);
|
COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN);
|
||||||
|
|
@ -9,12 +9,14 @@
|
|||||||
#include "mapfs/arn_13_shape.h"
|
#include "mapfs/arn_13_shape.h"
|
||||||
#include "mapfs/arn_13_hit.h"
|
#include "mapfs/arn_13_hit.h"
|
||||||
|
|
||||||
#include "sprite/npc/TubbasHeart.h"
|
|
||||||
#include "sprite/npc/Goomba.h"
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NPC_TubbasHeart = 0,
|
NPC_TubbasHeart = 0,
|
||||||
NPC_HyperGoomba = 1,
|
NPC_HyperGoomba = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE arn_13
|
#define NAMESPACE arn_13
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_SetupMusic);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#include "arn_13.h"
|
#include "arn_13.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
EntryList N(Entrances) = {
|
||||||
[arn_13_ENTRY_0] { -231.0, 0.0, 5.0, 90.0 },
|
[arn_13_ENTRY_0] { -231.0, 0.0, 5.0, 90.0 },
|
||||||
[arn_13_ENTRY_1] { 231.0, 0.0, 5.0, 270.0 },
|
[arn_13_ENTRY_1] { 231.0, 0.0, 5.0, 270.0 },
|
||||||
@ -13,16 +11,3 @@ MapSettings N(settings) = {
|
|||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
.tattle = { MSG_MapTattle_arn_13 },
|
.tattle = { MSG_MapTattle_arn_13 },
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_SetupMusic) = {
|
|
||||||
EVT_SWITCH(GB_StoryProgress)
|
|
||||||
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
|
||||||
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
|
||||||
EVT_CASE_DEFAULT
|
|
||||||
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
|
||||||
EVT_END_SWITCH
|
|
||||||
EVT_RETURN
|
|
||||||
EVT_END
|
|
||||||
};
|
|
||||||
|
14
src/world/area_arn/arn_13/arn_13_1_music.c
Normal file
14
src/world/area_arn/arn_13/arn_13_1_music.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "arn_13.h"
|
||||||
|
|
||||||
|
EvtScript N(EVS_SetupMusic) = {
|
||||||
|
EVT_SWITCH(GB_StoryProgress)
|
||||||
|
EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8)
|
||||||
|
EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA)
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8)
|
||||||
|
EVT_CASE_DEFAULT
|
||||||
|
EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8)
|
||||||
|
EVT_END_SWITCH
|
||||||
|
EVT_RETURN
|
||||||
|
EVT_END
|
||||||
|
};
|
@ -1,9 +1,5 @@
|
|||||||
#include "arn_13.h"
|
#include "arn_13.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_SetupMusic);
|
|
||||||
extern EvtScript N(EVS_MakeEntities);
|
|
||||||
extern NpcGroupList N(DefaultNPCs);
|
|
||||||
|
|
||||||
EvtScript N(EVS_ExitDoor_arn_12_1) = EVT_EXIT_SINGLE_DOOR(arn_13_ENTRY_0, "arn_12", arn_12_ENTRY_1,
|
EvtScript N(EVS_ExitDoor_arn_12_1) = EVT_EXIT_SINGLE_DOOR(arn_13_ENTRY_0, "arn_12", arn_12_ENTRY_1,
|
||||||
COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN);
|
COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN);
|
||||||
|
|
@ -7,14 +7,7 @@
|
|||||||
#include "world/common/npc/Dryite_Stationary.inc.c"
|
#include "world/common/npc/Dryite_Stationary.inc.c"
|
||||||
|
|
||||||
#include "world/common/npc/Mouser.inc.c"
|
#include "world/common/npc/Mouser.inc.c"
|
||||||
#include "world/common/npc/ThreeSisters.inc.c"
|
#include "world/common/npc/Toad_Stationary.inc.c"
|
||||||
|
|
||||||
// toad kid?
|
|
||||||
NpcSettings N(NpcSettings_Unused1) = {
|
|
||||||
.height = 23,
|
|
||||||
.radius = 19,
|
|
||||||
.level = 99,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo
|
#define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo
|
||||||
#include "world/common/complete/Quizmo.inc.c"
|
#include "world/common/complete/Quizmo.inc.c"
|
||||||
@ -393,35 +386,35 @@ StaticNpc N(PassiveNPCs)[] = {
|
|||||||
StaticNpc N(ThreeSisterNPCs)[] = {
|
StaticNpc N(ThreeSisterNPCs)[] = {
|
||||||
{
|
{
|
||||||
.id = NPC_ThreeSisters_01,
|
.id = NPC_ThreeSisters_01,
|
||||||
.settings = &N(NpcSettings_ThreeSisters),
|
.settings = &N(NpcSettings_Toad_Stationary),
|
||||||
.pos = { -141.0f, 0.0f, -18.0f },
|
.pos = { -141.0f, 0.0f, -18.0f },
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
||||||
.init = &N(EVS_NpcInit_ThreeSisters),
|
.init = &N(EVS_NpcInit_ThreeSisters),
|
||||||
.yaw = 62,
|
.yaw = 62,
|
||||||
.drops = THREE_SISTER_DROPS,
|
.drops = TOADETTE_DROPS,
|
||||||
.animations = THREE_SISTER_ANIMS,
|
.animations = TOADETTE_PINK_ANIMS,
|
||||||
.tattle = MSG_NpcTattle_TravelingMaidA,
|
.tattle = MSG_NpcTattle_TravelingMaidA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_ThreeSisters_02,
|
.id = NPC_ThreeSisters_02,
|
||||||
.settings = &N(NpcSettings_ThreeSisters),
|
.settings = &N(NpcSettings_Toad_Stationary),
|
||||||
.pos = { -124.0f, 0.0f, -61.0f },
|
.pos = { -124.0f, 0.0f, -61.0f },
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
||||||
.init = &N(EVS_NpcInit_ThreeSisters),
|
.init = &N(EVS_NpcInit_ThreeSisters),
|
||||||
.yaw = 63,
|
.yaw = 63,
|
||||||
.drops = THREE_SISTER_DROPS,
|
.drops = TOADETTE_DROPS,
|
||||||
.animations = THREE_SISTER_ANIMS,
|
.animations = TOADETTE_PINK_ANIMS,
|
||||||
.tattle = MSG_NpcTattle_TravelingMaidB,
|
.tattle = MSG_NpcTattle_TravelingMaidB,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_ThreeSisters_03,
|
.id = NPC_ThreeSisters_03,
|
||||||
.settings = &N(NpcSettings_ThreeSisters),
|
.settings = &N(NpcSettings_Toad_Stationary),
|
||||||
.pos = { -80.0f, 0.0f, -35.0f },
|
.pos = { -80.0f, 0.0f, -35.0f },
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
||||||
.init = &N(EVS_NpcInit_ThreeSisters),
|
.init = &N(EVS_NpcInit_ThreeSisters),
|
||||||
.yaw = 244,
|
.yaw = 244,
|
||||||
.drops = THREE_SISTER_DROPS,
|
.drops = TOADETTE_DROPS,
|
||||||
.animations = THREE_SISTER_ANIMS,
|
.animations = TOADETTE_PINK_ANIMS,
|
||||||
.tattle = MSG_NpcTattle_TravelingMaidC,
|
.tattle = MSG_NpcTattle_TravelingMaidC,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -47,18 +47,7 @@ NpcSettings N(NpcSettings_Archeologist) = {
|
|||||||
#include "world/common/npc/Dryite_Stationary.inc.c"
|
#include "world/common/npc/Dryite_Stationary.inc.c"
|
||||||
#include "world/common/npc/Mouser.inc.c"
|
#include "world/common/npc/Mouser.inc.c"
|
||||||
|
|
||||||
NpcSettings N(NpcSettings_ToadHouseKeeper) = {
|
#include "world/common/npc/Toad_Stationary.inc.c"
|
||||||
.height = 30,
|
|
||||||
.radius = 24,
|
|
||||||
.level = 99,
|
|
||||||
};
|
|
||||||
|
|
||||||
// toad kid?
|
|
||||||
NpcSettings N(NpcSettings_Unused1) = {
|
|
||||||
.height = 23,
|
|
||||||
.radius = 19,
|
|
||||||
.level = 99,
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "npc_merlee.c"
|
#include "npc_merlee.c"
|
||||||
|
|
||||||
@ -451,34 +440,13 @@ StaticNpc N(PassiveNPCs)[] = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_Toad,
|
.id = NPC_Toad,
|
||||||
.settings = &N(NpcSettings_ToadHouseKeeper),
|
.settings = &N(NpcSettings_Toad_Stationary),
|
||||||
.pos = { -143.0f, 0.0f, -170.0f },
|
.pos = { -143.0f, 0.0f, -170.0f },
|
||||||
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
|
||||||
.init = &N(EVS_NpcInit_ToadHouseKeeper),
|
.init = &N(EVS_NpcInit_ToadHouseKeeper),
|
||||||
.yaw = 180,
|
.yaw = 180,
|
||||||
.drops = {
|
.drops = TOAD_DROPS,
|
||||||
.dropFlags = NPC_DROP_FLAGS_80,
|
.animations = TOAD_RED_ANIMS,
|
||||||
.heartDrops = NO_DROPS,
|
|
||||||
.flowerDrops = NO_DROPS,
|
|
||||||
},
|
|
||||||
.animations = {
|
|
||||||
ANIM_Toad_Red_Idle,
|
|
||||||
ANIM_Toad_Red_Walk,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Idle,
|
|
||||||
ANIM_Toad_Red_Idle,
|
|
||||||
ANIM_Toad_Red_Disappointed,
|
|
||||||
ANIM_Toad_Red_Disappointed,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
ANIM_Toad_Red_Run,
|
|
||||||
},
|
|
||||||
.tattle = MSG_NpcTattle_DRO_ToadHouseToad,
|
.tattle = MSG_NpcTattle_DRO_ToadHouseToad,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -162,3 +162,10 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE end_00
|
#define NAMESPACE end_00
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_ManageParade);
|
||||||
|
extern EvtScript N(EVS_OffsetNpcScroll);
|
||||||
|
|
||||||
|
API_CALLABLE(N(AddScrollToNpcPos));
|
||||||
|
|
||||||
|
16
src/world/area_end/end_00/end_00_0_header.c
Normal file
16
src/world/area_end/end_00/end_00_0_header.c
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#include "end_00.h"
|
||||||
|
|
||||||
|
s32 N(map_init)(void) {
|
||||||
|
gGameStatusPtr->playerSpriteSet = 3;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
EntryList N(Entrances) = {
|
||||||
|
[end_00_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
MapSettings N(settings) = {
|
||||||
|
.main = &N(EVS_Main),
|
||||||
|
.entryList = &N(Entrances),
|
||||||
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
|
};
|
@ -1,6 +0,0 @@
|
|||||||
#include "end_00.h"
|
|
||||||
|
|
||||||
s32 N(map_init)(void) {
|
|
||||||
gGameStatusPtr->playerSpriteSet = 3;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
@ -1,18 +1,5 @@
|
|||||||
#include "end_00.h"
|
#include "end_00.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
extern EvtScript N(EVS_ManageParade); // EVS_ManageParade
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
|
||||||
[end_00_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
MapSettings N(settings) = {
|
|
||||||
.main = &N(EVS_Main),
|
|
||||||
.entryList = &N(Entrances),
|
|
||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
|
||||||
};
|
|
||||||
|
|
||||||
EvtScript N(EVS_Main) = {
|
EvtScript N(EVS_Main) = {
|
||||||
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 35, 16, 4096)
|
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 35, 16, 4096)
|
||||||
EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128)
|
EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128)
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
#include "end_00.h"
|
#include "end_00.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_OffsetNpcScroll);
|
|
||||||
|
|
||||||
API_CALLABLE(N(AddScrollToNpcPos));
|
|
||||||
|
|
||||||
s32 N(UnusedAlpha) = 255;
|
s32 N(UnusedAlpha) = 255;
|
||||||
|
|
||||||
API_CALLABLE(N(SetUnusedAlpha)) {
|
API_CALLABLE(N(SetUnusedAlpha)) {
|
||||||
|
@ -65,8 +65,8 @@ enum {
|
|||||||
NPC_Merlar = 23,
|
NPC_Merlar = 23,
|
||||||
NPC_SunSad = 24,
|
NPC_SunSad = 24,
|
||||||
NPC_SunHappy = 25,
|
NPC_SunHappy = 25,
|
||||||
NPC_Bulbulb1 = 26,
|
NPC_Bubulb1 = 26,
|
||||||
NPC_Bulbulb2 = 27,
|
NPC_Bubulb2 = 27,
|
||||||
NPC_ShyGuyMarshall = 28,
|
NPC_ShyGuyMarshall = 28,
|
||||||
NPC_GeneralGuy = 29,
|
NPC_GeneralGuy = 29,
|
||||||
NPC_BackupDancer1 = 30,
|
NPC_BackupDancer1 = 30,
|
||||||
@ -125,3 +125,9 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE end_01
|
#define NAMESPACE end_01
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_ManageParade);
|
||||||
|
extern EvtScript N(EVS_OffsetNpcScroll);
|
||||||
|
|
||||||
|
API_CALLABLE(N(AddScrollToNpcPos));
|
||||||
|
15
src/world/area_end/end_01/end_01_0_header.c
Normal file
15
src/world/area_end/end_01/end_01_0_header.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "end_01.h"
|
||||||
|
|
||||||
|
s32 N(map_init)(void) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
EntryList N(Entrances) = {
|
||||||
|
[end_01_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
MapSettings N(settings) = {
|
||||||
|
.main = &N(EVS_Main),
|
||||||
|
.entryList = &N(Entrances),
|
||||||
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
|
};
|
@ -1,5 +0,0 @@
|
|||||||
#include "end_01.h"
|
|
||||||
|
|
||||||
s32 N(map_init)(void) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
@ -1,23 +1,10 @@
|
|||||||
#include "end_01.h"
|
#include "end_01.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
extern EvtScript N(EVS_ManageParade);
|
|
||||||
|
|
||||||
API_CALLABLE(N(WidenCameraFOV)) {
|
API_CALLABLE(N(WidenCameraFOV)) {
|
||||||
gCameras[CAM_DEFAULT].vfov = 35.0f;
|
gCameras[CAM_DEFAULT].vfov = 35.0f;
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
|
||||||
[end_01_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
MapSettings N(settings) = {
|
|
||||||
.main = &N(EVS_Main),
|
|
||||||
.entryList = &N(Entrances),
|
|
||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
|
||||||
};
|
|
||||||
|
|
||||||
EvtScript N(EVS_Main) = {
|
EvtScript N(EVS_Main) = {
|
||||||
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096)
|
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096)
|
||||||
EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128)
|
EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128)
|
||||||
|
@ -346,12 +346,12 @@ ParadeNpcInfo N(ParadeNpcsTable)[] = {
|
|||||||
.pos = { 0.0f, -500.0f, 0.0f },
|
.pos = { 0.0f, -500.0f, 0.0f },
|
||||||
.yaw = 90.0f
|
.yaw = 90.0f
|
||||||
},
|
},
|
||||||
[NPC_Bulbulb1] {
|
[NPC_Bubulb1] {
|
||||||
.initialAnim = ANIM_Bubulb_Pink_DarkWalk,
|
.initialAnim = ANIM_Bubulb_Pink_DarkWalk,
|
||||||
.pos = { -1850.0f, 0.0f, -20.0f },
|
.pos = { -1850.0f, 0.0f, -20.0f },
|
||||||
.yaw = 270.0f
|
.yaw = 270.0f
|
||||||
},
|
},
|
||||||
[NPC_Bulbulb2] {
|
[NPC_Bubulb2] {
|
||||||
.initialAnim = ANIM_Bubulb_Pink_DarkWalk,
|
.initialAnim = ANIM_Bubulb_Pink_DarkWalk,
|
||||||
.pos = { -1850.0f, 0.0f, 20.0f },
|
.pos = { -1850.0f, 0.0f, 20.0f },
|
||||||
.yaw = 270.0f
|
.yaw = 270.0f
|
||||||
@ -614,8 +614,8 @@ EvtScript N(EVS_ManageNpcPool) = {
|
|||||||
EVT_CALL(N(CreateParadeNPC), NPC_Merlar)
|
EVT_CALL(N(CreateParadeNPC), NPC_Merlar)
|
||||||
EVT_CALL(N(CreateParadeNPC), NPC_SunSad)
|
EVT_CALL(N(CreateParadeNPC), NPC_SunSad)
|
||||||
EVT_CALL(N(CreateParadeNPC), NPC_SunHappy)
|
EVT_CALL(N(CreateParadeNPC), NPC_SunHappy)
|
||||||
EVT_CALL(N(CreateParadeNPC), NPC_Bulbulb1)
|
EVT_CALL(N(CreateParadeNPC), NPC_Bubulb1)
|
||||||
EVT_CALL(N(CreateParadeNPC), NPC_Bulbulb2)
|
EVT_CALL(N(CreateParadeNPC), NPC_Bubulb2)
|
||||||
EVT_LOOP(0)
|
EVT_LOOP(0)
|
||||||
EVT_WAIT(1)
|
EVT_WAIT(1)
|
||||||
EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar0, LVar1, LVar2)
|
EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar0, LVar1, LVar2)
|
||||||
@ -666,8 +666,8 @@ EvtScript N(EVS_ManageNpcPool) = {
|
|||||||
EVT_CALL(DeleteNpc, NPC_Merlar)
|
EVT_CALL(DeleteNpc, NPC_Merlar)
|
||||||
EVT_CALL(DeleteNpc, NPC_SunSad)
|
EVT_CALL(DeleteNpc, NPC_SunSad)
|
||||||
EVT_CALL(DeleteNpc, NPC_SunHappy)
|
EVT_CALL(DeleteNpc, NPC_SunHappy)
|
||||||
EVT_CALL(DeleteNpc, NPC_Bulbulb1)
|
EVT_CALL(DeleteNpc, NPC_Bubulb1)
|
||||||
EVT_CALL(DeleteNpc, NPC_Bulbulb2)
|
EVT_CALL(DeleteNpc, NPC_Bubulb2)
|
||||||
EVT_WAIT(1)
|
EVT_WAIT(1)
|
||||||
EVT_CALL(N(CreateParadeNPC), NPC_HornPlayer1)
|
EVT_CALL(N(CreateParadeNPC), NPC_HornPlayer1)
|
||||||
EVT_CALL(N(CreateParadeNPC), NPC_HornPlayer2)
|
EVT_CALL(N(CreateParadeNPC), NPC_HornPlayer2)
|
||||||
|
@ -87,8 +87,8 @@ EvtScript N(EVS_Sun) = {
|
|||||||
EVT_END
|
EVT_END
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(EVS_Bulbulbs) = {
|
EvtScript N(EVS_Bubulbs) = {
|
||||||
EVT_CALL(GetNpcPos, NPC_Bulbulb1, LVar0, LVar1, LVar2)
|
EVT_CALL(GetNpcPos, NPC_Bubulb1, LVar0, LVar1, LVar2)
|
||||||
EVT_SET(LVar3, LVar0)
|
EVT_SET(LVar3, LVar0)
|
||||||
EVT_ADD(LVar3, -120)
|
EVT_ADD(LVar3, -120)
|
||||||
EVT_LOOP(0)
|
EVT_LOOP(0)
|
||||||
@ -101,14 +101,14 @@ EvtScript N(EVS_Bulbulbs) = {
|
|||||||
EVT_CALL(MakeLerp, 0, 360, 10, EASING_LINEAR)
|
EVT_CALL(MakeLerp, 0, 360, 10, EASING_LINEAR)
|
||||||
EVT_LOOP(0)
|
EVT_LOOP(0)
|
||||||
EVT_CALL(UpdateLerp)
|
EVT_CALL(UpdateLerp)
|
||||||
EVT_CALL(SetNpcRotation, NPC_Bulbulb1, 0, LVar0, 0)
|
EVT_CALL(SetNpcRotation, NPC_Bubulb1, 0, LVar0, 0)
|
||||||
EVT_CALL(SetNpcRotation, NPC_Bulbulb2, 0, LVar0, 0)
|
EVT_CALL(SetNpcRotation, NPC_Bubulb2, 0, LVar0, 0)
|
||||||
EVT_WAIT(1)
|
EVT_WAIT(1)
|
||||||
EVT_IF_EQ(LVar1, 0)
|
EVT_IF_EQ(LVar1, 0)
|
||||||
EVT_BREAK_LOOP
|
EVT_BREAK_LOOP
|
||||||
EVT_END_IF
|
EVT_END_IF
|
||||||
EVT_END_LOOP
|
EVT_END_LOOP
|
||||||
EVT_CALL(GetNpcPos, NPC_Bulbulb1, LVar0, LVar1, LVar2)
|
EVT_CALL(GetNpcPos, NPC_Bubulb1, LVar0, LVar1, LVar2)
|
||||||
EVT_SET(LVar3, LVar0)
|
EVT_SET(LVar3, LVar0)
|
||||||
EVT_ADD(LVar3, 100)
|
EVT_ADD(LVar3, 100)
|
||||||
EVT_LOOP(0)
|
EVT_LOOP(0)
|
||||||
@ -121,8 +121,8 @@ EvtScript N(EVS_Bulbulbs) = {
|
|||||||
EVT_CALL(MakeLerp, 0, 360, 10, EASING_LINEAR)
|
EVT_CALL(MakeLerp, 0, 360, 10, EASING_LINEAR)
|
||||||
EVT_LOOP(0)
|
EVT_LOOP(0)
|
||||||
EVT_CALL(UpdateLerp)
|
EVT_CALL(UpdateLerp)
|
||||||
EVT_CALL(SetNpcRotation, NPC_Bulbulb1, 0, LVar0, 0)
|
EVT_CALL(SetNpcRotation, NPC_Bubulb1, 0, LVar0, 0)
|
||||||
EVT_CALL(SetNpcRotation, NPC_Bulbulb2, 0, LVar0, 0)
|
EVT_CALL(SetNpcRotation, NPC_Bubulb2, 0, LVar0, 0)
|
||||||
EVT_WAIT(1)
|
EVT_WAIT(1)
|
||||||
EVT_IF_EQ(LVar1, 0)
|
EVT_IF_EQ(LVar1, 0)
|
||||||
EVT_BREAK_LOOP
|
EVT_BREAK_LOOP
|
||||||
@ -143,7 +143,7 @@ EvtScript N(EVS_ParadePhase_Wizards) = {
|
|||||||
EVT_END_LOOP
|
EVT_END_LOOP
|
||||||
EVT_WAIT(1)
|
EVT_WAIT(1)
|
||||||
EVT_EXEC_GET_TID(N(EVS_TexPan_FlowerFloat_Base), LVarA)
|
EVT_EXEC_GET_TID(N(EVS_TexPan_FlowerFloat_Base), LVarA)
|
||||||
EVT_EXEC(N(EVS_Bulbulbs))
|
EVT_EXEC(N(EVS_Bubulbs))
|
||||||
EVT_LOOP(0)
|
EVT_LOOP(0)
|
||||||
EVT_WAIT(1)
|
EVT_WAIT(1)
|
||||||
EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar0, LVar1, LVar2)
|
EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar0, LVar1, LVar2)
|
||||||
|
@ -2,10 +2,6 @@
|
|||||||
|
|
||||||
#include "world/common/atomic/UnkFunc27.inc.c"
|
#include "world/common/atomic/UnkFunc27.inc.c"
|
||||||
|
|
||||||
API_CALLABLE(N(AddScrollToNpcPos));
|
|
||||||
|
|
||||||
extern EvtScript N(EVS_OffsetNpcScroll);
|
|
||||||
|
|
||||||
EvtScript N(EVS_TexPan_ShyGuyFloat_Sides) = {
|
EvtScript N(EVS_TexPan_ShyGuyFloat_Sides) = {
|
||||||
EVT_CALL(EnableTexPanning, MODEL_omo1, TRUE)
|
EVT_CALL(EnableTexPanning, MODEL_omo1, TRUE)
|
||||||
EVT_CALL(EnableTexPanning, MODEL_omo4, TRUE)
|
EVT_CALL(EnableTexPanning, MODEL_omo4, TRUE)
|
||||||
|
@ -1078,7 +1078,7 @@ StaticNpc N(npcGroup_80245054)[] = {
|
|||||||
ANIM_Bubulb_Pink_Idle,
|
ANIM_Bubulb_Pink_Idle,
|
||||||
ANIM_Bubulb_Pink_Idle,
|
ANIM_Bubulb_Pink_Idle,
|
||||||
},
|
},
|
||||||
.tattle = MSG_NpcTattle_FLO_BulbulbA,
|
.tattle = MSG_NpcTattle_FLO_BubulbA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_BUBULB2,
|
.id = NPC_BUBULB2,
|
||||||
@ -1111,7 +1111,7 @@ StaticNpc N(npcGroup_80245054)[] = {
|
|||||||
ANIM_Bubulb_Purple_Idle,
|
ANIM_Bubulb_Purple_Idle,
|
||||||
ANIM_Bubulb_Purple_Idle,
|
ANIM_Bubulb_Purple_Idle,
|
||||||
},
|
},
|
||||||
.tattle = MSG_NpcTattle_FLO_BulbulbB,
|
.tattle = MSG_NpcTattle_FLO_BubulbB,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_BUBULB3,
|
.id = NPC_BUBULB3,
|
||||||
@ -1144,7 +1144,7 @@ StaticNpc N(npcGroup_80245054)[] = {
|
|||||||
ANIM_Bubulb_Green_Idle,
|
ANIM_Bubulb_Green_Idle,
|
||||||
ANIM_Bubulb_Green_Idle,
|
ANIM_Bubulb_Green_Idle,
|
||||||
},
|
},
|
||||||
.tattle = MSG_NpcTattle_FLO_BulbulbC,
|
.tattle = MSG_NpcTattle_FLO_BubulbC,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = NPC_BUBULB4,
|
.id = NPC_BUBULB4,
|
||||||
@ -1177,7 +1177,7 @@ StaticNpc N(npcGroup_80245054)[] = {
|
|||||||
ANIM_Bubulb_Yellow_Idle,
|
ANIM_Bubulb_Yellow_Idle,
|
||||||
ANIM_Bubulb_Yellow_Idle,
|
ANIM_Bubulb_Yellow_Idle,
|
||||||
},
|
},
|
||||||
.tattle = MSG_NpcTattle_FLO_BulbulbD,
|
.tattle = MSG_NpcTattle_FLO_BubulbD,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1145,18 +1145,18 @@ ApiStatus N(func_80240158_CA73F8)(Evt* script, s32 isInitialCall) {
|
|||||||
add_vec2D_polar(&sp10, &sp14, 46.0f, clamp);
|
add_vec2D_polar(&sp10, &sp14, 46.0f, clamp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_RUN];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_RUN];
|
||||||
npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14);
|
npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14);
|
||||||
npc_move_heading(npc, 2.0f, npc->yaw);
|
npc_move_heading(npc, 2.0f, npc->yaw);
|
||||||
} else if (temp_f4 > 0.2) {
|
} else if (temp_f4 > 0.2) {
|
||||||
npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14);
|
npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14);
|
||||||
npc->pos.x = sp10;
|
npc->pos.x = sp10;
|
||||||
npc->pos.z = sp14;
|
npc->pos.z = sp14;
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK];
|
||||||
} else {
|
} else {
|
||||||
npc->pos.x = sp10;
|
npc->pos.x = sp10;
|
||||||
npc->pos.z = sp14;
|
npc->pos.z = sp14;
|
||||||
npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE];
|
npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE];
|
||||||
}
|
}
|
||||||
return ApiStatus_BLOCK;
|
return ApiStatus_BLOCK;
|
||||||
}
|
}
|
||||||
|
@ -10,3 +10,5 @@
|
|||||||
#include "mapfs/gv_01_hit.h"
|
#include "mapfs/gv_01_hit.h"
|
||||||
|
|
||||||
#define NAMESPACE gv_01
|
#define NAMESPACE gv_01
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
11
src/world/area_gv/gv_01/gv_01_0_header.c
Normal file
11
src/world/area_gv/gv_01/gv_01_0_header.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#include "gv_01.h"
|
||||||
|
|
||||||
|
EntryList N(Entrances) = {
|
||||||
|
[gv_01_ENTRY_0] { 0.0, 0.0, 0.0, 90.0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
MapSettings N(settings) = {
|
||||||
|
.main = &N(EVS_Main),
|
||||||
|
.entryList = &N(Entrances),
|
||||||
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
|
};
|
@ -2,18 +2,6 @@
|
|||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
|
|
||||||
extern EvtScript N(EVS_Main);
|
|
||||||
|
|
||||||
EntryList N(Entrances) = {
|
|
||||||
{ 0.0, 0.0, 0.0, 90.0 }, /* gv_01_ENTRY_0 */
|
|
||||||
};
|
|
||||||
|
|
||||||
MapSettings N(settings) = {
|
|
||||||
.main = &N(EVS_Main),
|
|
||||||
.entryList = &N(Entrances),
|
|
||||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "world/common/entity/Pipe.inc.c"
|
#include "world/common/entity/Pipe.inc.c"
|
||||||
#include "world/common/entity/Pipe.data.inc.c"
|
#include "world/common/entity/Pipe.data.inc.c"
|
||||||
|
|
@ -21,7 +21,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
AF_IWA_SpokeWithBulbulb = AreaFlag(1),
|
AF_IWA_SpokeWithBubulb = AreaFlag(1),
|
||||||
AF_IWA_SpokeWIthDryite = AreaFlag(2),
|
AF_IWA_SpokeWIthDryite = AreaFlag(2),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,9 +9,6 @@
|
|||||||
#include "mapfs/iwa_00_shape.h"
|
#include "mapfs/iwa_00_shape.h"
|
||||||
#include "mapfs/iwa_00_hit.h"
|
#include "mapfs/iwa_00_hit.h"
|
||||||
|
|
||||||
#include "sprite/npc/MontyMole.h"
|
|
||||||
#include "sprite/npc/Whacka.h"
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NPC_MontyMole_01 = 0,
|
NPC_MontyMole_01 = 0,
|
||||||
NPC_MontyMole_01_Hole = 1,
|
NPC_MontyMole_01_Hole = 1,
|
||||||
@ -22,3 +19,8 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define NAMESPACE iwa_00
|
#define NAMESPACE iwa_00
|
||||||
|
|
||||||
|
extern EvtScript N(EVS_Main);
|
||||||
|
extern EvtScript N(EVS_BindSlideTriggers);
|
||||||
|
extern EvtScript N(EVS_MakeEntities);
|
||||||
|
extern NpcGroupList N(DefaultNPCs);
|
||||||
|
15
src/world/area_iwa/iwa_00/iwa_00_0_header.c
Normal file
15
src/world/area_iwa/iwa_00/iwa_00_0_header.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "iwa_00.h"
|
||||||
|
|
||||||
|
EntryList N(Entrances) = {
|
||||||
|
[iwa_00_ENTRY_0] { 55.0, -5.0, -25.0, 90.0 },
|
||||||
|
[iwa_00_ENTRY_1] { 1313.0, 90.0, -40.0, 270.0 },
|
||||||
|
[iwa_00_ENTRY_2] { 625.0, -30.0, 259.0, 45.0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
MapSettings N(settings) = {
|
||||||
|
.main = &N(EVS_Main),
|
||||||
|
.entryList = &N(Entrances),
|
||||||
|
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||||
|
.background = &gBackgroundImage,
|
||||||
|
.tattle = { MSG_MapTattle_iwa_00 },
|
||||||
|
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user