mirror of
https://github.com/pmret/papermario.git
synced 2024-09-18 23:42:35 +02:00
isk+ (#878)
* isk_01/2/3 * machi * mac_05 * mac_04 matched * mac_04 * mac_02 match * mostly cookin * mac_02 cleanup * tayce t cleanup done * most of isk * almost done isk * isk done * mapconfig 1C * jump to goal Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
parent
40c2b9be4d
commit
703896a7f1
@ -416,7 +416,7 @@ typedef union X32 {
|
||||
} X32;
|
||||
|
||||
typedef struct Evt {
|
||||
/* 0x000 */ u8 state;
|
||||
/* 0x000 */ u8 stateFlags;
|
||||
/* 0x001 */ u8 currentArgc;
|
||||
/* 0x002 */ u8 currentOpcode;
|
||||
/* 0x003 */ u8 priority;
|
||||
@ -1514,7 +1514,7 @@ typedef struct SelectableTarget {
|
||||
} SelectableTarget; // size = 0x14
|
||||
|
||||
typedef struct ActorPartMovement {
|
||||
/* 0x00 */ Vec3f unk_00;
|
||||
/* 0x00 */ Vec3f absolutePosition;
|
||||
/* 0x0C */ Vec3f goalPos;
|
||||
/* 0x18 */ Vec3f unk_18;
|
||||
/* 0x24 */ f32 jumpScale;
|
||||
|
@ -3381,7 +3381,7 @@ enum PlayerStatusAnimFlags {
|
||||
PA_FLAGS_SHIVERING = 0x00000400,
|
||||
PA_FLAGS_OPENED_HIDDEN_PANEL = 0x00000800,
|
||||
PA_FLAGS_USING_PEACH_PHYSICS = 0x00001000,
|
||||
PA_FLAGS_IN_DISGUISE = 0x00002000,
|
||||
PA_FLAGS_INVISIBLE = 0x00002000,
|
||||
PA_FLAGS_8BIT_MARIO = 0x00004000,
|
||||
PA_FLAGS_NPC_COLLIDED = 0x00008000,
|
||||
PA_FLAGS_SPINNING = 0x00010000,
|
||||
@ -4437,37 +4437,11 @@ enum ProjectileHitboxAttackStates {
|
||||
|
||||
enum MusicSettingsFlags {
|
||||
MUSIC_SETTINGS_FLAGS_1 = 0x00000001,
|
||||
MUSIC_SETTINGS_FLAGS_2 = 0x00000002,
|
||||
MUSIC_SETTINGS_FLAGS_ENABLE_PROXIMITY_MIX = 0x00000002,
|
||||
MUSIC_SETTINGS_FLAGS_4 = 0x00000004,
|
||||
MUSIC_SETTINGS_FLAGS_8 = 0x00000008,
|
||||
MUSIC_SETTINGS_FLAGS_10 = 0x00000010,
|
||||
MUSIC_SETTINGS_FLAGS_20 = 0x00000020,
|
||||
MUSIC_SETTINGS_FLAGS_40 = 0x00000040,
|
||||
MUSIC_SETTINGS_FLAGS_80 = 0x00000080,
|
||||
MUSIC_SETTINGS_FLAGS_100 = 0x00000100,
|
||||
MUSIC_SETTINGS_FLAGS_200 = 0x00000200,
|
||||
MUSIC_SETTINGS_FLAGS_400 = 0x00000400,
|
||||
MUSIC_SETTINGS_FLAGS_800 = 0x00000800,
|
||||
MUSIC_SETTINGS_FLAGS_1000 = 0x00001000,
|
||||
MUSIC_SETTINGS_FLAGS_2000 = 0x00002000,
|
||||
MUSIC_SETTINGS_FLAGS_4000 = 0x00004000,
|
||||
MUSIC_SETTINGS_FLAGS_8000 = 0x00008000,
|
||||
MUSIC_SETTINGS_FLAGS_10000 = 0x00010000,
|
||||
MUSIC_SETTINGS_FLAGS_20000 = 0x00020000,
|
||||
MUSIC_SETTINGS_FLAGS_40000 = 0x00040000,
|
||||
MUSIC_SETTINGS_FLAGS_80000 = 0x00080000,
|
||||
MUSIC_SETTINGS_FLAGS_100000 = 0x00100000,
|
||||
MUSIC_SETTINGS_FLAGS_200000 = 0x00200000,
|
||||
MUSIC_SETTINGS_FLAGS_400000 = 0x00400000,
|
||||
MUSIC_SETTINGS_FLAGS_800000 = 0x00800000,
|
||||
MUSIC_SETTINGS_FLAGS_1000000 = 0x01000000,
|
||||
MUSIC_SETTINGS_FLAGS_2000000 = 0x02000000,
|
||||
MUSIC_SETTINGS_FLAGS_4000000 = 0x04000000,
|
||||
MUSIC_SETTINGS_FLAGS_8000000 = 0x08000000,
|
||||
MUSIC_SETTINGS_FLAGS_10000000 = 0x10000000,
|
||||
MUSIC_SETTINGS_FLAGS_20000000 = 0x20000000,
|
||||
MUSIC_SETTINGS_FLAGS_40000000 = 0x40000000,
|
||||
MUSIC_SETTINGS_FLAGS_80000000 = 0x80000000,
|
||||
};
|
||||
|
||||
// the lower byte of Collider::flags
|
||||
|
@ -939,7 +939,7 @@ void func_800E9810(void);
|
||||
void func_800E983C(void);
|
||||
void func_800E984C(void);
|
||||
s32 func_800E9860(void);
|
||||
void func_800E98C4(void);
|
||||
void status_menu_respond_to_changes(void);
|
||||
void func_800E98EC(void);
|
||||
void func_800E9900(void);
|
||||
void func_800F0C9C(void);
|
||||
@ -981,7 +981,7 @@ void func_8025DA60(ActorPart*, s32);
|
||||
void func_8025DBC8(ActorPart*, s32);
|
||||
void func_8025DD40(ActorPart*, s32);
|
||||
void func_8025DE88(ActorPart*, s32);
|
||||
void func_800E9894(void);
|
||||
void status_menu_ignore_changes(void);
|
||||
void func_8013A854(u32);
|
||||
|
||||
void set_script_flags(Evt* script, s32 flags);
|
||||
|
@ -16,9 +16,10 @@
|
||||
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
|
||||
#define ALIGN8(val) (((val) + 0x7) & ~0x7)
|
||||
|
||||
#define NAMESUFFIX
|
||||
#define A(sym) NS(AREA, sym, NAMESUFFIX)
|
||||
#define N(sym) NS(NAMESPACE, sym, NAMESUFFIX)
|
||||
#define NAME_SUFFIX
|
||||
#define NAME_PREFIX
|
||||
#define A(sym) NS(AREA, NAME_PREFIX, sym, NAME_SUFFIX)
|
||||
#define N(sym) NS(NAMESPACE, NAME_PREFIX, sym, NAME_SUFFIX)
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
@ -76,6 +77,8 @@
|
||||
#define MAX_TEX_PANNERS 16
|
||||
#define MAX_ITEM_ENTITIES 256
|
||||
|
||||
#define MAX_STAR_PIECES 222
|
||||
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
||||
@ -132,8 +135,8 @@
|
||||
/// X.10 fixed-point literal
|
||||
#define X10(f) (s32)(f * 1024.0f)
|
||||
|
||||
#define _NS(x, y, z) x ## _ ## y ## z
|
||||
#define NS(x, y, z) _NS(x, y, z)
|
||||
#define _NS(w, x, y, z) w ## _ ## x ## y ## z
|
||||
#define NS(w, x, y, z) _NS(w, x, y, z)
|
||||
|
||||
#define ASCII_TO_U32(a, b, c, d) ((u32)((a << 24) | (b << 16) | (c << 8) | (d << 0)))
|
||||
|
||||
|
@ -53,14 +53,9 @@ typedef struct MapConfig {
|
||||
/* 0x10 */ void* dmaDest;
|
||||
/* 0x14 */ char* bgName;
|
||||
/* 0x18 */ MapInit init; ///< Return TRUE to skip normal asset (shape/hit/bg/tex) loading.
|
||||
/* 0x1C */ union {
|
||||
u32 word;
|
||||
struct {
|
||||
char unk_1C[0x2];
|
||||
s8 songVariation; ///< 0 or 1. @see bgm_get_map_default_variation
|
||||
s8 flags;
|
||||
} bytes;
|
||||
} unk_1C;
|
||||
/* 0x1C */ char unk_1C[0x2];
|
||||
/* 0x1E */ s8 songVariation; ///< 0 or 1. @see bgm_get_map_default_variation
|
||||
/* 0x1F */ s8 sfxReverb;
|
||||
} MapConfig; // size = 0x20
|
||||
|
||||
typedef struct AreaConfig {
|
||||
|
@ -22,10 +22,10 @@
|
||||
}
|
||||
|
||||
#define GENEROUS_HEART_DROPS(attempts) { \
|
||||
{ F16(20), F16(80), attempts, F16(50) } \
|
||||
{ F16(30), F16(70), attempts, F16(50) } \
|
||||
{ F16(50), F16(60), attempts, F16(40) } \
|
||||
{ F16(80), F16(50), attempts, F16(40) } \
|
||||
{ F16(20), F16(80), attempts, F16(50) }, \
|
||||
{ F16(30), F16(70), attempts, F16(50) }, \
|
||||
{ F16(50), F16(60), attempts, F16(40) }, \
|
||||
{ F16(80), F16(50), attempts, F16(40) }, \
|
||||
{ F16(100), F16(40), attempts, F16(30) }, \
|
||||
}
|
||||
|
||||
|
@ -316,37 +316,37 @@ enum GameBytes {
|
||||
GB_Unused_KPA_0F = GameByte(0x138),
|
||||
GB_Unused_KPA_10 = GameByte(0x139),
|
||||
GB_Unused_KPA_11 = GameByte(0x13A),
|
||||
GB_Unused_END_00 = GameByte(0x13B),
|
||||
GB_Unused_END_01 = GameByte(0x13C),
|
||||
GB_Unused_END_02 = GameByte(0x13D),
|
||||
GB_Unused_END_03 = GameByte(0x13E),
|
||||
GB_Unused_END_04 = GameByte(0x13F),
|
||||
GB_Unused_END_05 = GameByte(0x140),
|
||||
GB_Unused_END_06 = GameByte(0x141),
|
||||
GB_Unused_END_07 = GameByte(0x142),
|
||||
GB_Unused_END_08 = GameByte(0x143),
|
||||
GB_Unused_END_09 = GameByte(0x144),
|
||||
GB_Unused_END_0A = GameByte(0x145),
|
||||
GB_Unused_END_0B = GameByte(0x146),
|
||||
GB_Unused_END_0C = GameByte(0x147),
|
||||
GB_Unused_END_0D = GameByte(0x148),
|
||||
GB_Unused_END_0E = GameByte(0x149),
|
||||
GB_Unused_END_0F = GameByte(0x14A),
|
||||
GB_Unused_END_10 = GameByte(0x14B),
|
||||
GB_Unused_END_11 = GameByte(0x14C),
|
||||
GB_Unused_END_12 = GameByte(0x14D),
|
||||
GB_Unused_END_13 = GameByte(0x14E),
|
||||
GB_Unused_END_14 = GameByte(0x14F),
|
||||
GB_Unused_OSR_00 = GameByte(0x150),
|
||||
GB_Unused_BAT_00 = GameByte(0x151),
|
||||
GB_Unused_BAT_01 = GameByte(0x152),
|
||||
GB_Unused_BAT_02 = GameByte(0x153),
|
||||
GB_Unused_BAT_03 = GameByte(0x154),
|
||||
GB_Unused_BAT_04 = GameByte(0x155),
|
||||
GB_Unused_BAT_05 = GameByte(0x156),
|
||||
GB_Unused_BAT_06 = GameByte(0x157),
|
||||
GB_Unused_BAT_07 = GameByte(0x158),
|
||||
GB_Unused_BAT_08 = GameByte(0x159),
|
||||
GB_Unused_OSR_00 = GameByte(0x13B),
|
||||
GB_Unused_OSR_01 = GameByte(0x13C),
|
||||
GB_Unused_OSR_02 = GameByte(0x13D),
|
||||
GB_Unused_OSR_03 = GameByte(0x13E),
|
||||
GB_Unused_OSR_04 = GameByte(0x13F),
|
||||
GB_Unused_OSR_05 = GameByte(0x140),
|
||||
GB_Unused_OSR_06 = GameByte(0x141),
|
||||
GB_Unused_OSR_07 = GameByte(0x142),
|
||||
GB_Unused_OSR_08 = GameByte(0x143),
|
||||
GB_Unused_OSR_09 = GameByte(0x144),
|
||||
GB_Unused_END_00 = GameByte(0x145),
|
||||
GB_Unused_END_01 = GameByte(0x146),
|
||||
GB_Unused_END_02 = GameByte(0x147),
|
||||
GB_Unused_END_03 = GameByte(0x148),
|
||||
GB_Unused_END_04 = GameByte(0x149),
|
||||
GB_Unused_END_05 = GameByte(0x14A),
|
||||
GB_Unused_END_06 = GameByte(0x14B),
|
||||
GB_Unused_END_07 = GameByte(0x14C),
|
||||
GB_Unused_END_08 = GameByte(0x14D),
|
||||
GB_Unused_END_09 = GameByte(0x14E),
|
||||
GB_Unused_END_0A = GameByte(0x14F),
|
||||
GB_Unused_BAT_00 = GameByte(0x150),
|
||||
GB_Unused_BAT_01 = GameByte(0x151),
|
||||
GB_Unused_BAT_02 = GameByte(0x152),
|
||||
GB_Unused_BAT_03 = GameByte(0x153),
|
||||
GB_Unused_BAT_04 = GameByte(0x154),
|
||||
GB_Unused_BAT_05 = GameByte(0x155),
|
||||
GB_Unused_BAT_06 = GameByte(0x156),
|
||||
GB_Unused_BAT_07 = GameByte(0x157),
|
||||
GB_Unused_BAT_08 = GameByte(0x158),
|
||||
GB_Unused_BAT_09 = GameByte(0x159),
|
||||
GB_KootFavor_State = GameByte(0x15A), ///< 0 = none, 1 = rejected, 2 = accepted
|
||||
GB_KootFavor_Completed = GameByte(0x15B),
|
||||
GB_KootFavor_Current = GameByte(0x15C), ///< 0 if none active
|
||||
|
@ -46,6 +46,7 @@ ApiStatus ClearDefeatedEnemies(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetEnemyFlagBits(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetSelfAnimationFromTable(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_800457F8(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_800457C4(Evt* script, s32 isInitialCall);
|
||||
ApiStatus ShowCoinCounter(Evt* script, s32 isInitialCall);
|
||||
ApiStatus MakeEntity(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetEntityCullMode(Evt* script, s32 isInitialCall);
|
||||
@ -154,6 +155,7 @@ ApiStatus EnablePartnerAI(Evt* script, s32 isInitialCall);
|
||||
ApiStatus BringPartnerOut(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PutPartnerAway(Evt* script, s32 isInitialCall);
|
||||
ApiStatus GetCurrentPartnerID(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PartnerCanUseAbility(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PartnerIsFlying(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetNpcDecoration(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PlaySoundAtNpc(Evt* script, s32 isInitialCall);
|
||||
@ -231,6 +233,7 @@ ApiStatus ClampAngleFloat(Evt* script, s32 isInitialCall);
|
||||
ApiStatus FadeOutMusic(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetMusicTrack(Evt* script, s32 isInitialCall);
|
||||
ApiStatus FadeInMusic(Evt* script, s32 isInitialCall);
|
||||
ApiStatus EnableMusicProximityMix(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetMusicTrackVolumes(Evt* script, s32 isInitialCall);
|
||||
ApiStatus ClearAmbientSounds(Evt* script, s32 isInitialCall);
|
||||
ApiStatus PlayAmbientSounds(Evt* script, s32 isInitialCall);
|
||||
@ -319,6 +322,7 @@ ApiStatus PopSong(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_802D62E4(Evt* script, s32 isInitialCall);
|
||||
ApiStatus func_80044238(Evt* script, s32 isInitialCall);
|
||||
ApiStatus MakeLocalVertexCopy(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetCustomGfx(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetCustomGfxBuilders(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetModelCustomGfx(Evt* script, s32 isInitialCall);
|
||||
ApiStatus SetNpcPaletteSwapMode(Evt* script, s32 isInitialCall);
|
||||
|
@ -122,12 +122,13 @@ extern s16 D_8009A6A4;
|
||||
extern s16 D_8009A6A6;
|
||||
|
||||
extern s8 D_800A0920;
|
||||
extern s32 D_800A0924;
|
||||
extern s32 SavedReverbMode;
|
||||
extern s8 D_800A0921;
|
||||
extern s16 D_800A0922;
|
||||
extern char wMapTexName[];
|
||||
extern char wMapHitName[];
|
||||
extern char wMapShapeName[];
|
||||
extern char wMapBgName[];
|
||||
extern struct ShapeFile* D_80210000; // shouldnt be a pointer
|
||||
extern u8 D_802D9D70; // player alpha1 copy?
|
||||
extern u8 D_802D9D71; // player alpha2 copy?
|
||||
|
12
src/16F740.c
12
src/16F740.c
@ -352,8 +352,8 @@ void btl_state_update_normal_start(void) {
|
||||
actor->unk_208 = 0;
|
||||
if (i == 0) {
|
||||
actor->unk_208 = currentEncounter->unk_10;
|
||||
if (currentEncounter->dizzyAttackStatus == 4) {
|
||||
inflict_status_set_duration(actor, 4, 0x24, currentEncounter->dizzyAttackDuration);
|
||||
if (currentEncounter->dizzyAttackStatus == STATUS_DIZZY) {
|
||||
inflict_status_set_duration(actor, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD, currentEncounter->dizzyAttackDuration);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -368,8 +368,8 @@ void btl_state_update_normal_start(void) {
|
||||
actor->unk_208 = 0;
|
||||
if (i == 0) {
|
||||
actor->unk_208 = 0;
|
||||
if (currentEncounter->dizzyAttackStatus == 4) {
|
||||
inflict_status_set_duration(actor, 4, 0x24, currentEncounter->dizzyAttackDuration);
|
||||
if (currentEncounter->dizzyAttackStatus == STATUS_DIZZY) {
|
||||
inflict_status_set_duration(actor, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD, currentEncounter->dizzyAttackDuration);
|
||||
}
|
||||
}
|
||||
|
||||
@ -379,9 +379,9 @@ void btl_state_update_normal_start(void) {
|
||||
load_player_actor();
|
||||
actor = battleStatus->playerActor;
|
||||
if (gBattleStatus.flags2 & 0x40) {
|
||||
script = start_script(D_80284A30, 0xA, 0);
|
||||
script = start_script(D_80284A30, EVT_PRIORITY_A, 0);
|
||||
} else {
|
||||
script = start_script(D_80284A20, 0xA, 0);
|
||||
script = start_script(D_80284A20, EVT_PRIORITY_A, 0);
|
||||
}
|
||||
actor->takeTurnScript = script;
|
||||
actor->takeTurnID = script->id;
|
||||
|
367
src/1A5830.c
367
src/1A5830.c
@ -1001,14 +1001,121 @@ ApiStatus BindNextTurn(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "1A5830", JumpToGoal);
|
||||
ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
Actor* actor;
|
||||
ActorState* actorState;
|
||||
s32 actorID;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 moveDist;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 0;
|
||||
}
|
||||
|
||||
if (script->functionTemp[0] == 0) {
|
||||
actorID = evt_get_variable(script, *args++);
|
||||
if (actorID == ACTOR_SELF) {
|
||||
actorID = script->owner1.enemyID;
|
||||
}
|
||||
script->functionTempPtr[1] = actor = get_actor(actorID);
|
||||
actorState = &actor->state;
|
||||
actor->state.moveTime = evt_get_variable(script, *args++);
|
||||
script->functionTemp[2] = evt_get_variable(script, *args++);
|
||||
script->functionTemp[3] = 0;
|
||||
if (evt_get_variable(script, *args++) != 0) {
|
||||
script->functionTemp[3] |= 1;
|
||||
}
|
||||
if (evt_get_variable(script, *args++) != 0) {
|
||||
script->functionTemp[3] |= 2;
|
||||
}
|
||||
|
||||
actor->state.currentPos.x = actor->currentPos.x;
|
||||
actor->state.currentPos.y = actor->currentPos.y;
|
||||
actor->state.currentPos.z = actor->currentPos.z;
|
||||
|
||||
posX = actor->state.currentPos.x;
|
||||
posY = actor->state.currentPos.y;
|
||||
posZ = actor->state.currentPos.z;
|
||||
goalX = actor->state.goalPos.x;
|
||||
goalY = actor->state.goalPos.y;
|
||||
goalZ = actor->state.goalPos.z;
|
||||
actor->state.angle = atan2(posX, posZ, goalX, goalZ);
|
||||
actor->state.distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
// make relative
|
||||
posX = (goalX - posX);
|
||||
posY = (goalY - posY);
|
||||
posZ = (goalZ - posZ);
|
||||
|
||||
if (actor->state.moveTime == 0) {
|
||||
actor->state.moveTime = actor->state.distance / actor->state.speed;
|
||||
moveDist = actor->state.distance - (actor->state.moveTime * actor->state.speed);
|
||||
} else {
|
||||
actor->state.speed = actor->state.distance / actor->state.moveTime;
|
||||
moveDist = actor->state.distance - (actor->state.moveTime * actor->state.speed);
|
||||
}
|
||||
|
||||
if (actorState->moveTime == 0) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
actorState->velocity = (actorState->acceleration * actorState->moveTime * 0.5f) + (posY / actorState->moveTime);
|
||||
actorState->speed += (moveDist / actorState->moveTime);
|
||||
|
||||
if (script->functionTemp[2] != 0) {
|
||||
set_animation(actor->actorID, (s8) actor->state.jumpPartIndex, actor->state.animJumpRise);
|
||||
}
|
||||
if (!(script->functionTemp[3] & 2) && (actor->actorTypeData1[4] != 0)) {
|
||||
sfx_play_sound_at_position(actor->actorTypeData1[4], 0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z);
|
||||
}
|
||||
script->functionTemp[0] = 1;
|
||||
}
|
||||
|
||||
actor = script->functionTempPtr[1];
|
||||
actorState = &actor->state;
|
||||
|
||||
actor->state.currentPos.y += actor->state.velocity;
|
||||
actor->state.velocity -= actor->state.acceleration;
|
||||
|
||||
if ((script->functionTemp[2] != 0) && (actor->state.velocity < 0.0f)) {
|
||||
set_animation(actor->actorID, (s8) actor->state.jumpPartIndex, actor->state.animJumpFall);
|
||||
}
|
||||
if (actorState->velocity < 0.0f) {
|
||||
if (actorState->currentPos.y < actorState->goalPos.y) {
|
||||
actorState->currentPos.y = actorState->goalPos.y;
|
||||
}
|
||||
}
|
||||
|
||||
add_xz_vec3f(&actorState->currentPos, actorState->speed, actorState->angle);
|
||||
actor->currentPos.x = actorState->currentPos.x;
|
||||
actor->currentPos.y = actorState->currentPos.y;
|
||||
actor->currentPos.z = actorState->currentPos.z;
|
||||
|
||||
actorState->moveTime--;
|
||||
if (actorState->moveTime > 0) {
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
if (script->functionTemp[3] & 1) {
|
||||
play_movement_dust_effects(2, actorState->goalPos.x, actorState->goalPos.y, actorState->goalPos.z, actorState->angle);
|
||||
}
|
||||
actor->currentPos.x = actorState->goalPos.x;
|
||||
actor->currentPos.y = actorState->goalPos.y;
|
||||
actor->currentPos.z = actorState->goalPos.z;
|
||||
if (script->functionTemp[2] != 0) {
|
||||
set_animation(actor->actorID, (s8) actorState->jumpPartIndex, actorState->animJumpLand);
|
||||
}
|
||||
return ApiStatus_DONE1;
|
||||
}
|
||||
|
||||
ApiStatus IdleJumpToGoal(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
ActorMovement* fly;
|
||||
f32 x, y, z;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 var_f8;
|
||||
f32 moveDist;
|
||||
Actor* actor;
|
||||
|
||||
if (isInitialCall) {
|
||||
@ -1033,30 +1140,34 @@ ApiStatus IdleJumpToGoal(Evt* script, s32 isInitialCall) {
|
||||
fly->currentPos.y = actor->currentPos.y;
|
||||
fly->currentPos.z = actor->currentPos.z;
|
||||
|
||||
x = fly->currentPos.x;
|
||||
y = fly->currentPos.y;
|
||||
z = fly->currentPos.z;
|
||||
posX = fly->currentPos.x;
|
||||
posY = fly->currentPos.y;
|
||||
posZ = fly->currentPos.z;
|
||||
goalX = fly->goalPos.x;
|
||||
goalY = fly->goalPos.y;
|
||||
goalZ = fly->goalPos.z;
|
||||
fly->angle = atan2(x, z, goalX, goalZ);
|
||||
fly->distance = dist2D(x, z, goalX, goalZ);
|
||||
y = goalY - y;
|
||||
fly->angle = atan2(posX, posZ, goalX, goalZ);
|
||||
fly->distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
// make relative
|
||||
posX = (goalX - posX);
|
||||
posY = (goalY - posY);
|
||||
posZ = (goalZ - posZ);
|
||||
|
||||
if (fly->flyTime == 0) {
|
||||
fly->flyTime = fly->distance / fly->speed;
|
||||
var_f8 = fly->distance - (fly->flyTime * fly->speed);
|
||||
moveDist = fly->distance - (fly->flyTime * fly->speed);
|
||||
} else {
|
||||
fly->speed = fly->distance / fly->flyTime;
|
||||
var_f8 = fly->distance - (fly->flyTime * fly->speed);
|
||||
moveDist = fly->distance - (fly->flyTime * fly->speed);
|
||||
}
|
||||
|
||||
if (fly->flyTime == 0) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
fly->velocity = ((fly->acceleration * fly->flyTime) * 0.5f) + (y / fly->flyTime);
|
||||
fly->speed += var_f8 / fly->flyTime;
|
||||
fly->velocity = ((fly->acceleration * fly->flyTime) * 0.5f) + (posY / fly->flyTime);
|
||||
fly->speed += moveDist / fly->flyTime;
|
||||
script->functionTemp[0] = TRUE;
|
||||
}
|
||||
|
||||
@ -1090,9 +1201,9 @@ ApiStatus IdleJumpToGoal(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus JumpToGoalSimple2(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
ActorState* state;
|
||||
f32 x, y, z;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 var_f8;
|
||||
f32 moveDist;
|
||||
Actor* actor;
|
||||
|
||||
if (isInitialCall) {
|
||||
@ -1114,30 +1225,34 @@ ApiStatus JumpToGoalSimple2(Evt* script, s32 isInitialCall) {
|
||||
state->currentPos.y = actor->currentPos.y;
|
||||
state->currentPos.z = actor->currentPos.z;
|
||||
|
||||
x = state->currentPos.x;
|
||||
y = state->currentPos.y;
|
||||
z = state->currentPos.z;
|
||||
posX = state->currentPos.x;
|
||||
posY = state->currentPos.y;
|
||||
posZ = state->currentPos.z;
|
||||
goalX = state->goalPos.x;
|
||||
goalY = state->goalPos.y;
|
||||
goalZ = state->goalPos.z;
|
||||
state->angle = atan2(x, z, goalX, goalZ);
|
||||
state->distance = dist2D(x, z, goalX, goalZ);
|
||||
y -= goalY;
|
||||
state->angle = atan2(posX, posZ, goalX, goalZ);
|
||||
state->distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
// make relative (note: negated)
|
||||
posX = (posX - goalX);
|
||||
posY = (posY - goalY);
|
||||
posZ = (posZ - goalZ);
|
||||
|
||||
if (state->moveTime == 0) {
|
||||
state->moveTime = state->distance / state->speed;
|
||||
var_f8 = state->distance - (state->moveTime * state->speed);
|
||||
moveDist = state->distance - (state->moveTime * state->speed);
|
||||
} else {
|
||||
state->speed = state->distance / state->moveTime;
|
||||
var_f8 = state->distance - (state->moveTime * state->speed);
|
||||
moveDist = state->distance - (state->moveTime * state->speed);
|
||||
}
|
||||
|
||||
if (state->moveTime == 0) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
state->velocity = ((state->acceleration * state->moveTime) * 0.5f) + (y / state->moveTime);
|
||||
state->speed += var_f8 / state->moveTime;
|
||||
state->velocity = ((state->acceleration * state->moveTime) * 0.5f) + (posY / state->moveTime);
|
||||
state->speed += moveDist / state->moveTime;
|
||||
if (actor->actorTypeData1[4] != 0) {
|
||||
sfx_play_sound_at_position(actor->actorTypeData1[4], 0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z);
|
||||
}
|
||||
@ -1176,10 +1291,10 @@ ApiStatus LandJump(Evt* script, s32 isInitialCall) {
|
||||
Actor* actor;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 0;
|
||||
script->functionTemp[0] = FALSE;
|
||||
}
|
||||
|
||||
if (script->functionTemp[0] == 0) {
|
||||
if (!script->functionTemp[0]) {
|
||||
s32 actorID = evt_get_variable(script, *args++);
|
||||
|
||||
if (actorID == ACTOR_SELF) {
|
||||
@ -1191,7 +1306,7 @@ ApiStatus LandJump(Evt* script, s32 isInitialCall) {
|
||||
actor->state.currentPos.x = actor->currentPos.x;
|
||||
actor->state.currentPos.y = actor->currentPos.y;
|
||||
actor->state.currentPos.z = actor->currentPos.z;
|
||||
script->functionTemp[0] = 1;
|
||||
script->functionTemp[0] = TRUE;
|
||||
}
|
||||
|
||||
actor = script->functionTempPtr[1];
|
||||
@ -1216,7 +1331,7 @@ ApiStatus FallToGoal(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
Actor* actor;
|
||||
ActorState* state;
|
||||
f32 x, y, z;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
|
||||
if (isInitialCall) {
|
||||
@ -1239,16 +1354,20 @@ ApiStatus FallToGoal(Evt* script, s32 isInitialCall) {
|
||||
actor->state.currentPos.y = actor->currentPos.y;
|
||||
actor->state.currentPos.z = actor->currentPos.z;
|
||||
|
||||
x = actor->state.currentPos.x;
|
||||
y = actor->state.currentPos.y;
|
||||
z = actor->state.currentPos.z;
|
||||
posX = actor->state.currentPos.x;
|
||||
posY = actor->state.currentPos.y;
|
||||
posZ = actor->state.currentPos.z;
|
||||
goalX = actor->state.goalPos.x;
|
||||
goalY = actor->state.goalPos.y;
|
||||
goalZ = actor->state.goalPos.z;
|
||||
|
||||
actor->state.angle = atan2(x, z, goalX, goalZ);
|
||||
actor->state.distance = dist2D(x, z, goalX, goalZ);
|
||||
y = goalY - y;
|
||||
actor->state.angle = atan2(posX, posZ, goalX, goalZ);
|
||||
actor->state.distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
// make relative
|
||||
posX = (goalX - posX);
|
||||
posY = (goalY - posY);
|
||||
posZ = (goalZ - posZ);
|
||||
|
||||
if (actor->state.moveTime == 0) {
|
||||
actor->state.moveTime = actor->state.distance / actor->state.speed;
|
||||
@ -1257,7 +1376,7 @@ ApiStatus FallToGoal(Evt* script, s32 isInitialCall) {
|
||||
}
|
||||
|
||||
state->velocity = 0.0f;
|
||||
state->acceleration = (y / state->moveTime - state->velocity) / (-state->moveTime * 0.5);
|
||||
state->acceleration = (posY / state->moveTime - state->velocity) / (-state->moveTime * 0.5);
|
||||
|
||||
if (actor->actorTypeData1[4] != 0) {
|
||||
sfx_play_sound_at_position(actor->actorTypeData1[4], 0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z);
|
||||
@ -1376,8 +1495,8 @@ s32 JumpPartTo(Evt* script, s32 isInitialCall) {
|
||||
ActorPart* part;
|
||||
ActorPartMovement* movement;
|
||||
s32 actorID, partIndex;
|
||||
f32 x, y, z;
|
||||
f32 x1, y1, z1;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 deltaDist;
|
||||
|
||||
if (isInitialCall) {
|
||||
@ -1397,31 +1516,34 @@ s32 JumpPartTo(Evt* script, s32 isInitialCall) {
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
|
||||
x = evt_get_variable(script, *args++);
|
||||
y = evt_get_variable(script, *args++);
|
||||
z = evt_get_variable(script, *args++);
|
||||
movement->goalPos.x = x;
|
||||
movement->goalPos.y = y;
|
||||
movement->goalPos.z = z;
|
||||
posX = evt_get_variable(script, *args++);
|
||||
posY = evt_get_variable(script, *args++);
|
||||
posZ = evt_get_variable(script, *args++);
|
||||
movement->goalPos.x = posX;
|
||||
movement->goalPos.y = posY;
|
||||
movement->goalPos.z = posZ;
|
||||
movement->moveTime = evt_get_variable(script, *args++);
|
||||
script->functionTemp[3] = evt_get_variable(script, *args++);
|
||||
|
||||
x1 = movement->goalPos.x;
|
||||
y1 = movement->goalPos.y;
|
||||
z1 = movement->goalPos.z;
|
||||
goalX = movement->goalPos.x;
|
||||
goalY = movement->goalPos.y;
|
||||
goalZ = movement->goalPos.z;
|
||||
|
||||
movement->unk_00.x = part->absolutePosition.x;
|
||||
movement->unk_00.y = part->absolutePosition.y;
|
||||
movement->unk_00.z = part->absolutePosition.z;
|
||||
movement->absolutePosition.x = part->absolutePosition.x;
|
||||
movement->absolutePosition.y = part->absolutePosition.y;
|
||||
movement->absolutePosition.z = part->absolutePosition.z;
|
||||
|
||||
x = movement->unk_00.x;
|
||||
y = movement->unk_00.y;
|
||||
z = movement->unk_00.z;
|
||||
posX = movement->absolutePosition.x;
|
||||
posY = movement->absolutePosition.y;
|
||||
posZ = movement->absolutePosition.z;
|
||||
|
||||
movement->angle = atan2(x, z, x1, z1);
|
||||
movement->distance = dist2D(x, z, x1, z1);
|
||||
movement->angle = atan2(posX, posZ, goalX, goalZ);
|
||||
movement->distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
y = y1 - y;
|
||||
// make relative
|
||||
posX = (goalX - posX);
|
||||
posY = (goalY - posY);
|
||||
posZ = (goalZ - posZ);
|
||||
|
||||
if (movement->moveTime == 0) {
|
||||
movement->moveTime = movement->distance / movement->moveSpeed;
|
||||
@ -1431,7 +1553,7 @@ s32 JumpPartTo(Evt* script, s32 isInitialCall) {
|
||||
deltaDist = movement->distance - movement->moveTime * movement->moveSpeed;
|
||||
}
|
||||
movement->moveSpeed += deltaDist / movement->moveTime;
|
||||
movement->unk_2C = movement->jumpScale * movement->moveTime * 0.5f + y / movement->moveTime;
|
||||
movement->unk_2C = movement->jumpScale * movement->moveTime * 0.5f + posY / movement->moveTime;
|
||||
if (part->partTypeData[4] != 0) {
|
||||
sfx_play_sound_at_position(part->partTypeData[4], 0, part->absolutePosition.x, part->absolutePosition.y, part->absolutePosition.z);
|
||||
}
|
||||
@ -1440,12 +1562,12 @@ s32 JumpPartTo(Evt* script, s32 isInitialCall) {
|
||||
|
||||
part = script->functionTempPtr[2];
|
||||
movement = part->movement;
|
||||
movement->unk_00.y += movement->unk_2C;
|
||||
movement->absolutePosition.y += movement->unk_2C;
|
||||
movement->unk_2C -= movement->jumpScale;
|
||||
add_xz_vec3f_copy1(&movement->unk_00, movement->moveSpeed, movement->angle);
|
||||
part->absolutePosition.x = movement->unk_00.x;
|
||||
part->absolutePosition.y = movement->unk_00.y;
|
||||
part->absolutePosition.z = movement->unk_00.z;
|
||||
add_xz_vec3f_copy1(&movement->absolutePosition, movement->moveSpeed, movement->angle);
|
||||
part->absolutePosition.x = movement->absolutePosition.x;
|
||||
part->absolutePosition.y = movement->absolutePosition.y;
|
||||
part->absolutePosition.z = movement->absolutePosition.z;
|
||||
movement->moveTime--;
|
||||
|
||||
if (movement->moveTime <= 0) {
|
||||
@ -1467,8 +1589,8 @@ s32 FallPartTo(Evt* script, s32 isInitialCall) {
|
||||
ActorPart* part;
|
||||
ActorPartMovement* movement;
|
||||
s32 actorID, partIndex;
|
||||
f32 x, y, z;
|
||||
f32 x1, y1, z1;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
|
||||
if (isInitialCall) {
|
||||
script->functionTemp[0] = 0;
|
||||
@ -1487,30 +1609,33 @@ s32 FallPartTo(Evt* script, s32 isInitialCall) {
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
|
||||
x = evt_get_variable(script, *args++);
|
||||
y = evt_get_variable(script, *args++);
|
||||
z = evt_get_variable(script, *args++);
|
||||
movement->goalPos.x = x;
|
||||
movement->goalPos.y = y;
|
||||
movement->goalPos.z = z;
|
||||
posX = evt_get_variable(script, *args++);
|
||||
posY = evt_get_variable(script, *args++);
|
||||
posZ = evt_get_variable(script, *args++);
|
||||
movement->goalPos.x = posX;
|
||||
movement->goalPos.y = posY;
|
||||
movement->goalPos.z = posZ;
|
||||
movement->moveTime = evt_get_variable(script, *args++);
|
||||
|
||||
x1 = movement->goalPos.x;
|
||||
y1 = movement->goalPos.y;
|
||||
z1 = movement->goalPos.z;
|
||||
goalX = movement->goalPos.x;
|
||||
goalY = movement->goalPos.y;
|
||||
goalZ = movement->goalPos.z;
|
||||
|
||||
movement->unk_00.x = part->absolutePosition.x;
|
||||
movement->unk_00.y = part->absolutePosition.y;
|
||||
movement->unk_00.z = part->absolutePosition.z;
|
||||
movement->absolutePosition.x = part->absolutePosition.x;
|
||||
movement->absolutePosition.y = part->absolutePosition.y;
|
||||
movement->absolutePosition.z = part->absolutePosition.z;
|
||||
|
||||
x = movement->unk_00.x;
|
||||
y = movement->unk_00.y;
|
||||
z = movement->unk_00.z;
|
||||
posX = movement->absolutePosition.x;
|
||||
posY = movement->absolutePosition.y;
|
||||
posZ = movement->absolutePosition.z;
|
||||
|
||||
movement->angle = atan2(x, z, x1, z1);
|
||||
movement->distance = dist2D(x, z, x1, z1);
|
||||
movement->angle = atan2(posX, posZ, goalX, goalZ);
|
||||
movement->distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
y = y1 - y;
|
||||
// make relative
|
||||
posX = (goalX - posX);
|
||||
posY = (goalY - posY);
|
||||
posZ = (goalZ - posZ);
|
||||
|
||||
if (movement->moveTime == 0) {
|
||||
movement->moveTime = movement->distance / movement->moveSpeed;
|
||||
@ -1519,7 +1644,7 @@ s32 FallPartTo(Evt* script, s32 isInitialCall) {
|
||||
}
|
||||
|
||||
movement->unk_2C = 0.0f;
|
||||
movement->jumpScale = (y / movement->moveTime - movement->unk_2C) / (-movement->moveTime * 0.5);
|
||||
movement->jumpScale = (posY / movement->moveTime - movement->unk_2C) / (-movement->moveTime * 0.5);
|
||||
if (part->partTypeData[4] != 0) {
|
||||
sfx_play_sound_at_position(part->partTypeData[4], 0, part->absolutePosition.x, part->absolutePosition.y, part->absolutePosition.z);
|
||||
}
|
||||
@ -1528,12 +1653,12 @@ s32 FallPartTo(Evt* script, s32 isInitialCall) {
|
||||
|
||||
part = script->functionTempPtr[2];
|
||||
movement = part->movement;
|
||||
movement->unk_00.y += movement->unk_2C;
|
||||
movement->absolutePosition.y += movement->unk_2C;
|
||||
movement->unk_2C -= movement->jumpScale;
|
||||
add_xz_vec3f_copy1(&movement->unk_00, movement->moveSpeed, movement->angle);
|
||||
part->absolutePosition.x = movement->unk_00.x;
|
||||
part->absolutePosition.y = movement->unk_00.y;
|
||||
part->absolutePosition.z = movement->unk_00.z;
|
||||
add_xz_vec3f_copy1(&movement->absolutePosition, movement->moveSpeed, movement->angle);
|
||||
part->absolutePosition.x = movement->absolutePosition.x;
|
||||
part->absolutePosition.y = movement->absolutePosition.y;
|
||||
part->absolutePosition.z = movement->absolutePosition.z;
|
||||
movement->moveTime--;
|
||||
|
||||
if (movement->moveTime <= 0) {
|
||||
@ -1570,20 +1695,20 @@ s32 LandJumpPart(Evt* script, s32 isInitialCall) {
|
||||
script->functionTempPtr[1] = actor;
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
movement->unk_00.x = part->absolutePosition.x;
|
||||
movement->unk_00.y = part->absolutePosition.y;
|
||||
movement->unk_00.z = part->absolutePosition.z;
|
||||
movement->absolutePosition.x = part->absolutePosition.x;
|
||||
movement->absolutePosition.y = part->absolutePosition.y;
|
||||
movement->absolutePosition.z = part->absolutePosition.z;
|
||||
script->functionTemp[0] = 1;
|
||||
}
|
||||
|
||||
part = script->functionTempPtr[2];
|
||||
movement = part->movement;
|
||||
movement->unk_00.y += movement->unk_2C;
|
||||
movement->absolutePosition.y += movement->unk_2C;
|
||||
movement->unk_2C -= movement->jumpScale;
|
||||
add_xz_vec3f_copy1(&movement->unk_00, movement->moveSpeed, movement->angle);
|
||||
part->absolutePosition.x = movement->unk_00.x;
|
||||
part->absolutePosition.y = movement->unk_00.y;
|
||||
part->absolutePosition.z = movement->unk_00.z;
|
||||
add_xz_vec3f_copy1(&movement->absolutePosition, movement->moveSpeed, movement->angle);
|
||||
part->absolutePosition.x = movement->absolutePosition.x;
|
||||
part->absolutePosition.y = movement->absolutePosition.y;
|
||||
part->absolutePosition.z = movement->absolutePosition.z;
|
||||
|
||||
if (part->absolutePosition.y < 0.0f) {
|
||||
part->absolutePosition.y = 0.0f;
|
||||
@ -1600,8 +1725,8 @@ s32 RunPartTo(Evt* script, s32 isInitialCall) {
|
||||
ActorPart* part;
|
||||
ActorPartMovement* movement;
|
||||
s32 actorID, partIndex;
|
||||
f32 x, y, z;
|
||||
f32 x1, y1, z1;
|
||||
f32 posX, posY, posZ;
|
||||
f32 goalX, goalY, goalZ;
|
||||
f32 deltaDist;
|
||||
|
||||
if (isInitialCall) {
|
||||
@ -1621,28 +1746,28 @@ s32 RunPartTo(Evt* script, s32 isInitialCall) {
|
||||
script->functionTempPtr[2] = part;
|
||||
movement = part->movement;
|
||||
|
||||
x = evt_get_variable(script, *args++);
|
||||
y = evt_get_variable(script, *args++);
|
||||
z = evt_get_variable(script, *args++);
|
||||
movement->goalPos.x = x;
|
||||
movement->goalPos.y = y;
|
||||
movement->goalPos.z = z;
|
||||
posX = evt_get_variable(script, *args++);
|
||||
posY = evt_get_variable(script, *args++);
|
||||
posZ = evt_get_variable(script, *args++);
|
||||
movement->goalPos.x = posX;
|
||||
movement->goalPos.y = posY;
|
||||
movement->goalPos.z = posZ;
|
||||
movement->moveTime = evt_get_variable(script, *args++);
|
||||
|
||||
x1 = movement->goalPos.x;
|
||||
y1 = movement->goalPos.y;
|
||||
z1 = movement->goalPos.z;
|
||||
goalX = movement->goalPos.x;
|
||||
goalY = movement->goalPos.y;
|
||||
goalZ = movement->goalPos.z;
|
||||
|
||||
movement->unk_00.x = part->absolutePosition.x;
|
||||
movement->unk_00.y = part->absolutePosition.y;
|
||||
movement->unk_00.z = part->absolutePosition.z;
|
||||
movement->absolutePosition.x = part->absolutePosition.x;
|
||||
movement->absolutePosition.y = part->absolutePosition.y;
|
||||
movement->absolutePosition.z = part->absolutePosition.z;
|
||||
|
||||
x = movement->unk_00.x;
|
||||
y = movement->unk_00.y;
|
||||
z = movement->unk_00.z;
|
||||
posX = movement->absolutePosition.x;
|
||||
posY = movement->absolutePosition.y;
|
||||
posZ = movement->absolutePosition.z;
|
||||
|
||||
movement->angle = atan2(x, z, x1, z1);
|
||||
movement->distance = dist2D(x, z, x1, z1);
|
||||
movement->angle = atan2(posX, posZ, goalX, goalZ);
|
||||
movement->distance = dist2D(posX, posZ, goalX, goalZ);
|
||||
|
||||
if (movement->moveTime == 0) {
|
||||
movement->moveTime = movement->distance / movement->moveSpeed;
|
||||
@ -1664,15 +1789,15 @@ s32 RunPartTo(Evt* script, s32 isInitialCall) {
|
||||
movement = part->movement;
|
||||
actor = script->functionTempPtr[1];
|
||||
|
||||
add_xz_vec3f_copy1(&movement->unk_00, movement->moveSpeed, movement->angle);
|
||||
add_xz_vec3f_copy1(&movement->absolutePosition, movement->moveSpeed, movement->angle);
|
||||
if (movement->moveSpeed < 4.0f) {
|
||||
play_movement_dust_effects(0, movement->unk_00.x, movement->unk_00.y, movement->unk_00.z, movement->angle);
|
||||
play_movement_dust_effects(0, movement->absolutePosition.x, movement->absolutePosition.y, movement->absolutePosition.z, movement->angle);
|
||||
} else {
|
||||
play_movement_dust_effects(1, movement->unk_00.x, movement->unk_00.y, movement->unk_00.z, movement->angle);
|
||||
play_movement_dust_effects(1, movement->absolutePosition.x, movement->absolutePosition.y, movement->absolutePosition.z, movement->angle);
|
||||
}
|
||||
part->absolutePosition.x = movement->unk_00.x;
|
||||
part->absolutePosition.y = movement->unk_00.y;
|
||||
part->absolutePosition.z = movement->unk_00.z;
|
||||
part->absolutePosition.x = movement->absolutePosition.x;
|
||||
part->absolutePosition.y = movement->absolutePosition.y;
|
||||
part->absolutePosition.z = movement->absolutePosition.z;
|
||||
|
||||
if (part->partTypeData[0] != 0 && part->partTypeData[1] != 0) {
|
||||
if (part->actorTypeData2b[0] >= 0) {
|
||||
|
@ -817,7 +817,7 @@ s32 get_overriding_player_anim(s32 anim) {
|
||||
if (!func_800DFCF4()) {
|
||||
return -1;
|
||||
}
|
||||
} else if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
} else if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
anim = ANIM_Peach_C0010;
|
||||
} else {
|
||||
peach_set_disguise_anim(BasicPeachDisguiseAnims[playerStatus->peachDisguise].hold);
|
||||
@ -1480,7 +1480,7 @@ void render_player_model(void) {
|
||||
playerStatus->alpha2 = 0;
|
||||
}
|
||||
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
rtPtr->appendGfxArg = playerStatus;
|
||||
rtPtr->distance = -z;
|
||||
rtPtr->renderMode = playerStatus->renderMode;
|
||||
|
@ -310,7 +310,7 @@ void phys_peach_update(void) {
|
||||
} while (playerStatus->flags & PS_FLAGS_ACTION_STATE_CHANGED);
|
||||
|
||||
peach_check_for_parasol_input();
|
||||
if (playerStatus->animFlags & PA_FLAGS_IN_DISGUISE) {
|
||||
if (playerStatus->animFlags & PA_FLAGS_INVISIBLE) {
|
||||
peach_sync_disguise_npc();
|
||||
}
|
||||
}
|
||||
@ -555,7 +555,7 @@ void peach_force_disguise_action(s32 useParasol) {
|
||||
if (useParasol) {
|
||||
set_action_state(ACTION_STATE_USE_SNEAKY_PARASOL);
|
||||
} else {
|
||||
playerStatus->animFlags &= ~PA_FLAGS_IN_DISGUISE;
|
||||
playerStatus->animFlags &= ~PA_FLAGS_INVISIBLE;
|
||||
gGameStatusPtr->peachFlags &= ~PEACH_STATUS_FLAG_DISGUISED;
|
||||
playerStatus->peachDisguise = 0;
|
||||
free_npc_by_index(PeachDisguiseNpcIndex);
|
||||
@ -575,7 +575,7 @@ void peach_check_for_parasol_input(void) {
|
||||
D_8010C92C--;
|
||||
if (D_8010C92C == 0) {
|
||||
if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_DISGUISED) {
|
||||
playerStatus->animFlags |= PA_FLAGS_IN_DISGUISE;
|
||||
playerStatus->animFlags |= PA_FLAGS_INVISIBLE;
|
||||
gGameStatusPtr->peachFlags |= PEACH_STATUS_FLAG_DISGUISED;
|
||||
|
||||
disguiseNpc = peach_make_disguise_npc(gGameStatusPtr->peachDisguise);
|
||||
|
@ -313,7 +313,7 @@ void initialize_status_menu(void) {
|
||||
uiStatus->hidden = 0;
|
||||
uiStatus->showTimer = 210;
|
||||
uiStatus->unk_3B[0] = 0;
|
||||
uiStatus->ignoreChanges = 0;
|
||||
uiStatus->ignoreChanges = FALSE;
|
||||
uiStatus->unk_45[0] = 0;
|
||||
uiStatus->unk_45[1] = 0;
|
||||
uiStatus->hpBlinking = 0;
|
||||
@ -618,7 +618,7 @@ void show_coin_counter(void) {
|
||||
uiStatus->unk_6C[2] = uiStatus->ignoreChanges;
|
||||
}
|
||||
|
||||
uiStatus->ignoreChanges = 1;
|
||||
uiStatus->ignoreChanges = TRUE;
|
||||
D_8010CD10 = 1;
|
||||
}
|
||||
}
|
||||
@ -688,7 +688,7 @@ void func_800E97E4(void) {
|
||||
UiStatus* uiStatus = &gUIStatus;
|
||||
|
||||
uiStatus->drawPosY = -100;
|
||||
uiStatus->ignoreChanges = 0;
|
||||
uiStatus->ignoreChanges = FALSE;
|
||||
uiStatus->showTimer = 0;
|
||||
uiStatus->hidden = 1;
|
||||
uiStatus->unk_3B[0] = 0;
|
||||
@ -700,7 +700,7 @@ void func_800E9810(void) {
|
||||
|
||||
uiStatus->showTimer = 210;
|
||||
uiStatus->drawPosY = 0;
|
||||
uiStatus->ignoreChanges = 0;
|
||||
uiStatus->ignoreChanges = FALSE;
|
||||
uiStatus->hidden = 0;
|
||||
uiStatus->unk_3B[0] = 1;
|
||||
uiStatus->unk_3B[1] = 0;
|
||||
@ -728,19 +728,19 @@ s32 func_800E9860(void) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void func_800E9894(void) {
|
||||
gUIStatus.ignoreChanges = 1;
|
||||
void status_menu_ignore_changes(void) {
|
||||
gUIStatus.ignoreChanges = TRUE;
|
||||
}
|
||||
|
||||
void func_800E98A8(void) {
|
||||
UiStatus* uiStatus = &gUIStatus;
|
||||
|
||||
uiStatus->ignoreChanges = 1;
|
||||
uiStatus->ignoreChanges = TRUE;
|
||||
uiStatus->drawPosY = 18;
|
||||
}
|
||||
|
||||
void func_800E98C4(void) {
|
||||
gUIStatus.ignoreChanges = 0;
|
||||
void status_menu_respond_to_changes(void) {
|
||||
gUIStatus.ignoreChanges = FALSE;
|
||||
}
|
||||
|
||||
s32 func_800E98D4(void) {
|
||||
@ -912,7 +912,7 @@ void reset_status_menu(void) {
|
||||
uiStatus->hidden = 0;
|
||||
uiStatus->showTimer = 210;
|
||||
uiStatus->unk_3B[0] = 0;
|
||||
uiStatus->ignoreChanges = 0;
|
||||
uiStatus->ignoreChanges = FALSE;
|
||||
uiStatus->unk_45[0] = 0;
|
||||
uiStatus->unk_45[1] = 0;
|
||||
uiStatus->hpBlinking = 0;
|
||||
@ -1247,8 +1247,8 @@ s32 add_star_pieces(s32 amt) {
|
||||
s32 newSP = playerData->starPieces;
|
||||
|
||||
newSP += amt;
|
||||
if (newSP > 222) {
|
||||
newSP = 222;
|
||||
if (newSP > MAX_STAR_PIECES) {
|
||||
newSP = MAX_STAR_PIECES;
|
||||
}
|
||||
if (newSP < 0) {
|
||||
newSP = 0;
|
||||
@ -1304,7 +1304,7 @@ s32 recover_fp(s32 amt) {
|
||||
s32 ret;
|
||||
|
||||
if (amt == -2) {
|
||||
playerData->curMaxFP += 1;
|
||||
playerData->curMaxFP++;
|
||||
playerData->curFP = playerData->curMaxFP;
|
||||
return playerData->curMaxFP;
|
||||
}
|
||||
@ -1326,7 +1326,7 @@ s32 recover_hp(s32 amt) {
|
||||
s32 ret;
|
||||
|
||||
if (amt == -2) {
|
||||
playerData->curMaxHP += 1;
|
||||
playerData->curMaxHP++;
|
||||
playerData->curHP = playerData->curMaxHP;
|
||||
return playerData->curMaxHP;
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ void destroy_popup_menu(void) {
|
||||
gPopupMenu->popupType == POPUP_TYPE_USE_KEY
|
||||
) && !gGameStatusPtr->isBattle) {
|
||||
if (D_8010D69A == 0) {
|
||||
func_800E98C4();
|
||||
status_menu_respond_to_changes();
|
||||
}
|
||||
close_status_menu();
|
||||
}
|
||||
@ -1213,7 +1213,7 @@ void create_popup_menu(PopupMenu* popup) {
|
||||
s32 numEntries;
|
||||
|
||||
D_8010D69A = func_800E98D4();
|
||||
func_800E9894();
|
||||
status_menu_ignore_changes();
|
||||
open_status_menu_short();
|
||||
gPopupMenu = popup;
|
||||
popup->result = 0;
|
||||
|
@ -52,7 +52,7 @@ s32 bgm_get_map_default_variation(s32 songID) {
|
||||
if (SongsUsingVariationFlag[i] == songID) {
|
||||
MapConfig* map = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID];
|
||||
|
||||
return map->unk_1C.bytes.songVariation & 1;
|
||||
return map->songVariation & 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -175,8 +175,6 @@ void bgm_update_music_settings(void) {
|
||||
bgm_update_volume();
|
||||
}
|
||||
|
||||
static const f32 padding = 0.0f;
|
||||
|
||||
s32 _bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume) {
|
||||
MusicSettings* musicSetting;
|
||||
s32 mapSongVariation;
|
||||
@ -215,7 +213,7 @@ s32 _bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s
|
||||
musicSetting->variation = variation;
|
||||
musicSetting->fadeOutTime = fadeOutTime;
|
||||
musicSetting->state = 1;
|
||||
musicSetting->flags &= ~MUSIC_SETTINGS_FLAGS_2;
|
||||
musicSetting->flags &= ~MUSIC_SETTINGS_FLAGS_ENABLE_PROXIMITY_MIX;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -254,7 +252,7 @@ s32 func_8014A964(s32 playerIndex, s32 songID, s32 variation, s32 fadeInTime, s1
|
||||
musicSetting->variation = variation;
|
||||
musicSetting->flags |= MUSIC_SETTINGS_FLAGS_20;
|
||||
musicSetting->state = 1;
|
||||
musicSetting->flags &= ~MUSIC_SETTINGS_FLAGS_2;
|
||||
musicSetting->flags &= ~MUSIC_SETTINGS_FLAGS_ENABLE_PROXIMITY_MIX;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -266,7 +264,7 @@ s32 bgm_adjust_proximity(s32 playerIndex, s32 mix, s16 state) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!(musicSetting->flags & MUSIC_SETTINGS_FLAGS_2)) {
|
||||
if (!(musicSetting->flags & MUSIC_SETTINGS_FLAGS_ENABLE_PROXIMITY_MIX)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -302,8 +302,8 @@ void sfx_reset_door_sounds(void);
|
||||
void sfx_clear_sounds(void);
|
||||
void sfx_clear_env_sounds(s16 playSounds);
|
||||
void sfx_update_looping_sound_params(void);
|
||||
void func_801497FC(s32 arg0);
|
||||
s32 func_80149828(void);
|
||||
void sfx_set_reverb_mode(s32 arg0);
|
||||
s32 sfx_get_reverb_mode(void);
|
||||
void sfx_stop_env_sounds(void);
|
||||
*/
|
||||
SoundInstance* sfx_get_env_sound_instance(s32 soundID);
|
||||
|
@ -74,8 +74,8 @@ void sfx_reset_door_sounds(void);
|
||||
void sfx_clear_sounds(void);
|
||||
void sfx_clear_env_sounds(s16 playSounds);
|
||||
void sfx_update_looping_sound_params(void);
|
||||
void func_801497FC(s32 arg0);
|
||||
s32 func_80149828(void);
|
||||
void sfx_set_reverb_mode(s32 arg0);
|
||||
s32 sfx_get_reverb_mode(void);
|
||||
void sfx_stop_env_sounds(void);
|
||||
//SoundInstance* sfx_get_env_sound_instance(s32 soundID);
|
||||
void sfx_play_sound_looping(s32 soundId, u8 volume, u8 pan, s16 pitchShift);
|
||||
|
@ -301,7 +301,7 @@ void sfx_clear_sounds(void) {
|
||||
bzero(&D_801598A0, sizeof(D_801598A0));
|
||||
bzero(&D_801599B8, sizeof(D_801599B8));
|
||||
D_80159AD0 = D_801598A0;
|
||||
func_801497FC(0);
|
||||
sfx_set_reverb_mode(0);
|
||||
sfx_reset_door_sounds();
|
||||
}
|
||||
|
||||
@ -345,12 +345,12 @@ void sfx_update_looping_sound_params(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_801497FC(s32 arg0) {
|
||||
func_800561E4(arg0);
|
||||
D_80159AD4 = arg0;
|
||||
void sfx_set_reverb_mode(s32 mode) {
|
||||
func_800561E4(mode);
|
||||
D_80159AD4 = mode;
|
||||
}
|
||||
|
||||
s32 func_80149828(void) {
|
||||
s32 sfx_get_reverb_mode(void) {
|
||||
return D_80159AD4;
|
||||
}
|
||||
|
||||
|
@ -516,10 +516,10 @@ ApiStatus ShowStatusMenu(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
|
||||
if (evt_get_variable(script, *args++) != 0) {
|
||||
func_800E9894();
|
||||
status_menu_ignore_changes();
|
||||
close_status_menu();
|
||||
} else {
|
||||
func_800E98C4();
|
||||
status_menu_respond_to_changes();
|
||||
}
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
|
@ -115,11 +115,11 @@ ApiStatus FadeInMusic(Evt* script, s32 isInitialCall) {
|
||||
}
|
||||
}
|
||||
|
||||
ApiStatus func_802D5EE0(Evt* script, s32 isInitialCall) {
|
||||
ApiStatus EnableMusicProximityMix(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
s32 playerIndex = evt_get_variable(script, *args++);
|
||||
|
||||
gMusicSettings[playerIndex].flags |= MUSIC_SETTINGS_FLAGS_2;
|
||||
gMusicSettings[playerIndex].flags |= MUSIC_SETTINGS_FLAGS_ENABLE_PROXIMITY_MIX;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ void sort_scripts(void) {
|
||||
for (i = 0; i < MAX_SCRIPTS; i++) {
|
||||
curScript = (*gCurrentScriptListPtr)[i];
|
||||
if (curScript != NULL) {
|
||||
if (curScript->state != 0) {
|
||||
if (curScript->stateFlags != 0) {
|
||||
scriptIndexList[numValidScripts] = i;
|
||||
scriptIdList[numValidScripts] = curScript->id;
|
||||
numValidScripts++;
|
||||
@ -231,7 +231,7 @@ void suspend_frozen_scripts(Evt* script) {
|
||||
suspend_all_group(groupFlags);
|
||||
}
|
||||
|
||||
Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
|
||||
Evt* start_script(EvtScript* source, s32 priority, s32 flags) {
|
||||
Evt* newScript;
|
||||
s32 curScriptIndex;
|
||||
s32 scriptListCount;
|
||||
@ -250,7 +250,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
|
||||
gNumScripts++;
|
||||
ASSERT(newScript != NULL);
|
||||
|
||||
newScript->state = initialState | EVT_FLAG_ACTIVE;
|
||||
newScript->stateFlags = flags | EVT_FLAG_ACTIVE;
|
||||
newScript->currentOpcode = 0;
|
||||
newScript->priority = priority;
|
||||
newScript->ptrNextLine = (Bytecode*)source;
|
||||
@ -283,7 +283,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
|
||||
|
||||
find_script_labels(newScript);
|
||||
|
||||
if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_RUN_IMMEDIATELY)) {
|
||||
if (gIsUpdatingScripts && (newScript->stateFlags & EVT_FLAG_RUN_IMMEDIATELY)) {
|
||||
scriptListCount = gScriptListCount++;
|
||||
gScriptIndexList[scriptListCount] = curScriptIndex;
|
||||
gScriptIdList[scriptListCount] = newScript->id;
|
||||
@ -298,7 +298,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
|
||||
return newScript;
|
||||
}
|
||||
|
||||
Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 groupFlags) {
|
||||
Evt* start_script_in_group(EvtScript* source, u8 priority, u8 flags, u8 groupFlags) {
|
||||
Evt* newScript;
|
||||
s32 scriptListCount;
|
||||
s32 i;
|
||||
@ -322,7 +322,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
|
||||
|
||||
// Some of this function is surely macros. I think we'll learn more as we do others in this file. -Ethan
|
||||
do {
|
||||
newScript->state = initialState | EVT_FLAG_ACTIVE;
|
||||
newScript->stateFlags = flags | EVT_FLAG_ACTIVE;
|
||||
newScript->currentOpcode = 0;
|
||||
newScript->priority = priority;
|
||||
newScript->id = gStaticScriptCounter++;
|
||||
@ -353,7 +353,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
|
||||
|
||||
find_script_labels(newScript);
|
||||
|
||||
if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_RUN_IMMEDIATELY)) {
|
||||
if (gIsUpdatingScripts && (newScript->stateFlags & EVT_FLAG_RUN_IMMEDIATELY)) {
|
||||
scriptListCount = gScriptListCount++;
|
||||
gScriptIndexList[scriptListCount] = curScriptIndex;
|
||||
gScriptIdList[scriptListCount] = newScript->id;
|
||||
@ -370,7 +370,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
|
||||
return newScript;
|
||||
}
|
||||
|
||||
Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 initialState) {
|
||||
Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 flags) {
|
||||
s32 curScriptIndex;
|
||||
s32 scriptListCount;
|
||||
Evt* child;
|
||||
@ -390,8 +390,8 @@ Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 initialState)
|
||||
ASSERT(child != NULL);
|
||||
|
||||
parentScript->childScript = child;
|
||||
parentScript->state |= EVT_FLAG_BLOCKED_BY_CHILD;
|
||||
child->state = initialState | EVT_FLAG_ACTIVE;
|
||||
parentScript->stateFlags |= EVT_FLAG_BLOCKED_BY_CHILD;
|
||||
child->stateFlags = flags | EVT_FLAG_ACTIVE;
|
||||
child->ptrCurrentLine = child->ptrFirstLine = child->ptrNextLine = (Bytecode*)source;
|
||||
|
||||
|
||||
@ -459,7 +459,7 @@ Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState) {
|
||||
gNumScripts++;
|
||||
ASSERT(child != NULL);
|
||||
|
||||
child->state = newState | EVT_FLAG_ACTIVE;
|
||||
child->stateFlags = newState | EVT_FLAG_ACTIVE;
|
||||
child->ptrNextLine = nextLine;
|
||||
child->ptrFirstLine = nextLine;
|
||||
child->ptrCurrentLine = nextLine;
|
||||
@ -516,7 +516,7 @@ Evt* func_802C3C10(Evt* script, Bytecode* line, s32 arg2) {
|
||||
script->ptrCurrentLine = line;
|
||||
script->currentOpcode = 0;
|
||||
script->frameCounter = 0;
|
||||
script->state |= arg2;
|
||||
script->stateFlags |= arg2;
|
||||
script->timeScale = 1.0f;
|
||||
|
||||
if (script->userData != NULL) {
|
||||
@ -581,7 +581,7 @@ void update_scripts(void) {
|
||||
for (i = 0; i < gScriptListCount; i++) {
|
||||
Evt* script = (*gCurrentScriptListPtr)[gScriptIndexList[i]];
|
||||
|
||||
if (script != NULL && script->id == gScriptIdList[i] && script->state != 0 && !(script->state & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) {
|
||||
if (script != NULL && script->id == gScriptIdList[i] && script->stateFlags != 0 && !(script->stateFlags & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) {
|
||||
s32 stop = FALSE;
|
||||
s32 status;
|
||||
|
||||
@ -646,7 +646,7 @@ void kill_script(Evt* instanceToKill) {
|
||||
blockingParent = instanceToKill->blockingParent;
|
||||
if (blockingParent != NULL) {
|
||||
blockingParent->childScript = NULL;
|
||||
blockingParent->state &= ~EVT_FLAG_BLOCKED_BY_CHILD;
|
||||
blockingParent->stateFlags &= ~EVT_FLAG_BLOCKED_BY_CHILD;
|
||||
|
||||
for (j = 0; j < ARRAY_COUNT(blockingParent->varTable); j++) {
|
||||
blockingParent->varTable[j] = instanceToKill->varTable[j];
|
||||
@ -777,7 +777,7 @@ void suspend_group_script(Evt* script, s32 groupFlags) {
|
||||
}
|
||||
|
||||
if ((script->groupFlags & groupFlags) != 0) {
|
||||
script->state |= EVT_FLAG_SUSPENDED_IN_GROUP;
|
||||
script->stateFlags |= EVT_FLAG_SUSPENDED_IN_GROUP;
|
||||
}
|
||||
}
|
||||
|
||||
@ -798,7 +798,7 @@ void resume_group_script(Evt* script, s32 groupFlags) {
|
||||
}
|
||||
|
||||
if ((script->groupFlags & groupFlags) != 0) {
|
||||
script->state &= ~EVT_FLAG_SUSPENDED_IN_GROUP;
|
||||
script->stateFlags &= ~EVT_FLAG_SUSPENDED_IN_GROUP;
|
||||
}
|
||||
}
|
||||
|
||||
@ -921,7 +921,7 @@ void set_script_flags(Evt* script, s32 flags) {
|
||||
Evt* childScript = script->childScript;
|
||||
s32 i;
|
||||
|
||||
script->state |= flags;
|
||||
script->stateFlags |= flags;
|
||||
if (childScript != NULL) {
|
||||
set_script_flags(childScript, flags);
|
||||
}
|
||||
@ -939,7 +939,7 @@ void clear_script_flags(Evt* script, s32 flags) {
|
||||
Evt* childScript = script->childScript;
|
||||
s32 i;
|
||||
|
||||
script->state &= ~flags;
|
||||
script->stateFlags &= ~flags;
|
||||
if (childScript != NULL) {
|
||||
clear_script_flags(childScript, flags);
|
||||
}
|
||||
|
@ -308,7 +308,7 @@ void state_step_exit_language_select(void) {
|
||||
|
||||
calculate_model_sizes();
|
||||
npc_reload_all();
|
||||
func_800E98C4();
|
||||
status_menu_respond_to_changes();
|
||||
set_time_freeze_mode(TIME_FREEZE_PARTIAL);
|
||||
}
|
||||
set_windows_visible(WINDOW_GROUP_ALL);
|
||||
|
@ -78,8 +78,8 @@ void state_step_pause(void) {
|
||||
clear_npcs();
|
||||
clear_entity_data(0);
|
||||
clear_trigger_data();
|
||||
D_800A0924 = func_80149828();
|
||||
func_801497FC(0);
|
||||
SavedReverbMode = sfx_get_reverb_mode();
|
||||
sfx_set_reverb_mode(0);
|
||||
bgm_quiet_max_volume();
|
||||
nuPiReadRomOverlay(&D_8007795C);
|
||||
pause_init();
|
||||
@ -159,7 +159,7 @@ void state_step_unpause(void) {
|
||||
init_npc_list();
|
||||
init_entity_data();
|
||||
init_trigger_list();
|
||||
func_801497FC(D_800A0924);
|
||||
sfx_set_reverb_mode(SavedReverbMode);
|
||||
bgm_reset_max_volume();
|
||||
load_map_script_lib();
|
||||
assetData = load_asset_by_name(wMapShapeName, &assetSize);
|
||||
@ -183,7 +183,7 @@ void state_step_unpause(void) {
|
||||
calculate_model_sizes();
|
||||
npc_reload_all();
|
||||
set_windows_visible(WINDOW_GROUP_ALL);
|
||||
func_800E98C4();
|
||||
status_menu_respond_to_changes();
|
||||
set_time_freeze_mode(TIME_FREEZE_PARTIAL);
|
||||
D_800A0921 = 3;
|
||||
gPlayerStatus.alpha2 = gPlayerStatus.alpha1 - 1;
|
||||
|
@ -80,7 +80,7 @@ void state_init_title_screen(void) {
|
||||
D_8014C248[0] = 1;
|
||||
general_heap_create();
|
||||
clear_printers();
|
||||
func_801497FC(0);
|
||||
sfx_set_reverb_mode(0);
|
||||
gGameStatusPtr->introState = INTRO_STATE_0;
|
||||
gGameStatusPtr->introCounter = 0;
|
||||
gGameStatusPtr->isBattle = FALSE;
|
||||
|
@ -110,7 +110,7 @@ void action_update_idle_peach(void) {
|
||||
playerStatus->currentSpeed = 0.0f;
|
||||
playerStatus->flags &= ~PS_FLAGS_AIRBORNE;
|
||||
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
if (!(gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_HAS_INGREDIENT)) {
|
||||
suggest_player_anim_clearUnkFlag(IdlePeachAnims[gGameStatusPtr->peachCookingIngredient]);
|
||||
} else {
|
||||
@ -121,7 +121,7 @@ void action_update_idle_peach(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
switch (playerStatus->actionSubstate) {
|
||||
case SUBSTATE_IDLE_DEFAULT:
|
||||
if (!(playerStatus->flags & (PS_FLAGS_NO_STATIC_COLLISION | PS_FLAGS_INPUT_DISABLED))
|
||||
|
@ -229,7 +229,7 @@ void action_update_talk(void) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_USING_PEACH_PHYSICS)) {
|
||||
suggest_player_anim_setUnkFlag(ANIM_Mario_80007);
|
||||
} else if (playerStatus->peachItemHeld == 0) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
suggest_player_anim_setUnkFlag(ANIM_Peach_C0000);
|
||||
} else {
|
||||
peach_set_disguise_anim(BasicPeachDisguiseAnims[playerStatus->peachDisguise].talk);
|
||||
@ -242,7 +242,7 @@ void action_update_talk(void) {
|
||||
if (playerStatus->currentStateTime != 0) {
|
||||
playerStatus->currentStateTime--;
|
||||
} else if (playerStatus->peachItemHeld == 0) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
suggest_player_anim_setUnkFlag(ANIM_Peach_A0001);
|
||||
} else {
|
||||
peach_set_disguise_anim(BasicPeachDisguiseAnims[playerStatus->peachDisguise].idle);
|
||||
|
@ -96,7 +96,7 @@ void action_update_parasol(void) {
|
||||
}
|
||||
*tempUnk_1C = phi_f4;
|
||||
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
playerStatus->currentStateTime = 20;
|
||||
playerStatus->actionSubstate = SUBSTATE_DISGUISE_INIT;
|
||||
transformation->disguiseTime = 15;
|
||||
@ -185,7 +185,7 @@ void action_update_parasol(void) {
|
||||
break;
|
||||
case SUBSTATE_DISGUISE_MAKE_NPC:
|
||||
gameStatus = gGameStatusPtr;
|
||||
playerStatus->animFlags |= PA_FLAGS_IN_DISGUISE;
|
||||
playerStatus->animFlags |= PA_FLAGS_INVISIBLE;
|
||||
gameStatus->peachFlags |= PEACH_STATUS_FLAG_DISGUISED;
|
||||
playerStatus->actionSubstate++; // SUBSTATE_DISGUISE_SPIN_DOWN
|
||||
case SUBSTATE_DISGUISE_SPIN_DOWN:
|
||||
@ -261,7 +261,7 @@ void action_update_parasol(void) {
|
||||
playerStatus->currentStateTime = 2;
|
||||
playerStatus->actionSubstate++; // SUBSTATE_SPIN_DOWN
|
||||
gameStatus2 = gGameStatusPtr;
|
||||
playerStatus->animFlags &= ~PA_FLAGS_IN_DISGUISE;
|
||||
playerStatus->animFlags &= ~PA_FLAGS_INVISIBLE;
|
||||
gameStatus2->peachFlags &= ~PEACH_STATUS_FLAG_DISGUISED;
|
||||
playerStatus->peachDisguise = 0;
|
||||
free_npc_by_index(PeachDisguiseNpcIndex);
|
||||
|
@ -77,7 +77,7 @@ void action_update_step_up(void) {
|
||||
}
|
||||
|
||||
void func_802B6198_E24768(void) {
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
if (!(gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_HAS_INGREDIENT)) {
|
||||
suggest_player_anim_clearUnkFlag((StepUpPeachAnims)[gGameStatusPtr->peachCookingIngredient]);
|
||||
} else {
|
||||
|
@ -205,7 +205,7 @@ void action_update_run(void) {
|
||||
}
|
||||
|
||||
void func_802B6550_E23C30(void) {
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(gPlayerStatus.animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
if (!(gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_HAS_INGREDIENT)) {
|
||||
suggest_player_anim_clearUnkFlag(WalkPeachAnims[gGameStatusPtr->peachCookingIngredient]);
|
||||
return;
|
||||
@ -265,7 +265,7 @@ static void action_update_run_peach(void) {
|
||||
playerStatus->currentSpeed = playerStatus->runSpeed;
|
||||
}
|
||||
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_IN_DISGUISE)) {
|
||||
if (!(playerStatus->animFlags & PA_FLAGS_INVISIBLE)) {
|
||||
gameStatus = gGameStatusPtr;
|
||||
if (!(gameStatus->peachFlags & PEACH_STATUS_FLAG_HAS_INGREDIENT)) {
|
||||
if (!gameStatus->peachCookingIngredient) {
|
||||
|
@ -13,9 +13,9 @@
|
||||
#include "sprite/npc/Goomba.h"
|
||||
|
||||
enum {
|
||||
NPC_HyperCleft_01 = 0,
|
||||
NPC_HyperCleft_02 = 1,
|
||||
NPC_HyperGoomba = 2,
|
||||
NPC_HyperCleft_01 = 0,
|
||||
NPC_HyperCleft_02 = 1,
|
||||
NPC_HyperGoomba = 2,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_02
|
||||
|
@ -13,22 +13,22 @@
|
||||
#include "sprite/npc/WorldBow.h"
|
||||
|
||||
enum {
|
||||
NPC_Boo_01 = 0,
|
||||
NPC_Boo_02 = 1,
|
||||
NPC_Boo_03 = 2,
|
||||
NPC_Boo_04 = 3,
|
||||
NPC_Boo_05 = 4,
|
||||
NPC_Boo_06 = 5,
|
||||
NPC_Boo_07 = 6,
|
||||
NPC_Boo_08 = 7,
|
||||
NPC_Boo_09 = 8,
|
||||
NPC_Boo_01 = 0,
|
||||
NPC_Boo_02 = 1,
|
||||
NPC_Boo_03 = 2,
|
||||
NPC_Boo_04 = 3,
|
||||
NPC_Boo_05 = 4,
|
||||
NPC_Boo_06 = 5,
|
||||
NPC_Boo_07 = 6,
|
||||
NPC_Boo_08 = 7,
|
||||
NPC_Boo_09 = 8,
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_Unk_00 = MapVar(0),
|
||||
MV_Unk_01 = MapVar(1),
|
||||
MV_Unk_02 = MapVar(2),
|
||||
MV_Unk_03 = MapVar(3),
|
||||
MV_Unk_00 = MapVar(0),
|
||||
MV_Unk_01 = MapVar(1),
|
||||
MV_Unk_02 = MapVar(2),
|
||||
MV_Unk_03 = MapVar(3),
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_03
|
||||
|
@ -14,10 +14,10 @@
|
||||
#include "sprite/npc/Cleft.h"
|
||||
|
||||
enum {
|
||||
NPC_HyperParagoomba = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
NPC_HyperCleft_01 = 2,
|
||||
NPC_HyperCleft_02 = 3,
|
||||
NPC_HyperParagoomba = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
NPC_HyperCleft_01 = 2,
|
||||
NPC_HyperCleft_02 = 3,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_04
|
||||
|
@ -10,16 +10,16 @@
|
||||
#include "mapfs/arn_05_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Boo_01 = 0,
|
||||
NPC_Boo_02 = 1,
|
||||
NPC_Boo_03 = 2,
|
||||
NPC_Boo_04 = 3,
|
||||
NPC_Boo_05 = 4,
|
||||
NPC_Tubba = 5,
|
||||
NPC_Boo_06 = 6,
|
||||
NPC_Boo_07 = 7,
|
||||
NPC_Boo_08 = 8,
|
||||
NPC_Boo_09 = 9,
|
||||
NPC_Boo_01 = 0,
|
||||
NPC_Boo_02 = 1,
|
||||
NPC_Boo_03 = 2,
|
||||
NPC_Boo_04 = 3,
|
||||
NPC_Boo_05 = 4,
|
||||
NPC_Tubba = 5,
|
||||
NPC_Boo_06 = 6,
|
||||
NPC_Boo_07 = 7,
|
||||
NPC_Boo_08 = 8,
|
||||
NPC_Boo_09 = 9,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -16,20 +16,20 @@
|
||||
#include "sprite/npc/Bootler.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_Tubba = 1,
|
||||
NPC_Boo_01 = 2,
|
||||
NPC_Boo_02 = 3,
|
||||
NPC_Boo_03 = 4,
|
||||
NPC_Boo_04 = 5,
|
||||
NPC_Boo_05 = 6,
|
||||
NPC_Boo_06 = 7,
|
||||
NPC_Bow = 8,
|
||||
NPC_Bootler = 9,
|
||||
NPC_HyperParagoomba_01 = 10,
|
||||
NPC_HyperParagoomba_02 = 11,
|
||||
NPC_HyperParagoomba_03 = 12,
|
||||
NPC_Skolar = 13,
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_Tubba = 1,
|
||||
NPC_Boo_01 = 2,
|
||||
NPC_Boo_02 = 3,
|
||||
NPC_Boo_03 = 4,
|
||||
NPC_Boo_04 = 5,
|
||||
NPC_Boo_05 = 6,
|
||||
NPC_Boo_06 = 7,
|
||||
NPC_Bow = 8,
|
||||
NPC_Bootler = 9,
|
||||
NPC_HyperParagoomba_01 = 10,
|
||||
NPC_HyperParagoomba_02 = 11,
|
||||
NPC_HyperParagoomba_03 = 12,
|
||||
NPC_Skolar = 13,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "world/common/npc/Boo.inc.c"
|
||||
#include "world/common/npc/StarSpirit.inc.c"
|
||||
|
||||
API_CALLABLE(N(UpgradeStarPower)) {
|
||||
API_CALLABLE(N(UpgradeStarPowerCh3)) {
|
||||
set_max_SP(3);
|
||||
gPlayerData.curHP = gPlayerData.curMaxHP;
|
||||
gPlayerData.curFP = gPlayerData.curMaxFP;
|
||||
@ -472,7 +472,7 @@ EvtScript N(EVS_Scene_SkolarRescued) = {
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
|
||||
EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_Idle)
|
||||
EVT_CALL(EnableNpcAI, NPC_Skolar, TRUE)
|
||||
EVT_CALL(N(UpgradeStarPower))
|
||||
EVT_CALL(N(UpgradeStarPowerCh3))
|
||||
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0193, 160, 40)
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2)
|
||||
|
@ -13,8 +13,8 @@
|
||||
#include "sprite/npc/Yakkey.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_Yakkey = 1,
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_Yakkey = 1,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_08
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "sprite/npc/TubbasHeart.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_TubbasHeart = 0,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_09
|
||||
|
@ -10,8 +10,8 @@
|
||||
#include "mapfs/arn_10_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_10
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "sprite/npc/TubbasHeart.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_TubbasHeart = 0,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_11
|
||||
|
@ -1,309 +0,0 @@
|
||||
#include "arn_11.h"
|
||||
#include "sprite/npc/TubbasHeart.h"
|
||||
|
||||
enum {
|
||||
NPC_TUBBAS_HEART,
|
||||
};
|
||||
|
||||
EvtScript N(802400F0) = {
|
||||
EVT_CALL(SetCamType, 0, 6, 1)
|
||||
EVT_CALL(SetCamSpeed, 0, EVT_FLOAT(3.0))
|
||||
EVT_CALL(UseSettingsFrom, 0, 60, 30, 0)
|
||||
EVT_CALL(SetPanTarget, 0, 60, 30, 0)
|
||||
EVT_CALL(SetCamPitch, 0, EVT_FLOAT(20.0), EVT_FLOAT(-13.0))
|
||||
EVT_CALL(SetCamDistance, 0, 275)
|
||||
EVT_CALL(PanToTarget, 0, 0, 1)
|
||||
EVT_CALL(WaitForCam, 0, EVT_FLOAT(1.0))
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(802401BC) = {
|
||||
EVT_CALL(DisablePlayerInput, TRUE)
|
||||
EVT_WAIT(30)
|
||||
EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0))
|
||||
EVT_CALL(PlayerMoveTo, 6, 0, 0)
|
||||
EVT_CALL(SpeakToPlayer, 0, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01, 0, MSG_CH3_00BF)
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007)
|
||||
EVT_WAIT(40)
|
||||
EVT_CALL(SpeakToPlayer, 0, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01, 0, MSG_CH3_00C0)
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(SetPlayerAnimation, 589824)
|
||||
EVT_WAIT(30)
|
||||
EVT_CALL(SpeakToPlayer, 0, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01, 0, MSG_CH3_00C1)
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
|
||||
EVT_WAIT(20)
|
||||
EVT_CALL(SetPlayerAnimation, 589824)
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetNpcJumpscale, 0, EVT_FLOAT(2.5))
|
||||
EVT_CALL(GetNpcPos, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(PlaySoundAtNpc, 0, 0x20C8, 0)
|
||||
EVT_CALL(NpcJump0, 0, LVar0, LVar1, LVar2, 10)
|
||||
EVT_WAIT(1)
|
||||
EVT_CALL(PlaySoundAtNpc, 0, 0x20C8, 0)
|
||||
EVT_CALL(NpcJump0, 0, LVar0, LVar1, LVar2, 10)
|
||||
EVT_END_THREAD
|
||||
EVT_WAIT(40)
|
||||
EVT_CALL(SpeakToPlayer, 0, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01, 0, MSG_CH3_00C2)
|
||||
EVT_CALL(SetPlayerAnimation, 589824)
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(SetNpcVar, 0, 0, 1)
|
||||
EVT_CALL(DisablePlayerInput, FALSE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(exitSingleDoor_80240428) = {
|
||||
EVT_SET_GROUP(EVT_GROUP_1B)
|
||||
EVT_CALL(DisablePlayerInput, TRUE)
|
||||
EVT_SET(LVar0, 0)
|
||||
EVT_SET(LVar1, 2)
|
||||
EVT_SET(LVar2, 0)
|
||||
EVT_SET(LVar3, -1)
|
||||
EVT_EXEC(ExitSingleDoor)
|
||||
EVT_WAIT(17)
|
||||
EVT_CALL(GotoMap, EVT_PTR("arn_13"), 1)
|
||||
EVT_WAIT(100)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(802404CC) = {
|
||||
EVT_BIND_TRIGGER(N(exitSingleDoor_80240428), TRIGGER_WALL_PRESS_A, 2, 1, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(enterSingleDoor_802404F8) = {
|
||||
EVT_CALL(DisablePlayerInput, TRUE)
|
||||
EVT_SET(LVar2, 0)
|
||||
EVT_SET(LVar3, -1)
|
||||
EVT_EXEC_WAIT(EnterSingleDoor)
|
||||
EVT_EXEC(N(802404CC))
|
||||
EVT_IF_LT(GB_StoryProgress, -22)
|
||||
EVT_WAIT(10)
|
||||
EVT_EXEC(N(802400F0))
|
||||
EVT_EXEC(N(802401BC))
|
||||
EVT_WAIT(1)
|
||||
EVT_END_IF
|
||||
EVT_CALL(DisablePlayerInput, FALSE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(main) = {
|
||||
EVT_SET(GB_WorldLocation, 35)
|
||||
EVT_CALL(SetSpriteShading, 524290)
|
||||
EVT_CALL(SetCamPerspective, 0, 3, 25, 16, 4096)
|
||||
EVT_CALL(SetCamBGColor, 0, 0, 0, 0)
|
||||
EVT_CALL(SetCamLeadPlayer, 0, 0)
|
||||
EVT_CALL(SetCamEnabled, 0, 1)
|
||||
EVT_CALL(MakeNpcs, 0, EVT_PTR(N(npcGroupList_802410DC)))
|
||||
EVT_EXEC(N(80240050))
|
||||
EVT_EXEC(N(enterSingleDoor_802404F8))
|
||||
EVT_WAIT(1)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
static s32 N(pad_674)[] = {
|
||||
0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
EvtScript N(80240680) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(80240690) = {
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
NpcSettings N(npcSettings_802406A0) = {
|
||||
.height = 24,
|
||||
.radius = 24,
|
||||
.otherAI = &N(80240680),
|
||||
.onDefeat = &N(80240690),
|
||||
.level = 13,
|
||||
};
|
||||
|
||||
EvtScript N(idle_802406CC) = {
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(GetSelfVar, 0, LVar0)
|
||||
EVT_IF_NE(LVar0, 0)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_WAIT(1)
|
||||
EVT_END_LOOP
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetCamType, 0, 6, 1)
|
||||
EVT_CALL(SetCamSpeed, 0, EVT_FLOAT(4.0))
|
||||
EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2)
|
||||
EVT_ADD(LVar0, 50)
|
||||
EVT_CALL(UseSettingsFrom, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetPanTarget, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetCamDistance, 0, 3000)
|
||||
EVT_CALL(PanToTarget, 0, 0, 1)
|
||||
EVT_CALL(WaitForCam, 0, EVT_FLOAT(1.0))
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(StartBossBattle, 11)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(8024081C) = {
|
||||
EVT_WAIT(15)
|
||||
EVT_CALL(PlaySoundAtCollider, 2, 449, 0)
|
||||
EVT_CALL(MakeLerp, 0, 80, 10, 0)
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(UpdateLerp)
|
||||
EVT_CALL(RotateModel, 0, LVar0, 0, -1, 0)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_EQ(LVar1, 0)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_END_LOOP
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(802408D8) = {
|
||||
EVT_CALL(MakeLerp, 80, 0, 10, 0)
|
||||
EVT_LOOP(0)
|
||||
EVT_CALL(UpdateLerp)
|
||||
EVT_CALL(RotateModel, 0, LVar0, 0, -1, 0)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_EQ(LVar1, 0)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_END_LOOP
|
||||
EVT_CALL(PlaySoundAtCollider, 2, 450, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
s32 N(intTable_80240988)[] = {
|
||||
0x00000064, 0x0000001E, 0x00000046, 0x00000019, 0x0000001E, 0x00000050, 0xFFFFD8F0, 0x00000000,
|
||||
0x00000000, 0xFFFFFFBA, 0x0000000A, 0x00000014, 0xFFFFFF4C, 0x00000000, 0x00000000, 0xFFFFFED4,
|
||||
0x00000000, 0x00000000, 0xFFFFD8F0, 0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
EvtScript N(defeat_802409DC) = {
|
||||
EVT_THREAD
|
||||
EVT_CALL(SetCamType, 0, 6, 1)
|
||||
EVT_CALL(SetCamSpeed, 0, EVT_FLOAT(90.0))
|
||||
EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2)
|
||||
EVT_ADD(LVar0, 50)
|
||||
EVT_CALL(UseSettingsFrom, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetPanTarget, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetCamDistance, 0, 450)
|
||||
EVT_CALL(PanToTarget, 0, 0, 1)
|
||||
EVT_END_THREAD
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(PlayerFaceNpc, 0, 1)
|
||||
EVT_LOOP(2)
|
||||
EVT_CALL(GetNpcPos, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetNpcJumpscale, 0, EVT_FLOAT(2.5))
|
||||
EVT_CALL(PlaySoundAtNpc, NPC_SELF, 0x20C8, 0)
|
||||
EVT_CALL(NpcJump0, 0, LVar0, LVar1, LVar2, 12)
|
||||
EVT_WAIT(1)
|
||||
EVT_END_LOOP
|
||||
EVT_THREAD
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(SetCamType, 0, 4, 1)
|
||||
EVT_CALL(SetCamSpeed, 0, EVT_FLOAT(2.0))
|
||||
EVT_CALL(SetCamPitch, 0, EVT_FLOAT(17.0), EVT_FLOAT(-7.0))
|
||||
EVT_CALL(SetCamDistance, 0, 450)
|
||||
EVT_CALL(SetCamPosA, 0, -56, 70)
|
||||
EVT_CALL(SetCamPosB, 0, -90, 40)
|
||||
EVT_CALL(SetCamPosC, 0, 0, 0)
|
||||
EVT_CALL(PanToTarget, 0, 0, 1)
|
||||
EVT_END_THREAD
|
||||
EVT_CALL(PlayerFaceNpc, 0, 1)
|
||||
EVT_USE_BUF(EVT_PTR(N(intTable_80240988)))
|
||||
EVT_LOOP(0)
|
||||
EVT_BUF_READ3(LVar0, LVar1, LVar2)
|
||||
EVT_IF_EQ(LVar0, -10000)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_CALL(PlaySoundAtNpc, NPC_SELF, 0x20C8, 0)
|
||||
EVT_CALL(NpcJump0, 0, LVar0, LVar1, LVar2, 12)
|
||||
EVT_WAIT(1)
|
||||
EVT_END_LOOP
|
||||
EVT_EXEC(N(8024081C))
|
||||
EVT_LOOP(0)
|
||||
EVT_BUF_READ3(LVar0, LVar1, LVar2)
|
||||
EVT_IF_EQ(LVar0, -10000)
|
||||
EVT_BREAK_LOOP
|
||||
EVT_END_IF
|
||||
EVT_CALL(PlaySoundAtNpc, NPC_SELF, 0x20C8, 0)
|
||||
EVT_CALL(NpcJump0, 0, LVar0, LVar1, LVar2, 12)
|
||||
EVT_WAIT(1)
|
||||
EVT_END_LOOP
|
||||
EVT_EXEC(N(802408D8))
|
||||
EVT_WAIT(30)
|
||||
EVT_CALL(SetCamType, 0, 6, 1)
|
||||
EVT_CALL(SetCamSpeed, 0, EVT_FLOAT(90.0))
|
||||
EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(UseSettingsFrom, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetPanTarget, 0, LVar0, LVar1, LVar2)
|
||||
EVT_CALL(SetCamDistance, 0, 450)
|
||||
EVT_CALL(PanToTarget, 0, 0, 1)
|
||||
EVT_CALL(WaitForCam, 0, EVT_FLOAT(1.0))
|
||||
EVT_CALL(PanToTarget, 0, 0, 0)
|
||||
EVT_SET(GB_StoryProgress, -22)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(init_80240E70) = {
|
||||
EVT_IF_GE(GB_StoryProgress, -22)
|
||||
EVT_CALL(RemoveNpc, NPC_SELF)
|
||||
EVT_ELSE
|
||||
EVT_CALL(SetSelfVar, 0, 0)
|
||||
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(idle_802406CC)))
|
||||
EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(defeat_802409DC)))
|
||||
EVT_END_IF
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
StaticNpc N(npcGroup_80240EEC) = {
|
||||
.id = NPC_TUBBAS_HEART,
|
||||
.settings = &N(npcSettings_802406A0),
|
||||
.pos = { 119.0f, 60.0f, 0.0f },
|
||||
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
|
||||
.init = &N(init_80240E70),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
ANIM_TubbasHeart_Anim01,
|
||||
},
|
||||
};
|
||||
|
||||
NpcGroupList N(npcGroupList_802410DC) = {
|
||||
NPC_GROUP(N(npcGroup_80240EEC), 0x0E0F, BTL_DEFAULT_STAGE),
|
||||
{},
|
||||
};
|
@ -10,8 +10,8 @@
|
||||
#include "mapfs/arn_12_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_12
|
||||
|
@ -10,8 +10,8 @@
|
||||
#include "mapfs/arn_13_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
NPC_TubbasHeart = 0,
|
||||
NPC_HyperGoomba = 1,
|
||||
};
|
||||
|
||||
#define NAMESPACE arn_13
|
||||
|
@ -462,11 +462,11 @@ StaticNpc N(npcGroup_80241FE4) = {
|
||||
.init = &N(init_80241F70),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
@ -495,11 +495,11 @@ StaticNpc N(npcGroup_802421D4) = {
|
||||
.init = &N(init_80241F94),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
@ -527,11 +527,11 @@ StaticNpc N(npcGroup_802423C4) = {
|
||||
.init = &N(init_80241FA4),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
@ -559,11 +559,11 @@ StaticNpc N(npcGroup_802425B4) = {
|
||||
.init = &N(init_80241FB4),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
@ -591,11 +591,11 @@ StaticNpc N(npcGroup_802427A4) = {
|
||||
.init = &N(init_80241FC4),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
@ -623,11 +623,11 @@ StaticNpc N(npcGroup_80242994) = {
|
||||
.init = &N(init_80241FD4),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
@ -801,11 +801,11 @@ StaticNpc N(npcGroup_802434FC) = {
|
||||
.init = &N(init_802434EC),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
ANIM_Sentinel_Anim03,
|
||||
|
@ -896,11 +896,11 @@ StaticNpc N(npcGroup_80246090) = {
|
||||
.init = &N(init_80245D80),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { -180, 100, 230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.territory = { .temp = { -180, 100, 230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
@ -929,11 +929,11 @@ StaticNpc N(npcGroup_80246280) = {
|
||||
.init = &N(init_80245E44),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { 180, 100, 230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.territory = { .temp = { 180, 100, 230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
@ -962,11 +962,11 @@ StaticNpc N(npcGroup_80246470) = {
|
||||
.init = &N(init_80245F08),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { -180, 100, -230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.territory = { .temp = { -180, 100, -230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
@ -995,11 +995,11 @@ StaticNpc N(npcGroup_80246660) = {
|
||||
.init = &N(init_80245FCC),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { 180, 100, -230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.territory = { .temp = { 180, 100, -230, 35, 0, -32767, 0, 0, 0, 0, 450, 1000, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
@ -1043,11 +1043,11 @@ StaticNpc N(npcGroup_80246880) = {
|
||||
.init = &N(init_80245784),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldTubba_Anim06,
|
||||
ANIM_WorldTubba_Anim09,
|
||||
ANIM_WorldTubba_Anim0C,
|
||||
@ -1076,7 +1076,7 @@ StaticNpc N(npcGroup_80246A70) = {
|
||||
.init = &N(init_80245814),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -1086,7 +1086,7 @@ StaticNpc N(npcGroup_80246A70) = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 2, 320, 210, 0, 370, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, 350, 210, 0, 1000, 250, 1 }},
|
||||
.territory = { .temp = { 2, 320, 210, 0, 370, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, 350, 210, 0, 1000, 250, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldTubba_Anim07,
|
||||
ANIM_WorldTubba_Anim0A,
|
||||
@ -1117,7 +1117,7 @@ StaticNpc N(npcGroup_80246C60) = {
|
||||
.init = &N(init_80245CF0),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -1127,7 +1127,7 @@ StaticNpc N(npcGroup_80246C60) = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 8, 156, 0, 187, -36, 0, 290, -159, 0, 50, -80, 0, -218, 66, 0, -362, 196, 0, -268, 280, 0, -124, 250, 0, 100, 0, 0, 0, 0, 0, 0, -32767, 250, 0, 100, 1000, 250, 1 }},
|
||||
.territory = { .temp = { 8, 156, 0, 187, -36, 0, 290, -159, 0, 50, -80, 0, -218, 66, 0, -362, 196, 0, -268, 280, 0, -124, 250, 0, 100, 0, 0, 0, 0, 0, 0, -32767, 250, 0, 100, 1000, 250, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldTubba_Anim07,
|
||||
ANIM_WorldTubba_Anim0A,
|
||||
|
@ -287,7 +287,7 @@ StaticNpc N(npcGroup_80241E08)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -297,7 +297,7 @@ StaticNpc N(npcGroup_80241E08)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -200, 0, 180, 40, 0, -32767, 0, -200, 0, 175, 250, 90, 1, 1 }},
|
||||
.territory = { .temp = { -200, 0, 180, 40, 0, -32767, 0, -200, 0, 175, 250, 90, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -326,11 +326,11 @@ StaticNpc N(npcGroup_80241E08)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -360,7 +360,7 @@ StaticNpc N(npcGroup_802421E8)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -370,7 +370,7 @@ StaticNpc N(npcGroup_802421E8)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 375, 0, 100, 40, 0, -32767, 0, 320, 0, 175, 250, 90, 0, 1 }},
|
||||
.territory = { .temp = { 375, 0, 100, 40, 0, -32767, 0, 320, 0, 175, 250, 90, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -398,11 +398,11 @@ StaticNpc N(npcGroup_802421E8)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
|
@ -560,7 +560,7 @@ StaticNpc N(npcGroup_80243DE8)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -570,7 +570,7 @@ StaticNpc N(npcGroup_80243DE8)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 180, 0, -122, 40, 0, -32767, 0, 0, 0, 75, 355, 255, 1, 1 }},
|
||||
.territory = { .temp = { 180, 0, -122, 40, 0, -32767, 0, 0, 0, 75, 355, 255, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -598,11 +598,11 @@ StaticNpc N(npcGroup_80243DE8)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -632,7 +632,7 @@ StaticNpc N(npcGroup_802441C8)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -642,7 +642,7 @@ StaticNpc N(npcGroup_802441C8)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 2, -272, 0, -135, -171, 0, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, 0, 0, 75, 355, 255, 1, 1 }},
|
||||
.territory = { .temp = { 2, -272, 0, -135, -171, 0, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, 0, 0, 75, 355, 255, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -670,11 +670,11 @@ StaticNpc N(npcGroup_802441C8)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -705,7 +705,7 @@ StaticNpc N(npcGroup_802445A8)[] = {
|
||||
.init = &N(init_80243D94),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -715,7 +715,7 @@ StaticNpc N(npcGroup_802445A8)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -326, 210, 80, 0, 0, -32767, 0, 0, 0, 75, 355, 255, 1, 1 }},
|
||||
.territory = { .temp = { -326, 210, 80, 0, 0, -32767, 0, 0, 0, 75, 355, 255, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -743,11 +743,11 @@ StaticNpc N(npcGroup_802445A8)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
|
@ -241,11 +241,11 @@ StaticNpc N(npcGroup_80243B28) = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { 70, -220, 186, 15, 40, -32767, 1, 80, -220, 170, 80, 150, 1 }},
|
||||
.territory = { .temp = { 70, -220, 186, 15, 40, -32767, 1, 80, -220, 170, 80, 150, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
|
@ -209,7 +209,7 @@ StaticNpc N(npcGroup_80241B4C)[] = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -219,7 +219,7 @@ StaticNpc N(npcGroup_80241B4C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 132, -110, 238, 0, 0, -32767, 0, 325, 0, 185, 200 }},
|
||||
.territory = { .temp = { 132, -110, 238, 0, 0, -32767, 0, 325, 0, 185, 200 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -247,11 +247,11 @@ StaticNpc N(npcGroup_80241B4C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -281,7 +281,7 @@ StaticNpc N(npcGroup_80241F2C)[] = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -291,7 +291,7 @@ StaticNpc N(npcGroup_80241F2C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 503, -210, 225, 0, 0, -32767, 0, 503, -210, 290, 200, 150, 1 }},
|
||||
.territory = { .temp = { 503, -210, 225, 0, 0, -32767, 0, 503, -210, 290, 200, 150, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -319,11 +319,11 @@ StaticNpc N(npcGroup_80241F2C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
|
@ -138,11 +138,11 @@ StaticNpc N(npcGroup_80240954) = {
|
||||
.init = &N(init_802408FC),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Boo_Tan_Idle,
|
||||
ANIM_Boo_Tan_Walk,
|
||||
ANIM_Boo_Tan_Run,
|
||||
|
@ -194,7 +194,7 @@ StaticNpc N(npcGroup_80241A7C)[] = {
|
||||
.flags = ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -204,7 +204,7 @@ StaticNpc N(npcGroup_80241A7C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -500, 0, -240, 40, 0, -32767, 0, -500, 0, -240, 200, 0, 0, 1 }},
|
||||
.territory = { .temp = { -500, 0, -240, 40, 0, -32767, 0, -500, 0, -240, 200, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -233,11 +233,11 @@ StaticNpc N(npcGroup_80241A7C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
|
@ -518,7 +518,7 @@ StaticNpc N(npcGroup_802450A0) = {
|
||||
.init = &N(init_80244E94),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -528,7 +528,7 @@ StaticNpc N(npcGroup_802450A0) = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 10, -400, 210, 80, -100, 210, 80, 100, 210, 80, 400, 210, 80, 820, 100, 80, 820, 100, 260, 400, 0, 260, 100, 0, 200, -100, 0, 175, -450, 0, 175, -32767, 150, 0, 175, 1450, 200, 1 }},
|
||||
.territory = { .temp = { 10, -400, 210, 80, -100, 210, 80, 100, 210, 80, 400, 210, 80, 820, 100, 80, 820, 100, 260, 400, 0, 260, 100, 0, 200, -100, 0, 175, -450, 0, 175, -32767, 150, 0, 175, 1450, 200, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldTubba_Anim07,
|
||||
ANIM_WorldTubba_Anim0A,
|
||||
@ -558,7 +558,7 @@ StaticNpc N(npcGroup_80245290)[] = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -568,7 +568,7 @@ StaticNpc N(npcGroup_80245290)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -250, 0, 135, 30, 0, -32767, 0, -250, 0, 135, 250, 0, 0, 1 }},
|
||||
.territory = { .temp = { -250, 0, 135, 30, 0, -32767, 0, -250, 0, 135, 250, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -597,11 +597,11 @@ StaticNpc N(npcGroup_80245290)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -631,7 +631,7 @@ StaticNpc N(npcGroup_80245670)[] = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -641,7 +641,7 @@ StaticNpc N(npcGroup_80245670)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 220, 0, 155, 30, 0, -32767, 0, 220, 0, 155, 250, 0, 0, 1 }},
|
||||
.territory = { .temp = { 220, 0, 155, 30, 0, -32767, 0, 220, 0, 155, 250, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -670,11 +670,11 @@ StaticNpc N(npcGroup_80245670)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -704,7 +704,7 @@ StaticNpc N(npcGroup_80245A50)[] = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -714,7 +714,7 @@ StaticNpc N(npcGroup_80245A50)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 825, 100, 200, 25, 0, -32767, 0, 825, 100, 200, 150, 0, 0, 1 }},
|
||||
.territory = { .temp = { 825, 100, 200, 25, 0, -32767, 0, 825, 100, 200, 150, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -743,11 +743,11 @@ StaticNpc N(npcGroup_80245A50)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -776,11 +776,11 @@ StaticNpc N(npcGroup_80245E30) = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { 75, 310, 85, 30, 0, -32767, 0, 75, 0, 85, 250, 55, 1, 1 }},
|
||||
.territory = { .temp = { 75, 310, 85, 30, 0, -32767, 0, 75, 0, 85, 250, 55, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
@ -808,11 +808,11 @@ StaticNpc N(npcGroup_80246020) = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { -451, 310, 81, 30, 0, -32767, 0, -310, 0, 175, 250, 145, 1, 1 }},
|
||||
.territory = { .temp = { -451, 310, 81, 30, 0, -32767, 0, -310, 0, 175, 250, 145, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
@ -901,11 +901,11 @@ StaticNpc N(npcGroup_80246528) = {
|
||||
.init = &N(init_802464C4),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { 0, 0, 0, 0, 0, -32767, 0, 0, 0, 0, 0, 0, 0, 1 }},
|
||||
.territory = { .temp = { 0, 0, 0, 0, 0, -32767, 0, 0, 0, 0, 0, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -948,7 +948,7 @@ StaticNpc N(npcGroup_80246768) = {
|
||||
.init = &N(init_80246728),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -958,7 +958,7 @@ StaticNpc N(npcGroup_80246768) = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -250, 0, 135, 30, 0, -32767, 0, -250, 0, 135, 250, 0, 0, 1 }},
|
||||
.territory = { .temp = { -250, 0, 135, 30, 0, -32767, 0, -250, 0, 135, 250, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
|
@ -444,7 +444,7 @@ StaticNpc N(npcGroup_80244920)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -454,7 +454,7 @@ StaticNpc N(npcGroup_80244920)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -350, 0, 180, 40, 0, -32767, 0, 0, 0, 50, 600, 250, 1, 1 }},
|
||||
.territory = { .temp = { -350, 0, 180, 40, 0, -32767, 0, 0, 0, 50, 600, 250, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -483,11 +483,11 @@ StaticNpc N(npcGroup_80244920)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -528,7 +528,7 @@ StaticNpc N(npcGroup_80244D6C)[] = {
|
||||
.init = &N(init_80244D00),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -538,7 +538,7 @@ StaticNpc N(npcGroup_80244D6C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 310, 0, 88, 40, 0, -32767, 0, 0, 0, 50, 600, 250, 1, 1 }},
|
||||
.territory = { .temp = { 310, 0, 88, 40, 0, -32767, 0, 0, 0, 50, 600, 250, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -567,11 +567,11 @@ StaticNpc N(npcGroup_80244D6C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -600,11 +600,11 @@ StaticNpc N(npcGroup_8024514C) = {
|
||||
.flags = ENEMY_FLAGS_400,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { -20, 100, 180, 40, 0, -32767, 0, -20, 100, 180, 250, 0, 0, 1 }},
|
||||
.territory = { .temp = { -20, 100, 180, 40, 0, -32767, 0, -20, 100, 180, 250, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_Sentinel_Anim01,
|
||||
ANIM_Sentinel_Anim02,
|
||||
|
@ -381,7 +381,7 @@ StaticNpc N(npcGroup_802428C0) = {
|
||||
.init = &N(init_802427EC),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -391,7 +391,7 @@ StaticNpc N(npcGroup_802428C0) = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 7, -500, 0, 200, -700, 0, 200, -900, 0, 200, -1000, 0, 200, -800, 0, 200, -600, 0, 200, -400, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, -500, 0, 200, 1000, 250, 1, 1 }},
|
||||
.territory = { .temp = { 7, -500, 0, 200, -700, 0, 200, -900, 0, 200, -1000, 0, 200, -800, 0, 200, -600, 0, 200, -400, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, -500, 0, 200, 1000, 250, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldTubba_Anim06,
|
||||
ANIM_WorldTubba_Anim09,
|
||||
|
@ -209,7 +209,7 @@ StaticNpc N(npcGroup_80241A4C)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -219,7 +219,7 @@ StaticNpc N(npcGroup_80241A4C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { -70, 0, -100, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.territory = { .temp = { -70, 0, -100, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -248,11 +248,11 @@ StaticNpc N(npcGroup_80241A4C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -282,7 +282,7 @@ StaticNpc N(npcGroup_80241E2C)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -292,7 +292,7 @@ StaticNpc N(npcGroup_80241E2C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 0, 0, -235, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.territory = { .temp = { 0, 0, -235, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -320,11 +320,11 @@ StaticNpc N(npcGroup_80241E2C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -354,7 +354,7 @@ StaticNpc N(npcGroup_8024220C)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -364,7 +364,7 @@ StaticNpc N(npcGroup_8024220C)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 70, 0, -100, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.territory = { .temp = { 70, 0, -100, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -392,11 +392,11 @@ StaticNpc N(npcGroup_8024220C)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -426,7 +426,7 @@ StaticNpc N(npcGroup_802425EC)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -436,7 +436,7 @@ StaticNpc N(npcGroup_802425EC)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 140, 0, -235, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.territory = { .temp = { 140, 0, -235, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -464,11 +464,11 @@ StaticNpc N(npcGroup_802425EC)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -498,7 +498,7 @@ StaticNpc N(npcGroup_802429CC)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -508,7 +508,7 @@ StaticNpc N(npcGroup_802429CC)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 210, 0, -100, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.territory = { .temp = { 210, 0, -100, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -536,11 +536,11 @@ StaticNpc N(npcGroup_802429CC)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
@ -570,7 +570,7 @@ StaticNpc N(npcGroup_80242DAC)[] = {
|
||||
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.itemDropChance = 5,
|
||||
.itemDrops = {
|
||||
{ ITEM_SUPER_SHROOM, 10, 0 },
|
||||
@ -580,7 +580,7 @@ StaticNpc N(npcGroup_80242DAC)[] = {
|
||||
.minCoinBonus = 2,
|
||||
.maxCoinBonus = 3,
|
||||
},
|
||||
.territory = { .temp = { 280, 0, -235, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.territory = { .temp = { 280, 0, -235, 40, 0, -32767, 0, 150, 0, -175, 430, 92, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
@ -608,11 +608,11 @@ StaticNpc N(npcGroup_80242DAC)[] = {
|
||||
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldClubba_Anim02,
|
||||
ANIM_WorldClubba_Anim03,
|
||||
ANIM_WorldClubba_Anim04,
|
||||
|
@ -589,11 +589,11 @@ StaticNpc N(npcGroup_802432D4) = {
|
||||
.init = &N(init_80242924),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { 5, 0, 0, 240, 175, 0, 240, 350, 0, 240, 525, 0, 240, 700, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, 300, 0, 240, 1000, 250, 1, 1 }},
|
||||
.territory = { .temp = { 5, 0, 0, 240, 175, 0, 240, 350, 0, 240, 525, 0, 240, 700, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32767, 300, 0, 240, 1000, 250, 1, 1 }},
|
||||
.animations = {
|
||||
ANIM_WorldTubba_Anim07,
|
||||
ANIM_WorldTubba_Anim0A,
|
||||
@ -622,11 +622,11 @@ StaticNpc N(npcGroup_802434C4) = {
|
||||
.init = &N(init_8024329C),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Yakkey_Idle,
|
||||
ANIM_Yakkey_Idle,
|
||||
ANIM_Yakkey_Idle,
|
||||
|
@ -20,19 +20,19 @@
|
||||
#include "sprite/npc/Toadette.h"
|
||||
|
||||
enum {
|
||||
NPC_Mouser_01 = 0,
|
||||
NPC_Dryite_01 = 1,
|
||||
NPC_Dryite_02 = 2,
|
||||
NPC_Dryite_03 = 3,
|
||||
NPC_Dryite_04 = 4,
|
||||
NPC_ArtistToad = 5,
|
||||
NPC_Mouser_ShopOwner = 6,
|
||||
NPC_ThreeSisters_01 = 7,
|
||||
NPC_ThreeSisters_02 = 8,
|
||||
NPC_ThreeSisters_03 = 9,
|
||||
NPC_ChuckQuizmo = 10,
|
||||
NPC_Dryite_05 = 11,
|
||||
NPC_Dryite_06 = 12,
|
||||
NPC_Mouser_01 = 0,
|
||||
NPC_Dryite_01 = 1,
|
||||
NPC_Dryite_02 = 2,
|
||||
NPC_Dryite_03 = 3,
|
||||
NPC_Dryite_04 = 4,
|
||||
NPC_ArtistToad = 5,
|
||||
NPC_Mouser_ShopOwner = 6,
|
||||
NPC_ThreeSisters_01 = 7,
|
||||
NPC_ThreeSisters_02 = 8,
|
||||
NPC_ThreeSisters_03 = 9,
|
||||
NPC_ChuckQuizmo = 10,
|
||||
NPC_Dryite_05 = 11,
|
||||
NPC_Dryite_06 = 12,
|
||||
};
|
||||
|
||||
#define NAMESPACE dro_01
|
||||
|
@ -198,7 +198,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Mouser_01),
|
||||
.yaw = 90,
|
||||
.drops = MOUSER_DROPS,
|
||||
.animations = MOUSER_BLUE_ANIMS,
|
||||
.animations = MOUSER_BLUE_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_Greeter,
|
||||
},
|
||||
{
|
||||
@ -209,7 +209,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Dryite_01),
|
||||
.yaw = 90,
|
||||
.drops = DRYITE_DROPS,
|
||||
.territory = {
|
||||
.territory = {
|
||||
.wander = {
|
||||
.isFlying = TRUE,
|
||||
.moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED,
|
||||
@ -232,7 +232,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Dryite_02),
|
||||
.yaw = 61,
|
||||
.drops = DRYITE_DROPS,
|
||||
.animations = DRYITE_BLUE_ANIMS,
|
||||
.animations = DRYITE_BLUE_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_DryiteD,
|
||||
},
|
||||
{
|
||||
@ -243,7 +243,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_HintDryite),
|
||||
.yaw = 74,
|
||||
.drops = DRYITE_DROPS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_DryiteB,
|
||||
},
|
||||
{
|
||||
@ -254,7 +254,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Dryite_04),
|
||||
.yaw = 257,
|
||||
.drops = DRYITE_DROPS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_DryiteC,
|
||||
},
|
||||
{
|
||||
@ -265,11 +265,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Composer),
|
||||
.yaw = 271,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Musician_Composer_Idle,
|
||||
ANIM_Musician_Composer_Still,
|
||||
ANIM_Musician_Composer_Still,
|
||||
@ -297,7 +297,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_ShopOwner),
|
||||
.yaw = 180,
|
||||
.drops = MOUSER_DROPS,
|
||||
.animations = MOUSER_PURPLE_ANIMS,
|
||||
.animations = MOUSER_PURPLE_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_ShopOwner,
|
||||
},
|
||||
{
|
||||
@ -392,7 +392,7 @@ StaticNpc N(ThreeSisterNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_ThreeSisters),
|
||||
.yaw = 62,
|
||||
.drops = TOADETTE_DROPS,
|
||||
.animations = TOADETTE_PINK_ANIMS,
|
||||
.animations = TOADETTE_PINK_ANIMS,
|
||||
.tattle = MSG_NpcTattle_TravelingMaidA,
|
||||
},
|
||||
{
|
||||
@ -403,7 +403,7 @@ StaticNpc N(ThreeSisterNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_ThreeSisters),
|
||||
.yaw = 63,
|
||||
.drops = TOADETTE_DROPS,
|
||||
.animations = TOADETTE_PINK_ANIMS,
|
||||
.animations = TOADETTE_PINK_ANIMS,
|
||||
.tattle = MSG_NpcTattle_TravelingMaidB,
|
||||
},
|
||||
{
|
||||
@ -414,7 +414,7 @@ StaticNpc N(ThreeSisterNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_ThreeSisters),
|
||||
.yaw = 244,
|
||||
.drops = TOADETTE_DROPS,
|
||||
.animations = TOADETTE_PINK_ANIMS,
|
||||
.animations = TOADETTE_PINK_ANIMS,
|
||||
.tattle = MSG_NpcTattle_TravelingMaidC,
|
||||
},
|
||||
};
|
||||
|
@ -2,12 +2,29 @@
|
||||
#define NAMESPACE dro_01_Shop
|
||||
|
||||
s32 N(ShopMessages)[] = {
|
||||
MSG_Shop_0049, MSG_Shop_004A, MSG_Shop_004B, MSG_Shop_004C,
|
||||
MSG_Shop_004D, MSG_Shop_004E, MSG_Shop_004F, MSG_Shop_0050,
|
||||
MSG_Shop_0051, MSG_Shop_0052, MSG_Shop_0053, MSG_Shop_0054,
|
||||
MSG_Shop_0055, MSG_Shop_0056, MSG_Shop_0057, MSG_Shop_0058,
|
||||
MSG_Shop_0059, MSG_Shop_005A, MSG_Shop_005B, MSG_Shop_005C,
|
||||
MSG_Shop_005D, MSG_Shop_005E, MSG_Shop_005F,
|
||||
MSG_Shop_0049,
|
||||
MSG_Shop_004A,
|
||||
MSG_Shop_004B,
|
||||
MSG_Shop_004C,
|
||||
MSG_Shop_004D,
|
||||
MSG_Shop_004E,
|
||||
MSG_Shop_004F,
|
||||
MSG_Shop_0050,
|
||||
MSG_Shop_0051,
|
||||
MSG_Shop_0052,
|
||||
MSG_Shop_0053,
|
||||
MSG_Shop_0054,
|
||||
MSG_Shop_0055,
|
||||
MSG_Shop_0056,
|
||||
MSG_Shop_0057,
|
||||
MSG_Shop_0058,
|
||||
MSG_Shop_0059,
|
||||
MSG_Shop_005A,
|
||||
MSG_Shop_005B,
|
||||
MSG_Shop_005C,
|
||||
MSG_Shop_005D,
|
||||
MSG_Shop_005E,
|
||||
MSG_Shop_005F,
|
||||
};
|
||||
|
||||
ShopItemData N(Inventory)[] = {
|
||||
|
@ -23,22 +23,22 @@
|
||||
#include "sprite/npc/Moustafa.h"
|
||||
|
||||
enum {
|
||||
NPC_Archeologist = 0,
|
||||
NPC_Dryite_01 = 1,
|
||||
NPC_DisguisedMoustafa = 2,
|
||||
NPC_Toad = 3,
|
||||
NPC_Merlee = 4,
|
||||
NPC_Moustafa = 5,
|
||||
NPC_Dryite_02 = 6,
|
||||
NPC_Mouser_01 = 7,
|
||||
NPC_Mouser_02 = 8,
|
||||
NPC_Mouser_03 = 9,
|
||||
NPC_ChuckQuizmo = 10,
|
||||
NPC_Dryite_03 = 11,
|
||||
NPC_Archeologist = 0,
|
||||
NPC_Dryite_01 = 1,
|
||||
NPC_DisguisedMoustafa = 2,
|
||||
NPC_Toad = 3,
|
||||
NPC_Merlee = 4,
|
||||
NPC_Moustafa = 5,
|
||||
NPC_Dryite_02 = 6,
|
||||
NPC_Mouser_01 = 7,
|
||||
NPC_Mouser_02 = 8,
|
||||
NPC_Mouser_03 = 9,
|
||||
NPC_ChuckQuizmo = 10,
|
||||
NPC_Dryite_03 = 11,
|
||||
};
|
||||
|
||||
enum {
|
||||
MF_Unk_00 = MapFlag(0),
|
||||
MF_Unk_00 = MapFlag(0),
|
||||
};
|
||||
|
||||
#define NAMESPACE dro_02
|
||||
|
@ -369,11 +369,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Archeologist),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.territory = { .temp = { -303, 0, 22, 146, 38, -32767, 1, 0, 0, 0, 0, 0, 0, 1 }},
|
||||
.territory = { .temp = { -303, 0, 22, 146, 38, -32767, 1, 0, 0, 0, 0, 0, 0, 1 }},
|
||||
.animations = {
|
||||
ANIM_Archeologist_Idle,
|
||||
ANIM_Archeologist_Walk,
|
||||
@ -402,7 +402,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_MrE),
|
||||
.yaw = 270,
|
||||
.drops = DRYITE_DROPS,
|
||||
.territory = { .temp = { -20, 0, 40, 60, 0, -32767, 0, 0, 0, 0, 0, 0, 0, 1 }},
|
||||
.territory = { .temp = { -20, 0, 40, 60, 0, -32767, 0, 0, 0, 0, 0, 0, 0, 1 }},
|
||||
.animations = DRYITE_BLUE_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_DryiteE,
|
||||
},
|
||||
@ -414,11 +414,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_DisguisedMoustafa),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_DisguisedMoustafa_Idle,
|
||||
ANIM_DisguisedMoustafa_Idle,
|
||||
ANIM_DisguisedMoustafa_Idle,
|
||||
@ -446,7 +446,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_ToadHouseKeeper),
|
||||
.yaw = 180,
|
||||
.drops = TOAD_DROPS,
|
||||
.animations = TOAD_RED_ANIMS,
|
||||
.animations = TOAD_RED_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_ToadHouseToad,
|
||||
},
|
||||
{
|
||||
@ -457,11 +457,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcAuxAI_Merlee),
|
||||
.yaw = 180,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_WorldMerlee_Idle,
|
||||
ANIM_WorldMerlee_Walk,
|
||||
ANIM_WorldMerlee_Run,
|
||||
@ -489,11 +489,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Moustafa),
|
||||
.yaw = 0,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = {
|
||||
.animations = {
|
||||
ANIM_Moustafa_Idle,
|
||||
ANIM_Moustafa_Idle,
|
||||
ANIM_Moustafa_Run,
|
||||
@ -521,7 +521,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Dryite_02),
|
||||
.yaw = 270,
|
||||
.drops = DRYITE_DROPS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_DryiteF,
|
||||
},
|
||||
{
|
||||
@ -532,7 +532,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Dryite_03),
|
||||
.yaw = 270,
|
||||
.drops = DRYITE_DROPS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.animations = DRYITE_GREEN_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_VisitedShootingStarSummit,
|
||||
},
|
||||
{
|
||||
@ -543,11 +543,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Mouser_01),
|
||||
.yaw = 180,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = MOUSER_BLUE_ANIMS,
|
||||
.animations = MOUSER_BLUE_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_CrushingOnMerlee,
|
||||
},
|
||||
{
|
||||
@ -558,11 +558,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Mouser_02),
|
||||
.yaw = 270,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = MOUSER_BLUE_ANIMS,
|
||||
.animations = MOUSER_BLUE_ANIMS,
|
||||
.tattle = MSG_NpcTattle_DRO_TellsTales,
|
||||
},
|
||||
{
|
||||
@ -573,11 +573,11 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.init = &N(EVS_NpcInit_Mouser_03),
|
||||
.yaw = 90,
|
||||
.drops = {
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.dropFlags = NPC_DROP_FLAGS_80,
|
||||
.heartDrops = NO_DROPS,
|
||||
.flowerDrops = NO_DROPS,
|
||||
},
|
||||
.animations = MOUSER_PURPLE_ANIMS,
|
||||
.animations = MOUSER_PURPLE_ANIMS,
|
||||
},
|
||||
{
|
||||
.id = NPC_ChuckQuizmo,
|
||||
@ -588,7 +588,7 @@ StaticNpc N(PassiveNPCs)[] = {
|
||||
.initVar = { .bytes = { 0, QUIZ_AREA_DRO, QUIZ_COUNT_DRO, QUIZ_MAP_DRO_02 } },
|
||||
.yaw = 270,
|
||||
.drops = QUIZMO_DROPS,
|
||||
.animations = QUIZMO_ANIMS,
|
||||
.animations = QUIZMO_ANIMS,
|
||||
.tattle = MSG_NpcTattle_ChuckQuizmo,
|
||||
},
|
||||
};
|
||||
|
@ -113,7 +113,7 @@ enum {
|
||||
|
||||
enum {
|
||||
PARADE_START = -3135,
|
||||
PARADE_PHASE_SKATERS = -3000,
|
||||
PARADE_PHASE_SKATERS = -3000,
|
||||
PARADE_PHASE_MAYOR = -2950,
|
||||
PARADE_PHASE_OPERA = -2945,
|
||||
PARADE_PHASE_WIZARDS = -2450,
|
||||
|
@ -14,17 +14,17 @@
|
||||
#include "sprite/npc/WorldParakarry.h"
|
||||
|
||||
enum {
|
||||
NPC_Dummy_Wisterwood = 0,
|
||||
NPC_Bubulb_01 = 1,
|
||||
NPC_Bubulb_02 = 2,
|
||||
NPC_Bubulb_03 = 3,
|
||||
NPC_Bubulb_04 = 4,
|
||||
NPC_Tolielup = 5,
|
||||
NPC_Klevar = 6,
|
||||
NPC_Lakilulu = 7,
|
||||
NPC_Lakilester_Epilogue = 0,
|
||||
NPC_Lakilulu_Epilogue = 1,
|
||||
NPC_Parakarry_Epilogue = 2,
|
||||
NPC_Dummy_Wisterwood = 0,
|
||||
NPC_Bubulb_01 = 1,
|
||||
NPC_Bubulb_02 = 2,
|
||||
NPC_Bubulb_03 = 3,
|
||||
NPC_Bubulb_04 = 4,
|
||||
NPC_Tolielup = 5,
|
||||
NPC_Klevar = 6,
|
||||
NPC_Lakilulu = 7,
|
||||
NPC_Lakilester_Epilogue = 0,
|
||||
NPC_Lakilulu_Epilogue = 1,
|
||||
NPC_Parakarry_Epilogue = 2,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -10,7 +10,7 @@ NpcSettings N(NpcSettings_Dummy) = {
|
||||
#include "world/common/npc/Tolielup.inc.c"
|
||||
#include "world/common/npc/StarSpirit.inc.c"
|
||||
|
||||
API_CALLABLE(N(UpgradeStarPower)) {
|
||||
API_CALLABLE(N(UpgradeStarPowerCh6)) {
|
||||
set_max_SP(6);
|
||||
gPlayerData.curHP = gPlayerData.curMaxHP;
|
||||
gPlayerData.curFP = gPlayerData.curMaxFP;
|
||||
@ -498,7 +498,7 @@ EvtScript N(EVS_Scene_RescuedKlevar) = {
|
||||
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
|
||||
EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Idle)
|
||||
EVT_CALL(EnableNpcAI, NPC_Klevar, TRUE)
|
||||
EVT_CALL(N(UpgradeStarPower))
|
||||
EVT_CALL(N(UpgradeStarPowerCh6))
|
||||
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0196, 160, 40)
|
||||
EVT_WAIT(10)
|
||||
EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2)
|
||||
|
@ -14,12 +14,12 @@
|
||||
#include "sprite/npc/Dayzee.h"
|
||||
|
||||
enum {
|
||||
NPC_Petunia = 0,
|
||||
NPC_Dayzee = 1,
|
||||
NPC_MontyMole_01 = 2,
|
||||
NPC_MontyMole_02 = 3,
|
||||
NPC_MontyMole_03 = 4,
|
||||
NPC_MontyMole_04 = 5,
|
||||
NPC_Petunia = 0,
|
||||
NPC_Dayzee = 1,
|
||||
NPC_MontyMole_01 = 2,
|
||||
NPC_MontyMole_02 = 3,
|
||||
NPC_MontyMole_03 = 4,
|
||||
NPC_MontyMole_04 = 5,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -10,11 +10,11 @@
|
||||
#include "mapfs/flo_07_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Posie = 0,
|
||||
NPC_Posie = 0,
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_GroundShakingScript = MapVar(0),
|
||||
MV_GroundShakingScript = MapVar(0),
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_07
|
||||
|
@ -10,15 +10,15 @@
|
||||
#include "mapfs/flo_08_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_GateFlower = 0,
|
||||
NPC_Dayzee_01 = 1,
|
||||
NPC_Dayzee_02 = 2,
|
||||
NPC_Dayzee_03 = 3,
|
||||
NPC_Dayzee_04 = 4,
|
||||
NPC_Dayzee_05 = 5,
|
||||
NPC_Dayzee_06 = 6,
|
||||
NPC_Dayzee_07 = 7,
|
||||
NPC_AmazyDayzee = 8,
|
||||
NPC_GateFlower = 0,
|
||||
NPC_Dayzee_01 = 1,
|
||||
NPC_Dayzee_02 = 2,
|
||||
NPC_Dayzee_03 = 3,
|
||||
NPC_Dayzee_04 = 4,
|
||||
NPC_Dayzee_05 = 5,
|
||||
NPC_Dayzee_06 = 6,
|
||||
NPC_Dayzee_07 = 7,
|
||||
NPC_AmazyDayzee = 8,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -13,10 +13,10 @@
|
||||
#include "sprite/npc/Bzzap.h"
|
||||
|
||||
enum {
|
||||
NPC_Dayzee_01 = 0,
|
||||
NPC_Dayzee_02 = 1,
|
||||
NPC_Bzzap_01 = 2,
|
||||
NPC_Bzzap_02 = 3,
|
||||
NPC_Dayzee_01 = 0,
|
||||
NPC_Dayzee_02 = 1,
|
||||
NPC_Bzzap_01 = 2,
|
||||
NPC_Bzzap_02 = 3,
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_09
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "mapfs/flo_10_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Lily = 0,
|
||||
NPC_Lily = 0,
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_10
|
||||
|
@ -10,8 +10,8 @@
|
||||
#include "mapfs/flo_11_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Lakitu_01 = 0,
|
||||
NPC_Lakitu_02 = 1,
|
||||
NPC_Lakitu_01 = 0,
|
||||
NPC_Lakitu_02 = 1,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -10,8 +10,8 @@
|
||||
#include "mapfs/flo_12_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Rosie = 0,
|
||||
NPC_Dummy = 1,
|
||||
NPC_Rosie = 0,
|
||||
NPC_Dummy = 1,
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_12
|
||||
|
@ -15,21 +15,21 @@
|
||||
#include "sprite/npc/Spiny.h"
|
||||
|
||||
enum {
|
||||
NPC_Lakilester = 0,
|
||||
NPC_Lakilulu = 1,
|
||||
NPC_Lakilulu_Spiny = 2,
|
||||
NPC_Lakitu_01 = 3,
|
||||
NPC_Lakitu_02 = 4,
|
||||
NPC_Spiny_01 = 50,
|
||||
NPC_Spiny_02 = 51,
|
||||
NPC_Spiny_03 = 52,
|
||||
NPC_Spiny_04 = 53,
|
||||
NPC_Spiny_05 = 54,
|
||||
NPC_Spiny_06 = 55,
|
||||
NPC_Lakilester = 0,
|
||||
NPC_Lakilulu = 1,
|
||||
NPC_Lakilulu_Spiny = 2,
|
||||
NPC_Lakitu_01 = 3,
|
||||
NPC_Lakitu_02 = 4,
|
||||
NPC_Spiny_01 = 50,
|
||||
NPC_Spiny_02 = 51,
|
||||
NPC_Spiny_03 = 52,
|
||||
NPC_Spiny_04 = 53,
|
||||
NPC_Spiny_05 = 54,
|
||||
NPC_Spiny_06 = 55,
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_LakiluluSpinySceneState = MapVar(10),
|
||||
MV_LakiluluSpinySceneState = MapVar(10),
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_13
|
||||
|
@ -13,8 +13,8 @@
|
||||
#include "sprite/npc/Bzzap.h"
|
||||
|
||||
enum {
|
||||
NPC_BubbleFlower = 0,
|
||||
NPC_Bzzap = 1,
|
||||
NPC_BubbleFlower = 0,
|
||||
NPC_Bzzap = 1,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -12,8 +12,8 @@
|
||||
#include "sprite/npc/Sun.h"
|
||||
|
||||
enum {
|
||||
NPC_Sun_01 = 10,
|
||||
NPC_Sun_02 = 11,
|
||||
NPC_Sun_01 = 10,
|
||||
NPC_Sun_02 = 11,
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_15
|
||||
|
@ -12,12 +12,12 @@
|
||||
#include "sprite/npc/TuffPuff.h"
|
||||
|
||||
enum {
|
||||
NPC_TuffPuff_01 = 0,
|
||||
NPC_TuffPuff_02 = 1,
|
||||
NPC_TuffPuff_01 = 0,
|
||||
NPC_TuffPuff_02 = 1,
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_SuperBlock = MapVar(0),
|
||||
MV_SuperBlock = MapVar(0),
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_16
|
||||
|
@ -10,12 +10,12 @@
|
||||
#include "mapfs/flo_17_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Lakitu_01 = 0,
|
||||
NPC_Lakitu_02 = 1,
|
||||
NPC_Spiny_01 = 50,
|
||||
NPC_Spiny_02 = 51,
|
||||
NPC_Spiny_03 = 52,
|
||||
NPC_Spiny_04 = 53,
|
||||
NPC_Lakitu_01 = 0,
|
||||
NPC_Lakitu_02 = 1,
|
||||
NPC_Spiny_01 = 50,
|
||||
NPC_Spiny_02 = 51,
|
||||
NPC_Spiny_03 = 52,
|
||||
NPC_Spiny_04 = 53,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -12,21 +12,21 @@
|
||||
#include "sprite/npc/WorldLakilester.h"
|
||||
|
||||
enum {
|
||||
NPC_Lakitu_01 = 0,
|
||||
NPC_Lakitu_02 = 1,
|
||||
NPC_Lakitu_03 = 2,
|
||||
NPC_Magikoopa = 3,
|
||||
NPC_FlyingMagikoopa = 4,
|
||||
NPC_Lakitu_01 = 0,
|
||||
NPC_Lakitu_02 = 1,
|
||||
NPC_Lakitu_03 = 2,
|
||||
NPC_Magikoopa = 3,
|
||||
NPC_FlyingMagikoopa = 4,
|
||||
};
|
||||
|
||||
enum {
|
||||
MF_HitGuardedMachine = MapFlag(1),
|
||||
MF_MachineShaking = MapFlag(2),
|
||||
MF_MachineBeingDamaged = MapFlag(3),
|
||||
MF_HitGuardedMachine = MapFlag(1),
|
||||
MF_MachineShaking = MapFlag(2),
|
||||
MF_MachineBeingDamaged = MapFlag(3),
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_ReactingNpc = MapVar(10),
|
||||
MV_ReactingNpc = MapVar(10),
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_18
|
||||
|
@ -10,36 +10,36 @@
|
||||
#include "mapfs/flo_21_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_HuffNPuff_01 = 0,
|
||||
NPC_HuffNPuff_02 = 1,
|
||||
NPC_HuffNPuff_03 = 2,
|
||||
NPC_TuffPuff_01 = 3,
|
||||
NPC_TuffPuff_02 = 4,
|
||||
NPC_TuffPuff_03 = 5,
|
||||
NPC_TuffPuff_04 = 6,
|
||||
NPC_TuffPuff_05 = 7,
|
||||
NPC_TuffPuff_06 = 8,
|
||||
NPC_TuffPuff_07 = 9,
|
||||
NPC_TuffPuff_08 = 10,
|
||||
NPC_TuffPuff_09 = 11,
|
||||
NPC_TuffPuff_10 = 12,
|
||||
NPC_TuffPuff_11 = 13,
|
||||
NPC_TuffPuff_12 = 14,
|
||||
NPC_TuffPuff_13 = 15,
|
||||
NPC_TuffPuff_14 = 16,
|
||||
NPC_TuffPuff_15 = 17,
|
||||
NPC_HuffNPuff_01 = 0,
|
||||
NPC_HuffNPuff_02 = 1,
|
||||
NPC_HuffNPuff_03 = 2,
|
||||
NPC_TuffPuff_01 = 3,
|
||||
NPC_TuffPuff_02 = 4,
|
||||
NPC_TuffPuff_03 = 5,
|
||||
NPC_TuffPuff_04 = 6,
|
||||
NPC_TuffPuff_05 = 7,
|
||||
NPC_TuffPuff_06 = 8,
|
||||
NPC_TuffPuff_07 = 9,
|
||||
NPC_TuffPuff_08 = 10,
|
||||
NPC_TuffPuff_09 = 11,
|
||||
NPC_TuffPuff_10 = 12,
|
||||
NPC_TuffPuff_11 = 13,
|
||||
NPC_TuffPuff_12 = 14,
|
||||
NPC_TuffPuff_13 = 15,
|
||||
NPC_TuffPuff_14 = 16,
|
||||
NPC_TuffPuff_15 = 17,
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_Unk_00 = MapVar(0),
|
||||
MV_Unk_01 = MapVar(1),
|
||||
MV_Unk_02 = MapVar(2),
|
||||
MV_Unk_03 = MapVar(3),
|
||||
MV_Unk_04 = MapVar(4),
|
||||
MV_BossDefeated = MapVar(10),
|
||||
MV_HuffScaleX = MapVar(11),
|
||||
MV_HuffScaleY = MapVar(12),
|
||||
MV_BossFightState = MapVar(13),
|
||||
MV_Unk_00 = MapVar(0),
|
||||
MV_Unk_01 = MapVar(1),
|
||||
MV_Unk_02 = MapVar(2),
|
||||
MV_Unk_03 = MapVar(3),
|
||||
MV_Unk_04 = MapVar(4),
|
||||
MV_BossDefeated = MapVar(10),
|
||||
MV_HuffScaleX = MapVar(11),
|
||||
MV_HuffScaleY = MapVar(12),
|
||||
MV_BossFightState = MapVar(13),
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_21
|
||||
|
@ -13,9 +13,9 @@
|
||||
#include "sprite/npc/Dayzee.h"
|
||||
|
||||
enum {
|
||||
NPC_Dummy = 0, // reused as a dummy for tossing badge out of the well
|
||||
NPC_Bzzap = 0,
|
||||
NPC_Dayzee = 1,
|
||||
NPC_Dummy = 0, // reused as a dummy for tossing badge out of the well
|
||||
NPC_Bzzap = 0,
|
||||
NPC_Dayzee = 1,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -10,9 +10,9 @@
|
||||
#include "mapfs/flo_23_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_Spiny_01 = 0,
|
||||
NPC_Spiny_02 = 1,
|
||||
NPC_GateFlower = 2,
|
||||
NPC_Spiny_01 = 0,
|
||||
NPC_Spiny_02 = 1,
|
||||
NPC_GateFlower = 2,
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_23
|
||||
|
@ -10,9 +10,9 @@
|
||||
#include "mapfs/flo_25_hit.h"
|
||||
|
||||
enum {
|
||||
NPC_GateFlower = 0,
|
||||
NPC_TuffPuff = 1,
|
||||
NPC_Bzzap = 2,
|
||||
NPC_GateFlower = 0,
|
||||
NPC_TuffPuff = 1,
|
||||
NPC_Bzzap = 2,
|
||||
};
|
||||
|
||||
#define NAMESPACE flo_25
|
||||
|
@ -1,7 +1,5 @@
|
||||
#include "hos_00.h"
|
||||
|
||||
extern char wMapBgName[];
|
||||
|
||||
ApiStatus func_80240000_A0BCF0(Evt* script, s32 isInitialCall) {
|
||||
if (gGameStatusPtr->entryID == 3) {
|
||||
sprintf(wMapBgName, "hos_bg\0\0\0\0\0\0\0\0\0");
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "common.h"
|
||||
#include "sprite/npc/StoneChomp.h"
|
||||
|
||||
ApiStatus N(StoneChompFXA)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(StoneChompFXA)) {
|
||||
NpcBlueprint bp;
|
||||
NpcBlueprint* bpPtr = &bp;
|
||||
NpcChompBlur* blurData;
|
||||
@ -34,7 +34,7 @@ ApiStatus N(StoneChompFXA)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
ApiStatus N(StoneChompFXB)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(StoneChompFXB)) {
|
||||
NpcChompBlur* blurData;
|
||||
Npc* ownerNpc;
|
||||
Npc* childNpc;
|
||||
@ -110,7 +110,7 @@ ApiStatus N(StoneChompFXB)(Evt* script, s32 isInitialCall) {
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
|
||||
ApiStatus N(StoneChompFXC)(Evt* script, s32 isInitialCall) {
|
||||
API_CALLABLE(N(StoneChompFXC)) {
|
||||
NpcChompBlur* blurData = get_npc_safe(script->owner2.npcID)->blur.chomp;
|
||||
s32 i;
|
||||
|
||||
|
@ -2,24 +2,62 @@
|
||||
#define _WORLD_AREA_ISK_ISK_H_
|
||||
|
||||
enum {
|
||||
AB_ISK_0 = AreaByte(0),
|
||||
AB_ISK_1 = AreaByte(1),
|
||||
AB_ISK_2 = AreaByte(2),
|
||||
AB_ISK_3 = AreaByte(3),
|
||||
AB_ISK_4 = AreaByte(4),
|
||||
AB_ISK_5 = AreaByte(5),
|
||||
AB_ISK_6 = AreaByte(6),
|
||||
AB_ISK_7 = AreaByte(7),
|
||||
AB_ISK_8 = AreaByte(8),
|
||||
AB_ISK_9 = AreaByte(9),
|
||||
AB_ISK_A = AreaByte(10),
|
||||
AB_ISK_B = AreaByte(11),
|
||||
AB_ISK_C = AreaByte(12),
|
||||
AB_ISK_D = AreaByte(13),
|
||||
AB_ISK_E = AreaByte(14),
|
||||
AB_ISK_F = AreaByte(15),
|
||||
AB_ISK_0 = AreaByte(0),
|
||||
AB_ISK_1 = AreaByte(1),
|
||||
AB_ISK_2 = AreaByte(2),
|
||||
AB_ISK_3 = AreaByte(3),
|
||||
AB_ISK_4 = AreaByte(4),
|
||||
AB_ISK_5 = AreaByte(5),
|
||||
AB_ISK_6 = AreaByte(6),
|
||||
AB_ISK_7 = AreaByte(7),
|
||||
AB_ISK_8 = AreaByte(8),
|
||||
AB_ISK_9 = AreaByte(9),
|
||||
AB_ISK_A = AreaByte(10),
|
||||
AB_ISK_B = AreaByte(11),
|
||||
AB_ISK_C = AreaByte(12),
|
||||
AB_ISK_D = AreaByte(13),
|
||||
AB_ISK_E = AreaByte(14),
|
||||
AB_ISK_F = AreaByte(15),
|
||||
};
|
||||
|
||||
#define AF_ISK(index) AreaFlag(index)
|
||||
enum {
|
||||
AF_ISK03_SandSwitchActivated = AreaFlag(1),
|
||||
AF_ISK06_SandSwitchActivated = AreaFlag(2),
|
||||
AF_ISK12_SandSwitchActivated = AreaFlag(3),
|
||||
AF_ISK02_Sarcophagus1Opened = AreaFlag(4),
|
||||
AF_ISK02_Sarcophagus2Opened = AreaFlag(5),
|
||||
AF_ISK02_Sarcophagus3Opened = AreaFlag(6),
|
||||
AF_ISK02_OpeningSarcophagus1 = AreaFlag(7),
|
||||
AF_ISK02_OpeningSarcophagus2 = AreaFlag(8),
|
||||
AF_ISK02_OpeningSarcophagus3 = AreaFlag(9),
|
||||
AF_ISK07_OpeningSarcophagus1 = AreaFlag(10),
|
||||
AF_ISK07_OpeningSarcophagus2 = AreaFlag(11),
|
||||
AF_ISK07_OpeningSarcophagus3 = AreaFlag(12),
|
||||
AF_ISK07_MummiesReleased = AreaFlag(13),
|
||||
AF_ISK07_FlippingRedStairs = AreaFlag(14),
|
||||
AF_ISK09_FlippingBlueStairs = AreaFlag(15),
|
||||
AF_ISK09_FlippingRedStairs = AreaFlag(16),
|
||||
AF_ISK05_StoneChompDefeated = AreaFlag(17),
|
||||
AF_ISK12_StairSwitchActivated = AreaFlag(18),
|
||||
AF_ISK14_StoneChompDefeated = AreaFlag(19),
|
||||
};
|
||||
|
||||
extern MapSettings isk_01_settings;
|
||||
extern MapSettings isk_02_settings;
|
||||
extern MapSettings isk_03_settings;
|
||||
extern MapSettings isk_04_settings;
|
||||
extern MapSettings isk_05_settings;
|
||||
extern MapSettings isk_06_settings;
|
||||
extern MapSettings isk_07_settings;
|
||||
extern MapSettings isk_08_settings;
|
||||
extern MapSettings isk_09_settings;
|
||||
extern MapSettings isk_10_settings;
|
||||
extern MapSettings isk_11_settings;
|
||||
extern MapSettings isk_12_settings;
|
||||
extern MapSettings isk_13_settings;
|
||||
extern MapSettings isk_14_settings;
|
||||
extern MapSettings isk_16_settings;
|
||||
extern MapSettings isk_18_settings;
|
||||
extern MapSettings isk_19_settings;
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +0,0 @@
|
||||
#include "isk_01.h"
|
||||
|
||||
static char* N(exit_str_0) = "sbk_02";
|
||||
static char* N(exit_str_1) = "isk_02";
|
||||
|
@ -2,8 +2,16 @@
|
||||
/// @brief Dry Dry Ruins - Entrance
|
||||
|
||||
#include "common.h"
|
||||
#include "../isk.h"
|
||||
#include "message_ids.h"
|
||||
#include "map.h"
|
||||
|
||||
#include "../isk.h"
|
||||
#include "mapfs/isk_01_shape.h"
|
||||
#include "mapfs/isk_01_hit.h"
|
||||
|
||||
#define NAMESPACE isk_01
|
||||
|
||||
extern EvtScript N(EVS_Main);
|
||||
extern EvtScript N(EVS_SetupMusic);
|
||||
extern EvtScript N(EVS_SetupHaze);
|
||||
extern EvtScript N(EVS_MakeEntities);
|
||||
|
14
src/world/area_isk/isk_01/isk_01_0_header.c
Normal file
14
src/world/area_isk/isk_01/isk_01_0_header.c
Normal file
@ -0,0 +1,14 @@
|
||||
#include "isk_01.h"
|
||||
|
||||
EntryList N(Entrances) = {
|
||||
[isk_01_ENTRY_0] { -576.0, 0.0, -71.0, 179.0 },
|
||||
[isk_01_ENTRY_1] { -555.0, 0.0, 170.0, 350.0 },
|
||||
};
|
||||
|
||||
MapSettings N(settings) = {
|
||||
.main = &N(EVS_Main),
|
||||
.entryList = &N(Entrances),
|
||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||
.background = &gBackgroundImage,
|
||||
.tattle = { MSG_MapTattle_isk_01 },
|
||||
};
|
31
src/world/area_isk/isk_01/isk_01_1_music.c
Normal file
31
src/world/area_isk/isk_01/isk_01_1_music.c
Normal file
@ -0,0 +1,31 @@
|
||||
#include "isk_01.h"
|
||||
|
||||
EvtScript N(EVS_SetupMusic) = {
|
||||
EVT_IF_EQ(GF_ISK01_FirstWarning, FALSE)
|
||||
EVT_THREAD
|
||||
EVT_CALL(FadeInMusic, 1, SONG_TUTANKOOPA_WARNING, 0, 2000, 0, 127)
|
||||
EVT_CALL(FadeOutMusic, 0, 2000)
|
||||
EVT_CALL(DisablePlayerInput, TRUE)
|
||||
EVT_WAIT(20)
|
||||
EVT_SET_GROUP(EVT_GROUP_00)
|
||||
EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL)
|
||||
EVT_CALL(ShowMessageAtScreenPos, MSG_CH2_00DD, 160, 40)
|
||||
EVT_SET(GF_ISK01_FirstWarning, TRUE)
|
||||
EVT_CALL(DisablePlayerInput, FALSE)
|
||||
EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL)
|
||||
EVT_CALL(FadeInMusic, 0, SONG_DRY_DRY_RUINS, 0, 2000, 0, 127)
|
||||
EVT_CALL(FadeOutMusic, 1, 2000)
|
||||
EVT_END_THREAD
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_SWITCH(GB_StoryProgress)
|
||||
EVT_CASE_LT(STORY_CH2_SOLVED_ARTIFACT_PUZZLE)
|
||||
EVT_CALL(SetMusicTrack, 0, SONG_DRY_DRY_RUINS, 0, 8)
|
||||
EVT_CASE_LT(STORY_CH2_DEFEATED_TUTANKOOPA)
|
||||
EVT_CALL(SetMusicTrack, 0, SONG_RUINS_BASEMENT, 0, 8)
|
||||
EVT_CASE_GE(STORY_CH2_DEFEATED_TUTANKOOPA)
|
||||
EVT_CALL(SetMusicTrack, 0, SONG_DRY_DRY_RUINS, 0, 8)
|
||||
EVT_END_SWITCH
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
38
src/world/area_isk/isk_01/isk_01_2_main.c
Normal file
38
src/world/area_isk/isk_01/isk_01_2_main.c
Normal file
@ -0,0 +1,38 @@
|
||||
#include "isk_01.h"
|
||||
|
||||
EvtScript N(D_80240220_978360) = EVT_EXIT_WALK(40, isk_01_ENTRY_0, "sbk_02", sbk_02_ENTRY_4);
|
||||
EvtScript N(D_8024027C_9783BC) = EVT_EXIT_WALK(40, isk_01_ENTRY_1, "isk_02", isk_02_ENTRY_0);
|
||||
|
||||
EvtScript N(EVS_BindExitTriggers) = {
|
||||
EVT_BIND_TRIGGER(EVT_PTR(N(D_80240220_978360)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0)
|
||||
EVT_BIND_TRIGGER(EVT_PTR(N(D_8024027C_9783BC)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilie, 1, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_EnterMap) = {
|
||||
EVT_CALL(GetLoadType, LVar1)
|
||||
EVT_IF_EQ(LVar1, LOAD_FROM_FILE_SELECT)
|
||||
EVT_EXEC(EnterSavePoint)
|
||||
EVT_EXEC(N(EVS_BindExitTriggers))
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers)))
|
||||
EVT_EXEC(EnterWalk)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_Main) = {
|
||||
EVT_SET(GB_WorldLocation, LOCATION_DRY_DRY_RUINS)
|
||||
EVT_CALL(SetSpriteShading, SHADING_NONE)
|
||||
EVT_SETUP_CAMERA_ALT_NO_LEAD()
|
||||
EVT_SET(GF_MAP_DryDryRuins, TRUE)
|
||||
EVT_EXEC_WAIT(N(EVS_MakeEntities))
|
||||
EVT_EXEC(N(EVS_SetupMusic))
|
||||
EVT_EXEC(N(EVS_SetupHaze))
|
||||
EVT_EXEC(N(EVS_EnterMap))
|
||||
EVT_WAIT(1)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
24
src/world/area_isk/isk_01/isk_01_3_haze.c
Normal file
24
src/world/area_isk/isk_01/isk_01_3_haze.c
Normal file
@ -0,0 +1,24 @@
|
||||
#include "isk_01.h"
|
||||
|
||||
Gfx N(HazePreGfx)[] = {
|
||||
gsDPSetAlphaDither(G_AD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
EvtScript N(EVS_SetupHaze) = {
|
||||
EVT_CALL(SetTexPanner, MODEL_o99, TEX_PANNER_2)
|
||||
EVT_CALL(EnableTexPanning, MODEL_o99, TRUE)
|
||||
EVT_SET(LVar0, 0)
|
||||
EVT_CALL(SetCustomGfx, 0, EVT_PTR(N(HazePreGfx)), NULL)
|
||||
EVT_CALL(SetModelFlags, MODEL_o99, MODEL_FLAGS_USES_CUSTOM_GFX, TRUE)
|
||||
EVT_LABEL(0)
|
||||
EVT_ADD(LVar0, 70)
|
||||
EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_MAIN, LVar0, 0)
|
||||
EVT_IF_GT(LVar0, 0x4000)
|
||||
EVT_ADD(LVar0, -0x4000)
|
||||
EVT_END_IF
|
||||
EVT_WAIT(1)
|
||||
EVT_GOTO(0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
8
src/world/area_isk/isk_01/isk_01_4_entity.c
Normal file
8
src/world/area_isk/isk_01/isk_01_4_entity.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "isk_01.h"
|
||||
#include "entity.h"
|
||||
|
||||
EvtScript N(EVS_MakeEntities) = {
|
||||
EVT_CALL(MakeEntity, EVT_PTR(Entity_SavePoint), -530, 60, 43, 0, MAKE_ENTITY_END)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
@ -1,6 +0,0 @@
|
||||
#include "isk_02.h"
|
||||
|
||||
static char* N(exit_str_0) = "isk_01";
|
||||
static char* N(exit_str_1) = "isk_03";
|
||||
|
||||
#include "world/common/todo/RemovePadlock.inc.c"
|
@ -1,14 +0,0 @@
|
||||
#include "isk_02.h"
|
||||
|
||||
ApiStatus func_80240040_978750(Evt* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
f32 x = evt_get_variable(script, *args++);
|
||||
f32 y = evt_get_variable(script, *args++);
|
||||
|
||||
if (dist2D(x, y, gPlayerStatus.position.x, gPlayerStatus.position.z) > 250.0f) {
|
||||
script->varTable[0] = FALSE;
|
||||
} else {
|
||||
script->varTable[0] = TRUE;
|
||||
}
|
||||
return ApiStatus_DONE2;
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
#include "isk_02.h"
|
||||
#include "world/common/todo/SetNpcB5_3.inc.c"
|
@ -2,8 +2,29 @@
|
||||
/// @brief Dry Dry Ruins - Sarcophagus Hall 1
|
||||
|
||||
#include "common.h"
|
||||
#include "../isk.h"
|
||||
#include "message_ids.h"
|
||||
#include "map.h"
|
||||
|
||||
#include "../isk.h"
|
||||
#include "mapfs/isk_02_shape.h"
|
||||
#include "mapfs/isk_02_hit.h"
|
||||
|
||||
#include "sprite/npc/Pokey.h"
|
||||
|
||||
enum {
|
||||
NPC_Pokey_01 = 0,
|
||||
NPC_Pokey_02 = 1,
|
||||
NPC_Pokey_03 = 2,
|
||||
};
|
||||
|
||||
enum {
|
||||
MV_EntityID_Padlock = MapVar(0),
|
||||
};
|
||||
|
||||
#define NAMESPACE isk_02
|
||||
|
||||
extern EvtScript N(EVS_Main);
|
||||
extern EvtScript N(EVS_SetupLock);
|
||||
extern EvtScript N(EVS_SetupSarcophagi);
|
||||
extern EvtScript N(EVS_MakeEntities);
|
||||
extern NpcGroupList N(DefaultNPCs);
|
||||
|
15
src/world/area_isk/isk_02/isk_02_0_header.c
Normal file
15
src/world/area_isk/isk_02/isk_02_0_header.c
Normal file
@ -0,0 +1,15 @@
|
||||
#include "isk_02.h"
|
||||
|
||||
EntryList N(Entrances) = {
|
||||
[isk_02_ENTRY_0] { -484.0, 0.0, 302.0, 140.0 },
|
||||
[isk_02_ENTRY_1] { 258.0, 50.0, 486.0, 250.0 },
|
||||
[isk_02_ENTRY_2] { 283.0, -80.0, 530.0, 250.0 },
|
||||
};
|
||||
|
||||
MapSettings N(settings) = {
|
||||
.main = &N(EVS_Main),
|
||||
.entryList = &N(Entrances),
|
||||
.entryCount = ENTRY_COUNT(N(Entrances)),
|
||||
.background = &gBackgroundImage,
|
||||
.tattle = { MSG_MapTattle_isk_02 },
|
||||
};
|
35
src/world/area_isk/isk_02/isk_02_1_main.c
Normal file
35
src/world/area_isk/isk_02/isk_02_1_main.c
Normal file
@ -0,0 +1,35 @@
|
||||
#include "isk_02.h"
|
||||
|
||||
EvtScript N(EVS_ExitWalk_isk_01_1) = EVT_EXIT_WALK(40, isk_02_ENTRY_0, "isk_01", isk_01_ENTRY_1);
|
||||
EvtScript N(EVS_ExitWalk_isk_03_0) = EVT_EXIT_WALK(40, isk_02_ENTRY_1, "isk_03", isk_03_ENTRY_0);
|
||||
EvtScript N(EVS_ExitWalk_isk_03_1) = EVT_EXIT_WALK(40, isk_02_ENTRY_2, "isk_03", isk_03_ENTRY_1);
|
||||
|
||||
EvtScript N(EVS_BindExitTriggers) = {
|
||||
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_isk_01_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0)
|
||||
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_isk_03_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiline, 1, 0)
|
||||
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_isk_03_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilie, 1, 0)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_Main) = {
|
||||
EVT_SET(GB_WorldLocation, LOCATION_DRY_DRY_RUINS)
|
||||
EVT_CALL(SetSpriteShading, SHADING_NONE)
|
||||
EVT_SETUP_CAMERA_ALT_NO_LEAD()
|
||||
EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs)))
|
||||
EVT_EXEC_WAIT(N(EVS_MakeEntities))
|
||||
EVT_EXEC_WAIT(N(EVS_SetupLock))
|
||||
EVT_EXEC(N(EVS_SetupSarcophagi))
|
||||
EVT_SWITCH(GB_StoryProgress)
|
||||
EVT_CASE_LT(STORY_CH2_SOLVED_ARTIFACT_PUZZLE)
|
||||
EVT_CALL(SetMusicTrack, 0, SONG_DRY_DRY_RUINS, 0, 8)
|
||||
EVT_CASE_LT(STORY_CH2_DEFEATED_TUTANKOOPA)
|
||||
EVT_CALL(SetMusicTrack, 0, SONG_RUINS_BASEMENT, 0, 8)
|
||||
EVT_CASE_GE(STORY_CH2_DEFEATED_TUTANKOOPA)
|
||||
EVT_CALL(SetMusicTrack, 0, SONG_DRY_DRY_RUINS, 0, 8)
|
||||
EVT_END_SWITCH
|
||||
EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers)))
|
||||
EVT_EXEC(EnterWalk)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
54
src/world/area_isk/isk_02/isk_02_2_lock.c
Normal file
54
src/world/area_isk/isk_02/isk_02_2_lock.c
Normal file
@ -0,0 +1,54 @@
|
||||
#include "isk_02.h"
|
||||
|
||||
#include "world/common/todo/RemovePadlock.inc.c"
|
||||
|
||||
s32 N(KeyList)[] = {
|
||||
ITEM_RUINS_KEY,
|
||||
ITEM_NONE,
|
||||
};
|
||||
|
||||
EvtScript N(EVS_UnlockDoor) = {
|
||||
EVT_CALL(ShowKeyChoicePopup)
|
||||
EVT_IF_EQ(LVar0, 0)
|
||||
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40)
|
||||
EVT_CALL(CloseChoicePopup)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_IF_EQ(LVar0, -1)
|
||||
EVT_CALL(CloseChoicePopup)
|
||||
EVT_RETURN
|
||||
EVT_END_IF
|
||||
EVT_CALL(PlaySoundAt, SOUND_269, 0, 272, 60, 486)
|
||||
EVT_CALL(RemoveKeyItemAt, LVar1)
|
||||
EVT_SET(GF_ISK02_UnlockedDoor, TRUE)
|
||||
EVT_SET(LVar0, MV_EntityID_Padlock)
|
||||
EVT_CALL(N(RemovePadlock))
|
||||
EVT_SET(LVar1, 0)
|
||||
EVT_WAIT(5)
|
||||
EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittne, SOUND_265, 0)
|
||||
EVT_CALL(MakeLerp, 0, 65, 65, EASING_LINEAR)
|
||||
EVT_LABEL(10)
|
||||
EVT_CALL(UpdateLerp)
|
||||
EVT_CALL(TranslateGroup, MODEL_g304, 0, LVar0, 0)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_EQ(LVar1, 1)
|
||||
EVT_GOTO(10)
|
||||
EVT_END_IF
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilittne, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_CALL(CloseChoicePopup)
|
||||
EVT_UNBIND
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_SetupLock) = {
|
||||
EVT_IF_EQ(GF_ISK02_UnlockedDoor, FALSE)
|
||||
EVT_CALL(MakeTransformGroup, MODEL_g304)
|
||||
EVT_BIND_PADLOCK(EVT_PTR(N(EVS_UnlockDoor)), TRIGGER_WALL_PRESS_A, EVT_ENTITY_INDEX(0), EVT_PTR(N(KeyList)), 0, 1)
|
||||
EVT_ELSE
|
||||
EVT_CALL(EnableGroup, MODEL_g304, FALSE)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilittne, COLLIDER_FLAGS_SURFACE_TYPE_MASK | COLLIDER_FLAGS_SAFE_FLOOR | COLLIDER_FLAGS_IGNORE_SHELL | COLLIDER_FLAGS_IGNORE_PLAYER | COLLIDER_FLAGS_80000 | 0x7FF47E00)
|
||||
EVT_END_IF
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
125
src/world/area_isk/isk_02/isk_02_3_ambush.c
Normal file
125
src/world/area_isk/isk_02/isk_02_3_ambush.c
Normal file
@ -0,0 +1,125 @@
|
||||
#include "isk_02.h"
|
||||
|
||||
extern EvtScript N(EVS_ManageSarcophagus1);
|
||||
extern EvtScript N(EVS_ManageSarcophagus2);
|
||||
extern EvtScript N(EVS_ManageSarcophagus3);
|
||||
|
||||
API_CALLABLE(N(AwaitPlayerMummyAmbush)) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
f32 x = evt_get_variable(script, *args++);
|
||||
f32 y = evt_get_variable(script, *args++);
|
||||
|
||||
if (dist2D(x, y, gPlayerStatus.position.x, gPlayerStatus.position.z) > 250.0f) {
|
||||
script->varTable[0] = FALSE;
|
||||
} else {
|
||||
script->varTable[0] = TRUE;
|
||||
}
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
EvtScript N(EVS_SetupSarcophagi) = {
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus1, FALSE)
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus2, FALSE)
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus3, FALSE)
|
||||
EVT_EXEC(N(EVS_ManageSarcophagus1))
|
||||
EVT_EXEC(N(EVS_ManageSarcophagus2))
|
||||
EVT_EXEC(N(EVS_ManageSarcophagus3))
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_h1o, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_h2o, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_h3o, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_OpenSarcophagus) = {
|
||||
EVT_IF_EQ(LVar0, 0)
|
||||
EVT_CALL(PlaySoundAtModel, LVar3, SOUND_1D1, 0)
|
||||
EVT_CALL(TranslateModel, LVar3, 0, 0, 13)
|
||||
EVT_WAIT(3)
|
||||
EVT_CALL(MakeLerp, 0, 35, 9, EASING_COS_IN_OUT)
|
||||
EVT_LABEL(10)
|
||||
EVT_CALL(UpdateLerp)
|
||||
EVT_SET(LVar2, LVar0)
|
||||
EVT_MULF(LVar2, EVT_FLOAT(1.1))
|
||||
EVT_CALL(TranslateModel, LVar3, LVar2, 0, 13)
|
||||
EVT_CALL(RotateModel, LVar3, LVar0, 0, 1, 0)
|
||||
EVT_ADD(LVar0, 1)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_NE(LVar1, 0)
|
||||
EVT_GOTO(10)
|
||||
EVT_END_IF
|
||||
EVT_WAIT(3)
|
||||
EVT_ELSE
|
||||
EVT_CALL(TranslateModel, LVar3, EVT_FLOAT(38.5), 0, 13)
|
||||
EVT_CALL(RotateModel, LVar3, 35, 0, 1, 0)
|
||||
EVT_END_IF
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_ManageSarcophagus1) = {
|
||||
EVT_IF_EQ(AF_ISK02_Sarcophagus1Opened, FALSE)
|
||||
EVT_LABEL(5)
|
||||
EVT_CALL(N(AwaitPlayerMummyAmbush), -210, 580)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_EQ(LVar0, 0)
|
||||
EVT_GOTO(5)
|
||||
EVT_END_IF
|
||||
EVT_END_IF
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus1, TRUE)
|
||||
EVT_CALL(SetNpcFlagBits, NPC_Pokey_01, NPC_FLAG_2, FALSE)
|
||||
EVT_SET(LVar0, AF_ISK02_Sarcophagus1Opened)
|
||||
EVT_SET(LVar3, MODEL_g346)
|
||||
EVT_EXEC_WAIT(N(EVS_OpenSarcophagus))
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus1, FALSE)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_h1c, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_h1o, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_SET(AF_ISK02_Sarcophagus1Opened, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_ManageSarcophagus2) = {
|
||||
EVT_IF_EQ(AF_ISK02_Sarcophagus2Opened, FALSE)
|
||||
EVT_LABEL(5)
|
||||
EVT_CALL(N(AwaitPlayerMummyAmbush), -30, 670)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_EQ(LVar0, 0)
|
||||
EVT_GOTO(5)
|
||||
EVT_END_IF
|
||||
EVT_END_IF
|
||||
EVT_CALL(MakeItemEntity, ITEM_SPIKE_SHIELD, -133, 1, 500, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_ISK02_Item_SpikeShield)
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus2, TRUE)
|
||||
EVT_CALL(SetNpcFlagBits, NPC_Pokey_02, NPC_FLAG_2, FALSE)
|
||||
EVT_SET(LVar0, AF_ISK02_Sarcophagus2Opened)
|
||||
EVT_SET(LVar3, MODEL_g348)
|
||||
EVT_EXEC_WAIT(N(EVS_OpenSarcophagus))
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus2, FALSE)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_h2c, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_h2o, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_SET(AF_ISK02_Sarcophagus2Opened, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
||||
|
||||
EvtScript N(EVS_ManageSarcophagus3) = {
|
||||
EVT_IF_EQ(AF_ISK02_Sarcophagus3Opened, FALSE)
|
||||
EVT_LABEL(5)
|
||||
EVT_CALL(N(AwaitPlayerMummyAmbush), 220, 600)
|
||||
EVT_WAIT(1)
|
||||
EVT_IF_EQ(LVar0, 0)
|
||||
EVT_GOTO(5)
|
||||
EVT_END_IF
|
||||
EVT_END_IF
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus3, TRUE)
|
||||
EVT_CALL(SetNpcFlagBits, NPC_Pokey_03, NPC_FLAG_2, FALSE)
|
||||
EVT_SET(LVar0, AF_ISK02_Sarcophagus3Opened)
|
||||
EVT_SET(LVar3, MODEL_g350)
|
||||
EVT_EXEC_WAIT(N(EVS_OpenSarcophagus))
|
||||
EVT_SET(AF_ISK02_OpeningSarcophagus3, FALSE)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_h3c, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_h3o, COLLIDER_FLAGS_UPPER_MASK)
|
||||
EVT_SET(AF_ISK02_Sarcophagus3Opened, TRUE)
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
11
src/world/area_isk/isk_02/isk_02_4_entity.c
Normal file
11
src/world/area_isk/isk_02/isk_02_4_entity.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include "isk_02.h"
|
||||
#include "entity.h"
|
||||
|
||||
EvtScript N(EVS_MakeEntities) = {
|
||||
EVT_IF_EQ(GF_ISK02_UnlockedDoor, FALSE)
|
||||
EVT_CALL(MakeEntity, EVT_PTR(Entity_Padlock), 272, 60, 486, 300, MAKE_ENTITY_END)
|
||||
EVT_SET(MV_EntityID_Padlock, LVar0)
|
||||
EVT_END_IF
|
||||
EVT_RETURN
|
||||
EVT_END
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user