mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
Script and hitbox docs, update torch (#210)
* script2 * more docs and such * torch update
This commit is contained in:
+4
-4
@@ -12,7 +12,7 @@ extern s32 D_ctx_80177824; // some sort of flag
|
||||
extern s32 D_ctx_8017782C; // some sort of flag. all range related?
|
||||
extern GameState gGameState;
|
||||
extern s32 gNextGameStateTimer; // next game state timer?
|
||||
extern s32 D_ctx_80177844; // timer for vs item spawn
|
||||
extern s32 gVsItemSpawnTimer; // timer for vs item spawn
|
||||
extern OptionState gOptionMenuStatus;
|
||||
extern s32 gPlayState; // pause-related state
|
||||
extern s32 D_ctx_80177868; // some sort of state. pause-related?
|
||||
@@ -75,7 +75,7 @@ extern UNK_TYPE F_80177D80;
|
||||
extern UNK_TYPE F_80177DE8;
|
||||
extern s32 gGameFrameCount;
|
||||
extern s32 D_ctx_80177DC8;
|
||||
extern s32 D_ctx_80177E70;
|
||||
extern s32 gPrevEventActorIndex;
|
||||
extern s32 D_ctx_80177E78;
|
||||
extern s32 gRingPassCount;
|
||||
extern Vec3f D_ctx_80177E88;
|
||||
@@ -267,7 +267,7 @@ extern f32 D_ctx_80177958[4];
|
||||
extern s32 D_ctx_8017796C;
|
||||
extern OSContPad* gInputHold;
|
||||
extern OSContPad* gInputPress;
|
||||
extern u8* D_ctx_80177984;
|
||||
extern u8* gControllerRumble;
|
||||
extern s32 D_ctx_80177990[4];
|
||||
extern f32 D_ctx_801779A8[4];
|
||||
extern u8 gPauseEnabled;
|
||||
@@ -288,7 +288,7 @@ extern u8 D_ctx_80177B4C;
|
||||
extern u8 D_ctx_80177B6C;
|
||||
extern u8 gGreatFoxIntact;
|
||||
extern u8 D_ctx_80177BAC;
|
||||
extern u16 D_Timer_80177BD0[4];
|
||||
extern u16 gControllerRumbleTimers[4];
|
||||
extern u16 D_ctx_80177C30[4];
|
||||
extern s32 D_ctx_80177C50;
|
||||
extern s32 D_ctx_80177C70;
|
||||
|
||||
+1
-1
@@ -477,7 +477,7 @@ void func_play_800B6BFC(Player*, s32 );
|
||||
void func_play_800B6F50(f32, f32, f32, f32, f32, f32);
|
||||
void func_play_800B7184(Player*, s32);
|
||||
void func_play_800B73E0(Player*);
|
||||
void func_play_800B852C(ObjectId , Item*);
|
||||
void Play_SpawnVsItem(ObjectId , Item*);
|
||||
void Play_Main(void);
|
||||
void func_play_800A668C(f32 xPos, f32 yPos, f32 zPos);
|
||||
void func_play_800AD7F0(Player* player);
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
#define SCREEN_MARGIN 8
|
||||
|
||||
#define RAND_FLOAT(max) (Rand_ZeroOne()*(max))
|
||||
#define RAND_INT(max) ((s32)(Rand_ZeroOne()*(max)))
|
||||
|
||||
+70
-11
@@ -1,6 +1,63 @@
|
||||
#ifndef SF64_EVENT
|
||||
#define SF64_EVENT
|
||||
|
||||
#define evaLoopCount(actor) (actor)->iwork[0]
|
||||
#define evaTargetActorIndex(actor) (actor)->iwork[1]
|
||||
#define evaTrigCondition(actor) (actor)->iwork[2]
|
||||
#define evaTrigCmdIndex(actor) (actor)->iwork[3]
|
||||
#define EvaIwork4(actor) (actor)->iwork[4]
|
||||
#define evaMoveModeZ(actor) (actor)->iwork[5]
|
||||
#define evaRotateFlag(actor) (actor)->iwork[6]
|
||||
#define evaTexLineFlag(actor) (actor)->iwork[7]
|
||||
#define evaTexLineIndex(actor) (actor)->iwork[8]
|
||||
#define EvaIwork9(actor) (actor)->iwork[9]
|
||||
#define EvaIwork10(actor) (actor)->iwork[10]
|
||||
#define EvaIwork11(actor) (actor)->iwork[11]
|
||||
#define EvaIwork12(actor) (actor)->iwork[12]
|
||||
#define EvaIwork13(actor) (actor)->iwork[13]
|
||||
#define EvaIwork14(actor) (actor)->iwork[14]
|
||||
#define EvaIwork15(actor) (actor)->iwork[15]
|
||||
#define EvaIwork16(actor) (actor)->iwork[16]
|
||||
#define EvaIwork17(actor) (actor)->iwork[17]
|
||||
#define EvaIwork18(actor) (actor)->iwork[18]
|
||||
#define EvaIwork19(actor) (actor)->iwork[19]
|
||||
#define evaTrigCondition0(actor) (actor)->iwork[20]
|
||||
#define evaTrigCondition1(actor) (actor)->iwork[21]
|
||||
#define evaTrigCondition2(actor) (actor)->iwork[22]
|
||||
#define evaTrigCondition3(actor) (actor)->iwork[23]
|
||||
#define evaTrigCondition4(actor) (actor)->iwork[24]
|
||||
|
||||
#define EvaFwork0(actor) (actor)->fwork[0]
|
||||
#define EvaFwork1(actor) (actor)->fwork[1]
|
||||
#define EvaFwork2(actor) (actor)->fwork[2]
|
||||
#define EvaFwork3(actor) (actor)->fwork[3]
|
||||
#define EvaFwork4(actor) (actor)->fwork[4]
|
||||
#define EvaFwork5(actor) (actor)->fwork[5]
|
||||
#define EvaFwork6(actor) (actor)->fwork[6]
|
||||
#define EvaFwork7(actor) (actor)->fwork[7]
|
||||
#define EvaFwork8(actor) (actor)->fwork[8]
|
||||
#define EvaFwork9(actor) (actor)->fwork[9]
|
||||
#define EvaFwork10(actor) (actor)->fwork[10]
|
||||
#define EvaFwork11(actor) (actor)->fwork[11]
|
||||
#define EvaFwork12(actor) (actor)->fwork[12]
|
||||
#define EvaFwork13(actor) (actor)->fwork[13]
|
||||
#define EvaFwork14(actor) (actor)->fwork[14]
|
||||
#define EvaFwork15(actor) (actor)->fwork[15]
|
||||
#define EvaFwork16(actor) (actor)->fwork[16]
|
||||
#define evaTargetSpread(actor) (actor)->fwork[17]
|
||||
#define EvaFwork18(actor) (actor)->fwork[18]
|
||||
#define EvaFwork19(actor) (actor)->fwork[19]
|
||||
#define EvaFwork20(actor) (actor)->fwork[20]
|
||||
#define EvaFwork21(actor) (actor)->fwork[21]
|
||||
#define EvaFwork22(actor) (actor)->fwork[22]
|
||||
#define EvaFwork23(actor) (actor)->fwork[23]
|
||||
#define evaTargetTurnRate(actor) (actor)->fwork[24]
|
||||
#define EvaFwork25(actor) (actor)->fwork[25]
|
||||
#define EvaFwork26(actor) (actor)->fwork[26]
|
||||
#define EvaFwork27(actor) (actor)->fwork[27]
|
||||
#define EvaFwork28(actor) (actor)->fwork[28]
|
||||
#define EvaFwork29(actor) (actor)->fwork[29]
|
||||
|
||||
#define EV_OPC(opcode) (((opcode) & 0x7F) << 9)
|
||||
#define EV_OPC_MASK(cmd) ((cmd) & (0x7F << 9))
|
||||
#define EVENT_CMD(opcode, arg1, arg2) (EV_OPC(opcode) | ((s16) (arg1) & 0x1FF)), (arg2)
|
||||
@@ -20,6 +77,7 @@
|
||||
#define EVENT_SET_ROTATE() EVENT_CMD(EVOP_SET_ROTATE, 0, 0)
|
||||
#define EVENT_STOP_ROTATE() EVENT_CMD(EVOP_STOP_ROTATE, 0, 0)
|
||||
#define EVENT_SET_TRIGGER(cond, cmd) EVENT_CMD(EVOP_SET_TRIGGER, cmd, cond)
|
||||
#define EVENT_SET_Z_TRIGGER(z, cmd) EVENT_SET_TRIGGER(EVC_CLOSE_Z + (s32)((z) / 10), cmd)
|
||||
#define EVENT_CLEAR_TRIGGER(cmd) EVENT_SET_TRIGGER(EVC_NONE, cmd)
|
||||
#define EVENT_LOOP(count, cmd) EVENT_CMD(EVOP_LOOP, cmd, count)
|
||||
#define EVENT_GOTO(cmd) EVENT_LOOP(0, cmd)
|
||||
@@ -33,16 +91,16 @@
|
||||
#define EVENT_PLAY_SFX(sfx) EVENT_CMD(EVOP_PLAY_SFX, 0, sfx)
|
||||
#define EVENT_STOP_SFX(sfx) EVENT_CMD(EVOP_STOP_SFX, 0, sfx)
|
||||
#define EVENT_SET_CALL(duration, voiceParam) EVENT_CMD(EVOP_SET_CALL, voiceParam, duration)
|
||||
#define EVENT_ROT_PLUS_X(rot, rotVel) EVENT_CMD(EVOP_ROT_PLUS_X, rotVel * 10, rot)
|
||||
#define EVENT_ROT_MINUS_X(rot, rotVel) EVENT_CMD(EVOP_ROT_MINUS_X, rotVel * 10, rot)
|
||||
#define EVENT_ROT_PLUS_Y(rot, rotVel) EVENT_CMD(EVOP_ROT_PLUS_Y, rotVel * 10, rot)
|
||||
#define EVENT_ROT_MINUS_Y(rot, rotVel) EVENT_CMD(EVOP_ROT_MINUS_Y, rotVel * 10, rot)
|
||||
#define EVENT_ROT_PLUS_Z(rot, rotVel) EVENT_CMD(EVOP_ROT_PLUS_Z, rotVel * 10, rot)
|
||||
#define EVENT_ROT_MINUS_Z(rot, rotVel) EVENT_CMD(EVOP_ROT_MINUS_Z, rotVel * 10, rot)
|
||||
#define EVENT_F4_PLUS_X(rot, rotVel) EVENT_CMD(EVOP_F4_PLUS_X, rotVel * 10, rot)
|
||||
#define EVENT_F4_MINUS_X(rot, rotVel) EVENT_CMD(EVOP_F4_MINUS_X, rotVel * 10, rot)
|
||||
#define EVENT_F4_PLUS_Y(rot, rotVel) EVENT_CMD(EVOP_F4_PLUS_Y, rotVel * 10, rot)
|
||||
#define EVENT_F4_MINUS_Y(rot, rotVel) EVENT_CMD(EVOP_F4_MINUS_Y, rotVel * 10, rot)
|
||||
#define EVENT_ROT_PLUS_X(rot, rotVel) EVENT_CMD(EVOP_ROT_PLUS_X, (rotVel) * 10, rot)
|
||||
#define EVENT_ROT_MINUS_X(rot, rotVel) EVENT_CMD(EVOP_ROT_MINUS_X, (rotVel) * 10, rot)
|
||||
#define EVENT_ROT_PLUS_Y(rot, rotVel) EVENT_CMD(EVOP_ROT_PLUS_Y, (rotVel) * 10, rot)
|
||||
#define EVENT_ROT_MINUS_Y(rot, rotVel) EVENT_CMD(EVOP_ROT_MINUS_Y, (rotVel) * 10, rot)
|
||||
#define EVENT_ROT_PLUS_Z(rot, rotVel) EVENT_CMD(EVOP_ROT_PLUS_Z, (rotVel) * 10, rot)
|
||||
#define EVENT_ROT_MINUS_Z(rot, rotVel) EVENT_CMD(EVOP_ROT_MINUS_Z, (rotVel) * 10, rot)
|
||||
#define EVENT_F4_PLUS_X(rot, rotVel) EVENT_CMD(EVOP_F4_PLUS_X, (rotVel) * 10, rot)
|
||||
#define EVENT_F4_MINUS_X(rot, rotVel) EVENT_CMD(EVOP_F4_MINUS_X, (rotVel) * 10, rot)
|
||||
#define EVENT_F4_PLUS_Y(rot, rotVel) EVENT_CMD(EVOP_F4_PLUS_Y, (rotVel) * 10, rot)
|
||||
#define EVENT_F4_MINUS_Y(rot, rotVel) EVENT_CMD(EVOP_F4_MINUS_Y, (rotVel) * 10, rot)
|
||||
#define EVENT_SET_BASE_ZVEL(zvel) EVENT_CMD(EVOP_SET_BASE_ZVEL, 0, zvel)
|
||||
#define EVENT_SET_TEAM_ID(teamId) EVENT_CMD(EVOP_SET_TEAM_ID, 0, teamId)
|
||||
#define EVENT_DAMAGE_TEAM(teamId, damage) EVENT_CMD(EVOP_DAMAGE_TEAM, damage, teamId)
|
||||
@@ -176,7 +234,7 @@ typedef enum EventCondition {
|
||||
/* 67 */ EVC_EXPERT_MODE,
|
||||
/* 68 */ EVC_68,
|
||||
/* 69 */ EVC_69,
|
||||
/* 100 */ EVC_100=100,
|
||||
/* 100 */ EVC_CLOSE_Z=100,
|
||||
} EventCondition;
|
||||
|
||||
typedef enum EventState {
|
||||
@@ -334,6 +392,7 @@ typedef enum EventActorInfo {
|
||||
/* 107 */ EINFO_107,
|
||||
/* 200 */ EINFO_200 = 200,
|
||||
/* 300 */ EINFO_300 = 300,
|
||||
/* 4095*/ EINFO_FFF = 4095,
|
||||
} EventActorInfo;
|
||||
|
||||
typedef enum EventSfx {
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#include "libultra/ultra64.h"
|
||||
#include "sf64math.h"
|
||||
|
||||
#define HITBOX_TYPE_2 200000.0f
|
||||
#define HITBOX_TYPE_3 300000.0f
|
||||
#define HITBOX_TYPE_4 400000.0f
|
||||
#define HITBOX_ROTATED 200000.0f
|
||||
#define HITBOX_SHADOW 300000.0f
|
||||
#define HITBOX_WHOOSH 400000.0f
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 offset;
|
||||
|
||||
@@ -271,11 +271,11 @@ typedef struct Player {
|
||||
/* 0x220 */ s32 timer_220;
|
||||
/* 0x224 */ s32 timer_224;
|
||||
/* 0x228 */ s32 flags_228;
|
||||
/* 0x22C */ s32 unk_22C;
|
||||
/* 0x22C */ s32 whooshTimer;
|
||||
/* 0x230 */ s32 unk_230;
|
||||
/* 0x234 */ s32 unk_234;
|
||||
/* 0x238 */ s32 cockpitView;
|
||||
/* 0x23C */ s32 unk_23C;
|
||||
/* 0x23C */ s32 shadowing;
|
||||
/* 0x240 */ s32 unk_240;
|
||||
/* 0x244 */ s32 timer_244;
|
||||
/* 0x248 */ f32 unk_248;
|
||||
|
||||
@@ -103,7 +103,7 @@ extern OSContPad gControllerHold[4];
|
||||
extern OSContPad gControllerPress[4];
|
||||
extern u8 gControllerPlugged[4];
|
||||
extern u32 gControllerLock;
|
||||
extern u8 gControllerRumble[4];
|
||||
extern u8 gControllerRumbleEnabled[4];
|
||||
extern OSContPad sNextController[4]; //
|
||||
extern OSContPad sPrevController[4]; //
|
||||
extern OSContStatus sControllerStatus[4]; //
|
||||
@@ -167,11 +167,11 @@ extern Lightsn* gLight;
|
||||
extern FrameBuffer* gFrameBuffer;
|
||||
extern u16* gTextureRender;
|
||||
|
||||
extern u8 D_80137E78;
|
||||
extern u8 gVIsPerFrame;
|
||||
extern u32 gSysFrameCount;
|
||||
extern u8 gStartNMI;
|
||||
extern u8 gStopTasks;
|
||||
extern u8 D_80137E84[4];
|
||||
extern u8 gControllerRumbleFlags[4];
|
||||
extern u16 gFillScreenColor;
|
||||
extern u16 gFillScreen;
|
||||
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ extern ObjectInit* gLevelObjectInits[];
|
||||
extern u32 D_enmy_800CFF54[9];
|
||||
|
||||
// fox_enmy2
|
||||
extern s32 D_enmy2_800CFF80[4];
|
||||
extern s32 gTeamEventActorIndex[4];
|
||||
extern s32 gCallVoiceParam;
|
||||
|
||||
// fox_hud
|
||||
|
||||
@@ -60,7 +60,7 @@ D_800C45E0 = 0x800C45E0;
|
||||
|
||||
D_edisplay_801615D0 = 0x801615D0;//size:0xC
|
||||
D_edisplay_801615E0 = 0x801615E0;//size:0xC
|
||||
D_enmy2_800CFF80 = 0x800CFF80;//size:0x10
|
||||
gTeamEventActorIndex = 0x800CFF80;//size:0x10
|
||||
|
||||
D_display_80161578 = 0x80161578;//size:0x30
|
||||
D_display_800CA23C = 0x800CA23C;//size:0x18
|
||||
|
||||
@@ -516,7 +516,7 @@ D_ctx_80177B50 = 0x80177B50;
|
||||
D_ctx_80177B70 = 0x80177B70;
|
||||
D_ctx_80177B90 = 0x80177B90;
|
||||
D_ctx_80177BB0 = 0x80177BB0;
|
||||
D_Timer_80177BD0 = 0x80177BD0;
|
||||
gControllerRumbleTimers = 0x80177BD0;
|
||||
D_ctx_80177BD8 = 0x80177BD8;
|
||||
D_ctx_80177C30 = 0x80177C30;
|
||||
D_ctx_80177C50 = 0x80177C50;
|
||||
@@ -550,7 +550,7 @@ D_ctx_80177D88 = 0x80177D88;
|
||||
gBombCount = 0x80177DA0;
|
||||
gGameFrameCount = 0x80177DB0;
|
||||
D_ctx_80177DC8 = 0x80177DC8;
|
||||
D_ctx_80177E70 = 0x80177E70;
|
||||
gPrevEventActorIndex = 0x80177E70;
|
||||
D_ctx_80177E78 = 0x80177E78;
|
||||
gRingPassCount = 0x80177E80;
|
||||
D_ctx_80177E88 = 0x80177E88; // size:0xC
|
||||
@@ -763,7 +763,7 @@ Player_Update2 = 0x800B71E4;
|
||||
func_play_800B73E0 = 0x800B73E0;
|
||||
Play_UpdateLevel = 0x800B79B0;
|
||||
Play_Update = 0x800B832C;
|
||||
func_play_800B852C = 0x800B852C;
|
||||
Play_SpawnVsItem = 0x800B852C;
|
||||
func_play_800B86A4 = 0x800B86A4;
|
||||
Play_Main = 0x800B86CC;
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ gControllerHold = 0x800DD880; // size:0x18
|
||||
gControllerPress = 0x800DD898; // size:0x18
|
||||
gControllerPlugged = 0x800DD8B0; // size:0x4
|
||||
gControllerLock = 0x800DD8B4; // size:0x4
|
||||
gControllerRumble = 0x800DD8B8; // size:0x4
|
||||
gControllerRumbleEnabled = 0x800DD8B8; // size:0x4
|
||||
D_800DD8BC = 0x800DD8BC; // ignore:true
|
||||
sNextController = 0x800DD8C0; // size:0x18
|
||||
sPrevController = 0x800DD8D8; // size:0x18
|
||||
@@ -75,11 +75,11 @@ gUnkDisp2 = 0x80137E68;
|
||||
gLight = 0x80137E6C;
|
||||
gFrameBuffer = 0x80137E70;
|
||||
gTextureRender = 0x80137E74;
|
||||
D_80137E78 = 0x80137E78;
|
||||
gVIsPerFrame = 0x80137E78;
|
||||
gSysFrameCount = 0x80137E7C;
|
||||
gStartNMI = 0x80137E80;
|
||||
gStopTasks = 0x80137E81;
|
||||
D_80137E84 = 0x80137E84; // size:0x4
|
||||
gControllerRumbleFlags = 0x80137E84; // size:0x4
|
||||
gFillScreenColor = 0x80137E88;
|
||||
gFillScreen = 0x80137E8A;
|
||||
|
||||
|
||||
+14
-13
@@ -266,10 +266,10 @@ s32 func_beam_80036874(PlayerShot* shot, f32* hitboxData, Object* obj) {
|
||||
boxRotZ = 0.0f;
|
||||
boxRotY = 0.0f;
|
||||
boxRotX = 0.0f;
|
||||
if (hitboxData[0] >= HITBOX_TYPE_3) {
|
||||
if (hitboxData[0] >= HITBOX_SHADOW) {
|
||||
return 0;
|
||||
}
|
||||
if (hitboxData[0] == HITBOX_TYPE_2) {
|
||||
if (hitboxData[0] == HITBOX_ROTATED) {
|
||||
rotateBox = 1.0f;
|
||||
boxRotX = hitboxData[1];
|
||||
boxRotY = hitboxData[2];
|
||||
@@ -378,7 +378,7 @@ s32 func_beam_80036F88(PlayerShot* shot, Actor* actor) {
|
||||
shotPy = shot->obj.pos.y;
|
||||
shotPz = shot->obj.pos.z;
|
||||
} else {
|
||||
if (hitboxData[0] == HITBOX_TYPE_2) {
|
||||
if (hitboxData[0] == HITBOX_ROTATED) {
|
||||
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
||||
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
||||
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
|
||||
@@ -665,7 +665,8 @@ void func_beam_80037CF4(PlayerShot* shot, Actor* actor, s32 hitIndex) {
|
||||
break;
|
||||
}
|
||||
} else if ((shot->playerNum >= 100) && (gCurrentLevel == LEVEL_SECTOR_X)) {
|
||||
if ((gActors[shot->playerNum - 100].obj.id == 200) && (gActors[shot->playerNum - 100].iwork[12] == 5)) {
|
||||
if ((gActors[shot->playerNum - 100].obj.id == OBJ_ACTOR_EVENT) &&
|
||||
(gActors[shot->playerNum - 100].iwork[12] == TEAM_ID_BILL)) {
|
||||
actor->damage = 30;
|
||||
}
|
||||
}
|
||||
@@ -685,9 +686,9 @@ void func_beam_80037CF4(PlayerShot* shot, Actor* actor, s32 hitIndex) {
|
||||
actor->unk_0D8.y = shot->obj.pos.y;
|
||||
actor->unk_0D8.z = shot->obj.pos.z;
|
||||
if (((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0D2 == 0) &&
|
||||
((actor->unk_0B4 == 48) || (actor->unk_0B4 == 49) || (actor->unk_0B4 == 50))) ||
|
||||
((actor->unk_0B4 == EINFO_48) || (actor->unk_0B4 == EINFO_49) || (actor->unk_0B4 == EINFO_50))) ||
|
||||
((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->fwork[23] > 1.0f)) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0D2 == 0) && (actor->unk_0B4 == 67)) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0D2 == 0) && (actor->unk_0B4 == EINFO_67)) ||
|
||||
((actor->obj.id == OBJ_ACTOR_261) && (shot->obj.id != PLAYERSHOT_8) &&
|
||||
((actor->state < 3) || (actor->state >= 5))) ||
|
||||
((actor->obj.id == OBJ_ACTOR_260) && (shot->obj.id != PLAYERSHOT_8) && (actor->timer_0BC != 0))) {
|
||||
@@ -764,13 +765,13 @@ void func_beam_80038140(PlayerShot* shot) {
|
||||
}
|
||||
break;
|
||||
case OBJ_ACTOR_EVENT:
|
||||
if (actor->unk_0B4 == 42) {
|
||||
if (actor->unk_0B4 == EINFO_42) {
|
||||
if (func_beam_8003774C(shot, ACTOR_EVENT_ID, &actor->obj)) {
|
||||
actor->unk_0D0 = 1;
|
||||
actor->unk_0D2 = shot->playerNum;
|
||||
return;
|
||||
}
|
||||
} else if (actor->unk_0B4 == 63) {
|
||||
} else if (actor->unk_0B4 == EINFO_63) {
|
||||
test.x = fabsf(actor->obj.pos.x - shot->obj.pos.x);
|
||||
test.y = fabsf(actor->obj.pos.y - shot->obj.pos.y);
|
||||
test.z = fabsf(actor->obj.pos.z - shot->obj.pos.z);
|
||||
@@ -1109,9 +1110,9 @@ void func_beam_80039210(PlayerShot* shot) {
|
||||
} else {
|
||||
var_a1 = 0;
|
||||
if ((gCurrentLevel != LEVEL_KATINA) && (shot->playerNum >= 104) && (shot->playerNum != 108)) {
|
||||
if (gActors[shot->playerNum - 100].obj.id != 200) {
|
||||
if (gActors[shot->playerNum - 100].obj.id != OBJ_ACTOR_EVENT) {
|
||||
var_a1 = 1;
|
||||
} else if (gActors[shot->playerNum - 100].iwork[12] == 5) {
|
||||
} else if (gActors[shot->playerNum - 100].iwork[12] == TEAM_ID_BILL) {
|
||||
var_a1 = 2;
|
||||
}
|
||||
} else if (gCurrentLevel == LEVEL_KATINA) {
|
||||
@@ -1771,7 +1772,7 @@ void func_beam_8003C008(PlayerShot* shot) {
|
||||
count = *hitboxData++;
|
||||
if (count != 0) {
|
||||
for (j = 0; j < count; j++, hitboxData += 6) {
|
||||
if (hitboxData[0] == HITBOX_TYPE_2) {
|
||||
if (hitboxData[0] == HITBOX_ROTATED) {
|
||||
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
||||
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
||||
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
|
||||
@@ -1888,8 +1889,8 @@ void func_beam_8003C4D0(PlayerShot* shot, s32 damage) {
|
||||
if ((actor->obj.id == OBJ_ACTOR_193) || (actor->obj.id == OBJ_ACTOR_186) ||
|
||||
(actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_202) ||
|
||||
(actor->obj.id == OBJ_ACTOR_201) || (actor->obj.id == OBJ_ACTOR_187) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == 78)) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == 38)) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == EINFO_78)) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == EINFO_38)) ||
|
||||
(actor->obj.id == OBJ_ACTOR_196)) {
|
||||
actor->unk_0D0 = 2;
|
||||
actor->unk_0D2 = 0;
|
||||
|
||||
+16
-15
@@ -117,17 +117,17 @@ void func_bg_8003DAF0(void) {
|
||||
gDPSetRenderMode(gMasterDisp++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
||||
var_s2 = D_ctx_80178410;
|
||||
if (var_s2 != 0) {
|
||||
if (D_ctx_80178420 >= 480.0f) {
|
||||
D_ctx_80178420 -= 480.0f;
|
||||
if (D_ctx_80178420 >= 1.5f * SCREEN_WIDTH) {
|
||||
D_ctx_80178420 -= 1.5f * SCREEN_WIDTH;
|
||||
}
|
||||
if (D_ctx_80178424 >= 360.0f) {
|
||||
D_ctx_80178424 -= 360.0f;
|
||||
if (D_ctx_80178424 >= 1.5f * SCREEN_HEIGHT) {
|
||||
D_ctx_80178424 -= 1.5f * SCREEN_HEIGHT;
|
||||
}
|
||||
if (D_ctx_80178420 < 0.0f) {
|
||||
D_ctx_80178420 += 480.0f;
|
||||
D_ctx_80178420 += 1.5f * SCREEN_WIDTH;
|
||||
}
|
||||
if (D_ctx_80178424 < 0.0f) {
|
||||
D_ctx_80178424 += 360.0f;
|
||||
D_ctx_80178424 += 1.5f * SCREEN_HEIGHT;
|
||||
}
|
||||
spf68 = D_ctx_80178420;
|
||||
spf64 = D_ctx_80178424;
|
||||
@@ -144,17 +144,18 @@ void func_bg_8003DAF0(void) {
|
||||
for (i = 0; i < var_s2; i++, sp5C++, sp60++, sp58++) {
|
||||
var_fv1 = *sp60 + spf68;
|
||||
var_fa0 = *sp5C + spf64;
|
||||
if (var_fv1 >= 400.0f) {
|
||||
var_fv1 -= 480.0f;
|
||||
if (var_fv1 >= 1.25f * SCREEN_WIDTH) {
|
||||
var_fv1 -= 1.5f * SCREEN_WIDTH;
|
||||
}
|
||||
var_fv1 -= 160.0f;
|
||||
if (var_fa0 >= 300.0f) {
|
||||
var_fa0 -= 360.0f;
|
||||
}
|
||||
var_fa0 -= 120.0f;
|
||||
var_fv1 -= SCREEN_WIDTH / 2.0f;
|
||||
|
||||
temp_ft2 = (sp70 * var_fv1) + (spf6C * var_fa0) + 160.0f;
|
||||
temp_ft0 = (-spf6C * var_fv1) + (sp70 * var_fa0) + 120.0f;
|
||||
if (var_fa0 >= 1.25f * SCREEN_HEIGHT) {
|
||||
var_fa0 -= 1.5f * SCREEN_HEIGHT;
|
||||
}
|
||||
var_fa0 -= SCREEN_HEIGHT / 2.0f;
|
||||
|
||||
temp_ft2 = (sp70 * var_fv1) + (spf6C * var_fa0) + SCREEN_WIDTH / 2.0f;
|
||||
temp_ft0 = (-spf6C * var_fv1) + (sp70 * var_fa0) + SCREEN_HEIGHT / 2.0f;
|
||||
if ((temp_ft2 >= 0) && (temp_ft2 < SCREEN_WIDTH) && (temp_ft0 > 0) && (temp_ft0 < SCREEN_HEIGHT)) {
|
||||
gDPPipeSync(gMasterDisp++);
|
||||
gDPSetFillColor(gMasterDisp++, *sp58);
|
||||
|
||||
@@ -10,7 +10,7 @@ s32 D_ctx_80177824; // some sort of flag
|
||||
s32 D_ctx_8017782C; // some sort of flag. all range related?
|
||||
GameState gGameState;
|
||||
s32 gNextGameStateTimer; // next game state timer?
|
||||
s32 D_ctx_80177844; // timer for vs item spawn
|
||||
s32 gVsItemSpawnTimer; // timer for vs item spawn
|
||||
OptionState gOptionMenuStatus;
|
||||
s32 gPlayState; // pause-related state
|
||||
s32 D_ctx_80177868; // some sort of state. pause-related?
|
||||
@@ -73,7 +73,7 @@ UNK_TYPE F_80177D80;
|
||||
UNK_TYPE F_80177DE8;
|
||||
s32 gGameFrameCount;
|
||||
s32 D_ctx_80177DC8;
|
||||
s32 D_ctx_80177E70;
|
||||
s32 gPrevEventActorIndex;
|
||||
s32 D_ctx_80177E78;
|
||||
s32 gRingPassCount;
|
||||
Vec3f D_ctx_80177E88;
|
||||
@@ -286,7 +286,7 @@ f32 D_ctx_80177958[4];
|
||||
s32 D_ctx_8017796C;
|
||||
OSContPad* gInputHold;
|
||||
OSContPad* gInputPress;
|
||||
u8* D_ctx_80177984;
|
||||
u8* gControllerRumble;
|
||||
s32 D_ctx_80177990[4];
|
||||
f32 D_ctx_801779A8[4];
|
||||
u8 gPauseEnabled;
|
||||
@@ -307,7 +307,7 @@ u8 D_ctx_80177B4C;
|
||||
u8 D_ctx_80177B6C;
|
||||
u8 gGreatFoxIntact;
|
||||
u8 D_ctx_80177BAC;
|
||||
u16 D_Timer_80177BD0[4];
|
||||
u16 gControllerRumbleTimers[4];
|
||||
u16 D_ctx_80177C30[4];
|
||||
s32 D_ctx_80177C50;
|
||||
s32 D_ctx_80177C70;
|
||||
|
||||
@@ -1894,7 +1894,7 @@ void func_demo_8004E3D8(Player* player) {
|
||||
player->unk_280 = 0;
|
||||
|
||||
if ((gGameFrameCount % 2) != 0) {
|
||||
D_80137E84[gPlayerNum] = 1;
|
||||
gControllerRumbleFlags[gPlayerNum] = 1;
|
||||
}
|
||||
|
||||
switch (player->form) {
|
||||
|
||||
+22
-27
@@ -16,9 +16,9 @@ f32 D_display_801615A8[4];
|
||||
f32 D_display_801615B8[4];
|
||||
|
||||
s32 D_display_800CA220 = 0;
|
||||
u8 D_display_800CA224[] = { 0, 0, 0, 0 }; //
|
||||
s32 D_display_800CA228 = 0; //
|
||||
s32 D_display_800CA22C = 0; //
|
||||
u8 sPlayersVisible[] = { 0, 0, 0, 0 }; //
|
||||
s32 D_display_800CA228 = 0; //
|
||||
s32 D_display_800CA22C = 0; //
|
||||
f32 D_display_800CA230 = 0.0f;
|
||||
Actor* D_display_800CA234 = NULL;
|
||||
s32 D_display_Timer_800CA238 = 0;
|
||||
@@ -318,8 +318,8 @@ Gfx* D_display_800CA27C[] = { D_arwing_3001C90, D_arwing_3016CC0, D_arwing_3005A
|
||||
f32 D_display_800CA28C = 2.0f;
|
||||
f32 D_display_800CA290 = 13.0f;
|
||||
f32 D_display_800CA294 = -10.0f;
|
||||
f32 D_display_800CA298[] = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||
f32 D_display_800CA2A8 = 0.0f;
|
||||
f32 sCrosshairScales[] = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||
f32 sPlayerShadowing = 0.0f;
|
||||
|
||||
void func_display_80052B80(Player* player) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
@@ -652,22 +652,22 @@ void func_display_80053C38(Player* player, s32 arg1) {
|
||||
}
|
||||
|
||||
void func_display_80053F7C(Player* player) {
|
||||
Vec3f* pad;
|
||||
Vec3f* translate;
|
||||
s32 i;
|
||||
|
||||
if ((gPlayerNum == player->num) && ((player->form == FORM_ARWING) || (player->form == FORM_LANDMASTER)) &&
|
||||
(player->unk_234 != 0) &&
|
||||
(((gGameState == GSTATE_PLAY) && (player->state_1C8 == PLAYERSTATE_1C8_3)) || (gGameState == GSTATE_MENU))) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
pad = &D_display_801613E0[i];
|
||||
translate = &D_display_801613E0[i];
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Translate(gGfxMatrix, pad->x, pad->y, pad->z, 1);
|
||||
Matrix_Translate(gGfxMatrix, translate->x, translate->y, translate->z, 1);
|
||||
if (gChargeTimers[player->num] >= 20) {
|
||||
RCP_SetupDL(&gMasterDisp, 0x3F);
|
||||
if (i == 1) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
|
||||
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 255);
|
||||
Math_SmoothStepToF(&D_display_800CA298[player->num], 2.0f, 1.0f, 0.4f, 0.0f);
|
||||
Math_SmoothStepToF(&sCrosshairScales[player->num], 2.0f, 1.0f, 0.4f, 0.0f);
|
||||
} else {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
||||
gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 255);
|
||||
@@ -676,8 +676,8 @@ void func_display_80053F7C(Player* player) {
|
||||
RCP_SetupDL_36();
|
||||
}
|
||||
if (i == 1) {
|
||||
Matrix_Scale(gGfxMatrix, D_display_800CA298[player->num], D_display_800CA298[player->num], 1.0f, 1);
|
||||
Math_SmoothStepToF(&D_display_800CA298[player->num], 1.0f, 1.0f, 0.2f, 0.0f);
|
||||
Matrix_Scale(gGfxMatrix, sCrosshairScales[player->num], sCrosshairScales[player->num], 1.0f, 1);
|
||||
Math_SmoothStepToF(&sCrosshairScales[player->num], 1.0f, 1.0f, 0.2f, 0.0f);
|
||||
}
|
||||
Matrix_Scale(gGfxMatrix, 4.0f, 4.0f, 4.0f, 1);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
@@ -705,16 +705,16 @@ void func_display_80054280(Player* player, s32 arg1) {
|
||||
}
|
||||
|
||||
void func_display_80054300(Player* player) {
|
||||
Math_SmoothStepToF(&D_display_800CA2A8, player->unk_23C, 1.0f, 10.0f, 0.0f);
|
||||
Math_SmoothStepToF(&sPlayerShadowing, player->shadowing, 1.0f, 10.0f, 0.0f);
|
||||
RCP_SetupDL(&gMasterDisp, 0x42);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, (s32) D_display_800CA2A8);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, (s32) sPlayerShadowing);
|
||||
if (player->unk_068 > 30.0f) {
|
||||
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
|
||||
}
|
||||
if ((gGroundType == GROUNDTYPE_WATER) && (player->unk_068 < 10.0f)) {
|
||||
player->unk_23C = 90;
|
||||
player->shadowing = 90;
|
||||
} else {
|
||||
player->unk_23C = 180;
|
||||
player->shadowing = 180;
|
||||
}
|
||||
switch (player->form) {
|
||||
case FORM_ARWING:
|
||||
@@ -1166,14 +1166,14 @@ bool func_display_800563B4(s32 index, s32 arg1) {
|
||||
if (fabsf(sp20.x) < (fabsf(sp20.z * 0.5f) + 500.0f)) {
|
||||
if (fabsf(sp20.y) < (fabsf(sp20.z * 0.5f) + 500.0f)) {
|
||||
if (arg1 == 0) {
|
||||
D_display_800CA224[index] = 1;
|
||||
sPlayersVisible[index] = 1;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (arg1 == 0) {
|
||||
D_display_800CA224[index] = 0;
|
||||
sPlayersVisible[index] = 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1303,12 +1303,7 @@ Gfx* D_display_800CA354[] = {
|
||||
f32 D_display_800CA380 = 0.0f;
|
||||
f32 D_display_800CA384 = 0.0f;
|
||||
f32 D_display_800CA388 = -300.0f;
|
||||
f32 D_display_800CA38C[] = {
|
||||
0.0f,
|
||||
-300.0f,
|
||||
-150.0f,
|
||||
-50.0f,
|
||||
};
|
||||
f32 D_display_800CA38C[] = { 0.0f, -300.0f, -150.0f, -50.0f };
|
||||
|
||||
void func_display_80056E2C(Player* player) {
|
||||
f32 sp34;
|
||||
@@ -1648,7 +1643,7 @@ void Play_Draw(void) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, 1);
|
||||
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
||||
if (D_display_800CA224[i] != 0) {
|
||||
if (sPlayersVisible[i] != 0) {
|
||||
func_display_80055B58(opponent);
|
||||
func_display_80056230(opponent);
|
||||
}
|
||||
@@ -1670,7 +1665,7 @@ void Play_Draw(void) {
|
||||
}
|
||||
gReflectY = 1;
|
||||
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
||||
if (D_display_800CA224[i] != 0) {
|
||||
if (sPlayersVisible[i] != 0) {
|
||||
func_display_80056E2C(opponent);
|
||||
func_display_80055B58(opponent);
|
||||
func_display_80056230(opponent);
|
||||
@@ -1691,7 +1686,7 @@ void Play_Draw(void) {
|
||||
func_display_80053B18();
|
||||
}
|
||||
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
||||
if (D_display_800CA224[i] != 0) {
|
||||
if (sPlayersVisible[i] != 0) {
|
||||
if (gShowCrosshairs[i]) {
|
||||
func_display_80053F7C(opponent);
|
||||
}
|
||||
@@ -1712,6 +1707,6 @@ void Play_Draw(void) {
|
||||
}
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
func_display_80051B30();
|
||||
D_display_800CA224[gPlayerNum] = 0;
|
||||
sPlayersVisible[gPlayerNum] = 0;
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
|
||||
@@ -638,13 +638,13 @@ void func_edisplay_8005BAB4(ObjectId objId, s32 index) {
|
||||
case OBJ_ACTOR_TEAM_BOSS:
|
||||
case OBJ_ACTOR_EVENT:
|
||||
switch (gActors[index].unk_0B4) {
|
||||
case 3:
|
||||
case EINFO_3:
|
||||
Matrix_Scale(gGfxMatrix, 2.3f, 0.0f, 2.3f, 1);
|
||||
Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
gSPDisplayList(gMasterDisp++, D_102A010);
|
||||
break;
|
||||
case 81:
|
||||
case EINFO_81:
|
||||
RCP_SetupDL(&gMasterDisp, 0x30);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
|
||||
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 255);
|
||||
|
||||
@@ -2817,10 +2817,10 @@ bool func_effect_8007FD84(Effect* effect) {
|
||||
s32 i;
|
||||
Actor* actor;
|
||||
|
||||
for (i = 1; i < ARRAY_COUNT(D_enmy2_800CFF80); i++) {
|
||||
actor = &gActors[D_enmy2_800CFF80[i]];
|
||||
for (i = 1; i < ARRAY_COUNT(gTeamEventActorIndex); i++) {
|
||||
actor = &gActors[gTeamEventActorIndex[i]];
|
||||
if (actor->obj.status == OBJ_ACTIVE) {
|
||||
if ((actor->iwork[12] > 0) && (actor->iwork[12] < 6) &&
|
||||
if ((actor->iwork[12] >= TEAM_ID_FALCO) && (actor->iwork[12] <= TEAM_ID_BILL) &&
|
||||
(fabsf(actor->obj.pos.z - effect->obj.pos.z) < 100.0f) &&
|
||||
(fabsf(actor->obj.pos.x - effect->obj.pos.x) < 100.0f) &&
|
||||
(fabsf(actor->obj.pos.y - effect->obj.pos.y) < 100.0f)) {
|
||||
@@ -3394,7 +3394,7 @@ void func_effect_8008165C(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scal
|
||||
effect->obj.pos.z = zPos;
|
||||
|
||||
AUDIO_PLAY_SFX(0x2940F026, effect->sfxSource, 4);
|
||||
D_Timer_80177BD0[0] = 60;
|
||||
gControllerRumbleTimers[0] = 60;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,14 +384,14 @@ void func_enmy_80061F0C(Actor* actor, ObjectInit* objInit, s32 index) {
|
||||
actor->unk_0F4.z = objInit->rot.z;
|
||||
actor->obj.id = OBJ_ACTOR_EVENT;
|
||||
actor->timer_0C2 = 10;
|
||||
actor->unk_0B4 = 4095;
|
||||
actor->unk_0B4 = EINFO_FFF;
|
||||
actor->aiType = objInit->id - ACTOR_EVENT_ID;
|
||||
|
||||
Object_SetInfo(&actor->info, actor->obj.id);
|
||||
actor->info.unk_10 = 3000.0f;
|
||||
actor->fwork[25] = 20000.0f;
|
||||
actor->iwork[1] = D_ctx_80177E70;
|
||||
actor->iwork[10] = gActors[D_ctx_80177E70].aiType;
|
||||
actor->iwork[1] = gPrevEventActorIndex;
|
||||
actor->iwork[10] = gActors[gPrevEventActorIndex].aiType;
|
||||
actor->fwork[22] = D_play_80161A54;
|
||||
Matrix_RotateZ(gCalcMatrix, -D_ctx_80177E88.z * M_DTOR, 0);
|
||||
Matrix_RotateX(gCalcMatrix, -D_ctx_80177E88.x * M_DTOR, 1);
|
||||
@@ -401,7 +401,7 @@ void func_enmy_80061F0C(Actor* actor, ObjectInit* objInit, s32 index) {
|
||||
sp24.z = actor->obj.pos.z - D_ctx_80177F10.z;
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp24, &actor->vwork[28]);
|
||||
actor->iwork[9] = D_ctx_80177E78;
|
||||
D_ctx_80177E70 = index;
|
||||
gPrevEventActorIndex = index;
|
||||
Actor_Update(actor);
|
||||
}
|
||||
|
||||
@@ -666,10 +666,10 @@ bool func_enmy_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32
|
||||
for (i = 0; i < count; i++, hitboxData += 6) {
|
||||
rotate = 0.0f;
|
||||
hitRot.x = hitRot.y = hitRot.z = 0.0f;
|
||||
if (*hitboxData >= HITBOX_TYPE_3) {
|
||||
if (*hitboxData >= HITBOX_SHADOW) {
|
||||
return false;
|
||||
}
|
||||
if (*hitboxData == HITBOX_TYPE_2) {
|
||||
if (*hitboxData == HITBOX_ROTATED) {
|
||||
rotate = 1.0f;
|
||||
hitRot.x = hitboxData[1];
|
||||
hitRot.y = hitboxData[2];
|
||||
@@ -2493,7 +2493,7 @@ void Actor_Move(Actor* actor) {
|
||||
f32 var_fv0 = 4000.0f;
|
||||
|
||||
if ((actor->obj.id == OBJ_ACTOR_236) || (gCurrentLevel == LEVEL_MACBETH) ||
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == 56))) {
|
||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == EINFO_56))) {
|
||||
var_fv0 = 8000.0f;
|
||||
} else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_8) {
|
||||
var_fv0 = 100000.0f;
|
||||
@@ -2515,7 +2515,7 @@ void Actor_Move(Actor* actor) {
|
||||
D_ctx_80176550[actor->unk_046] = 0;
|
||||
break;
|
||||
case OBJ_ACTOR_EVENT:
|
||||
if ((actor->unk_0B4 >= 200) && (actor->unk_0B4 < 300)) {
|
||||
if ((actor->unk_0B4 >= EINFO_200) && (actor->unk_0B4 < EINFO_300)) {
|
||||
D_ctx_80176550[actor->unk_046] = 0;
|
||||
} else if ((actor->unk_0B4 == EINFO_38) && (actor->unk_046 != 2)) {
|
||||
gRingPassCount = -1;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "assets/ast_ve1_boss.h"
|
||||
#include "assets/ast_zoness.h"
|
||||
|
||||
s32 D_enmy2_800CFF80[4] = { 0, 0, 0, 0 };
|
||||
s32 gTeamEventActorIndex[4] = { 0, 0, 0, 0 };
|
||||
s32 gCallVoiceParam = 0;
|
||||
s32 gCallTimer;
|
||||
|
||||
@@ -1186,7 +1186,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
|
||||
this->iwork[12] = actorScript[this->aiIndex + 1];
|
||||
|
||||
if (this->iwork[12] <= TEAM_ID_PEPPY) {
|
||||
D_enmy2_800CFF80[this->iwork[12]] = this->index;
|
||||
gTeamEventActorIndex[this->iwork[12]] = this->index;
|
||||
}
|
||||
|
||||
this->aiIndex += 2;
|
||||
@@ -1373,7 +1373,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
|
||||
|
||||
case EV_OPC(EVOP_SET_TARGET):
|
||||
this->state = EVSTATE_WAIT;
|
||||
this->iwork[1] = D_enmy2_800CFF80[actorScript[this->aiIndex] & 0x1FF];
|
||||
this->iwork[1] = gTeamEventActorIndex[actorScript[this->aiIndex] & 0x1FF];
|
||||
this->fwork[17] = actorScript[this->aiIndex + 1];
|
||||
this->timer_0BC = 0;
|
||||
this->aiIndex += 2;
|
||||
@@ -1646,7 +1646,8 @@ void func_enmy2_8006ECBC(PlayerShotId objId, PlayerShot* shot, s32 unk0E4, f32 x
|
||||
} else {
|
||||
AUDIO_PLAY_SFX(0x29002002, shot->sfxSource, 4);
|
||||
}
|
||||
} else if ((unk0E4 < 60) && (gActors[unk0E4].obj.id == OBJ_ACTOR_EVENT) && (gActors[unk0E4].iwork[12] > 0)) {
|
||||
} else if ((unk0E4 < 60) && (gActors[unk0E4].obj.id == OBJ_ACTOR_EVENT) &&
|
||||
(gActors[unk0E4].iwork[12] >= TEAM_ID_FALCO)) {
|
||||
AUDIO_PLAY_SFX(0x2900000D, shot->sfxSource, 4);
|
||||
} else if (unk0E4 + 100 == 200) {
|
||||
shot->playerNum = 100;
|
||||
@@ -2281,8 +2282,8 @@ void ActorEvent_ProcessTriggers(ActorEvent* this) {
|
||||
}
|
||||
}
|
||||
|
||||
if (this->iwork[2] >= 100) {
|
||||
if (fabsf(this->obj.pos.z - gPlayer[0].unk_138) <= ((this->iwork[2] - 100) * 100.0f)) {
|
||||
if (this->iwork[2] >= EVC_CLOSE_Z) {
|
||||
if (fabsf(this->obj.pos.z - gPlayer[0].unk_138) <= ((this->iwork[2] - EVC_CLOSE_Z) * 100.0f)) {
|
||||
ActorEvent_80070CEC(this);
|
||||
}
|
||||
return;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user