* 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:
HailSanta 2022-12-05 18:29:22 -05:00 committed by GitHub
parent 40c2b9be4d
commit 703896a7f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
524 changed files with 18261 additions and 6984 deletions

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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)))

View File

@ -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 {

View File

@ -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) }, \
}

View File

@ -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

View File

@ -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);

View File

@ -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?

View File

@ -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;

View File

@ -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) {

View File

@ -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;

View File

@ -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);

View File

@ -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;
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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;
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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))

View File

@ -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);

View File

@ -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);

View File

@ -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 {

View File

@ -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) {

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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 {

View File

@ -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)

View File

@ -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

View File

@ -12,7 +12,7 @@
#include "sprite/npc/TubbasHeart.h"
enum {
NPC_TubbasHeart = 0,
NPC_TubbasHeart = 0,
};
#define NAMESPACE arn_09

View File

@ -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

View File

@ -12,7 +12,7 @@
#include "sprite/npc/TubbasHeart.h"
enum {
NPC_TubbasHeart = 0,
NPC_TubbasHeart = 0,
};
#define NAMESPACE arn_11

View File

@ -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),
{},
};

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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

View File

@ -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,
},
};

View File

@ -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)[] = {

View File

@ -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

View File

@ -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,
},
};

View File

@ -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,

View File

@ -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 {

View File

@ -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)

View File

@ -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 {

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -10,7 +10,7 @@
#include "mapfs/flo_10_hit.h"
enum {
NPC_Lily = 0,
NPC_Lily = 0,
};
#define NAMESPACE flo_10

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -13,8 +13,8 @@
#include "sprite/npc/Bzzap.h"
enum {
NPC_BubbleFlower = 0,
NPC_Bzzap = 1,
NPC_BubbleFlower = 0,
NPC_Bzzap = 1,
};
enum {

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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");

View File

@ -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;

View File

@ -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

View File

@ -1,5 +0,0 @@
#include "isk_01.h"
static char* N(exit_str_0) = "sbk_02";
static char* N(exit_str_1) = "isk_02";

View File

@ -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);

View 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 },
};

View 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
};

View 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
};

View 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
};

View 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
};

View File

@ -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"

View File

@ -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;
}

View File

@ -1,2 +0,0 @@
#include "isk_02.h"
#include "world/common/todo/SetNpcB5_3.inc.c"

View File

@ -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);

View 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 },
};

View 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
};

View 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
};

View 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
};

View 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