mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-02 16:23:57 +03:00
Script and hitbox docs, update torch (#210)
* script2 * more docs and such * torch update
This commit is contained in:
parent
4362338efb
commit
c532f31e24
@ -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 s32 D_ctx_8017782C; // some sort of flag. all range related?
|
||||||
extern GameState gGameState;
|
extern GameState gGameState;
|
||||||
extern s32 gNextGameStateTimer; // next game state timer?
|
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 OptionState gOptionMenuStatus;
|
||||||
extern s32 gPlayState; // pause-related state
|
extern s32 gPlayState; // pause-related state
|
||||||
extern s32 D_ctx_80177868; // some sort of state. pause-related?
|
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 UNK_TYPE F_80177DE8;
|
||||||
extern s32 gGameFrameCount;
|
extern s32 gGameFrameCount;
|
||||||
extern s32 D_ctx_80177DC8;
|
extern s32 D_ctx_80177DC8;
|
||||||
extern s32 D_ctx_80177E70;
|
extern s32 gPrevEventActorIndex;
|
||||||
extern s32 D_ctx_80177E78;
|
extern s32 D_ctx_80177E78;
|
||||||
extern s32 gRingPassCount;
|
extern s32 gRingPassCount;
|
||||||
extern Vec3f D_ctx_80177E88;
|
extern Vec3f D_ctx_80177E88;
|
||||||
@ -267,7 +267,7 @@ extern f32 D_ctx_80177958[4];
|
|||||||
extern s32 D_ctx_8017796C;
|
extern s32 D_ctx_8017796C;
|
||||||
extern OSContPad* gInputHold;
|
extern OSContPad* gInputHold;
|
||||||
extern OSContPad* gInputPress;
|
extern OSContPad* gInputPress;
|
||||||
extern u8* D_ctx_80177984;
|
extern u8* gControllerRumble;
|
||||||
extern s32 D_ctx_80177990[4];
|
extern s32 D_ctx_80177990[4];
|
||||||
extern f32 D_ctx_801779A8[4];
|
extern f32 D_ctx_801779A8[4];
|
||||||
extern u8 gPauseEnabled;
|
extern u8 gPauseEnabled;
|
||||||
@ -288,7 +288,7 @@ extern u8 D_ctx_80177B4C;
|
|||||||
extern u8 D_ctx_80177B6C;
|
extern u8 D_ctx_80177B6C;
|
||||||
extern u8 gGreatFoxIntact;
|
extern u8 gGreatFoxIntact;
|
||||||
extern u8 D_ctx_80177BAC;
|
extern u8 D_ctx_80177BAC;
|
||||||
extern u16 D_Timer_80177BD0[4];
|
extern u16 gControllerRumbleTimers[4];
|
||||||
extern u16 D_ctx_80177C30[4];
|
extern u16 D_ctx_80177C30[4];
|
||||||
extern s32 D_ctx_80177C50;
|
extern s32 D_ctx_80177C50;
|
||||||
extern s32 D_ctx_80177C70;
|
extern s32 D_ctx_80177C70;
|
||||||
|
@ -477,7 +477,7 @@ void func_play_800B6BFC(Player*, s32 );
|
|||||||
void func_play_800B6F50(f32, f32, f32, f32, f32, f32);
|
void func_play_800B6F50(f32, f32, f32, f32, f32, f32);
|
||||||
void func_play_800B7184(Player*, s32);
|
void func_play_800B7184(Player*, s32);
|
||||||
void func_play_800B73E0(Player*);
|
void func_play_800B73E0(Player*);
|
||||||
void func_play_800B852C(ObjectId , Item*);
|
void Play_SpawnVsItem(ObjectId , Item*);
|
||||||
void Play_Main(void);
|
void Play_Main(void);
|
||||||
void func_play_800A668C(f32 xPos, f32 yPos, f32 zPos);
|
void func_play_800A668C(f32 xPos, f32 yPos, f32 zPos);
|
||||||
void func_play_800AD7F0(Player* player);
|
void func_play_800AD7F0(Player* player);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#define SCREEN_WIDTH 320
|
#define SCREEN_WIDTH 320
|
||||||
#define SCREEN_HEIGHT 240
|
#define SCREEN_HEIGHT 240
|
||||||
|
#define SCREEN_MARGIN 8
|
||||||
|
|
||||||
#define RAND_FLOAT(max) (Rand_ZeroOne()*(max))
|
#define RAND_FLOAT(max) (Rand_ZeroOne()*(max))
|
||||||
#define RAND_INT(max) ((s32)(Rand_ZeroOne()*(max)))
|
#define RAND_INT(max) ((s32)(Rand_ZeroOne()*(max)))
|
||||||
|
@ -1,6 +1,63 @@
|
|||||||
#ifndef SF64_EVENT
|
#ifndef SF64_EVENT
|
||||||
#define 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(opcode) (((opcode) & 0x7F) << 9)
|
||||||
#define EV_OPC_MASK(cmd) ((cmd) & (0x7F << 9))
|
#define EV_OPC_MASK(cmd) ((cmd) & (0x7F << 9))
|
||||||
#define EVENT_CMD(opcode, arg1, arg2) (EV_OPC(opcode) | ((s16) (arg1) & 0x1FF)), (arg2)
|
#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_SET_ROTATE() EVENT_CMD(EVOP_SET_ROTATE, 0, 0)
|
||||||
#define EVENT_STOP_ROTATE() EVENT_CMD(EVOP_STOP_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_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_CLEAR_TRIGGER(cmd) EVENT_SET_TRIGGER(EVC_NONE, cmd)
|
||||||
#define EVENT_LOOP(count, cmd) EVENT_CMD(EVOP_LOOP, cmd, count)
|
#define EVENT_LOOP(count, cmd) EVENT_CMD(EVOP_LOOP, cmd, count)
|
||||||
#define EVENT_GOTO(cmd) EVENT_LOOP(0, cmd)
|
#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_PLAY_SFX(sfx) EVENT_CMD(EVOP_PLAY_SFX, 0, sfx)
|
||||||
#define EVENT_STOP_SFX(sfx) EVENT_CMD(EVOP_STOP_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_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_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_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_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_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_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_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_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_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_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_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_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_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)
|
#define EVENT_DAMAGE_TEAM(teamId, damage) EVENT_CMD(EVOP_DAMAGE_TEAM, damage, teamId)
|
||||||
@ -176,7 +234,7 @@ typedef enum EventCondition {
|
|||||||
/* 67 */ EVC_EXPERT_MODE,
|
/* 67 */ EVC_EXPERT_MODE,
|
||||||
/* 68 */ EVC_68,
|
/* 68 */ EVC_68,
|
||||||
/* 69 */ EVC_69,
|
/* 69 */ EVC_69,
|
||||||
/* 100 */ EVC_100=100,
|
/* 100 */ EVC_CLOSE_Z=100,
|
||||||
} EventCondition;
|
} EventCondition;
|
||||||
|
|
||||||
typedef enum EventState {
|
typedef enum EventState {
|
||||||
@ -334,6 +392,7 @@ typedef enum EventActorInfo {
|
|||||||
/* 107 */ EINFO_107,
|
/* 107 */ EINFO_107,
|
||||||
/* 200 */ EINFO_200 = 200,
|
/* 200 */ EINFO_200 = 200,
|
||||||
/* 300 */ EINFO_300 = 300,
|
/* 300 */ EINFO_300 = 300,
|
||||||
|
/* 4095*/ EINFO_FFF = 4095,
|
||||||
} EventActorInfo;
|
} EventActorInfo;
|
||||||
|
|
||||||
typedef enum EventSfx {
|
typedef enum EventSfx {
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
#include "libultra/ultra64.h"
|
#include "libultra/ultra64.h"
|
||||||
#include "sf64math.h"
|
#include "sf64math.h"
|
||||||
|
|
||||||
#define HITBOX_TYPE_2 200000.0f
|
#define HITBOX_ROTATED 200000.0f
|
||||||
#define HITBOX_TYPE_3 300000.0f
|
#define HITBOX_SHADOW 300000.0f
|
||||||
#define HITBOX_TYPE_4 400000.0f
|
#define HITBOX_WHOOSH 400000.0f
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ f32 offset;
|
/* 0x0 */ f32 offset;
|
||||||
|
@ -271,11 +271,11 @@ typedef struct Player {
|
|||||||
/* 0x220 */ s32 timer_220;
|
/* 0x220 */ s32 timer_220;
|
||||||
/* 0x224 */ s32 timer_224;
|
/* 0x224 */ s32 timer_224;
|
||||||
/* 0x228 */ s32 flags_228;
|
/* 0x228 */ s32 flags_228;
|
||||||
/* 0x22C */ s32 unk_22C;
|
/* 0x22C */ s32 whooshTimer;
|
||||||
/* 0x230 */ s32 unk_230;
|
/* 0x230 */ s32 unk_230;
|
||||||
/* 0x234 */ s32 unk_234;
|
/* 0x234 */ s32 unk_234;
|
||||||
/* 0x238 */ s32 cockpitView;
|
/* 0x238 */ s32 cockpitView;
|
||||||
/* 0x23C */ s32 unk_23C;
|
/* 0x23C */ s32 shadowing;
|
||||||
/* 0x240 */ s32 unk_240;
|
/* 0x240 */ s32 unk_240;
|
||||||
/* 0x244 */ s32 timer_244;
|
/* 0x244 */ s32 timer_244;
|
||||||
/* 0x248 */ f32 unk_248;
|
/* 0x248 */ f32 unk_248;
|
||||||
|
@ -103,7 +103,7 @@ extern OSContPad gControllerHold[4];
|
|||||||
extern OSContPad gControllerPress[4];
|
extern OSContPad gControllerPress[4];
|
||||||
extern u8 gControllerPlugged[4];
|
extern u8 gControllerPlugged[4];
|
||||||
extern u32 gControllerLock;
|
extern u32 gControllerLock;
|
||||||
extern u8 gControllerRumble[4];
|
extern u8 gControllerRumbleEnabled[4];
|
||||||
extern OSContPad sNextController[4]; //
|
extern OSContPad sNextController[4]; //
|
||||||
extern OSContPad sPrevController[4]; //
|
extern OSContPad sPrevController[4]; //
|
||||||
extern OSContStatus sControllerStatus[4]; //
|
extern OSContStatus sControllerStatus[4]; //
|
||||||
@ -167,11 +167,11 @@ extern Lightsn* gLight;
|
|||||||
extern FrameBuffer* gFrameBuffer;
|
extern FrameBuffer* gFrameBuffer;
|
||||||
extern u16* gTextureRender;
|
extern u16* gTextureRender;
|
||||||
|
|
||||||
extern u8 D_80137E78;
|
extern u8 gVIsPerFrame;
|
||||||
extern u32 gSysFrameCount;
|
extern u32 gSysFrameCount;
|
||||||
extern u8 gStartNMI;
|
extern u8 gStartNMI;
|
||||||
extern u8 gStopTasks;
|
extern u8 gStopTasks;
|
||||||
extern u8 D_80137E84[4];
|
extern u8 gControllerRumbleFlags[4];
|
||||||
extern u16 gFillScreenColor;
|
extern u16 gFillScreenColor;
|
||||||
extern u16 gFillScreen;
|
extern u16 gFillScreen;
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ extern ObjectInit* gLevelObjectInits[];
|
|||||||
extern u32 D_enmy_800CFF54[9];
|
extern u32 D_enmy_800CFF54[9];
|
||||||
|
|
||||||
// fox_enmy2
|
// fox_enmy2
|
||||||
extern s32 D_enmy2_800CFF80[4];
|
extern s32 gTeamEventActorIndex[4];
|
||||||
extern s32 gCallVoiceParam;
|
extern s32 gCallVoiceParam;
|
||||||
|
|
||||||
// fox_hud
|
// fox_hud
|
||||||
|
@ -60,7 +60,7 @@ D_800C45E0 = 0x800C45E0;
|
|||||||
|
|
||||||
D_edisplay_801615D0 = 0x801615D0;//size:0xC
|
D_edisplay_801615D0 = 0x801615D0;//size:0xC
|
||||||
D_edisplay_801615E0 = 0x801615E0;//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_80161578 = 0x80161578;//size:0x30
|
||||||
D_display_800CA23C = 0x800CA23C;//size:0x18
|
D_display_800CA23C = 0x800CA23C;//size:0x18
|
||||||
|
@ -516,7 +516,7 @@ D_ctx_80177B50 = 0x80177B50;
|
|||||||
D_ctx_80177B70 = 0x80177B70;
|
D_ctx_80177B70 = 0x80177B70;
|
||||||
D_ctx_80177B90 = 0x80177B90;
|
D_ctx_80177B90 = 0x80177B90;
|
||||||
D_ctx_80177BB0 = 0x80177BB0;
|
D_ctx_80177BB0 = 0x80177BB0;
|
||||||
D_Timer_80177BD0 = 0x80177BD0;
|
gControllerRumbleTimers = 0x80177BD0;
|
||||||
D_ctx_80177BD8 = 0x80177BD8;
|
D_ctx_80177BD8 = 0x80177BD8;
|
||||||
D_ctx_80177C30 = 0x80177C30;
|
D_ctx_80177C30 = 0x80177C30;
|
||||||
D_ctx_80177C50 = 0x80177C50;
|
D_ctx_80177C50 = 0x80177C50;
|
||||||
@ -550,7 +550,7 @@ D_ctx_80177D88 = 0x80177D88;
|
|||||||
gBombCount = 0x80177DA0;
|
gBombCount = 0x80177DA0;
|
||||||
gGameFrameCount = 0x80177DB0;
|
gGameFrameCount = 0x80177DB0;
|
||||||
D_ctx_80177DC8 = 0x80177DC8;
|
D_ctx_80177DC8 = 0x80177DC8;
|
||||||
D_ctx_80177E70 = 0x80177E70;
|
gPrevEventActorIndex = 0x80177E70;
|
||||||
D_ctx_80177E78 = 0x80177E78;
|
D_ctx_80177E78 = 0x80177E78;
|
||||||
gRingPassCount = 0x80177E80;
|
gRingPassCount = 0x80177E80;
|
||||||
D_ctx_80177E88 = 0x80177E88; // size:0xC
|
D_ctx_80177E88 = 0x80177E88; // size:0xC
|
||||||
@ -763,7 +763,7 @@ Player_Update2 = 0x800B71E4;
|
|||||||
func_play_800B73E0 = 0x800B73E0;
|
func_play_800B73E0 = 0x800B73E0;
|
||||||
Play_UpdateLevel = 0x800B79B0;
|
Play_UpdateLevel = 0x800B79B0;
|
||||||
Play_Update = 0x800B832C;
|
Play_Update = 0x800B832C;
|
||||||
func_play_800B852C = 0x800B852C;
|
Play_SpawnVsItem = 0x800B852C;
|
||||||
func_play_800B86A4 = 0x800B86A4;
|
func_play_800B86A4 = 0x800B86A4;
|
||||||
Play_Main = 0x800B86CC;
|
Play_Main = 0x800B86CC;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ gControllerHold = 0x800DD880; // size:0x18
|
|||||||
gControllerPress = 0x800DD898; // size:0x18
|
gControllerPress = 0x800DD898; // size:0x18
|
||||||
gControllerPlugged = 0x800DD8B0; // size:0x4
|
gControllerPlugged = 0x800DD8B0; // size:0x4
|
||||||
gControllerLock = 0x800DD8B4; // size:0x4
|
gControllerLock = 0x800DD8B4; // size:0x4
|
||||||
gControllerRumble = 0x800DD8B8; // size:0x4
|
gControllerRumbleEnabled = 0x800DD8B8; // size:0x4
|
||||||
D_800DD8BC = 0x800DD8BC; // ignore:true
|
D_800DD8BC = 0x800DD8BC; // ignore:true
|
||||||
sNextController = 0x800DD8C0; // size:0x18
|
sNextController = 0x800DD8C0; // size:0x18
|
||||||
sPrevController = 0x800DD8D8; // size:0x18
|
sPrevController = 0x800DD8D8; // size:0x18
|
||||||
@ -75,11 +75,11 @@ gUnkDisp2 = 0x80137E68;
|
|||||||
gLight = 0x80137E6C;
|
gLight = 0x80137E6C;
|
||||||
gFrameBuffer = 0x80137E70;
|
gFrameBuffer = 0x80137E70;
|
||||||
gTextureRender = 0x80137E74;
|
gTextureRender = 0x80137E74;
|
||||||
D_80137E78 = 0x80137E78;
|
gVIsPerFrame = 0x80137E78;
|
||||||
gSysFrameCount = 0x80137E7C;
|
gSysFrameCount = 0x80137E7C;
|
||||||
gStartNMI = 0x80137E80;
|
gStartNMI = 0x80137E80;
|
||||||
gStopTasks = 0x80137E81;
|
gStopTasks = 0x80137E81;
|
||||||
D_80137E84 = 0x80137E84; // size:0x4
|
gControllerRumbleFlags = 0x80137E84; // size:0x4
|
||||||
gFillScreenColor = 0x80137E88;
|
gFillScreenColor = 0x80137E88;
|
||||||
gFillScreen = 0x80137E8A;
|
gFillScreen = 0x80137E8A;
|
||||||
|
|
||||||
|
@ -266,10 +266,10 @@ s32 func_beam_80036874(PlayerShot* shot, f32* hitboxData, Object* obj) {
|
|||||||
boxRotZ = 0.0f;
|
boxRotZ = 0.0f;
|
||||||
boxRotY = 0.0f;
|
boxRotY = 0.0f;
|
||||||
boxRotX = 0.0f;
|
boxRotX = 0.0f;
|
||||||
if (hitboxData[0] >= HITBOX_TYPE_3) {
|
if (hitboxData[0] >= HITBOX_SHADOW) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (hitboxData[0] == HITBOX_TYPE_2) {
|
if (hitboxData[0] == HITBOX_ROTATED) {
|
||||||
rotateBox = 1.0f;
|
rotateBox = 1.0f;
|
||||||
boxRotX = hitboxData[1];
|
boxRotX = hitboxData[1];
|
||||||
boxRotY = hitboxData[2];
|
boxRotY = hitboxData[2];
|
||||||
@ -378,7 +378,7 @@ s32 func_beam_80036F88(PlayerShot* shot, Actor* actor) {
|
|||||||
shotPy = shot->obj.pos.y;
|
shotPy = shot->obj.pos.y;
|
||||||
shotPz = shot->obj.pos.z;
|
shotPz = shot->obj.pos.z;
|
||||||
} else {
|
} else {
|
||||||
if (hitboxData[0] == HITBOX_TYPE_2) {
|
if (hitboxData[0] == HITBOX_ROTATED) {
|
||||||
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
||||||
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
||||||
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * 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;
|
break;
|
||||||
}
|
}
|
||||||
} else if ((shot->playerNum >= 100) && (gCurrentLevel == LEVEL_SECTOR_X)) {
|
} 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;
|
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.y = shot->obj.pos.y;
|
||||||
actor->unk_0D8.z = shot->obj.pos.z;
|
actor->unk_0D8.z = shot->obj.pos.z;
|
||||||
if (((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0D2 == 0) &&
|
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_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->obj.id == OBJ_ACTOR_261) && (shot->obj.id != PLAYERSHOT_8) &&
|
||||||
((actor->state < 3) || (actor->state >= 5))) ||
|
((actor->state < 3) || (actor->state >= 5))) ||
|
||||||
((actor->obj.id == OBJ_ACTOR_260) && (shot->obj.id != PLAYERSHOT_8) && (actor->timer_0BC != 0))) {
|
((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;
|
break;
|
||||||
case OBJ_ACTOR_EVENT:
|
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)) {
|
if (func_beam_8003774C(shot, ACTOR_EVENT_ID, &actor->obj)) {
|
||||||
actor->unk_0D0 = 1;
|
actor->unk_0D0 = 1;
|
||||||
actor->unk_0D2 = shot->playerNum;
|
actor->unk_0D2 = shot->playerNum;
|
||||||
return;
|
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.x = fabsf(actor->obj.pos.x - shot->obj.pos.x);
|
||||||
test.y = fabsf(actor->obj.pos.y - shot->obj.pos.y);
|
test.y = fabsf(actor->obj.pos.y - shot->obj.pos.y);
|
||||||
test.z = fabsf(actor->obj.pos.z - shot->obj.pos.z);
|
test.z = fabsf(actor->obj.pos.z - shot->obj.pos.z);
|
||||||
@ -1109,9 +1110,9 @@ void func_beam_80039210(PlayerShot* shot) {
|
|||||||
} else {
|
} else {
|
||||||
var_a1 = 0;
|
var_a1 = 0;
|
||||||
if ((gCurrentLevel != LEVEL_KATINA) && (shot->playerNum >= 104) && (shot->playerNum != 108)) {
|
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;
|
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;
|
var_a1 = 2;
|
||||||
}
|
}
|
||||||
} else if (gCurrentLevel == LEVEL_KATINA) {
|
} else if (gCurrentLevel == LEVEL_KATINA) {
|
||||||
@ -1771,7 +1772,7 @@ void func_beam_8003C008(PlayerShot* shot) {
|
|||||||
count = *hitboxData++;
|
count = *hitboxData++;
|
||||||
if (count != 0) {
|
if (count != 0) {
|
||||||
for (j = 0; j < count; j++, hitboxData += 6) {
|
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_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
||||||
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
||||||
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * 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) ||
|
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_190) || (actor->obj.id == OBJ_ACTOR_202) ||
|
||||||
(actor->obj.id == OBJ_ACTOR_201) || (actor->obj.id == OBJ_ACTOR_187) ||
|
(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 == EINFO_78)) ||
|
||||||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == 38)) ||
|
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == EINFO_38)) ||
|
||||||
(actor->obj.id == OBJ_ACTOR_196)) {
|
(actor->obj.id == OBJ_ACTOR_196)) {
|
||||||
actor->unk_0D0 = 2;
|
actor->unk_0D0 = 2;
|
||||||
actor->unk_0D2 = 0;
|
actor->unk_0D2 = 0;
|
||||||
|
@ -117,17 +117,17 @@ void func_bg_8003DAF0(void) {
|
|||||||
gDPSetRenderMode(gMasterDisp++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
gDPSetRenderMode(gMasterDisp++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
||||||
var_s2 = D_ctx_80178410;
|
var_s2 = D_ctx_80178410;
|
||||||
if (var_s2 != 0) {
|
if (var_s2 != 0) {
|
||||||
if (D_ctx_80178420 >= 480.0f) {
|
if (D_ctx_80178420 >= 1.5f * SCREEN_WIDTH) {
|
||||||
D_ctx_80178420 -= 480.0f;
|
D_ctx_80178420 -= 1.5f * SCREEN_WIDTH;
|
||||||
}
|
}
|
||||||
if (D_ctx_80178424 >= 360.0f) {
|
if (D_ctx_80178424 >= 1.5f * SCREEN_HEIGHT) {
|
||||||
D_ctx_80178424 -= 360.0f;
|
D_ctx_80178424 -= 1.5f * SCREEN_HEIGHT;
|
||||||
}
|
}
|
||||||
if (D_ctx_80178420 < 0.0f) {
|
if (D_ctx_80178420 < 0.0f) {
|
||||||
D_ctx_80178420 += 480.0f;
|
D_ctx_80178420 += 1.5f * SCREEN_WIDTH;
|
||||||
}
|
}
|
||||||
if (D_ctx_80178424 < 0.0f) {
|
if (D_ctx_80178424 < 0.0f) {
|
||||||
D_ctx_80178424 += 360.0f;
|
D_ctx_80178424 += 1.5f * SCREEN_HEIGHT;
|
||||||
}
|
}
|
||||||
spf68 = D_ctx_80178420;
|
spf68 = D_ctx_80178420;
|
||||||
spf64 = D_ctx_80178424;
|
spf64 = D_ctx_80178424;
|
||||||
@ -144,17 +144,18 @@ void func_bg_8003DAF0(void) {
|
|||||||
for (i = 0; i < var_s2; i++, sp5C++, sp60++, sp58++) {
|
for (i = 0; i < var_s2; i++, sp5C++, sp60++, sp58++) {
|
||||||
var_fv1 = *sp60 + spf68;
|
var_fv1 = *sp60 + spf68;
|
||||||
var_fa0 = *sp5C + spf64;
|
var_fa0 = *sp5C + spf64;
|
||||||
if (var_fv1 >= 400.0f) {
|
if (var_fv1 >= 1.25f * SCREEN_WIDTH) {
|
||||||
var_fv1 -= 480.0f;
|
var_fv1 -= 1.5f * SCREEN_WIDTH;
|
||||||
}
|
}
|
||||||
var_fv1 -= 160.0f;
|
var_fv1 -= SCREEN_WIDTH / 2.0f;
|
||||||
if (var_fa0 >= 300.0f) {
|
|
||||||
var_fa0 -= 360.0f;
|
|
||||||
}
|
|
||||||
var_fa0 -= 120.0f;
|
|
||||||
|
|
||||||
temp_ft2 = (sp70 * var_fv1) + (spf6C * var_fa0) + 160.0f;
|
if (var_fa0 >= 1.25f * SCREEN_HEIGHT) {
|
||||||
temp_ft0 = (-spf6C * var_fv1) + (sp70 * var_fa0) + 120.0f;
|
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)) {
|
if ((temp_ft2 >= 0) && (temp_ft2 < SCREEN_WIDTH) && (temp_ft0 > 0) && (temp_ft0 < SCREEN_HEIGHT)) {
|
||||||
gDPPipeSync(gMasterDisp++);
|
gDPPipeSync(gMasterDisp++);
|
||||||
gDPSetFillColor(gMasterDisp++, *sp58);
|
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?
|
s32 D_ctx_8017782C; // some sort of flag. all range related?
|
||||||
GameState gGameState;
|
GameState gGameState;
|
||||||
s32 gNextGameStateTimer; // next game state timer?
|
s32 gNextGameStateTimer; // next game state timer?
|
||||||
s32 D_ctx_80177844; // timer for vs item spawn
|
s32 gVsItemSpawnTimer; // timer for vs item spawn
|
||||||
OptionState gOptionMenuStatus;
|
OptionState gOptionMenuStatus;
|
||||||
s32 gPlayState; // pause-related state
|
s32 gPlayState; // pause-related state
|
||||||
s32 D_ctx_80177868; // some sort of state. pause-related?
|
s32 D_ctx_80177868; // some sort of state. pause-related?
|
||||||
@ -73,7 +73,7 @@ UNK_TYPE F_80177D80;
|
|||||||
UNK_TYPE F_80177DE8;
|
UNK_TYPE F_80177DE8;
|
||||||
s32 gGameFrameCount;
|
s32 gGameFrameCount;
|
||||||
s32 D_ctx_80177DC8;
|
s32 D_ctx_80177DC8;
|
||||||
s32 D_ctx_80177E70;
|
s32 gPrevEventActorIndex;
|
||||||
s32 D_ctx_80177E78;
|
s32 D_ctx_80177E78;
|
||||||
s32 gRingPassCount;
|
s32 gRingPassCount;
|
||||||
Vec3f D_ctx_80177E88;
|
Vec3f D_ctx_80177E88;
|
||||||
@ -286,7 +286,7 @@ f32 D_ctx_80177958[4];
|
|||||||
s32 D_ctx_8017796C;
|
s32 D_ctx_8017796C;
|
||||||
OSContPad* gInputHold;
|
OSContPad* gInputHold;
|
||||||
OSContPad* gInputPress;
|
OSContPad* gInputPress;
|
||||||
u8* D_ctx_80177984;
|
u8* gControllerRumble;
|
||||||
s32 D_ctx_80177990[4];
|
s32 D_ctx_80177990[4];
|
||||||
f32 D_ctx_801779A8[4];
|
f32 D_ctx_801779A8[4];
|
||||||
u8 gPauseEnabled;
|
u8 gPauseEnabled;
|
||||||
@ -307,7 +307,7 @@ u8 D_ctx_80177B4C;
|
|||||||
u8 D_ctx_80177B6C;
|
u8 D_ctx_80177B6C;
|
||||||
u8 gGreatFoxIntact;
|
u8 gGreatFoxIntact;
|
||||||
u8 D_ctx_80177BAC;
|
u8 D_ctx_80177BAC;
|
||||||
u16 D_Timer_80177BD0[4];
|
u16 gControllerRumbleTimers[4];
|
||||||
u16 D_ctx_80177C30[4];
|
u16 D_ctx_80177C30[4];
|
||||||
s32 D_ctx_80177C50;
|
s32 D_ctx_80177C50;
|
||||||
s32 D_ctx_80177C70;
|
s32 D_ctx_80177C70;
|
||||||
|
@ -1894,7 +1894,7 @@ void func_demo_8004E3D8(Player* player) {
|
|||||||
player->unk_280 = 0;
|
player->unk_280 = 0;
|
||||||
|
|
||||||
if ((gGameFrameCount % 2) != 0) {
|
if ((gGameFrameCount % 2) != 0) {
|
||||||
D_80137E84[gPlayerNum] = 1;
|
gControllerRumbleFlags[gPlayerNum] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (player->form) {
|
switch (player->form) {
|
||||||
|
@ -16,9 +16,9 @@ f32 D_display_801615A8[4];
|
|||||||
f32 D_display_801615B8[4];
|
f32 D_display_801615B8[4];
|
||||||
|
|
||||||
s32 D_display_800CA220 = 0;
|
s32 D_display_800CA220 = 0;
|
||||||
u8 D_display_800CA224[] = { 0, 0, 0, 0 }; //
|
u8 sPlayersVisible[] = { 0, 0, 0, 0 }; //
|
||||||
s32 D_display_800CA228 = 0; //
|
s32 D_display_800CA228 = 0; //
|
||||||
s32 D_display_800CA22C = 0; //
|
s32 D_display_800CA22C = 0; //
|
||||||
f32 D_display_800CA230 = 0.0f;
|
f32 D_display_800CA230 = 0.0f;
|
||||||
Actor* D_display_800CA234 = NULL;
|
Actor* D_display_800CA234 = NULL;
|
||||||
s32 D_display_Timer_800CA238 = 0;
|
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_800CA28C = 2.0f;
|
||||||
f32 D_display_800CA290 = 13.0f;
|
f32 D_display_800CA290 = 13.0f;
|
||||||
f32 D_display_800CA294 = -10.0f;
|
f32 D_display_800CA294 = -10.0f;
|
||||||
f32 D_display_800CA298[] = { 0.0f, 0.0f, 0.0f, 0.0f };
|
f32 sCrosshairScales[] = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
f32 D_display_800CA2A8 = 0.0f;
|
f32 sPlayerShadowing = 0.0f;
|
||||||
|
|
||||||
void func_display_80052B80(Player* player) {
|
void func_display_80052B80(Player* player) {
|
||||||
Matrix_Push(&gGfxMatrix);
|
Matrix_Push(&gGfxMatrix);
|
||||||
@ -652,22 +652,22 @@ void func_display_80053C38(Player* player, s32 arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_display_80053F7C(Player* player) {
|
void func_display_80053F7C(Player* player) {
|
||||||
Vec3f* pad;
|
Vec3f* translate;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if ((gPlayerNum == player->num) && ((player->form == FORM_ARWING) || (player->form == FORM_LANDMASTER)) &&
|
if ((gPlayerNum == player->num) && ((player->form == FORM_ARWING) || (player->form == FORM_LANDMASTER)) &&
|
||||||
(player->unk_234 != 0) &&
|
(player->unk_234 != 0) &&
|
||||||
(((gGameState == GSTATE_PLAY) && (player->state_1C8 == PLAYERSTATE_1C8_3)) || (gGameState == GSTATE_MENU))) {
|
(((gGameState == GSTATE_PLAY) && (player->state_1C8 == PLAYERSTATE_1C8_3)) || (gGameState == GSTATE_MENU))) {
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
pad = &D_display_801613E0[i];
|
translate = &D_display_801613E0[i];
|
||||||
Matrix_Push(&gGfxMatrix);
|
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) {
|
if (gChargeTimers[player->num] >= 20) {
|
||||||
RCP_SetupDL(&gMasterDisp, 0x3F);
|
RCP_SetupDL(&gMasterDisp, 0x3F);
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
|
||||||
gDPSetEnvColor(gMasterDisp++, 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 {
|
} else {
|
||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
||||||
gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 255);
|
gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 255);
|
||||||
@ -676,8 +676,8 @@ void func_display_80053F7C(Player* player) {
|
|||||||
RCP_SetupDL_36();
|
RCP_SetupDL_36();
|
||||||
}
|
}
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
Matrix_Scale(gGfxMatrix, D_display_800CA298[player->num], D_display_800CA298[player->num], 1.0f, 1);
|
Matrix_Scale(gGfxMatrix, sCrosshairScales[player->num], sCrosshairScales[player->num], 1.0f, 1);
|
||||||
Math_SmoothStepToF(&D_display_800CA298[player->num], 1.0f, 1.0f, 0.2f, 0.0f);
|
Math_SmoothStepToF(&sCrosshairScales[player->num], 1.0f, 1.0f, 0.2f, 0.0f);
|
||||||
}
|
}
|
||||||
Matrix_Scale(gGfxMatrix, 4.0f, 4.0f, 4.0f, 1);
|
Matrix_Scale(gGfxMatrix, 4.0f, 4.0f, 4.0f, 1);
|
||||||
Matrix_SetGfxMtx(&gMasterDisp);
|
Matrix_SetGfxMtx(&gMasterDisp);
|
||||||
@ -705,16 +705,16 @@ void func_display_80054280(Player* player, s32 arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_display_80054300(Player* player) {
|
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);
|
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) {
|
if (player->unk_068 > 30.0f) {
|
||||||
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
|
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
|
||||||
}
|
}
|
||||||
if ((gGroundType == GROUNDTYPE_WATER) && (player->unk_068 < 10.0f)) {
|
if ((gGroundType == GROUNDTYPE_WATER) && (player->unk_068 < 10.0f)) {
|
||||||
player->unk_23C = 90;
|
player->shadowing = 90;
|
||||||
} else {
|
} else {
|
||||||
player->unk_23C = 180;
|
player->shadowing = 180;
|
||||||
}
|
}
|
||||||
switch (player->form) {
|
switch (player->form) {
|
||||||
case FORM_ARWING:
|
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.x) < (fabsf(sp20.z * 0.5f) + 500.0f)) {
|
||||||
if (fabsf(sp20.y) < (fabsf(sp20.z * 0.5f) + 500.0f)) {
|
if (fabsf(sp20.y) < (fabsf(sp20.z * 0.5f) + 500.0f)) {
|
||||||
if (arg1 == 0) {
|
if (arg1 == 0) {
|
||||||
D_display_800CA224[index] = 1;
|
sPlayersVisible[index] = 1;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (arg1 == 0) {
|
if (arg1 == 0) {
|
||||||
D_display_800CA224[index] = 0;
|
sPlayersVisible[index] = 0;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1303,12 +1303,7 @@ Gfx* D_display_800CA354[] = {
|
|||||||
f32 D_display_800CA380 = 0.0f;
|
f32 D_display_800CA380 = 0.0f;
|
||||||
f32 D_display_800CA384 = 0.0f;
|
f32 D_display_800CA384 = 0.0f;
|
||||||
f32 D_display_800CA388 = -300.0f;
|
f32 D_display_800CA388 = -300.0f;
|
||||||
f32 D_display_800CA38C[] = {
|
f32 D_display_800CA38C[] = { 0.0f, -300.0f, -150.0f, -50.0f };
|
||||||
0.0f,
|
|
||||||
-300.0f,
|
|
||||||
-150.0f,
|
|
||||||
-50.0f,
|
|
||||||
};
|
|
||||||
|
|
||||||
void func_display_80056E2C(Player* player) {
|
void func_display_80056E2C(Player* player) {
|
||||||
f32 sp34;
|
f32 sp34;
|
||||||
@ -1648,7 +1643,7 @@ void Play_Draw(void) {
|
|||||||
Matrix_Push(&gGfxMatrix);
|
Matrix_Push(&gGfxMatrix);
|
||||||
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, 1);
|
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, 1);
|
||||||
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
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_80055B58(opponent);
|
||||||
func_display_80056230(opponent);
|
func_display_80056230(opponent);
|
||||||
}
|
}
|
||||||
@ -1670,7 +1665,7 @@ void Play_Draw(void) {
|
|||||||
}
|
}
|
||||||
gReflectY = 1;
|
gReflectY = 1;
|
||||||
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
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_80056E2C(opponent);
|
||||||
func_display_80055B58(opponent);
|
func_display_80055B58(opponent);
|
||||||
func_display_80056230(opponent);
|
func_display_80056230(opponent);
|
||||||
@ -1691,7 +1686,7 @@ void Play_Draw(void) {
|
|||||||
func_display_80053B18();
|
func_display_80053B18();
|
||||||
}
|
}
|
||||||
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
|
||||||
if (D_display_800CA224[i] != 0) {
|
if (sPlayersVisible[i] != 0) {
|
||||||
if (gShowCrosshairs[i]) {
|
if (gShowCrosshairs[i]) {
|
||||||
func_display_80053F7C(opponent);
|
func_display_80053F7C(opponent);
|
||||||
}
|
}
|
||||||
@ -1712,6 +1707,6 @@ void Play_Draw(void) {
|
|||||||
}
|
}
|
||||||
Matrix_Pop(&gGfxMatrix);
|
Matrix_Pop(&gGfxMatrix);
|
||||||
func_display_80051B30();
|
func_display_80051B30();
|
||||||
D_display_800CA224[gPlayerNum] = 0;
|
sPlayersVisible[gPlayerNum] = 0;
|
||||||
Matrix_Pop(&gGfxMatrix);
|
Matrix_Pop(&gGfxMatrix);
|
||||||
}
|
}
|
||||||
|
@ -638,13 +638,13 @@ void func_edisplay_8005BAB4(ObjectId objId, s32 index) {
|
|||||||
case OBJ_ACTOR_TEAM_BOSS:
|
case OBJ_ACTOR_TEAM_BOSS:
|
||||||
case OBJ_ACTOR_EVENT:
|
case OBJ_ACTOR_EVENT:
|
||||||
switch (gActors[index].unk_0B4) {
|
switch (gActors[index].unk_0B4) {
|
||||||
case 3:
|
case EINFO_3:
|
||||||
Matrix_Scale(gGfxMatrix, 2.3f, 0.0f, 2.3f, 1);
|
Matrix_Scale(gGfxMatrix, 2.3f, 0.0f, 2.3f, 1);
|
||||||
Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
|
Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
|
||||||
Matrix_SetGfxMtx(&gMasterDisp);
|
Matrix_SetGfxMtx(&gMasterDisp);
|
||||||
gSPDisplayList(gMasterDisp++, D_102A010);
|
gSPDisplayList(gMasterDisp++, D_102A010);
|
||||||
break;
|
break;
|
||||||
case 81:
|
case EINFO_81:
|
||||||
RCP_SetupDL(&gMasterDisp, 0x30);
|
RCP_SetupDL(&gMasterDisp, 0x30);
|
||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
|
||||||
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 255);
|
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 255);
|
||||||
|
@ -2817,10 +2817,10 @@ bool func_effect_8007FD84(Effect* effect) {
|
|||||||
s32 i;
|
s32 i;
|
||||||
Actor* actor;
|
Actor* actor;
|
||||||
|
|
||||||
for (i = 1; i < ARRAY_COUNT(D_enmy2_800CFF80); i++) {
|
for (i = 1; i < ARRAY_COUNT(gTeamEventActorIndex); i++) {
|
||||||
actor = &gActors[D_enmy2_800CFF80[i]];
|
actor = &gActors[gTeamEventActorIndex[i]];
|
||||||
if (actor->obj.status == OBJ_ACTIVE) {
|
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.z - effect->obj.pos.z) < 100.0f) &&
|
||||||
(fabsf(actor->obj.pos.x - effect->obj.pos.x) < 100.0f) &&
|
(fabsf(actor->obj.pos.x - effect->obj.pos.x) < 100.0f) &&
|
||||||
(fabsf(actor->obj.pos.y - effect->obj.pos.y) < 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;
|
effect->obj.pos.z = zPos;
|
||||||
|
|
||||||
AUDIO_PLAY_SFX(0x2940F026, effect->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x2940F026, effect->sfxSource, 4);
|
||||||
D_Timer_80177BD0[0] = 60;
|
gControllerRumbleTimers[0] = 60;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -384,14 +384,14 @@ void func_enmy_80061F0C(Actor* actor, ObjectInit* objInit, s32 index) {
|
|||||||
actor->unk_0F4.z = objInit->rot.z;
|
actor->unk_0F4.z = objInit->rot.z;
|
||||||
actor->obj.id = OBJ_ACTOR_EVENT;
|
actor->obj.id = OBJ_ACTOR_EVENT;
|
||||||
actor->timer_0C2 = 10;
|
actor->timer_0C2 = 10;
|
||||||
actor->unk_0B4 = 4095;
|
actor->unk_0B4 = EINFO_FFF;
|
||||||
actor->aiType = objInit->id - ACTOR_EVENT_ID;
|
actor->aiType = objInit->id - ACTOR_EVENT_ID;
|
||||||
|
|
||||||
Object_SetInfo(&actor->info, actor->obj.id);
|
Object_SetInfo(&actor->info, actor->obj.id);
|
||||||
actor->info.unk_10 = 3000.0f;
|
actor->info.unk_10 = 3000.0f;
|
||||||
actor->fwork[25] = 20000.0f;
|
actor->fwork[25] = 20000.0f;
|
||||||
actor->iwork[1] = D_ctx_80177E70;
|
actor->iwork[1] = gPrevEventActorIndex;
|
||||||
actor->iwork[10] = gActors[D_ctx_80177E70].aiType;
|
actor->iwork[10] = gActors[gPrevEventActorIndex].aiType;
|
||||||
actor->fwork[22] = D_play_80161A54;
|
actor->fwork[22] = D_play_80161A54;
|
||||||
Matrix_RotateZ(gCalcMatrix, -D_ctx_80177E88.z * M_DTOR, 0);
|
Matrix_RotateZ(gCalcMatrix, -D_ctx_80177E88.z * M_DTOR, 0);
|
||||||
Matrix_RotateX(gCalcMatrix, -D_ctx_80177E88.x * M_DTOR, 1);
|
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;
|
sp24.z = actor->obj.pos.z - D_ctx_80177F10.z;
|
||||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp24, &actor->vwork[28]);
|
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp24, &actor->vwork[28]);
|
||||||
actor->iwork[9] = D_ctx_80177E78;
|
actor->iwork[9] = D_ctx_80177E78;
|
||||||
D_ctx_80177E70 = index;
|
gPrevEventActorIndex = index;
|
||||||
Actor_Update(actor);
|
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) {
|
for (i = 0; i < count; i++, hitboxData += 6) {
|
||||||
rotate = 0.0f;
|
rotate = 0.0f;
|
||||||
hitRot.x = hitRot.y = hitRot.z = 0.0f;
|
hitRot.x = hitRot.y = hitRot.z = 0.0f;
|
||||||
if (*hitboxData >= HITBOX_TYPE_3) {
|
if (*hitboxData >= HITBOX_SHADOW) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (*hitboxData == HITBOX_TYPE_2) {
|
if (*hitboxData == HITBOX_ROTATED) {
|
||||||
rotate = 1.0f;
|
rotate = 1.0f;
|
||||||
hitRot.x = hitboxData[1];
|
hitRot.x = hitboxData[1];
|
||||||
hitRot.y = hitboxData[2];
|
hitRot.y = hitboxData[2];
|
||||||
@ -2493,7 +2493,7 @@ void Actor_Move(Actor* actor) {
|
|||||||
f32 var_fv0 = 4000.0f;
|
f32 var_fv0 = 4000.0f;
|
||||||
|
|
||||||
if ((actor->obj.id == OBJ_ACTOR_236) || (gCurrentLevel == LEVEL_MACBETH) ||
|
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;
|
var_fv0 = 8000.0f;
|
||||||
} else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_8) {
|
} else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_8) {
|
||||||
var_fv0 = 100000.0f;
|
var_fv0 = 100000.0f;
|
||||||
@ -2515,7 +2515,7 @@ void Actor_Move(Actor* actor) {
|
|||||||
D_ctx_80176550[actor->unk_046] = 0;
|
D_ctx_80176550[actor->unk_046] = 0;
|
||||||
break;
|
break;
|
||||||
case OBJ_ACTOR_EVENT:
|
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;
|
D_ctx_80176550[actor->unk_046] = 0;
|
||||||
} else if ((actor->unk_0B4 == EINFO_38) && (actor->unk_046 != 2)) {
|
} else if ((actor->unk_0B4 == EINFO_38) && (actor->unk_046 != 2)) {
|
||||||
gRingPassCount = -1;
|
gRingPassCount = -1;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "assets/ast_ve1_boss.h"
|
#include "assets/ast_ve1_boss.h"
|
||||||
#include "assets/ast_zoness.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 gCallVoiceParam = 0;
|
||||||
s32 gCallTimer;
|
s32 gCallTimer;
|
||||||
|
|
||||||
@ -1186,7 +1186,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
|
|||||||
this->iwork[12] = actorScript[this->aiIndex + 1];
|
this->iwork[12] = actorScript[this->aiIndex + 1];
|
||||||
|
|
||||||
if (this->iwork[12] <= TEAM_ID_PEPPY) {
|
if (this->iwork[12] <= TEAM_ID_PEPPY) {
|
||||||
D_enmy2_800CFF80[this->iwork[12]] = this->index;
|
gTeamEventActorIndex[this->iwork[12]] = this->index;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->aiIndex += 2;
|
this->aiIndex += 2;
|
||||||
@ -1373,7 +1373,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
|
|||||||
|
|
||||||
case EV_OPC(EVOP_SET_TARGET):
|
case EV_OPC(EVOP_SET_TARGET):
|
||||||
this->state = EVSTATE_WAIT;
|
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->fwork[17] = actorScript[this->aiIndex + 1];
|
||||||
this->timer_0BC = 0;
|
this->timer_0BC = 0;
|
||||||
this->aiIndex += 2;
|
this->aiIndex += 2;
|
||||||
@ -1646,7 +1646,8 @@ void func_enmy2_8006ECBC(PlayerShotId objId, PlayerShot* shot, s32 unk0E4, f32 x
|
|||||||
} else {
|
} else {
|
||||||
AUDIO_PLAY_SFX(0x29002002, shot->sfxSource, 4);
|
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);
|
AUDIO_PLAY_SFX(0x2900000D, shot->sfxSource, 4);
|
||||||
} else if (unk0E4 + 100 == 200) {
|
} else if (unk0E4 + 100 == 200) {
|
||||||
shot->playerNum = 100;
|
shot->playerNum = 100;
|
||||||
@ -2281,8 +2282,8 @@ void ActorEvent_ProcessTriggers(ActorEvent* this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->iwork[2] >= 100) {
|
if (this->iwork[2] >= EVC_CLOSE_Z) {
|
||||||
if (fabsf(this->obj.pos.z - gPlayer[0].unk_138) <= ((this->iwork[2] - 100) * 100.0f)) {
|
if (fabsf(this->obj.pos.z - gPlayer[0].unk_138) <= ((this->iwork[2] - EVC_CLOSE_Z) * 100.0f)) {
|
||||||
ActorEvent_80070CEC(this);
|
ActorEvent_80070CEC(this);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -141,28 +141,31 @@ bool func_game_800A1B6C(void) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_game_800A1C14(Gfx** arg0) {
|
void func_game_800A1C14(Gfx** dList) {
|
||||||
gSPDisplayList((*arg0)++, gRcpInitDL);
|
gSPDisplayList((*dList)++, gRcpInitDL);
|
||||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
gDPSetDepthImage((*arg0)++, &gZBuffer);
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, &gZBuffer);
|
gDPSetDepthImage((*dList)++, &gZBuffer);
|
||||||
gDPSetFillColor((*arg0)++, FILL_COLOR(GPACK_ZDZ(G_MAXFBZ, 0)));
|
gDPSetColorImage((*dList)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, &gZBuffer);
|
||||||
gDPFillRectangle((*arg0)++, 8, 8, SCREEN_WIDTH - 8 - 1, SCREEN_HEIGHT - 8 - 1);
|
gDPSetFillColor((*dList)++, FILL_COLOR(GPACK_ZDZ(G_MAXFBZ, 0)));
|
||||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gFrameBuffer);
|
gDPFillRectangle((*dList)++, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN - 1,
|
||||||
|
SCREEN_HEIGHT - SCREEN_MARGIN - 1);
|
||||||
|
gDPSetColorImage((*dList)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gFrameBuffer);
|
||||||
|
|
||||||
if (gBlurAlpha < 255) {
|
if (gBlurAlpha < 255) {
|
||||||
gDPPipeSync((*arg0)++);
|
gDPPipeSync((*dList)++);
|
||||||
gDPSetCycleType((*arg0)++, G_CYC_1CYCLE);
|
gDPSetCycleType((*dList)++, G_CYC_1CYCLE);
|
||||||
gDPSetCombineMode((*arg0)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
gDPSetCombineMode((*dList)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||||
gDPSetRenderMode((*arg0)++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
gDPSetRenderMode((*dList)++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, RGBA16_RED(gBgColor) * 8, RGBA16_GRN(gBgColor) * 8,
|
gDPSetPrimColor((*dList)++, 0x00, 0x00, RGBA16_RED(gBgColor) * 8, RGBA16_GRN(gBgColor) * 8,
|
||||||
RGBA16_BLU(gBgColor) * 8, gBlurAlpha);
|
RGBA16_BLU(gBgColor) * 8, gBlurAlpha);
|
||||||
} else {
|
} else {
|
||||||
gDPSetFillColor((*arg0)++, FILL_COLOR(gBgColor | 1));
|
gDPSetFillColor((*dList)++, FILL_COLOR(gBgColor | 1));
|
||||||
}
|
}
|
||||||
gDPFillRectangle((*arg0)++, 8, 8, SCREEN_WIDTH - 8 - 1, SCREEN_HEIGHT - 8);
|
gDPFillRectangle((*dList)++, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN - 1,
|
||||||
gDPPipeSync((*arg0)++);
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
gDPSetColorDither((*arg0)++, G_CD_MAGICSQ);
|
gDPPipeSync((*dList)++);
|
||||||
|
gDPSetColorDither((*dList)++, G_CD_MAGICSQ);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_game_800A1E68(Gfx** arg0) {
|
void func_game_800A1E68(Gfx** arg0) {
|
||||||
@ -194,7 +197,8 @@ void func_game_800A1FB0(Gfx** arg0, u8 arg1, u8 arg2) {
|
|||||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - D_game_80161A14) * 2;
|
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - D_game_80161A14) * 2;
|
||||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||||
gViewport->vp.vtrans[3] = 0;
|
gViewport->vp.vtrans[3] = 0;
|
||||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
|
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH / 2,
|
||||||
|
SCREEN_HEIGHT / 2);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_game_80161A14 - 1.0f) * 2;
|
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_game_80161A14 - 1.0f) * 2;
|
||||||
@ -205,7 +209,8 @@ void func_game_800A1FB0(Gfx** arg0, u8 arg1, u8 arg2) {
|
|||||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - D_game_80161A14) * 2;
|
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - D_game_80161A14) * 2;
|
||||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||||
gViewport->vp.vtrans[3] = 0;
|
gViewport->vp.vtrans[3] = 0;
|
||||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2);
|
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_MARGIN,
|
||||||
|
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT / 2);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_game_80161A14 - 1.0f) * 2;
|
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_game_80161A14 - 1.0f) * 2;
|
||||||
@ -216,7 +221,8 @@ void func_game_800A1FB0(Gfx** arg0, u8 arg1, u8 arg2) {
|
|||||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * D_game_80161A14 * 2;
|
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * D_game_80161A14 * 2;
|
||||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||||
gViewport->vp.vtrans[3] = 0;
|
gViewport->vp.vtrans[3] = 0;
|
||||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2, SCREEN_HEIGHT - 8);
|
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2,
|
||||||
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_game_80161A14 - 1.0f) * 2;
|
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_game_80161A14 - 1.0f) * 2;
|
||||||
@ -227,8 +233,8 @@ void func_game_800A1FB0(Gfx** arg0, u8 arg1, u8 arg2) {
|
|||||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * D_game_80161A14 * 2;
|
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * D_game_80161A14 * 2;
|
||||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||||
gViewport->vp.vtrans[3] = 0;
|
gViewport->vp.vtrans[3] = 0;
|
||||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, SCREEN_WIDTH - 8,
|
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2,
|
||||||
SCREEN_HEIGHT - 8);
|
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
func_game_800A1F44();
|
func_game_800A1F44();
|
||||||
@ -473,7 +479,8 @@ void Game_Update(void) {
|
|||||||
func_game_800A1FB0(&gMasterDisp, gCamCount, 1);
|
func_game_800A1FB0(&gMasterDisp, gCamCount, 1);
|
||||||
Game_Draw(1);
|
Game_Draw(1);
|
||||||
gDPPipeSync(gMasterDisp++);
|
gDPPipeSync(gMasterDisp++);
|
||||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
} else if ((gCamCount == 4) && (gDrawMode != DRAW_NONE)) {
|
} else if ((gCamCount == 4) && (gDrawMode != DRAW_NONE)) {
|
||||||
func_game_800A1FB0(&gMasterDisp, gCamCount, 3);
|
func_game_800A1FB0(&gMasterDisp, gCamCount, 3);
|
||||||
Game_Draw(3);
|
Game_Draw(3);
|
||||||
@ -482,23 +489,28 @@ void Game_Update(void) {
|
|||||||
func_game_800A1FB0(&gMasterDisp, gCamCount, 1);
|
func_game_800A1FB0(&gMasterDisp, gCamCount, 1);
|
||||||
Game_Draw(1);
|
Game_Draw(1);
|
||||||
gDPPipeSync(gMasterDisp++);
|
gDPPipeSync(gMasterDisp++);
|
||||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
gDPSetColorDither(gMasterDisp++, G_CD_NOISE);
|
gDPSetColorDither(gMasterDisp++, G_CD_NOISE);
|
||||||
gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE);
|
gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE);
|
||||||
gDPSetCycleType(gMasterDisp++, G_CYC_1CYCLE);
|
gDPSetCycleType(gMasterDisp++, G_CYC_1CYCLE);
|
||||||
gDPSetCombineMode(gMasterDisp++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
gDPSetCombineMode(gMasterDisp++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||||
gDPSetRenderMode(gMasterDisp++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
gDPSetRenderMode(gMasterDisp++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 0);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 0);
|
||||||
gDPFillRectangle(gMasterDisp++, SCREEN_WIDTH / 2 - 3, 8, SCREEN_WIDTH / 2 + 2, SCREEN_HEIGHT - 8);
|
gDPFillRectangle(gMasterDisp++, SCREEN_WIDTH / 2 - 2 - 1, SCREEN_MARGIN, SCREEN_WIDTH / 2 + 2,
|
||||||
gDPFillRectangle(gMasterDisp++, 8, SCREEN_HEIGHT / 2 - 3, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2 + 2);
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
|
gDPFillRectangle(gMasterDisp++, SCREEN_MARGIN, SCREEN_HEIGHT / 2 - 2 - 1, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
|
SCREEN_HEIGHT / 2 + 2);
|
||||||
|
|
||||||
if (gLevelType == LEVELTYPE_PLANET) {
|
if (gLevelType == LEVELTYPE_PLANET) {
|
||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 255);
|
||||||
} else {
|
} else {
|
||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 100, 100, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 100, 100, 255, 255);
|
||||||
}
|
}
|
||||||
gDPFillRectangle(gMasterDisp++, SCREEN_WIDTH / 2 - 2, 8, SCREEN_WIDTH / 2 + 1, SCREEN_HEIGHT - 8);
|
gDPFillRectangle(gMasterDisp++, SCREEN_WIDTH / 2 - 1 - 1, SCREEN_MARGIN, SCREEN_WIDTH / 2 + 1,
|
||||||
gDPFillRectangle(gMasterDisp++, 8, SCREEN_HEIGHT / 2 - 2, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2 + 1);
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
|
gDPFillRectangle(gMasterDisp++, SCREEN_MARGIN, SCREEN_HEIGHT / 2 - 1 - 1, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
|
SCREEN_HEIGHT / 2 + 1);
|
||||||
|
|
||||||
func_hud_8008CB8C();
|
func_hud_8008CB8C();
|
||||||
}
|
}
|
||||||
|
@ -1028,7 +1028,8 @@ void func_hud_80087788(void) {
|
|||||||
TextureRect_16bRGBA(&gMasterDisp, D_800D1D18[j + 1] + (44 * 20 * i), 44, 20, x[j][0],
|
TextureRect_16bRGBA(&gMasterDisp, D_800D1D18[j + 1] + (44 * 20 * i), 44, 20, x[j][0],
|
||||||
y[j][0] + (f32) (20 * i), 1.0f, 1.0f);
|
y[j][0] + (f32) (20 * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_800D1D18[j + 1] + (44 * 40), 44, 4, x[j][0], y[j][0] + 40.0f, 1.0f, 1.0f);
|
TextureRect_16bRGBA(&gMasterDisp, D_800D1D18[j + 1] + (44 * 20 * 2), 44, 4, x[j][0], y[j][0] + 40.0f, 1.0f,
|
||||||
|
1.0f);
|
||||||
|
|
||||||
func_hud_80086110(x[j][2], y[j][2], shield);
|
func_hud_80086110(x[j][2], y[j][2], shield);
|
||||||
}
|
}
|
||||||
@ -1477,7 +1478,7 @@ void func_hud_80088970(void) {
|
|||||||
D_80161838[0] = 0;
|
D_80161838[0] = 0;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, 319, 239, 0, 0, 0, 255);
|
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0, 0, 0, 255);
|
||||||
|
|
||||||
gFillScreenAlphaTarget = 0;
|
gFillScreenAlphaTarget = 0;
|
||||||
|
|
||||||
@ -1526,7 +1527,7 @@ void func_hud_80088970(void) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, 319, 239, 0, 0, 0, 255);
|
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0, 0, 0, 255);
|
||||||
if (D_80161838[0] < 140) {
|
if (D_80161838[0] < 140) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1544,7 +1545,7 @@ void func_hud_80088970(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, 319, 239, 0, 0, 0, 255);
|
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0, 0, 0, 255);
|
||||||
|
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
if (gPrevPlanetTeamShields[i] == -1) {
|
if (gPrevPlanetTeamShields[i] == -1) {
|
||||||
@ -2646,51 +2647,52 @@ void func_hud_8008BD00(u8* texturePtr, s32 xPos, s32 yPos, u8 arg3) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_hud_8008C104(u16* texture, u16* arg1) {
|
void func_hud_8008C104(u16* srcTexture, u16* dstTexture) {
|
||||||
u16 *temp, *dst;
|
u16 *src, *dst;
|
||||||
u16 src[1024];
|
u16 buffer[1024];
|
||||||
f32 temp1;
|
f32 rowPhase;
|
||||||
f32 angle;
|
f32 angle;
|
||||||
s32 j;
|
s32 j;
|
||||||
s32 i;
|
s32 i;
|
||||||
s32 width = 32;
|
s32 width = 32;
|
||||||
s32 height = 32;
|
s32 height = 32;
|
||||||
s32 temp3;
|
s32 halfHeight;
|
||||||
s32 temp2;
|
s32 offset;
|
||||||
|
|
||||||
temp = SEGMENTED_TO_VIRTUAL(texture);
|
src = SEGMENTED_TO_VIRTUAL(srcTexture);
|
||||||
dst = SEGMENTED_TO_VIRTUAL(arg1);
|
dst = SEGMENTED_TO_VIRTUAL(dstTexture);
|
||||||
|
|
||||||
Texture_Scroll(texture, width, height, 1);
|
Texture_Scroll(srcTexture, width, height, 1);
|
||||||
|
|
||||||
temp3 = height / 2;
|
halfHeight = height / 2;
|
||||||
|
|
||||||
temp1 = 0.0f;
|
rowPhase = 0.0f;
|
||||||
|
|
||||||
i = temp3 - 1;
|
i = halfHeight - 1;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
if ((temp1 += 90.0f / temp3) > 90.0f) {
|
if ((rowPhase += 90.0f / halfHeight) > 90.0f) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
angle = (height / 2) * COS_DEG(temp1);
|
angle = (height / 2) * COS_DEG(rowPhase);
|
||||||
temp2 = angle;
|
offset = angle;
|
||||||
|
|
||||||
if (temp2 >= height) {
|
if (offset >= height) {
|
||||||
temp2 = 0;
|
offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (j = 0; j < width; j++) {
|
for (j = 0; j < width; j++) {
|
||||||
src[(i * width) + j] = temp[(temp2 * width) + j];
|
buffer[(i * width) + j] = src[(offset * width) + j];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (j = 0; j < width; j++) {
|
for (j = 0; j < width; j++) {
|
||||||
src[(((temp3 - i) + (temp3 - 1)) * width) + j] = temp[(((temp3 - temp2) + (temp3 - 1)) * width) + j];
|
buffer[(((halfHeight - i) + (halfHeight - 1)) * width) + j] =
|
||||||
|
src[(((halfHeight - offset) + (halfHeight - 1)) * width) + j];
|
||||||
}
|
}
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
Texture_Mottle(dst, src, 2);
|
Texture_Mottle(dst, buffer, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_hud_8008C390(f32 xPos, f32 yPos, f32 scale, s32 number) {
|
void func_hud_8008C390(f32 xPos, f32 yPos, f32 scale, s32 number) {
|
||||||
@ -2722,10 +2724,10 @@ void func_hud_8008C5C8(f32 arg0, f32 arg1, f32 arg2, s32 arg3) {
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_800D1EE8[arg3] + (880 * i), 44, 20, arg0, (20 * i * arg2) + arg1, arg2,
|
TextureRect_16bRGBA(&gMasterDisp, D_800D1EE8[arg3] + (44 * 20 * i), 44, 20, arg0, (20 * i * arg2) + arg1, arg2,
|
||||||
arg2);
|
arg2);
|
||||||
}
|
}
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_800D1EE8[arg3] + 1760, 44, 4, arg0, (40.0f * arg2) + arg1, arg2, arg2);
|
TextureRect_16bRGBA(&gMasterDisp, D_800D1EE8[arg3] + 44 * 20 * 2, 44, 4, arg0, (40.0f * arg2) + arg1, arg2, arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_hud_8008C6F4(s32 idx, s32 arg1) {
|
void func_hud_8008C6F4(s32 idx, s32 arg1) {
|
||||||
@ -2874,10 +2876,10 @@ void func_hud_8008CFB8(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, D_versus_3000BC0 + 2 * ((640 * i) / 2), 80, 8, arg0, (8 * i * arg3) + arg1, arg2,
|
TextureRect_8bIA(&gMasterDisp, D_versus_3000BC0 + 2 * ((80 * 8 * i) / 2), 80, 8, arg0, (8 * i * arg3) + arg1,
|
||||||
arg3);
|
arg2, arg3);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, D_versus_3000BC0 + 2 * ((640 * i) / 2), 80, 2, arg0, (8 * i * arg3) + arg1, arg2,
|
TextureRect_8bIA(&gMasterDisp, D_versus_3000BC0 + 2 * ((80 * 8 * i) / 2), 80, 2, arg0, (8 * i * arg3) + arg1, arg2,
|
||||||
arg3);
|
arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6067,7 +6069,7 @@ void func_hud_80096A74(Player* player) {
|
|||||||
|
|
||||||
func_play_800B2574(player);
|
func_play_800B2574(player);
|
||||||
|
|
||||||
D_80137E84[0] = 0;
|
gControllerRumbleFlags[0] = 0;
|
||||||
gControllerHold[player->num].button = button;
|
gControllerHold[player->num].button = button;
|
||||||
|
|
||||||
gCsCamEyeX = player->pos.x;
|
gCsCamEyeX = player->pos.x;
|
||||||
|
@ -497,7 +497,7 @@ void func_play_800A594C(void) {
|
|||||||
}
|
}
|
||||||
if (D_ctx_8017782C == 0) {
|
if (D_ctx_8017782C == 0) {
|
||||||
if (gCurrentLevel == LEVEL_SOLAR) {
|
if (gCurrentLevel == LEVEL_SOLAR) {
|
||||||
func_8001D1C8(0xFF, 1);
|
func_8001D1C8(255, 1);
|
||||||
AUDIO_PLAY_SFX(0x4100C023, gDefaultSfxSource, 4);
|
AUDIO_PLAY_SFX(0x4100C023, gDefaultSfxSource, 4);
|
||||||
Audio_KillSfxBySourceAndId(gPlayer[0].sfxSource, 0x3140807E);
|
Audio_KillSfxBySourceAndId(gPlayer[0].sfxSource, 0x3140807E);
|
||||||
}
|
}
|
||||||
@ -655,7 +655,7 @@ void func_play_800A6148(void) {
|
|||||||
PlayerShot_Initialize(&gPlayerShots[i]);
|
PlayerShot_Initialize(&gPlayerShots[i]);
|
||||||
}
|
}
|
||||||
D_ctx_801782B8 = D_ctx_801782BC = D_ctx_801782C0 = D_ctx_801782D0 = gBossActive = D_ctx_8017828C = D_ctx_8017812C =
|
D_ctx_801782B8 = D_ctx_801782BC = D_ctx_801782C0 = D_ctx_801782D0 = gBossActive = D_ctx_8017828C = D_ctx_8017812C =
|
||||||
D_ctx_80177E70 = D_ctx_80177E78 = gRingPassCount = 0;
|
gPrevEventActorIndex = D_ctx_80177E78 = gRingPassCount = 0;
|
||||||
D_ctx_80177F10.x = D_ctx_80177F10.y = D_ctx_80177F10.z = D_ctx_80177E88.x = D_ctx_80177E88.y = D_ctx_80177E88.z =
|
D_ctx_80177F10.x = D_ctx_80177F10.y = D_ctx_80177F10.z = D_ctx_80177E88.x = D_ctx_80177E88.y = D_ctx_80177E88.z =
|
||||||
0.0f;
|
0.0f;
|
||||||
for (i = 0; i < ARRAY_COUNT(gTeamArrowsViewPos); i++) {
|
for (i = 0; i < ARRAY_COUNT(gTeamArrowsViewPos); i++) {
|
||||||
@ -1085,7 +1085,7 @@ s32 func_play_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
|||||||
hitboxData++;
|
hitboxData++;
|
||||||
for (i = 0; i < count; i++, hitboxData += 6) {
|
for (i = 0; i < count; i++, hitboxData += 6) {
|
||||||
spA0 = 0;
|
spA0 = 0;
|
||||||
if (*hitboxData == HITBOX_TYPE_2) {
|
if (*hitboxData == HITBOX_ROTATED) {
|
||||||
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
||||||
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
||||||
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
|
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
|
||||||
@ -1095,7 +1095,7 @@ s32 func_play_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
|||||||
hitboxData += 4;
|
hitboxData += 4;
|
||||||
spA0 = 1;
|
spA0 = 1;
|
||||||
} else {
|
} else {
|
||||||
if (*hitboxData >= HITBOX_TYPE_3) {
|
if (*hitboxData >= HITBOX_SHADOW) {
|
||||||
hitboxData++;
|
hitboxData++;
|
||||||
}
|
}
|
||||||
Matrix_RotateZ(gCalcMatrix, -zRot * M_DTOR, 0);
|
Matrix_RotateZ(gCalcMatrix, -zRot * M_DTOR, 0);
|
||||||
@ -1122,15 +1122,15 @@ s32 func_play_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
|||||||
}
|
}
|
||||||
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||||
*index = i + 1;
|
*index = i + 1;
|
||||||
if (hitboxData[-1] == HITBOX_TYPE_3) {
|
if (hitboxData[-1] == HITBOX_SHADOW) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (hitboxData[-1] == HITBOX_TYPE_4) {
|
if (hitboxData[-1] == HITBOX_WHOOSH) {
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (hitboxData[-1] < HITBOX_TYPE_3) {
|
if (hitboxData[-1] < HITBOX_SHADOW) {
|
||||||
if ((yRot == 0.0f) && (zRot == 0.0f) && (xRot == 0.0f) && (spA0 == 0)) {
|
if ((yRot == 0.0f) && (zRot == 0.0f) && (xRot == 0.0f) && (spA0 == 0)) {
|
||||||
var_fv0 = player->hit4.x;
|
var_fv0 = player->hit4.x;
|
||||||
var_fv1 = player->hit4.y;
|
var_fv1 = player->hit4.y;
|
||||||
@ -1658,12 +1658,12 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
obj58->obj.pos.y, obj58->obj.pos.z, obj58->obj.rot.x,
|
obj58->obj.pos.y, obj58->obj.pos.z, obj58->obj.rot.x,
|
||||||
obj58->obj.rot.y, obj58->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
obj58->obj.rot.y, obj58->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
||||||
if ((temp_v0 != 0) && (temp_v0 < 0)) {
|
if ((temp_v0 != 0) && (temp_v0 < 0)) {
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
func_effect_8007A6F0(&obj58->obj.pos, 0x19000001);
|
func_effect_8007A6F0(&obj58->obj.pos, 0x19000001);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1673,12 +1673,12 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
obj58->obj.rot.y, obj58->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
obj58->obj.rot.y, obj58->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
||||||
if (temp_v0 != 0) {
|
if (temp_v0 != 0) {
|
||||||
if (temp_v0 < 0) {
|
if (temp_v0 < 0) {
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
func_effect_8007A6F0(&obj58->obj.pos, 0x19000001);
|
func_effect_8007A6F0(&obj58->obj.pos, 0x19000001);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else if ((player->form == FORM_LANDMASTER) || (player->form == FORM_ON_FOOT)) {
|
} else if ((player->form == FORM_LANDMASTER) || (player->form == FORM_ON_FOOT)) {
|
||||||
func_play_800A729C(player, temp_v0, obj58->obj.pos.x, obj58->obj.pos.z);
|
func_play_800A729C(player, temp_v0, obj58->obj.pos.x, obj58->obj.pos.z);
|
||||||
@ -1764,22 +1764,22 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
D_ctx_80178570 = 20;
|
D_ctx_80178570 = 20;
|
||||||
D_ctx_80178574 = 20;
|
D_ctx_80178574 = 20;
|
||||||
D_ctx_80178578 = 20;
|
D_ctx_80178578 = 20;
|
||||||
player->unk_23C = 80;
|
player->shadowing = 80;
|
||||||
}
|
}
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
AUDIO_PLAY_SFX(0x19000001, obj80->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19000001, obj80->sfxSource, 0);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else if (obj80->obj.id == OBJ_80_54) {
|
} else if (obj80->obj.id == OBJ_80_54) {
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
AUDIO_PLAY_SFX(0x19832019, obj80->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19832019, obj80->sfxSource, 0);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Player_ApplyDamage(player, temp_v0, obj80->info.damage);
|
Player_ApplyDamage(player, temp_v0, obj80->info.damage);
|
||||||
@ -1870,12 +1870,12 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
0.0f, 0.0f, 0.0f);
|
0.0f, 0.0f, 0.0f);
|
||||||
if (temp_v0 != 0) {
|
if (temp_v0 != 0) {
|
||||||
if (temp_v0 < 0) {
|
if (temp_v0 < 0) {
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
AUDIO_PLAY_SFX(0x19000001, boss->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19000001, boss->sfxSource, 0);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((boss->obj.id == OBJ_BOSS_320) && (boss->timer_056 != 0) && (sp98 == 5)) {
|
if ((boss->obj.id == OBJ_BOSS_320) && (boss->timer_056 != 0) && (sp98 == 5)) {
|
||||||
@ -1905,7 +1905,7 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
Player_ApplyDamage(player, temp_v0, actor->info.damage);
|
Player_ApplyDamage(player, temp_v0, actor->info.damage);
|
||||||
}
|
}
|
||||||
} else if (actor->obj.id == OBJ_ACTOR_EVENT) {
|
} else if (actor->obj.id == OBJ_ACTOR_EVENT) {
|
||||||
if (actor->unk_0B4 == 42) {
|
if (actor->unk_0B4 == EINFO_42) {
|
||||||
temp_v0 =
|
temp_v0 =
|
||||||
func_play_800A8304(player, ACTOR_EVENT_ID, actor->obj.pos.x, actor->obj.pos.y,
|
func_play_800A8304(player, ACTOR_EVENT_ID, actor->obj.pos.x, actor->obj.pos.y,
|
||||||
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z);
|
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z);
|
||||||
@ -1938,12 +1938,12 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
AUDIO_PLAY_SFX(0x49008025, gDefaultSfxSource, 4);
|
AUDIO_PLAY_SFX(0x49008025, gDefaultSfxSource, 4);
|
||||||
}
|
}
|
||||||
} else if (temp_v0 < 0) {
|
} else if (temp_v0 < 0) {
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
AUDIO_PLAY_SFX(0x19000001, actor->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19000001, actor->sfxSource, 0);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Player_ApplyDamage(player, temp_v0, actor->info.damage);
|
Player_ApplyDamage(player, temp_v0, actor->info.damage);
|
||||||
@ -1971,12 +1971,12 @@ void func_play_800A8BA4(Player* player) {
|
|||||||
0.0f, 0.0f, 0.0f);
|
0.0f, 0.0f, 0.0f);
|
||||||
if (temp_v0 != 0) {
|
if (temp_v0 != 0) {
|
||||||
if (temp_v0 < 0) {
|
if (temp_v0 < 0) {
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
AUDIO_PLAY_SFX(0x19000001, actor->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19000001, actor->sfxSource, 0);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
actor->unk_0D0 = 3;
|
actor->unk_0D0 = 3;
|
||||||
@ -2297,11 +2297,11 @@ void func_play_800AA800(Player* player) {
|
|||||||
}
|
}
|
||||||
hitboxData++;
|
hitboxData++;
|
||||||
for (i = 0; i < count; i++, hitboxData += 6) {
|
for (i = 0; i < count; i++, hitboxData += 6) {
|
||||||
if (*hitboxData >= HITBOX_TYPE_3) {
|
if (*hitboxData >= HITBOX_SHADOW) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*hitboxData == HITBOX_TYPE_2) {
|
if (*hitboxData == HITBOX_ROTATED) {
|
||||||
sp100 = hitboxData[1];
|
sp100 = hitboxData[1];
|
||||||
spFC = hitboxData[2];
|
spFC = hitboxData[2];
|
||||||
spF8 = hitboxData[3];
|
spF8 = hitboxData[3];
|
||||||
@ -2412,7 +2412,7 @@ void func_play_800AB334(void) {
|
|||||||
0.0f;
|
0.0f;
|
||||||
break;
|
break;
|
||||||
case LEVEL_AQUAS:
|
case LEVEL_AQUAS:
|
||||||
D_80137E78 = 3;
|
gVIsPerFrame = 3;
|
||||||
D_bg_8015F970 = 1600.0f;
|
D_bg_8015F970 = 1600.0f;
|
||||||
D_AQ_801C4188 = 128.0f;
|
D_AQ_801C4188 = 128.0f;
|
||||||
Aquas_801A9824();
|
Aquas_801A9824();
|
||||||
@ -2534,7 +2534,7 @@ void Play_Init(void) {
|
|||||||
|
|
||||||
D_play_80161A54 = 40.0f;
|
D_play_80161A54 = 40.0f;
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gExpertMode) {
|
if (gExpertMode) {
|
||||||
@ -2543,7 +2543,7 @@ void Play_Init(void) {
|
|||||||
gEnemyShotSpeed = 100;
|
gEnemyShotSpeed = 100;
|
||||||
}
|
}
|
||||||
gPauseEnabled = 0;
|
gPauseEnabled = 0;
|
||||||
D_80137E78 = 2;
|
gVIsPerFrame = 2;
|
||||||
D_ctx_80177C70 = 0;
|
D_ctx_80177C70 = 0;
|
||||||
D_display_800CA234 = NULL;
|
D_display_800CA234 = NULL;
|
||||||
D_display_Timer_800CA238 = 0;
|
D_display_Timer_800CA238 = 0;
|
||||||
@ -2635,7 +2635,7 @@ void Play_Init(void) {
|
|||||||
for (i = 0; i < gCamCount; i++) {
|
for (i = 0; i < gCamCount; i++) {
|
||||||
gPlayer[i].state_1C8 = PLAYERSTATE_1C8_1;
|
gPlayer[i].state_1C8 = PLAYERSTATE_1C8_1;
|
||||||
gPlayerFillScreenAlphas[i] = D_ctx_801783C0[i] = 0;
|
gPlayerFillScreenAlphas[i] = D_ctx_801783C0[i] = 0;
|
||||||
D_Timer_80177BD0[i] = 0;
|
gControllerRumbleTimers[i] = 0;
|
||||||
D_ctx_80177C30[i] = 0;
|
D_ctx_80177C30[i] = 0;
|
||||||
}
|
}
|
||||||
if (gLevelMode == LEVELMODE_ALL_RANGE) {
|
if (gLevelMode == LEVELMODE_ALL_RANGE) {
|
||||||
@ -3013,7 +3013,7 @@ bool func_play_800AD1F4(Player* player) {
|
|||||||
func_play_800AC650(player, &gPlayerShots[14 - player->num], PLAYERSHOT_8, 70.0f);
|
func_play_800AC650(player, &gPlayerShots[14 - player->num], PLAYERSHOT_8, 70.0f);
|
||||||
}
|
}
|
||||||
func_enmy_80060F30(player->sfxSource, 0x09007029, player->num);
|
func_enmy_80060F30(player->sfxSource, 0x09007029, player->num);
|
||||||
D_Timer_80177BD0[player->num] = 5;
|
gControllerRumbleTimers[player->num] = 5;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3031,7 +3031,7 @@ bool func_play_800AD1F4(Player* player) {
|
|||||||
}
|
}
|
||||||
func_enmy_80060F30(player->sfxSource, 0x09007029, player->num);
|
func_enmy_80060F30(player->sfxSource, 0x09007029, player->num);
|
||||||
gChargeTimers[player->num] = 0;
|
gChargeTimers[player->num] = 0;
|
||||||
D_Timer_80177BD0[player->num] = 5;
|
gControllerRumbleTimers[player->num] = 5;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4996,7 +4996,7 @@ void func_play_800B39E0(Player* player) {
|
|||||||
}
|
}
|
||||||
if (player->unk_1F4 > 0) {
|
if (player->unk_1F4 > 0) {
|
||||||
if (player->unk_1F4 > 3) {
|
if (player->unk_1F4 > 3) {
|
||||||
*D_ctx_80177984 = 1;
|
*gControllerRumble = 1;
|
||||||
}
|
}
|
||||||
player->unk_1F4--;
|
player->unk_1F4--;
|
||||||
if (player->form == FORM_ARWING) {
|
if (player->form == FORM_ARWING) {
|
||||||
@ -5287,23 +5287,23 @@ void Player_Update1(Player* player) {
|
|||||||
if (gVersusMode) {
|
if (gVersusMode) {
|
||||||
gInputHold = &gControllerHold[player->num];
|
gInputHold = &gControllerHold[player->num];
|
||||||
gInputPress = &gControllerPress[player->num];
|
gInputPress = &gControllerPress[player->num];
|
||||||
D_ctx_80177984 = &D_80137E84[player->num];
|
gControllerRumble = &gControllerRumbleFlags[player->num];
|
||||||
} else {
|
} else {
|
||||||
gInputHold = &gControllerHold[gMainController];
|
gInputHold = &gControllerHold[gMainController];
|
||||||
gInputPress = &gControllerPress[gMainController];
|
gInputPress = &gControllerPress[gMainController];
|
||||||
D_ctx_80177984 = &D_80137E84[gMainController];
|
gControllerRumble = &gControllerRumbleFlags[gMainController];
|
||||||
}
|
}
|
||||||
|
|
||||||
D_ctx_80177990[player->num] += (s32) D_ctx_801779A8[player->num];
|
D_ctx_80177990[player->num] += (s32) D_ctx_801779A8[player->num];
|
||||||
Math_SmoothStepToF(&D_ctx_801779A8[player->num], 0.0f, 1.0f, 1.5f, 0.0f);
|
Math_SmoothStepToF(&D_ctx_801779A8[player->num], 0.0f, 1.0f, 1.5f, 0.0f);
|
||||||
if (D_ctx_80177990[player->num] >= 100) {
|
if (D_ctx_80177990[player->num] >= 100) {
|
||||||
D_ctx_80177990[player->num] -= 100;
|
D_ctx_80177990[player->num] -= 100;
|
||||||
*D_ctx_80177984 = 1;
|
*gControllerRumble = 1;
|
||||||
}
|
}
|
||||||
if (D_Timer_80177BD0[player->num] != 0) {
|
if (gControllerRumbleTimers[player->num] != 0) {
|
||||||
D_Timer_80177BD0[player->num]--;
|
gControllerRumbleTimers[player->num]--;
|
||||||
if (((gGameFrameCount % 2) == 0)) {
|
if (((gGameFrameCount % 2) == 0)) {
|
||||||
*D_ctx_80177984 = 1;
|
*gControllerRumble = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (player->state_1C8 >= PLAYERSTATE_1C8_2) {
|
if (player->state_1C8 >= PLAYERSTATE_1C8_2) {
|
||||||
@ -5325,9 +5325,9 @@ void Player_Update1(Player* player) {
|
|||||||
Math_SmoothStepToVec3fArray(sp58, player->jointTable, 1, sp1C4, 0.1f, 1.3f, 0.0f);
|
Math_SmoothStepToVec3fArray(sp58, player->jointTable, 1, sp1C4, 0.1f, 1.3f, 0.0f);
|
||||||
}
|
}
|
||||||
player->sfx.bank = player->sfx.roll = 0;
|
player->sfx.bank = player->sfx.roll = 0;
|
||||||
sp1C4 = player->unk_22C;
|
sp1C4 = player->whooshTimer;
|
||||||
if (sp1C4 != 0) {
|
if (sp1C4 != 0) {
|
||||||
player->unk_22C--;
|
player->whooshTimer--;
|
||||||
}
|
}
|
||||||
switch (player->state_1C8) {
|
switch (player->state_1C8) {
|
||||||
case PLAYERSTATE_1C8_0:
|
case PLAYERSTATE_1C8_0:
|
||||||
@ -5396,7 +5396,7 @@ void Player_Update1(Player* player) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
gInputPress->stick_x = gInputPress->stick_y = 0;
|
gInputPress->stick_x = gInputPress->stick_y = 0;
|
||||||
D_ctx_80177844 = 0;
|
gVsItemSpawnTimer = 0;
|
||||||
gPauseEnabled = 0;
|
gPauseEnabled = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -6122,11 +6122,11 @@ void func_play_800B73E0(Player* player) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Play_UpdateLevel(void) {
|
void Play_UpdateLevel(void) {
|
||||||
s32 var_v0_2;
|
s32 cycleMask;
|
||||||
s32 sp40;
|
s32 sp40;
|
||||||
f32 sp3C;
|
f32 sp3C;
|
||||||
u8 var_a0;
|
u8 shields;
|
||||||
u8 sp3A;
|
u8 heightParam;
|
||||||
|
|
||||||
switch (gCurrentLevel) {
|
switch (gCurrentLevel) {
|
||||||
case LEVEL_TRAINING:
|
case LEVEL_TRAINING:
|
||||||
@ -6136,18 +6136,18 @@ void Play_UpdateLevel(void) {
|
|||||||
break;
|
break;
|
||||||
case LEVEL_VERSUS:
|
case LEVEL_VERSUS:
|
||||||
func_versus_800C26C8();
|
func_versus_800C26C8();
|
||||||
D_ctx_80177844++;
|
gVsItemSpawnTimer++;
|
||||||
if ((D_ctx_80177844 == 200) && (gLaserStrength[0] == LASERS_SINGLE) &&
|
if ((gVsItemSpawnTimer == 200) && (gLaserStrength[0] == LASERS_SINGLE) &&
|
||||||
(gLaserStrength[1] == LASERS_SINGLE) && (gLaserStrength[2] == LASERS_SINGLE) &&
|
(gLaserStrength[1] == LASERS_SINGLE) && (gLaserStrength[2] == LASERS_SINGLE) &&
|
||||||
(gLaserStrength[3] == LASERS_SINGLE)) {
|
(gLaserStrength[3] == LASERS_SINGLE)) {
|
||||||
func_play_800B852C(OBJ_ITEM_LASERS, &gItems[0]);
|
Play_SpawnVsItem(OBJ_ITEM_LASERS, &gItems[0]);
|
||||||
}
|
}
|
||||||
if ((D_ctx_80177844 == 400) && (gBombCount[0] == 0) && (gBombCount[1] == 0) && (gBombCount[2] == 0) &&
|
if ((gVsItemSpawnTimer == 400) && (gBombCount[0] == 0) && (gBombCount[1] == 0) && (gBombCount[2] == 0) &&
|
||||||
(gBombCount[3] == 0)) {
|
(gBombCount[3] == 0)) {
|
||||||
func_play_800B852C(OBJ_ITEM_BOMB, &gItems[1]);
|
Play_SpawnVsItem(OBJ_ITEM_BOMB, &gItems[1]);
|
||||||
}
|
}
|
||||||
if (D_ctx_80177844 == 500) {
|
if (gVsItemSpawnTimer == 500) {
|
||||||
D_ctx_80177844 = 0;
|
gVsItemSpawnTimer = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LEVEL_VENOM_2:
|
case LEVEL_VENOM_2:
|
||||||
@ -6219,31 +6219,31 @@ void Play_UpdateLevel(void) {
|
|||||||
Texture_Mottle(D_SO_601E1E8, D_SO_6020F60, 3);
|
Texture_Mottle(D_SO_601E1E8, D_SO_6020F60, 3);
|
||||||
|
|
||||||
if (gPlayer[0].pos.y > 600.0f) {
|
if (gPlayer[0].pos.y > 600.0f) {
|
||||||
var_v0_2 = 8 - 1;
|
cycleMask = 8 - 1;
|
||||||
sp3A = 5;
|
heightParam = 5;
|
||||||
} else if (gPlayer[0].pos.y > 500.0f) {
|
} else if (gPlayer[0].pos.y > 500.0f) {
|
||||||
var_v0_2 = 8 - 1;
|
cycleMask = 8 - 1;
|
||||||
sp3A = 4;
|
heightParam = 4;
|
||||||
} else if (gPlayer[0].pos.y > 400.0f) {
|
} else if (gPlayer[0].pos.y > 400.0f) {
|
||||||
var_v0_2 = 4 - 1;
|
cycleMask = 4 - 1;
|
||||||
sp3A = 3;
|
heightParam = 3;
|
||||||
} else if (gPlayer[0].pos.y > 300.0f) {
|
} else if (gPlayer[0].pos.y > 300.0f) {
|
||||||
var_v0_2 = 4 - 1;
|
cycleMask = 4 - 1;
|
||||||
sp3A = 2;
|
heightParam = 2;
|
||||||
} else if (gPlayer[0].pos.y > 200.0f) {
|
} else if (gPlayer[0].pos.y > 200.0f) {
|
||||||
var_v0_2 = 2 - 1;
|
cycleMask = 2 - 1;
|
||||||
sp3A = 1;
|
heightParam = 1;
|
||||||
} else if (gPlayer[0].pos.y > 100.0f) {
|
} else if (gPlayer[0].pos.y > 100.0f) {
|
||||||
var_v0_2 = 1 - 1;
|
cycleMask = 1 - 1;
|
||||||
sp3A = 0;
|
heightParam = 0;
|
||||||
} else {
|
} else {
|
||||||
var_v0_2 = 1 - 1;
|
cycleMask = 1 - 1;
|
||||||
#ifdef AVOID_UB
|
#ifdef AVOID_UB
|
||||||
sp3A = 0;
|
heightParam = 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && !(gGameFrameCount & var_v0_2)) {
|
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && ((gGameFrameCount & cycleMask) == 0)) {
|
||||||
gPlayer[0].shields--;
|
gPlayer[0].shields--;
|
||||||
if (gPlayer[0].shields <= 0) {
|
if (gPlayer[0].shields <= 0) {
|
||||||
gPlayer[0].shields = 0;
|
gPlayer[0].shields = 0;
|
||||||
@ -6256,8 +6256,8 @@ void Play_UpdateLevel(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var_a0 = MIN(gPlayer[0].shields, 255);
|
shields = MIN(gPlayer[0].shields, 255);
|
||||||
func_8001D1C8(var_a0, sp3A);
|
func_8001D1C8(shields, heightParam);
|
||||||
if (((gGameFrameCount % 8) == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7)) {
|
if (((gGameFrameCount % 8) == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7)) {
|
||||||
Solar_8019E8B8(RAND_FLOAT_CENTERED(6000.0f), -80.0f,
|
Solar_8019E8B8(RAND_FLOAT_CENTERED(6000.0f), -80.0f,
|
||||||
gPlayer[0].unk_138 + (RAND_FLOAT(2000.0f) + -6000.0f),
|
gPlayer[0].unk_138 + (RAND_FLOAT(2000.0f) + -6000.0f),
|
||||||
@ -6339,21 +6339,21 @@ void Play_Update(void) {
|
|||||||
Play_UpdateLevel();
|
Play_UpdateLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 D_800D317C = 255;
|
u8 sVsItemSpawnIndex = -1;
|
||||||
|
|
||||||
void func_play_800B852C(ObjectId objId, Item* item) {
|
void Play_SpawnVsItem(ObjectId objId, Item* item) {
|
||||||
u8 sp1F = (u8) RAND_FLOAT(5.0f);
|
u8 spawnIndex = (u8) RAND_FLOAT(5.0f);
|
||||||
|
|
||||||
if (D_800D317C == sp1F) {
|
if (sVsItemSpawnIndex == spawnIndex) {
|
||||||
D_ctx_80177844 -= 1;
|
gVsItemSpawnTimer -= 1;
|
||||||
} else {
|
} else {
|
||||||
D_800D317C = sp1F;
|
sVsItemSpawnIndex = spawnIndex;
|
||||||
if (item->obj.status == OBJ_FREE) {
|
if (item->obj.status == OBJ_FREE) {
|
||||||
Item_Initialize(item);
|
Item_Initialize(item);
|
||||||
item->obj.status = OBJ_INIT;
|
item->obj.status = OBJ_INIT;
|
||||||
item->obj.pos.x = gObjects58[sp1F].obj.pos.x;
|
item->obj.pos.x = gObjects58[spawnIndex].obj.pos.x;
|
||||||
item->obj.pos.y = gObjects58[sp1F].obj.pos.y;
|
item->obj.pos.y = gObjects58[spawnIndex].obj.pos.y;
|
||||||
item->obj.pos.z = gObjects58[sp1F].obj.pos.z;
|
item->obj.pos.z = gObjects58[spawnIndex].obj.pos.z;
|
||||||
item->obj.id = objId;
|
item->obj.id = objId;
|
||||||
Object_SetInfo(&item->info, item->obj.id);
|
Object_SetInfo(&item->info, item->obj.id);
|
||||||
}
|
}
|
||||||
|
@ -426,20 +426,20 @@ void func_radio_800BAAE8(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
||||||
|
|
||||||
if (mirror) {
|
if (mirror) {
|
||||||
for (i = 0, j = 0; i < 2; i++, j += 880) {
|
for (i = 0, j = 0; i < 2; i++, j += 44 * 20) {
|
||||||
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[j], 44, 20, D_radio_8017873C,
|
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[j], 44, 20, D_radio_8017873C,
|
||||||
D_radio_80178740 + 20.0f + sp38 + (i * 20.0f * D_ctx_80177D38), 1.0f,
|
D_radio_80178740 + 20.0f + sp38 + (i * 20.0f * D_ctx_80177D38), 1.0f,
|
||||||
D_ctx_80177D38);
|
D_ctx_80177D38);
|
||||||
}
|
}
|
||||||
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[2 * 880], 44, 4, D_radio_8017873C,
|
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[44 * 20 * 2], 44, 4, D_radio_8017873C,
|
||||||
D_radio_80178740 + 20.0f + sp38 + (40.0f * D_ctx_80177D38), 1.0f, D_ctx_80177D38);
|
D_radio_80178740 + 20.0f + sp38 + (40.0f * D_ctx_80177D38), 1.0f, D_ctx_80177D38);
|
||||||
} else {
|
} else {
|
||||||
for (i = 0, j = 0; i < 2; i++, j += 880) {
|
for (i = 0, j = 0; i < 2; i++, j += 44 * 20) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, &sp44[j], 44, 20, D_radio_8017873C,
|
TextureRect_16bRGBA(&gMasterDisp, &sp44[j], 44, 20, D_radio_8017873C,
|
||||||
D_radio_80178740 + 20.0f + sp38 + (i * 20.0f * D_ctx_80177D38), 1.0f,
|
D_radio_80178740 + 20.0f + sp38 + (i * 20.0f * D_ctx_80177D38), 1.0f,
|
||||||
D_ctx_80177D38);
|
D_ctx_80177D38);
|
||||||
}
|
}
|
||||||
TextureRect_16bRGBA(&gMasterDisp, &sp44[2 * 880], 44, 4, D_radio_8017873C,
|
TextureRect_16bRGBA(&gMasterDisp, &sp44[44 * 20 * 2], 44, 4, D_radio_8017873C,
|
||||||
D_radio_80178740 + 20.0f + sp38 + (40.0f * D_ctx_80177D38), 1.0f, D_ctx_80177D38);
|
D_radio_80178740 + 20.0f + sp38 + (40.0f * D_ctx_80177D38), 1.0f, D_ctx_80177D38);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -550,7 +550,7 @@ void func_radio_800BB5D0(void) {
|
|||||||
if (D_Timer_801782AC == 0) {
|
if (D_Timer_801782AC == 0) {
|
||||||
gRadioState++;
|
gRadioState++;
|
||||||
temp_v0 = Message_GetWidth(D_ctx_80178308);
|
temp_v0 = Message_GetWidth(D_ctx_80178308);
|
||||||
if (D_80137E78 == 3) {
|
if (gVIsPerFrame == 3) {
|
||||||
D_Timer_801782AC = temp_v0 + 16;
|
D_Timer_801782AC = temp_v0 + 16;
|
||||||
} else {
|
} else {
|
||||||
D_Timer_801782AC = (2 * temp_v0) + 16;
|
D_Timer_801782AC = (2 * temp_v0) + 16;
|
||||||
@ -595,7 +595,7 @@ void func_radio_800BB5D0(void) {
|
|||||||
D_ctx_801782A4 = (s32) D_ctx_80177D68 + 1;
|
D_ctx_801782A4 = (s32) D_ctx_80177D68 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!D_80137E78) {}
|
if (!gVIsPerFrame) {}
|
||||||
|
|
||||||
if (1) {
|
if (1) {
|
||||||
fakeTemp = 0;
|
fakeTemp = 0;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void Graphics_NMIWipe(void) {
|
void Graphics_NMIWipe(void) {
|
||||||
static s16 D_800D4A80 = 0;
|
static s16 sWipeBarLength = 0;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * 2;
|
gViewport->vp.vscale[0] = SCREEN_WIDTH * 2;
|
||||||
@ -14,24 +14,32 @@ void Graphics_NMIWipe(void) {
|
|||||||
gViewport->vp.vtrans[3] = 0;
|
gViewport->vp.vtrans[3] = 0;
|
||||||
gSPViewport(gMasterDisp++, gViewport);
|
gSPViewport(gMasterDisp++, gViewport);
|
||||||
gDPPipeSync(gMasterDisp++);
|
gDPPipeSync(gMasterDisp++);
|
||||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
|
SCREEN_HEIGHT - SCREEN_MARGIN);
|
||||||
|
|
||||||
Graphics_FillRectangle(&gMasterDisp, 8, 8, MIN(304, D_800D4A80) + 8, 64, 0, 0, 0, 255);
|
Graphics_FillRectangle(&gMasterDisp, SCREEN_MARGIN, SCREEN_MARGIN,
|
||||||
Graphics_FillRectangle(&gMasterDisp, SCREEN_WIDTH - 8 - MIN(304, D_800D4A80), 64, SCREEN_WIDTH - 8, 120, 0, 0, 0,
|
MIN(SCREEN_WIDTH - 2 * SCREEN_MARGIN, sWipeBarLength) + SCREEN_MARGIN,
|
||||||
255);
|
SCREEN_HEIGHT / 4 + SCREEN_MARGIN / 2, 0, 0, 0, 255);
|
||||||
Graphics_FillRectangle(&gMasterDisp, 8, 120, MIN(304, D_800D4A80) + 8, 176, 0, 0, 0, 255);
|
Graphics_FillRectangle(&gMasterDisp,
|
||||||
Graphics_FillRectangle(&gMasterDisp, SCREEN_WIDTH - 8 - MIN(304, D_800D4A80), 176, SCREEN_WIDTH - 8, 232, 0, 0, 0,
|
SCREEN_WIDTH - SCREEN_MARGIN - MIN(SCREEN_WIDTH - 2 * SCREEN_MARGIN, sWipeBarLength),
|
||||||
255);
|
SCREEN_HEIGHT / 4 + SCREEN_MARGIN / 2, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2, 0, 0, 0, 255);
|
||||||
if (D_800D4A80 == 0) {
|
Graphics_FillRectangle(&gMasterDisp, SCREEN_MARGIN, SCREEN_HEIGHT / 2,
|
||||||
|
MIN(SCREEN_WIDTH - 2 * SCREEN_MARGIN, sWipeBarLength) + SCREEN_MARGIN,
|
||||||
|
3 * SCREEN_HEIGHT / 4 - SCREEN_MARGIN / 2, 0, 0, 0, 255);
|
||||||
|
Graphics_FillRectangle(&gMasterDisp,
|
||||||
|
SCREEN_WIDTH - SCREEN_MARGIN - MIN(SCREEN_WIDTH - 2 * SCREEN_MARGIN, sWipeBarLength),
|
||||||
|
3 * SCREEN_HEIGHT / 4 - SCREEN_MARGIN / 2, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
|
SCREEN_HEIGHT - SCREEN_MARGIN, 0, 0, 0, 255);
|
||||||
|
if (sWipeBarLength == 0) {
|
||||||
AudioThread_PreNMIReset();
|
AudioThread_PreNMIReset();
|
||||||
}
|
}
|
||||||
D_800D4A80 += 45;
|
sWipeBarLength += SCREEN_WIDTH / 7;
|
||||||
if (D_800D4A80 >= 485) {
|
if (sWipeBarLength >= SCREEN_WIDTH * 85 / 8 / 7) { // Why 85 / 8 == 3400 / 320 == 10.625? Has to do with NMI timing?
|
||||||
osViBlack(1);
|
osViBlack(true);
|
||||||
gStopTasks = 1;
|
gStopTasks = true;
|
||||||
}
|
}
|
||||||
for (i = 0; i < MAXCONTROLLERS; i++) {
|
for (i = 0; i < MAXCONTROLLERS; i++) {
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
D_80137E84[i] = 0;
|
gControllerRumbleFlags[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,100 +26,100 @@ s32 Graphics_Printf(const char* fmt, ...) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Texture_Scroll(u16* texture, s32 width, s32 height, u8 mode) {
|
void Texture_Scroll(u16* texture, s32 width, s32 height, u8 mode) {
|
||||||
u16* temp_t0 = SEGMENTED_TO_VIRTUAL(texture);
|
u16* pixel = SEGMENTED_TO_VIRTUAL(texture);
|
||||||
u16 temp_a3;
|
u16 tempPxl;
|
||||||
s32 var_a0;
|
s32 u;
|
||||||
s32 var_t4;
|
s32 v;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 0:
|
case 0:
|
||||||
for (var_a0 = 0; var_a0 < width; var_a0++) {
|
for (u = 0; u < width; u++) {
|
||||||
temp_a3 = temp_t0[var_a0];
|
tempPxl = pixel[u];
|
||||||
for (var_t4 = 1; var_t4 < height; var_t4++) {
|
for (v = 1; v < height; v++) {
|
||||||
temp_t0[(var_t4 - 1) * width + var_a0] = temp_t0[(var_t4) *width + var_a0];
|
pixel[(v - 1) * width + u] = pixel[(v) *width + u];
|
||||||
}
|
}
|
||||||
temp_t0[(height - 1) * width + var_a0] = temp_a3;
|
pixel[(height - 1) * width + u] = tempPxl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
for (var_a0 = 0; var_a0 < width; var_a0++) {
|
for (u = 0; u < width; u++) {
|
||||||
temp_a3 = temp_t0[(height - 1) * width + var_a0];
|
tempPxl = pixel[(height - 1) * width + u];
|
||||||
for (var_t4 = height - 2; var_t4 >= 0; var_t4--) {
|
for (v = height - 2; v >= 0; v--) {
|
||||||
temp_t0[(var_t4 + 1) * width + var_a0] = temp_t0[(var_t4) *width + var_a0];
|
pixel[(v + 1) * width + u] = pixel[(v) *width + u];
|
||||||
}
|
}
|
||||||
temp_t0[var_a0] = temp_a3;
|
pixel[u] = tempPxl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
for (var_t4 = 0; var_t4 < height; var_t4++) {
|
for (v = 0; v < height; v++) {
|
||||||
temp_a3 = temp_t0[var_t4 * width + width - 1];
|
tempPxl = pixel[v * width + width - 1];
|
||||||
for (var_a0 = width - 2; var_a0 >= 0; var_a0--) {
|
for (u = width - 2; u >= 0; u--) {
|
||||||
temp_t0[var_t4 * width + var_a0 + 1] = temp_t0[var_t4 * width + var_a0];
|
pixel[v * width + u + 1] = pixel[v * width + u];
|
||||||
}
|
}
|
||||||
temp_t0[var_t4 * width] = temp_a3;
|
pixel[v * width] = tempPxl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
for (var_t4 = 0; var_t4 < height; var_t4++) {
|
for (v = 0; v < height; v++) {
|
||||||
temp_a3 = temp_t0[var_t4 * width];
|
tempPxl = pixel[v * width];
|
||||||
for (var_a0 = 1; var_a0 < width; var_a0++) {
|
for (u = 1; u < width; u++) {
|
||||||
temp_t0[var_t4 * width + var_a0 - 1] = temp_t0[var_t4 * width + var_a0];
|
pixel[v * width + u - 1] = pixel[v * width + u];
|
||||||
}
|
}
|
||||||
temp_t0[var_t4 * width + width - 1] = temp_a3;
|
pixel[v * width + width - 1] = tempPxl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Texture_Mottle(u16* dst, u16* src, u8 mode) {
|
void Texture_Mottle(u16* dst, u16* src, u8 mode) {
|
||||||
s32 var_v1;
|
s32 u;
|
||||||
s32 var_s3;
|
s32 v;
|
||||||
u8* var_s0_2;
|
u8* dst8;
|
||||||
u8* var_s4_2;
|
u8* src8;
|
||||||
s32 temp_ft3;
|
s32 offset;
|
||||||
|
|
||||||
dst = SEGMENTED_TO_VIRTUAL(dst);
|
dst = SEGMENTED_TO_VIRTUAL(dst);
|
||||||
src = SEGMENTED_TO_VIRTUAL(src);
|
src = SEGMENTED_TO_VIRTUAL(src);
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 2:
|
case 2:
|
||||||
for (var_s3 = 0; var_s3 < 32 * 32; var_s3 += 32) {
|
for (v = 0; v < 32 * 32; v += 32) {
|
||||||
temp_ft3 = 3.0f * __sinf((s32) (((var_s3 / 32) + (gGameFrameCount / 4)) % 32U) * (2 * M_PI / 32));
|
offset = 3.0f * __sinf((s32) (((v / 32) + (gGameFrameCount / 4)) % 32U) * (2 * M_PI / 32));
|
||||||
for (var_v1 = 0; var_v1 < 32; var_v1++) {
|
for (u = 0; u < 32; u++) {
|
||||||
dst[var_s3 + (temp_ft3 + var_v1) % 32U] = src[var_s3 + var_v1];
|
dst[v + (offset + u) % 32U] = src[v + u];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
for (var_s3 = 0; var_s3 < 22 * 64; var_s3 += 64) {
|
for (v = 0; v < 22 * 64; v += 64) { // should be 32 * 64?
|
||||||
temp_ft3 = __sinf((s32) (((var_s3 / 64) + (gGameFrameCount / 4)) % 32U) * (2 * M_PI / 8));
|
offset = __sinf((s32) (((v / 64) + (gGameFrameCount / 4)) % 32U) * (2 * M_PI / 8));
|
||||||
for (var_v1 = 0; var_v1 < 64; var_v1++) {
|
for (u = 0; u < 64; u++) {
|
||||||
dst[var_s3 + (temp_ft3 + var_v1) % 64U] = src[var_s3 + var_v1];
|
dst[v + (offset + u) % 64U] = src[v + u];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
for (var_s3 = 0; var_s3 < 16 * 16; var_s3 += 16) {
|
for (v = 0; v < 16 * 16; v += 16) {
|
||||||
temp_ft3 = 2.0f * __sinf((s32) (((var_s3 / 16) + (gGameFrameCount / 2)) % 16U) * (2 * M_PI / 16));
|
offset = 2.0f * __sinf((s32) (((v / 16) + (gGameFrameCount / 2)) % 16U) * (2 * M_PI / 16));
|
||||||
for (var_v1 = 0; var_v1 < 16; var_v1++) {
|
for (u = 0; u < 16; u++) {
|
||||||
dst[var_s3 + (temp_ft3 + var_v1) % 16U] = src[var_s3 + var_v1];
|
dst[v + (offset + u) % 16U] = src[v + u];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
for (var_s3 = 0; var_s3 < 32 * 32; var_s3 += 32) {
|
for (v = 0; v < 32 * 32; v += 32) {
|
||||||
temp_ft3 = 2.0f * __sinf((s32) (((var_s3 / 32) + (gGameFrameCount / 2)) % 32U) * (2 * M_PI / 32));
|
offset = 2.0f * __sinf((s32) (((v / 32) + (gGameFrameCount / 2)) % 32U) * (2 * M_PI / 32));
|
||||||
for (var_v1 = 0; var_v1 < 32; var_v1++) {
|
for (u = 0; u < 32; u++) {
|
||||||
dst[var_s3 + (temp_ft3 + var_v1) % 32U] = src[var_s3 + var_v1];
|
dst[v + (offset + u) % 32U] = src[v + u];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
var_s0_2 = (u8*) dst;
|
dst8 = (u8*) dst;
|
||||||
var_s4_2 = (u8*) src;
|
src8 = (u8*) src;
|
||||||
for (var_s3 = 0; var_s3 < 64 * 64; var_s3 += 64) {
|
for (v = 0; v < 64 * 64; v += 64) {
|
||||||
temp_ft3 = 4.0f * __sinf((s32) (((var_s3 / 64) + (gGameFrameCount / 4)) % 32U) * (2 * M_PI / 32));
|
offset = 4.0f * __sinf((s32) (((v / 64) + (gGameFrameCount / 4)) % 32U) * (2 * M_PI / 32));
|
||||||
for (var_v1 = 0; var_v1 < 64; var_v1++) {
|
for (u = 0; u < 64; u++) {
|
||||||
var_s0_2[var_s3 + (temp_ft3 + var_v1) % 64U] = var_s4_2[var_s3 + var_v1];
|
dst8[v + (offset + u) % 64U] = src8[v + u];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -996,7 +996,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
|||||||
if (spB4 != 0) {
|
if (spB4 != 0) {
|
||||||
for (i = 0; i < spB4; i++, hitboxData += 6) {
|
for (i = 0; i < spB4; i++, hitboxData += 6) {
|
||||||
spA0 = 0;
|
spA0 = 0;
|
||||||
if (hitboxData[0] == HITBOX_TYPE_2) {
|
if (hitboxData[0] == HITBOX_ROTATED) {
|
||||||
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
|
||||||
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
|
||||||
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
|
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
|
||||||
@ -1006,7 +1006,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
|||||||
hitboxData += 4;
|
hitboxData += 4;
|
||||||
spA0 = 1.0f;
|
spA0 = 1.0f;
|
||||||
} else {
|
} else {
|
||||||
if (hitboxData[0] == HITBOX_TYPE_3) {
|
if (hitboxData[0] == HITBOX_SHADOW) {
|
||||||
hitboxData++;
|
hitboxData++;
|
||||||
}
|
}
|
||||||
Matrix_RotateZ(gCalcMatrix, -zRot * M_DTOR, 0);
|
Matrix_RotateZ(gCalcMatrix, -zRot * M_DTOR, 0);
|
||||||
@ -1067,13 +1067,13 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
|||||||
}
|
}
|
||||||
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||||
*index = i + 1;
|
*index = i + 1;
|
||||||
if (hitboxData[-1] == HITBOX_TYPE_3) {
|
if (hitboxData[-1] == HITBOX_SHADOW) {
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (hitboxData[-1] == HITBOX_TYPE_3) {
|
if (hitboxData[-1] == HITBOX_SHADOW) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if ((yRot == 0.0f) && (zRot == 0.0f) && (xRot == 0.0f) && (spA0 == 0)) {
|
if ((yRot == 0.0f) && (zRot == 0.0f) && (xRot == 0.0f) && (spA0 == 0)) {
|
||||||
@ -1358,13 +1358,13 @@ void func_tank_800481F4(Player* player) {
|
|||||||
D_ctx_80178570 = 20;
|
D_ctx_80178570 = 20;
|
||||||
D_ctx_80178574 = 20;
|
D_ctx_80178574 = 20;
|
||||||
D_ctx_80178578 = 20;
|
D_ctx_80178578 = 20;
|
||||||
player->unk_23C = 80;
|
player->shadowing = 80;
|
||||||
if (player->unk_22C == 0) {
|
if (player->whooshTimer == 0) {
|
||||||
AUDIO_PLAY_SFX(0x19000001, player->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19000001, player->sfxSource, 0);
|
||||||
}
|
}
|
||||||
player->unk_22C += 2;
|
player->whooshTimer += 2;
|
||||||
if (player->unk_22C >= 4) {
|
if (player->whooshTimer >= 4) {
|
||||||
player->unk_22C = 4;
|
player->whooshTimer = 4;
|
||||||
}
|
}
|
||||||
} else if (temp_v0 == -2) {
|
} else if (temp_v0 == -2) {
|
||||||
AUDIO_PLAY_SFX(0x19000001, player->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x19000001, player->sfxSource, 0);
|
||||||
|
@ -88,7 +88,7 @@ void func_versus_800BC8D8(f32 xPos, f32 yPos, f32 scale) {
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
TextureRect_8bCI(&gMasterDisp, D_versus_300A470 + (i * 152 * 8), D_versus_300B218, 152, 8, xPos,
|
TextureRect_8bCI(&gMasterDisp, D_versus_300A470 + (152 * 8 * i), D_versus_300B218, 152, 8, xPos,
|
||||||
yPos + (8 * i * scale), scale, scale);
|
yPos + (8 * i * scale), scale, scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,16 +44,17 @@ void Ending_8018CE20(u32 arg0) {
|
|||||||
RCP_SetupDL(&gMasterDisp, 0x53);
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
||||||
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
|
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
||||||
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00, 192, 5, 64.0f, 105.0f, 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 192 * 5 * 0, 192, 5, 64.0f, 105.0f,
|
||||||
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 960 * 1, 192, 5, 64.0f, 110.0f,
|
|
||||||
1.0f, 1.0f);
|
1.0f, 1.0f);
|
||||||
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 960 * 2, 192, 5, 64.0f, 115.0f,
|
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 192 * 5 * 1, 192, 5, 64.0f, 110.0f,
|
||||||
1.0f, 1.0f);
|
1.0f, 1.0f);
|
||||||
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 960 * 3, 192, 5, 64.0f, 120.0f,
|
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 192 * 5 * 2, 192, 5, 64.0f, 115.0f,
|
||||||
1.0f, 1.0f);
|
1.0f, 1.0f);
|
||||||
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 960 * 4, 192, 5, 64.0f, 125.0f,
|
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 192 * 5 * 3, 192, 5, 64.0f, 120.0f,
|
||||||
1.0f, 1.0f);
|
1.0f, 1.0f);
|
||||||
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 960 * 5, 192, 5, 64.0f, 130.0f,
|
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 192 * 5 * 4, 192, 5, 64.0f, 125.0f,
|
||||||
|
1.0f, 1.0f);
|
||||||
|
TextureRect_8bIA(&gMasterDisp, D_ending_80192E74[i].unk_00 + 192 * 5 * 5, 192, 5, 64.0f, 130.0f,
|
||||||
1.0f, 1.0f);
|
1.0f, 1.0f);
|
||||||
} else {
|
} else {
|
||||||
xPos = (320 - Graphics_GetSmallTextWidth(D_ending_80192E74[i].unk_00)) / 2;
|
xPos = (320 - Graphics_GetSmallTextWidth(D_ending_80192E74[i].unk_00)) / 2;
|
||||||
@ -71,7 +72,7 @@ void Ending_8018CE20(u32 arg0) {
|
|||||||
|
|
||||||
void Ending_8018D250(u32 arg0, AssetInfo* asset) {
|
void Ending_8018D250(u32 arg0, AssetInfo* asset) {
|
||||||
gOverlayStage = asset->unk_08;
|
gOverlayStage = asset->unk_08;
|
||||||
D_80137E78 = asset->unk_70;
|
gVIsPerFrame = asset->unk_70;
|
||||||
D_ctx_80178410 = asset->unk_14;
|
D_ctx_80178410 = asset->unk_14;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,8 +114,8 @@ void Ending_8018D398(u32 arg0, AssetInfo* asset) {
|
|||||||
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = gFillScreenAlpha = gFillScreenAlphaTarget =
|
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = gFillScreenAlpha = gFillScreenAlphaTarget =
|
||||||
gFillScreenAlphaStep = 0;
|
gFillScreenAlphaStep = 0;
|
||||||
|
|
||||||
Graphics_FillRectangle(&gMasterDisp, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8, asset->primRed, asset->primGreen,
|
Graphics_FillRectangle(&gMasterDisp, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH - SCREEN_MARGIN,
|
||||||
asset->primBlue, alpha);
|
SCREEN_HEIGHT - SCREEN_MARGIN, asset->primRed, asset->primGreen, asset->primBlue, alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ending_8018D4BC(s32 arg0, AssetInfo* asset) {
|
void Ending_8018D4BC(s32 arg0, AssetInfo* asset) {
|
||||||
|
@ -1368,7 +1368,7 @@ void Corneria_8018B58C(Actor* actor) {
|
|||||||
if ((fabsf(actor->obj.pos.z - gPlayer[0].unk_138) < 500.0f) &&
|
if ((fabsf(actor->obj.pos.z - gPlayer[0].unk_138) < 500.0f) &&
|
||||||
(fabsf(actor->obj.pos.x - gPlayer[0].pos.x) < 200.0f) &&
|
(fabsf(actor->obj.pos.x - gPlayer[0].pos.x) < 200.0f) &&
|
||||||
(fabsf(actor->obj.pos.y - gPlayer[0].pos.y) < 200.0f)) {
|
(fabsf(actor->obj.pos.y - gPlayer[0].pos.y) < 200.0f)) {
|
||||||
*D_Timer_80177BD0 = 25;
|
*gControllerRumbleTimers = 25;
|
||||||
}
|
}
|
||||||
BonusText_Display(actor->obj.pos.x, actor->obj.pos.y + 250.0f, actor->obj.pos.z, 5);
|
BonusText_Display(actor->obj.pos.x, actor->obj.pos.y + 250.0f, actor->obj.pos.z, 5);
|
||||||
gHitCount += 6;
|
gHitCount += 6;
|
||||||
@ -1606,7 +1606,7 @@ void Corneria_8018C19C(Boss* boss) {
|
|||||||
D_ctx_80178570 = 20;
|
D_ctx_80178570 = 20;
|
||||||
D_ctx_80178574 = 20;
|
D_ctx_80178574 = 20;
|
||||||
D_ctx_80178578 = 20;
|
D_ctx_80178578 = 20;
|
||||||
gPlayer[0].unk_23C = 100;
|
gPlayer[0].shadowing = 100;
|
||||||
}
|
}
|
||||||
Matrix_MultVec3f(gCalcMatrix, &D_i1_801998CC, &sp84[0]);
|
Matrix_MultVec3f(gCalcMatrix, &D_i1_801998CC, &sp84[0]);
|
||||||
Matrix_MultVec3f(gCalcMatrix, &D_i1_801998D8, &sp84[1]);
|
Matrix_MultVec3f(gCalcMatrix, &D_i1_801998D8, &sp84[1]);
|
||||||
|
@ -626,7 +626,7 @@ void Venom1_80192CD4(Actor* actor) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (actor->iwork[1] > 0) {
|
if (actor->iwork[1] > 0) {
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
actor->iwork[1] -= 1;
|
actor->iwork[1] -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1134,7 +1134,7 @@ void Venom1_80194398(Boss* boss) {
|
|||||||
boss->swork[10]--;
|
boss->swork[10]--;
|
||||||
}
|
}
|
||||||
if (boss->swork[28] > 0) {
|
if (boss->swork[28] > 0) {
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
boss->swork[28]--;
|
boss->swork[28]--;
|
||||||
}
|
}
|
||||||
if (boss->swork[16] > 0) {
|
if (boss->swork[16] > 0) {
|
||||||
|
@ -1444,7 +1444,7 @@ void Meteo_8018978C(Boss* boss) {
|
|||||||
if (boss->timer_050 == 20) {
|
if (boss->timer_050 == 20) {
|
||||||
func_effect_8007A568(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 80.0f);
|
func_effect_8007A568(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 80.0f);
|
||||||
AUDIO_PLAY_SFX(0x2940F026U, boss->sfxSource, 4U);
|
AUDIO_PLAY_SFX(0x2940F026U, boss->sfxSource, 4U);
|
||||||
D_Timer_80177BD0[0] = 60;
|
gControllerRumbleTimers[0] = 60;
|
||||||
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
|
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
|
||||||
if (gActors[i].obj.id == OBJ_ACTOR_TEAM_BOSS) {
|
if (gActors[i].obj.id == OBJ_ACTOR_TEAM_BOSS) {
|
||||||
Object_Kill(&gActors[i].obj, gActors[i].sfxSource);
|
Object_Kill(&gActors[i].obj, gActors[i].sfxSource);
|
||||||
|
@ -1247,7 +1247,7 @@ void Aquas_801AC274(Player* player) {
|
|||||||
for (i = 0, actor = gActors; i < 60; i++, actor++) {
|
for (i = 0, actor = gActors; i < 60; i++, actor++) {
|
||||||
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id != OBJ_ACTOR_189)) {
|
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id != OBJ_ACTOR_189)) {
|
||||||
var_v1 = 1;
|
var_v1 = 1;
|
||||||
if (actor->info.hitbox[1] == HITBOX_TYPE_2) {
|
if (actor->info.hitbox[1] == HITBOX_ROTATED) {
|
||||||
var_v1 = 5;
|
var_v1 = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1128,7 +1128,7 @@ void Solar_801A10F4(Player* player) {
|
|||||||
player->camAt.z = player->unk_138;
|
player->camAt.z = player->unk_138;
|
||||||
|
|
||||||
D_ctx_80177950 = 1.0f;
|
D_ctx_80177950 = 1.0f;
|
||||||
func_8001D1C8(0xFF, 3);
|
func_8001D1C8(255, 3);
|
||||||
AUDIO_PLAY_SFX(0x4100C023, gDefaultSfxSource, 4);
|
AUDIO_PLAY_SFX(0x4100C023, gDefaultSfxSource, 4);
|
||||||
D_ctx_80178488 = 1;
|
D_ctx_80178488 = 1;
|
||||||
gFillScreenAlphaTarget = 0;
|
gFillScreenAlphaTarget = 0;
|
||||||
@ -1479,8 +1479,8 @@ void Solar_801A2C98(Boss* bossSO) {
|
|||||||
Math_SmoothStepToAngle(&bossSO->obj.rot.y, 181.0f, 1.0f, 3.0f, 1.0f);
|
Math_SmoothStepToAngle(&bossSO->obj.rot.y, 181.0f, 1.0f, 3.0f, 1.0f);
|
||||||
if (bossSO->unk_04C == 50) {
|
if (bossSO->unk_04C == 50) {
|
||||||
Solar_801A0CEC(&gActors[10], bossSO->obj.pos.x, bossSO->obj.pos.z + 1000.0f, 20.0f, 1);
|
Solar_801A0CEC(&gActors[10], bossSO->obj.pos.x, bossSO->obj.pos.z + 1000.0f, 20.0f, 1);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 70;
|
gControllerRumbleTimers[gMainController] = 70;
|
||||||
}
|
}
|
||||||
if (bossSO->unk_04C == 60) {
|
if (bossSO->unk_04C == 60) {
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
@ -1570,8 +1570,8 @@ void Solar_801A3128(Boss* bossSO) {
|
|||||||
} else {
|
} else {
|
||||||
if (bossSO->swork[SO_SWK_11] == 80) {
|
if (bossSO->swork[SO_SWK_11] == 80) {
|
||||||
Solar_801A0CEC(&gActors[9], bossSO->obj.pos.x, bossSO->obj.pos.z + 850.0f, 20.0f, 1);
|
Solar_801A0CEC(&gActors[9], bossSO->obj.pos.x, bossSO->obj.pos.z + 850.0f, 20.0f, 1);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 70;
|
gControllerRumbleTimers[gMainController] = 70;
|
||||||
D_i3_801C2740[2]++;
|
D_i3_801C2740[2]++;
|
||||||
if ((D_i3_801C2740[2] % 2) != 0) {
|
if ((D_i3_801C2740[2] % 2) != 0) {
|
||||||
if (D_i3_801C2740[2] & 2) {
|
if (D_i3_801C2740[2] & 2) {
|
||||||
@ -1672,8 +1672,8 @@ void Solar_801A3510(Boss* bossSO) {
|
|||||||
}
|
}
|
||||||
if (bossSO->unk_04C == 60) {
|
if (bossSO->unk_04C == 60) {
|
||||||
Solar_801A0D90(bossSO->obj.pos.x, bossSO->obj.pos.z + 1600.0f, 80.0f, 2);
|
Solar_801A0D90(bossSO->obj.pos.x, bossSO->obj.pos.z + 1600.0f, 80.0f, 2);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 100;
|
gControllerRumbleTimers[gMainController] = 100;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
@ -1809,8 +1809,8 @@ void Solar_801A3C4C(Boss* bossSO) {
|
|||||||
gFillScreenAlphaTarget = 0;
|
gFillScreenAlphaTarget = 0;
|
||||||
gFillScreenAlphaStep = 255;
|
gFillScreenAlphaStep = 255;
|
||||||
gCsFrameCount = 0;
|
gCsFrameCount = 0;
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 10;
|
gControllerRumbleTimers[gMainController] = 10;
|
||||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
|
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
|
||||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
|
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
|
||||||
Audio_KillSfxById(0x4100C023);
|
Audio_KillSfxById(0x4100C023);
|
||||||
@ -1966,8 +1966,8 @@ void Solar_801A48B8(Boss* bossSO) {
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
AUDIO_PLAY_SFX(0x29434075, bossSO->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x29434075, bossSO->sfxSource, 4);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 10;
|
gControllerRumbleTimers[gMainController] = 10;
|
||||||
if (bossSO->swork[SO_SWK_0] != 6) {
|
if (bossSO->swork[SO_SWK_0] != 6) {
|
||||||
bossSO->swork[SO_SWK_5] = bossSO->swork[SO_SWK_0];
|
bossSO->swork[SO_SWK_5] = bossSO->swork[SO_SWK_0];
|
||||||
bossSO->swork[SO_SWK_6] = bossSO->swork[SO_SWK_1];
|
bossSO->swork[SO_SWK_6] = bossSO->swork[SO_SWK_1];
|
||||||
@ -2086,8 +2086,8 @@ void Solar_801A4EF8(Boss* bossSO) {
|
|||||||
}
|
}
|
||||||
if (bossSO->swork[SO_SWK_11] == 30) {
|
if (bossSO->swork[SO_SWK_11] == 30) {
|
||||||
Solar_801A0CEC(&gActors[10], bossSO->obj.pos.x, bossSO->obj.pos.z + 1000.0f, 20.0f, 1);
|
Solar_801A0CEC(&gActors[10], bossSO->obj.pos.x, bossSO->obj.pos.z + 1000.0f, 20.0f, 1);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 70;
|
gControllerRumbleTimers[gMainController] = 70;
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
Solar_8019F038(bossSO->obj.pos.x + 100.0f, 100.0f, bossSO->obj.pos.z + 1100.0f,
|
Solar_8019F038(bossSO->obj.pos.x + 100.0f, 100.0f, bossSO->obj.pos.z + 1100.0f,
|
||||||
D_i3_801BF8F0[i].x + RAND_FLOAT_CENTERED(2.0f),
|
D_i3_801BF8F0[i].x + RAND_FLOAT_CENTERED(2.0f),
|
||||||
@ -2116,8 +2116,8 @@ void Solar_801A4EF8(Boss* bossSO) {
|
|||||||
case 2:
|
case 2:
|
||||||
bossSO->unk_04C = 0;
|
bossSO->unk_04C = 0;
|
||||||
if (bossSO->swork[SO_SWK_11] == 300) {
|
if (bossSO->swork[SO_SWK_11] == 300) {
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 170;
|
gControllerRumbleTimers[gMainController] = 170;
|
||||||
gCameraShake = 130;
|
gCameraShake = 130;
|
||||||
}
|
}
|
||||||
if (bossSO->swork[SO_SWK_11] == 200) {
|
if (bossSO->swork[SO_SWK_11] == 200) {
|
||||||
@ -2140,8 +2140,8 @@ void Solar_801A4EF8(Boss* bossSO) {
|
|||||||
}
|
}
|
||||||
if (bossSO->swork[SO_SWK_11] == 50) {
|
if (bossSO->swork[SO_SWK_11] == 50) {
|
||||||
Solar_801A0CEC(&gActors[10], bossSO->obj.pos.x, bossSO->obj.pos.z + 1000.0f, 80.0f, 2);
|
Solar_801A0CEC(&gActors[10], bossSO->obj.pos.x, bossSO->obj.pos.z + 1000.0f, 80.0f, 2);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 100;
|
gControllerRumbleTimers[gMainController] = 100;
|
||||||
gCameraShake = 10;
|
gCameraShake = 10;
|
||||||
}
|
}
|
||||||
if (bossSO->obj.pos.y < -1500.0f) {
|
if (bossSO->obj.pos.y < -1500.0f) {
|
||||||
|
@ -14,12 +14,12 @@
|
|||||||
// { { -397.8f, 130.0f }, { 1284.3999f, 262.59998f }, { 0.0f, 80.6f } },
|
// { { -397.8f, 130.0f }, { 1284.3999f, 262.59998f }, { 0.0f, 80.6f } },
|
||||||
// { { -223.59999f, 197.59999f }, { 904.8f, 145.59999f }, { 0.0f, 140.4f } },
|
// { { -223.59999f, 197.59999f }, { 904.8f, 145.59999f }, { 0.0f, 140.4f } },
|
||||||
// {
|
// {
|
||||||
// HITBOX_TYPE_2,
|
// HITBOX_ROTATED,
|
||||||
// { 40.0f, 0.0f, 0.0f },
|
// { 40.0f, 0.0f, 0.0f },
|
||||||
// { { -561.6f, 119.6f }, { 600.6f, 319.8f }, { 338.0f, 104.0f } },
|
// { { -561.6f, 119.6f }, { 600.6f, 319.8f }, { 338.0f, 104.0f } },
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
// HITBOX_TYPE_2,
|
// HITBOX_ROTATED,
|
||||||
// { 40.0f, 0.0f, 0.0f },
|
// { 40.0f, 0.0f, 0.0f },
|
||||||
// { { -561.6f, 119.6f }, { 600.6f, 319.8f }, { -338.0f, 104.0f } },
|
// { { -561.6f, 119.6f }, { 600.6f, 319.8f }, { -338.0f, 104.0f } },
|
||||||
// },
|
// },
|
||||||
|
@ -2450,8 +2450,8 @@ void Macbeth_801A2DD8(Object_80* obj80) {
|
|||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
func_effect_8007A6F0(&obj80->obj.pos, 0x2903B009);
|
func_effect_8007A6F0(&obj80->obj.pos, 0x2903B009);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 15;
|
gControllerRumbleTimers[gMainController] = 15;
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
func_effect_8007D2C8(obj80->obj.pos.x + D_i5_801BE6A0[i].x, obj80->obj.pos.y + D_i5_801BE6A0[i].y,
|
func_effect_8007D2C8(obj80->obj.pos.x + D_i5_801BE6A0[i].x, obj80->obj.pos.y + D_i5_801BE6A0[i].y,
|
||||||
obj80->obj.pos.z + D_i5_801BE6A0[i].z, 18.0f);
|
obj80->obj.pos.z + D_i5_801BE6A0[i].z, 18.0f);
|
||||||
@ -4501,8 +4501,8 @@ void Macbeth_801A7E7C(Actor* actor) {
|
|||||||
RAND_FLOAT(7.0f) + 7.0f, 2.0f, RAND_FLOAT(360.0f), RAND_FLOAT(360.0f),
|
RAND_FLOAT(7.0f) + 7.0f, 2.0f, RAND_FLOAT(360.0f), RAND_FLOAT(360.0f),
|
||||||
RAND_FLOAT(360.0f), RAND_FLOAT_CENTERED(10.0f), RAND_FLOAT_CENTERED(10.0f),
|
RAND_FLOAT(360.0f), RAND_FLOAT_CENTERED(10.0f), RAND_FLOAT_CENTERED(10.0f),
|
||||||
RAND_FLOAT_CENTERED(10.0f), (s32) (RAND_FLOAT(50.0f) + 70.0f), 11, 1.0f);
|
RAND_FLOAT_CENTERED(10.0f), (s32) (RAND_FLOAT(50.0f) + 70.0f), 11, 1.0f);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 15;
|
gControllerRumbleTimers[gMainController] = 15;
|
||||||
AUDIO_PLAY_SFX(0x2940C00A, actor->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x2940C00A, actor->sfxSource, 4);
|
||||||
actor->state = 21;
|
actor->state = 21;
|
||||||
}
|
}
|
||||||
@ -5205,8 +5205,8 @@ void Macbeth_801AD6F0(Actor* actor) {
|
|||||||
func_beam_800365E4(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x, actor->obj.pos.z,
|
func_beam_800365E4(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x, actor->obj.pos.z,
|
||||||
0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
|
0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
|
||||||
}
|
}
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 10;
|
gControllerRumbleTimers[gMainController] = 10;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@ -5326,8 +5326,8 @@ void Macbeth_801ADD68(Actor* actor) {
|
|||||||
if ((func_enmy_8006351C(actor->index, &actor->obj.pos, &sp3C, 1) != 0) ||
|
if ((func_enmy_8006351C(actor->index, &actor->obj.pos, &sp3C, 1) != 0) ||
|
||||||
(actor->obj.pos.y < (gGroundLevel + 200.0f))) {
|
(actor->obj.pos.y < (gGroundLevel + 200.0f))) {
|
||||||
AUDIO_PLAY_SFX(0x19032064, actor->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x19032064, actor->sfxSource, 4);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 5;
|
gControllerRumbleTimers[gMainController] = 5;
|
||||||
actor->vel.x = 0.0f;
|
actor->vel.x = 0.0f;
|
||||||
actor->vel.y = 0.0f;
|
actor->vel.y = 0.0f;
|
||||||
actor->vel.z = 0.0f;
|
actor->vel.z = 0.0f;
|
||||||
@ -6040,8 +6040,8 @@ void Macbeth_801AF8F4(Player* player) {
|
|||||||
player->timer_210 = 10000;
|
player->timer_210 = 10000;
|
||||||
D_ctx_80177A48[0] = 1.0f;
|
D_ctx_80177A48[0] = 1.0f;
|
||||||
D_i5_801BA1DC = 0.0f;
|
D_i5_801BA1DC = 0.0f;
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
D_Timer_80177BD0[0] = 10;
|
gControllerRumbleTimers[0] = 10;
|
||||||
gCameraShake = 10;
|
gCameraShake = 10;
|
||||||
D_ctx_80177A48[4] = -70.0f;
|
D_ctx_80177A48[4] = -70.0f;
|
||||||
D_ctx_80177A48[5] = 280.0f;
|
D_ctx_80177A48[5] = 280.0f;
|
||||||
@ -6176,8 +6176,8 @@ void Macbeth_801AF8F4(Player* player) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (gCsFrameCount == 880) {
|
if (gCsFrameCount == 880) {
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
D_Timer_80177BD0[0] = 10;
|
gControllerRumbleTimers[0] = 10;
|
||||||
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255;
|
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255;
|
||||||
gFillScreenAlphaTarget = 255;
|
gFillScreenAlphaTarget = 255;
|
||||||
gFillScreenAlphaStep = 20;
|
gFillScreenAlphaStep = 20;
|
||||||
@ -6731,7 +6731,7 @@ void Macbeth_801B38E0(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
D_ctx_801782B8 = D_ctx_801782BC = D_ctx_801782C0 = D_ctx_801782D0 = gBossActive = D_ctx_8017828C = D_ctx_8017812C =
|
D_ctx_801782B8 = D_ctx_801782BC = D_ctx_801782C0 = D_ctx_801782D0 = gBossActive = D_ctx_8017828C = D_ctx_8017812C =
|
||||||
D_ctx_80177E70 = D_ctx_80177E78 = gRingPassCount = 0;
|
gPrevEventActorIndex = D_ctx_80177E78 = gRingPassCount = 0;
|
||||||
D_ctx_80177F10.x = D_ctx_80177F10.y = D_ctx_80177F10.z = D_ctx_80177E88.x = D_ctx_80177E88.y = D_ctx_80177E88.z =
|
D_ctx_80177F10.x = D_ctx_80177F10.y = D_ctx_80177F10.z = D_ctx_80177E88.x = D_ctx_80177E88.y = D_ctx_80177E88.z =
|
||||||
0.0f;
|
0.0f;
|
||||||
|
|
||||||
|
@ -1291,7 +1291,7 @@ void Titania_8018C8A8(Actor* actor) {
|
|||||||
if (actor->iwork[4] > 0) {
|
if (actor->iwork[4] > 0) {
|
||||||
actor->iwork[4]--;
|
actor->iwork[4]--;
|
||||||
} else if ((gPlayer[0].unk_1D4 != 0) && (actor->iwork[3] > 0)) {
|
} else if ((gPlayer[0].unk_1D4 != 0) && (actor->iwork[3] > 0)) {
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
actor->iwork[3]--;
|
actor->iwork[3]--;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1596,7 +1596,7 @@ void Titania_8018C8A8(Actor* actor) {
|
|||||||
}
|
}
|
||||||
AUDIO_PLAY_SFX(0x2940C00A, actor->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x2940C00A, actor->sfxSource, 4);
|
||||||
gCameraShake = 20;
|
gCameraShake = 20;
|
||||||
D_Timer_80177BD0[0] = 16;
|
gControllerRumbleTimers[0] = 16;
|
||||||
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, 0);
|
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, 0);
|
||||||
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, 1);
|
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, 1);
|
||||||
Matrix_RotateZ(gCalcMatrix, actor->obj.rot.z * M_DTOR, 1);
|
Matrix_RotateZ(gCalcMatrix, actor->obj.rot.z * M_DTOR, 1);
|
||||||
@ -1856,7 +1856,7 @@ void Titania_8018E5F8(Actor* actor) {
|
|||||||
if (actor->iwork[7] > 0) {
|
if (actor->iwork[7] > 0) {
|
||||||
actor->iwork[7]--;
|
actor->iwork[7]--;
|
||||||
} else if ((gPlayer[0].unk_1D4 != 0) && (actor->iwork[8] > 0)) {
|
} else if ((gPlayer[0].unk_1D4 != 0) && (actor->iwork[8] > 0)) {
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
actor->iwork[8]--;
|
actor->iwork[8]--;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -2103,7 +2103,7 @@ void Titania_8018F4D8(Object_80* obj80) {
|
|||||||
if (obj80->obj.rot.x >= 90.0f) {
|
if (obj80->obj.rot.x >= 90.0f) {
|
||||||
obj80->obj.rot.x = 90.0f;
|
obj80->obj.rot.x = 90.0f;
|
||||||
obj80->state++;
|
obj80->state++;
|
||||||
D_Timer_80177BD0[0] = 7;
|
gControllerRumbleTimers[0] = 7;
|
||||||
gCameraShake = 12;
|
gCameraShake = 12;
|
||||||
Titania_8018F134(obj80);
|
Titania_8018F134(obj80);
|
||||||
AUDIO_PLAY_SFX(0x19130003, obj80->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x19130003, obj80->sfxSource, 4);
|
||||||
@ -2113,7 +2113,7 @@ void Titania_8018F4D8(Object_80* obj80) {
|
|||||||
obj80->obj.rot.z += obj80->vel.x;
|
obj80->obj.rot.z += obj80->vel.x;
|
||||||
if (obj80->obj.rot.z >= 90.0f) {
|
if (obj80->obj.rot.z >= 90.0f) {
|
||||||
obj80->obj.rot.z = 90.0f;
|
obj80->obj.rot.z = 90.0f;
|
||||||
D_Timer_80177BD0[0] = 7;
|
gControllerRumbleTimers[0] = 7;
|
||||||
gCameraShake = 12;
|
gCameraShake = 12;
|
||||||
Titania_8018F134(obj80);
|
Titania_8018F134(obj80);
|
||||||
AUDIO_PLAY_SFX(0x19130003, obj80->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x19130003, obj80->sfxSource, 4);
|
||||||
@ -2124,7 +2124,7 @@ void Titania_8018F4D8(Object_80* obj80) {
|
|||||||
obj80->obj.rot.z -= obj80->vel.x;
|
obj80->obj.rot.z -= obj80->vel.x;
|
||||||
if (obj80->obj.rot.z <= -90.0f) {
|
if (obj80->obj.rot.z <= -90.0f) {
|
||||||
obj80->obj.rot.z = -90.0f;
|
obj80->obj.rot.z = -90.0f;
|
||||||
D_Timer_80177BD0[0] = 7;
|
gControllerRumbleTimers[0] = 7;
|
||||||
gCameraShake = 12;
|
gCameraShake = 12;
|
||||||
Titania_8018F134(obj80);
|
Titania_8018F134(obj80);
|
||||||
AUDIO_PLAY_SFX(0x19130003, obj80->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x19130003, obj80->sfxSource, 4);
|
||||||
@ -4739,7 +4739,7 @@ void Titania_80197A94(Boss* boss) {
|
|||||||
boss->dmgType = DMG_NONE;
|
boss->dmgType = DMG_NONE;
|
||||||
}
|
}
|
||||||
if ((gPlayer[0].unk_1D4 != 0) && (boss->swork[39] > 0)) {
|
if ((gPlayer[0].unk_1D4 != 0) && (boss->swork[39] > 0)) {
|
||||||
D_80137E84[0] = 1;
|
gControllerRumbleFlags[0] = 1;
|
||||||
boss->swork[39]--;
|
boss->swork[39]--;
|
||||||
}
|
}
|
||||||
if (boss->swork[28] == 2) {
|
if (boss->swork[28] == 2) {
|
||||||
|
@ -2270,7 +2270,7 @@ void Andross_8018DBF0(Boss* boss) {
|
|||||||
if ((boss->unk_04C > 35) && (boss->unk_04C < 150) && ((boss->unk_04C % 32) == 0)) {
|
if ((boss->unk_04C > 35) && (boss->unk_04C < 150) && ((boss->unk_04C % 32) == 0)) {
|
||||||
AUDIO_PLAY_SFX(0x29022089, boss->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x29022089, boss->sfxSource, 4);
|
||||||
if (player->state_1C8 == PLAYERSTATE_1C8_11) {
|
if (player->state_1C8 == PLAYERSTATE_1C8_11) {
|
||||||
D_Timer_80177BD0[0] = 10;
|
gControllerRumbleTimers[0] = 10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((boss->unk_04C == 20) && (player->state_1C8 == PLAYERSTATE_1C8_11)) {
|
if ((boss->unk_04C == 20) && (player->state_1C8 == PLAYERSTATE_1C8_11)) {
|
||||||
@ -2334,7 +2334,7 @@ void Andross_8018DBF0(Boss* boss) {
|
|||||||
player->timer_1F8 = 60;
|
player->timer_1F8 = 60;
|
||||||
player->timer_498 = 50;
|
player->timer_498 = 50;
|
||||||
boss->swork[8] = 0;
|
boss->swork[8] = 0;
|
||||||
D_Timer_80177BD0[0] = 30;
|
gControllerRumbleTimers[0] = 30;
|
||||||
if (player->wings.rightState == 2) {
|
if (player->wings.rightState == 2) {
|
||||||
gRightWingHealth[0] = 0;
|
gRightWingHealth[0] = 0;
|
||||||
player->wings.rightState = 1;
|
player->wings.rightState = 1;
|
||||||
@ -3678,7 +3678,7 @@ void Andross_80193C4C(Player* player) {
|
|||||||
AUDIO_PLAY_SFX(0x2940F026, boss->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x2940F026, boss->sfxSource, 4);
|
||||||
gCameraShake = 30;
|
gCameraShake = 30;
|
||||||
gOverlayStage = 1;
|
gOverlayStage = 1;
|
||||||
D_Timer_80177BD0[0] = 30;
|
gControllerRumbleTimers[0] = 30;
|
||||||
}
|
}
|
||||||
if (gCsFrameCount > 40) {
|
if (gCsFrameCount > 40) {
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
|
@ -539,8 +539,8 @@ void SectorY_80199438(Boss* boss) {
|
|||||||
}
|
}
|
||||||
if (boss->timer_058 == 50) {
|
if (boss->timer_058 == 50) {
|
||||||
AUDIO_PLAY_SFX(0x2903A060, boss->sfxSource, 4);
|
AUDIO_PLAY_SFX(0x2903A060, boss->sfxSource, 4);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 20;
|
gControllerRumbleTimers[gMainController] = 20;
|
||||||
D_ctx_80177850 = 15;
|
D_ctx_80177850 = 15;
|
||||||
boss->swork[36]++;
|
boss->swork[36]++;
|
||||||
func_effect_8007BFFC(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, boss->vel.x, boss->vel.y,
|
func_effect_8007BFFC(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, boss->vel.x, boss->vel.y,
|
||||||
@ -1587,7 +1587,7 @@ void SectorY_8019C888(Boss* boss) {
|
|||||||
if (gBossFrameCount == 250) {
|
if (gBossFrameCount == 250) {
|
||||||
for (i = 59; i >= 0; i--) {
|
for (i = 59; i >= 0; i--) {
|
||||||
if (gActors[i].obj.status == OBJ_ACTIVE) {
|
if (gActors[i].obj.status == OBJ_ACTIVE) {
|
||||||
D_enmy2_800CFF80[gActors[i].iwork[12]] = i;
|
gTeamEventActorIndex[gActors[i].iwork[12]] = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3098,8 +3098,8 @@ void SectorY_801A0AC0(Player* player) {
|
|||||||
player->unk_194 = 10.0f;
|
player->unk_194 = 10.0f;
|
||||||
player->unk_190 = 10.0f;
|
player->unk_190 = 10.0f;
|
||||||
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
|
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
D_Timer_80177BD0[gMainController] = 5;
|
gControllerRumbleTimers[gMainController] = 5;
|
||||||
break;
|
break;
|
||||||
case 500:
|
case 500:
|
||||||
case 510:
|
case 510:
|
||||||
|
@ -1268,7 +1268,7 @@ void Map_8019E99C(void) {
|
|||||||
|
|
||||||
Audio_SetAudioSpec(0, 0x118);
|
Audio_SetAudioSpec(0, 0x118);
|
||||||
|
|
||||||
D_80137E78 = 2;
|
gVIsPerFrame = 2;
|
||||||
gGameFrameCount = 0;
|
gGameFrameCount = 0;
|
||||||
|
|
||||||
Title_80188010();
|
Title_80188010();
|
||||||
@ -2195,7 +2195,7 @@ void Map_801A0D14(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD9E4);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD9E4);
|
||||||
|
|
||||||
for (i = 0; i < 13; i++) {
|
for (i = 0; i < 13; i++) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_menu_801B6954[D_menu_801CD9F0 + 1] + (i * 96 * 4), 96, 4, 109.0f,
|
TextureRect_16bRGBA(&gMasterDisp, D_menu_801B6954[D_menu_801CD9F0 + 1] + (96 * 4 * i), 96, 4, 109.0f,
|
||||||
24.0f + (i * 4.0f), 1.0f, 1.0f);
|
24.0f + (i * 4.0f), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2378,9 +2378,9 @@ void Map_801A19A8(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_menu_801CEA9C);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_menu_801CEA9C);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, D_MAP_600D590 + (i * 168 * 4), 168, 4, 72.0f, 104.0f + (4.0f * i), 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, D_MAP_600D590 + (168 * 4 * i), 168, 4, 72.0f, 104.0f + (4.0f * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, D_MAP_600D590 + (168 * 16), 168, 3, 72.0f, 104.0f + 16.0f, 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, D_MAP_600D590 + (168 * 4 * 4), 168, 3, 72.0f, 104.0f + 16.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Map_801A1AE8(void) {
|
void Map_801A1AE8(void) {
|
||||||
@ -5964,10 +5964,10 @@ void Map_801AB978(s32 arg0) {
|
|||||||
yPos = 77.0f;
|
yPos = 77.0f;
|
||||||
|
|
||||||
for (i = 0; i < 12; i++) {
|
for (i = 0; i < 12; i++) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_MAP_6044820 + (i * 92 * 4), 92, 4, xPos, yPos + (i * 4.0f),
|
TextureRect_16bRGBA(&gMasterDisp, D_MAP_6044820 + (92 * 4 * i), 92, 4, xPos, yPos + (i * 4.0f),
|
||||||
1.0f, 1.0f);
|
1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_MAP_6044820 + (92 * 12 * 4), 92, 3, xPos, yPos + 48.0f, 1.0f, 1.0f);
|
TextureRect_16bRGBA(&gMasterDisp, D_MAP_6044820 + (92 * 4 * 12), 92, 3, xPos, yPos + 48.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
if (arg0 == 21) {
|
if (arg0 == 21) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_MAP_6046CD0, 32, 34, xPos + 47.0, yPos, 1.0f, 1.0f);
|
TextureRect_16bRGBA(&gMasterDisp, D_MAP_6046CD0, 32, 34, xPos + 47.0, yPos, 1.0f, 1.0f);
|
||||||
|
@ -365,7 +365,7 @@ void Option_Setup(void) {
|
|||||||
bool playedExpertMode;
|
bool playedExpertMode;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
D_80137E78 = 2;
|
gVIsPerFrame = 2;
|
||||||
|
|
||||||
sOptionCardList[0].unk_00.unk_08 = D_OPT_8003B50;
|
sOptionCardList[0].unk_00.unk_08 = D_OPT_8003B50;
|
||||||
sOptionCardList[0].unk_00.unk_10 = 72;
|
sOptionCardList[0].unk_00.unk_10 = 72;
|
||||||
@ -1853,7 +1853,7 @@ void Option_DataUpdate(void) {
|
|||||||
|
|
||||||
if (D_ctx_80177990[gMainController] >= 100) {
|
if (D_ctx_80177990[gMainController] >= 100) {
|
||||||
D_ctx_80177990[gMainController] -= 100;
|
D_ctx_80177990[gMainController] -= 100;
|
||||||
D_80137E84[gMainController] = 1;
|
gControllerRumbleFlags[gMainController] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (temp_fv0 == 0.0f) {
|
if (temp_fv0 == 0.0f) {
|
||||||
@ -1947,11 +1947,11 @@ void Option_DataDraw(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, D_OPT_80084B0 + (i * 176 * 4), 176, 4, D_menu_801AF094[0],
|
TextureRect_8bIA(&gMasterDisp, D_OPT_80084B0 + (176 * 4 * i), 176, 4, D_menu_801AF094[0],
|
||||||
D_menu_801AF0AC[0] + (4.0f * i), 1.0f, 1.0f);
|
D_menu_801AF0AC[0] + (4.0f * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, D_OPT_80084B0 + 1408, 176, 5, D_menu_801AF094[0], D_menu_801AF0AC[0] + 8.0f, 1.0f,
|
TextureRect_8bIA(&gMasterDisp, D_OPT_80084B0 + 176 * 4 * 2, 176, 5, D_menu_801AF094[0], D_menu_801AF0AC[0] + 8.0f,
|
||||||
1.0f);
|
1.0f, 1.0f);
|
||||||
|
|
||||||
if (D_menu_801B91CC < 2) {
|
if (D_menu_801B91CC < 2) {
|
||||||
TextureRect_8bIA_MirX(&gMasterDisp, D_OPT_800E130, 8, 8, D_menu_801AF084[D_menu_801B91C0], 140.0f, 1.0f, 1.0f);
|
TextureRect_8bIA_MirX(&gMasterDisp, D_OPT_800E130, 8, 8, D_menu_801AF084[D_menu_801B91C0], 140.0f, 1.0f, 1.0f);
|
||||||
@ -1991,8 +1991,8 @@ void Option_DataDraw(void) {
|
|||||||
TextureRect_8bIA(&gMasterDisp, D_OPT_8008DA0 + (160 * 2 * i), 160, 2, D_menu_801AF094[3],
|
TextureRect_8bIA(&gMasterDisp, D_OPT_8008DA0 + (160 * 2 * i), 160, 2, D_menu_801AF094[3],
|
||||||
D_menu_801AF0AC[3] + (2.0f * i), 1.0f, 1.0f);
|
D_menu_801AF0AC[3] + (2.0f * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, D_OPT_8008DA0 + 2880, 160, 1, D_menu_801AF094[3], D_menu_801AF0AC[3] + 18.0f,
|
TextureRect_8bIA(&gMasterDisp, D_OPT_8008DA0 + 160 * 2 * 9, 160, 1, D_menu_801AF094[3],
|
||||||
1.0f, 1.0f);
|
D_menu_801AF0AC[3] + 18.0f, 1.0f, 1.0f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
@ -2003,8 +2003,8 @@ void Option_DataDraw(void) {
|
|||||||
TextureRect_8bIA(&gMasterDisp, D_OPT_8009CE0 + (160 * 2 * i), 160, 2, D_menu_801AF094[4],
|
TextureRect_8bIA(&gMasterDisp, D_OPT_8009CE0 + (160 * 2 * i), 160, 2, D_menu_801AF094[4],
|
||||||
D_menu_801AF0AC[4] + (2.0f * i), 1.0f, 1.0f);
|
D_menu_801AF0AC[4] + (2.0f * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, D_OPT_8009CE0 + 6400, 160, 1, D_menu_801AF094[4], D_menu_801AF0AC[4] + 40.0f,
|
TextureRect_8bIA(&gMasterDisp, D_OPT_8009CE0 + 160 * 2 * 20, 160, 1, D_menu_801AF094[4],
|
||||||
1.0f, 1.0f);
|
D_menu_801AF0AC[4] + 40.0f, 1.0f, 1.0f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
@ -2835,13 +2835,14 @@ void Option_80199820(s32 arg0) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_menu_801AF20C[arg0] + (44 * i * 20), 44, 20,
|
TextureRect_16bRGBA(&gMasterDisp, D_menu_801AF20C[arg0] + (44 * 20 * i), 44, 20,
|
||||||
D_menu_801AF148[arg0] + D_menu_801AF1B4,
|
D_menu_801AF148[arg0] + D_menu_801AF1B4,
|
||||||
D_menu_801AF158[arg0] + D_menu_801AF1B8 + (i * 20.0f * 0.7f), 0.7f, 0.7f);
|
D_menu_801AF158[arg0] + D_menu_801AF1B8 + (i * 20.0f * 0.7f), 0.7f, 0.7f);
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureRect_16bRGBA(&gMasterDisp, D_menu_801AF20C[arg0] + 1760, 44, 4, D_menu_801AF148[arg0] + D_menu_801AF1B4,
|
TextureRect_16bRGBA(&gMasterDisp, D_menu_801AF20C[arg0] + 44 * 20 * 2, 44, 4,
|
||||||
D_menu_801AF158[arg0] + D_menu_801AF1B8 + 28.0f, 0.7f, 0.7f);
|
D_menu_801AF148[arg0] + D_menu_801AF1B4, D_menu_801AF158[arg0] + D_menu_801AF1B8 + 28.0f, 0.7f,
|
||||||
|
0.7f);
|
||||||
|
|
||||||
var_a2 = 24;
|
var_a2 = 24;
|
||||||
if (arg0 == 0) {
|
if (arg0 == 0) {
|
||||||
@ -4412,7 +4413,7 @@ void Option_InvoiceDraw(void) {
|
|||||||
static f32 D_menu_801AF3F0[8] = { 24.0f, 57.0f, 92.0f, 162.0f, 163.0f, 171.0f, 103.0f, 131.0f };
|
static f32 D_menu_801AF3F0[8] = { 24.0f, 57.0f, 92.0f, 162.0f, 163.0f, 171.0f, 103.0f, 131.0f };
|
||||||
static s32 D_menu_801AF410 = 0;
|
static s32 D_menu_801AF410 = 0;
|
||||||
|
|
||||||
Graphics_FillRectangle(&gMasterDisp, 25, 18, 295, 222, 255, 255, 255, 255);
|
Graphics_FillRectangle(&gMasterDisp, 25, 18, SCREEN_WIDTH - 25, SCREEN_HEIGHT - 18, 255, 255, 255, 255);
|
||||||
|
|
||||||
RCP_SetupDL(&gMasterDisp, 0x4E);
|
RCP_SetupDL(&gMasterDisp, 0x4E);
|
||||||
|
|
||||||
@ -4421,7 +4422,7 @@ void Option_InvoiceDraw(void) {
|
|||||||
TextureRect_4bCI(&gMasterDisp, D_OPT_8000000, D_OPT_8000680, 128, 16, D_menu_801AF3D0[0], D_menu_801AF3F0[0], 1.0f,
|
TextureRect_4bCI(&gMasterDisp, D_OPT_8000000, D_OPT_8000680, 128, 16, D_menu_801AF3D0[0], D_menu_801AF3F0[0], 1.0f,
|
||||||
1.0f);
|
1.0f);
|
||||||
|
|
||||||
TextureRect_4bCI(&gMasterDisp, D_OPT_8000000 + 1024, D_OPT_8000680, 128, 10, D_menu_801AF3D0[0],
|
TextureRect_4bCI(&gMasterDisp, D_OPT_8000000 + 128 * 16 / 2, D_OPT_8000680, 128, 10, D_menu_801AF3D0[0],
|
||||||
D_menu_801AF3F0[0] + 16.0f, 1.0f, 1.0f);
|
D_menu_801AF3F0[0] + 16.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
@ -4429,7 +4430,7 @@ void Option_InvoiceDraw(void) {
|
|||||||
D_menu_801AF3F0[1] + (16 * i), 1.0f, 1.0f);
|
D_menu_801AF3F0[1] + (16 * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureRect_4bCI(&gMasterDisp, D_OPT_80006A0 + 256 * 16, D_OPT_80017A0, 256, 2, D_menu_801AF3D0[1],
|
TextureRect_4bCI(&gMasterDisp, D_OPT_80006A0 + 256 * 32 / 2, D_OPT_80017A0, 256, 2, D_menu_801AF3D0[1],
|
||||||
D_menu_801AF3F0[1] + 32.0f, 1.0f, 1.0f);
|
D_menu_801AF3F0[1] + 32.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
@ -4437,7 +4438,7 @@ void Option_InvoiceDraw(void) {
|
|||||||
D_menu_801AF3F0[2] + (16 * i), 1.0f, 1.0f);
|
D_menu_801AF3F0[2] + (16 * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureRect_4bCI(&gMasterDisp, D_OPT_80017C0 + 8192, D_OPT_80038C0, 256, 2, D_menu_801AF3D0[2],
|
TextureRect_4bCI(&gMasterDisp, D_OPT_80017C0 + 256 * 16 * 4 / 2, D_OPT_80038C0, 256, 2, D_menu_801AF3D0[2],
|
||||||
D_menu_801AF3F0[2] + 64.0f, 1.0f, 1.0f);
|
D_menu_801AF3F0[2] + 64.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
RCP_SetupDL(&gMasterDisp, 0x4C);
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
||||||
|
@ -162,7 +162,7 @@ u16* D_menu_801ADA30[5] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void Title_801875E0(void) {
|
void Title_801875E0(void) {
|
||||||
D_80137E78 = 2;
|
gVIsPerFrame = 2;
|
||||||
|
|
||||||
gGameFrameCount = 0;
|
gGameFrameCount = 0;
|
||||||
|
|
||||||
@ -2819,7 +2819,7 @@ void Title_8018F680(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
|
|
||||||
for (i = 0; i < 30; i++) {
|
for (i = 0; i < 30; i++) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, gTitleStarfoxLogo + (i * 472), 236, 2, D_menu_801B9054,
|
TextureRect_16bRGBA(&gMasterDisp, gTitleStarfoxLogo + (236 * 2 * i), 236, 2, D_menu_801B9054,
|
||||||
D_menu_801B9058 + (i * 2.0f), 1.0f, 1.0f);
|
D_menu_801B9058 + (i * 2.0f), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2874,7 +2874,7 @@ void Title_8018F8E4(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_menu_801B7BC8, (s32) D_menu_801B7BC8, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_menu_801B7BC8, (s32) D_menu_801B7BC8, 255);
|
||||||
|
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleNoController + (704 * i), 176, 4, D_menu_801AE474,
|
TextureRect_8bIA(&gMasterDisp, gTitleNoController + (176 * 4 * i), 176, 4, D_menu_801AE474,
|
||||||
D_menu_801AE478 + (i * 4.0f), 1.0f, 1.0f);
|
D_menu_801AE478 + (i * 4.0f), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -2882,10 +2882,10 @@ void Title_8018F8E4(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_menu_801B7BC8, (s32) D_menu_801B7BC8, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_menu_801B7BC8, (s32) D_menu_801B7BC8, 255);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitlePressStart + (i * 720), 120, 6, 101.0f, temp2 + (i * 6.0f), 1.0f,
|
TextureRect_8bIA(&gMasterDisp, gTitlePressStart + (120 * 6 * i), 120, 6, 101.0f, temp2 + (i * 6.0f),
|
||||||
1.0f);
|
1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitlePressStart + 1440, 120, 1, 101.0f, temp2 + 12, 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, gTitlePressStart + 120 * 6 * 2, 120, 1, 101.0f, temp2 + 12, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2897,8 +2897,8 @@ void Title_8018FC14(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleNintendoCopyright + (i * 720), 120, 6, 102.0f, 209.0f + (i * 6.0f), 1.0f,
|
TextureRect_8bIA(&gMasterDisp, gTitleNintendoCopyright + (120 * 6 * i), 120, 6, 102.0f, 209.0f + (i * 6.0f),
|
||||||
1.0f);
|
1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2929,17 +2929,18 @@ void Title_8018FD08(void) {
|
|||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleFalcoCard + (704 * i), 176, 4, temp_fs2, temp + (i * 4), 1.0f,
|
TextureRect_8bIA(&gMasterDisp, gTitleFalcoCard + (176 * 4 * i), 176, 4, temp_fs2, temp + (i * 4), 1.0f,
|
||||||
1.0f);
|
1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleFalcoCard + 2112, 176, 1, temp_fs2, temp + 12.0f, 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, gTitleFalcoCard + 176 * 4 * 3, 176, 1, temp_fs2, temp + 12.0f, 1.0f, 1.0f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleFoxCard + (i * 704), 176, 4, temp_fs2, temp + (i * 4), 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, gTitleFoxCard + (176 * 4 * i), 176, 4, temp_fs2, temp + (i * 4), 1.0f,
|
||||||
|
1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleFoxCard + 2112, 176, 1, temp_fs2, temp + 12, 1.0f, 1.0f);
|
TextureRect_8bIA(&gMasterDisp, gTitleFoxCard + 176 * 4 * 3, 176, 1, temp_fs2, temp + 12, 1.0f, 1.0f);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3107,10 +3108,10 @@ void Title_801906A0(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_menu_801B7BDC);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_menu_801B7BDC);
|
||||||
|
|
||||||
for (i = 0; i < 5; i++) {
|
for (i = 0; i < 5; i++) {
|
||||||
TextureRect_16bRGBA(&gMasterDisp, gTitleNintendo64Logo + (2048 * i), 128, 16, D_menu_801B9070,
|
TextureRect_16bRGBA(&gMasterDisp, gTitleNintendo64Logo + (128 * 16 * i), 128, 16, D_menu_801B9070,
|
||||||
D_menu_801B9074 + (16 * i * D_menu_801B907C), D_menu_801B9078, D_menu_801B907C);
|
D_menu_801B9074 + (16 * i * D_menu_801B907C), D_menu_801B9078, D_menu_801B907C);
|
||||||
}
|
}
|
||||||
TextureRect_16bRGBA(&gMasterDisp, gTitleNintendo64Logo + (2048 * 5), 128, 8, D_menu_801B9070,
|
TextureRect_16bRGBA(&gMasterDisp, gTitleNintendo64Logo + (128 * 16 * 5), 128, 8, D_menu_801B9070,
|
||||||
(80.0f * D_menu_801B907C) + D_menu_801B9074, D_menu_801B9078, D_menu_801B907C);
|
(80.0f * D_menu_801B907C) + D_menu_801B9074, D_menu_801B9078, D_menu_801B907C);
|
||||||
|
|
||||||
case -1:
|
case -1:
|
||||||
@ -3181,10 +3182,10 @@ void Title_80190C9C(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleArwingCard + (672 * i), 112, 6, D_menu_801AE564,
|
TextureRect_8bIA(&gMasterDisp, gTitleArwingCard + (112 * 6 * i), 112, 6, D_menu_801AE564,
|
||||||
D_menu_801AE568 + (6.0f * i), 1.0f, 1.0f);
|
D_menu_801AE568 + (6.0f * i), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
TextureRect_8bIA(&gMasterDisp, gTitleArwingCard + (112 * 24), 112, 2, D_menu_801AE564,
|
TextureRect_8bIA(&gMasterDisp, gTitleArwingCard + (112 * 6 * 4), 112, 2, D_menu_801AE564,
|
||||||
D_menu_801AE568 + (6.0f * 4), 1.0f, 1.0f);
|
D_menu_801AE568 + (6.0f * 4), 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -199,21 +199,21 @@ void func_80007910(OSThread* thread) {
|
|||||||
func_800077F8(210, 210, 28, &context->fp28.f.f_even);
|
func_800077F8(210, 210, 28, &context->fp28.f.f_even);
|
||||||
func_800077F8(30, 220, 30, &context->fp30.f.f_even);
|
func_800077F8(30, 220, 30, &context->fp30.f.f_even);
|
||||||
osWritebackDCacheAll();
|
osWritebackDCacheAll();
|
||||||
osViBlack(0);
|
osViBlack(false);
|
||||||
osViRepeatLine(0);
|
osViRepeatLine(false);
|
||||||
osViSwapBuffer(gFaultMgr.fb);
|
osViSwapBuffer(gFaultMgr.fb);
|
||||||
}
|
}
|
||||||
|
|
||||||
OSThread* func_80007CEC(void) {
|
OSThread* func_80007CEC(void) {
|
||||||
OSThread* var_v1;
|
OSThread* queue;
|
||||||
|
|
||||||
var_v1 = __osGetActiveQueue();
|
queue = __osGetActiveQueue();
|
||||||
|
|
||||||
while (var_v1->priority != -1) {
|
while (queue->priority != -1) {
|
||||||
if ((var_v1->priority > 0) && (var_v1->priority < 0x7F) && (var_v1->flags & 3)) {
|
if ((queue->priority > 0) && (queue->priority < 0x7F) && (queue->flags & 3)) {
|
||||||
return var_v1;
|
return queue;
|
||||||
}
|
}
|
||||||
var_v1 = var_v1->tlnext;
|
queue = queue->tlnext;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ OSContPad gControllerHold[4];
|
|||||||
OSContPad gControllerPress[4];
|
OSContPad gControllerPress[4];
|
||||||
u8 gControllerPlugged[4];
|
u8 gControllerPlugged[4];
|
||||||
u32 gControllerLock;
|
u32 gControllerLock;
|
||||||
u8 gControllerRumble[4];
|
u8 gControllerRumbleEnabled[4];
|
||||||
OSContPad sNextController[4]; //
|
OSContPad sNextController[4]; //
|
||||||
OSContPad sPrevController[4]; //
|
OSContPad sPrevController[4]; //
|
||||||
OSContStatus sControllerStatus[4]; //
|
OSContStatus sControllerStatus[4]; //
|
||||||
@ -55,7 +55,7 @@ void Controller_Init(void) {
|
|||||||
osContInit(&gSerialEventQueue, &sp1F, sControllerStatus);
|
osContInit(&gSerialEventQueue, &sp1F, sControllerStatus);
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
gControllerPlugged[i] = (sp1F >> i) & 1;
|
gControllerPlugged[i] = (sp1F >> i) & 1;
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,30 +120,30 @@ void Controller_Rumble(void) {
|
|||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
if ((gControllerPlugged[i] != 0) && (sControllerStatus[i].errno == 0)) {
|
if ((gControllerPlugged[i] != 0) && (sControllerStatus[i].errno == 0)) {
|
||||||
if (sControllerStatus[i].status & 1) {
|
if (sControllerStatus[i].status & 1) {
|
||||||
if (gControllerRumble[i] == 0) {
|
if (gControllerRumbleEnabled[i] == 0) {
|
||||||
if (osMotorInit(&gSerialEventQueue, &sControllerMotor[i], i)) {
|
if (osMotorInit(&gSerialEventQueue, &sControllerMotor[i], i)) {
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
} else {
|
} else {
|
||||||
gControllerRumble[i] = 1;
|
gControllerRumbleEnabled[i] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (gControllerRumble[i] == 1) {
|
if (gControllerRumbleEnabled[i] == 1) {
|
||||||
if (D_80137E84[i] != 0) {
|
if (gControllerRumbleFlags[i] != 0) {
|
||||||
if (osMotorStart(&sControllerMotor[i])) {
|
if (osMotorStart(&sControllerMotor[i])) {
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (osMotorStop(&sControllerMotor[i])) {
|
if (osMotorStop(&sControllerMotor[i])) {
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
gControllerRumble[i] = 0;
|
gControllerRumbleEnabled[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
D_80137E84[i] = 0;
|
gControllerRumbleFlags[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,20 +124,20 @@ void Lib_FillScreen(u8 setFill) {
|
|||||||
if (setFill == true) {
|
if (setFill == true) {
|
||||||
if (gFillScreen == false) {
|
if (gFillScreen == false) {
|
||||||
if (gFillScreenColor == 1) {
|
if (gFillScreenColor == 1) {
|
||||||
osViBlack(1);
|
osViBlack(true);
|
||||||
} else {
|
} else {
|
||||||
for (i = 0; i < 3 * SCREEN_WIDTH; i++) {
|
for (i = 0; i < 3 * SCREEN_WIDTH; i++) {
|
||||||
gFillBuffer[i] = gFillScreenColor;
|
gFillBuffer[i] = gFillScreenColor;
|
||||||
}
|
}
|
||||||
osWritebackDCacheAll();
|
osWritebackDCacheAll();
|
||||||
osViSwapBuffer(&gFillBuffer[SCREEN_WIDTH]);
|
osViSwapBuffer(&gFillBuffer[SCREEN_WIDTH]);
|
||||||
osViRepeatLine(1);
|
osViRepeatLine(true);
|
||||||
}
|
}
|
||||||
gFillScreen = true;
|
gFillScreen = true;
|
||||||
}
|
}
|
||||||
} else if (gFillScreen == true) {
|
} else if (gFillScreen == true) {
|
||||||
osViRepeatLine(0);
|
osViRepeatLine(false);
|
||||||
osViBlack(0);
|
osViBlack(false);
|
||||||
gFillScreen = false;
|
gFillScreen = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,11 +53,11 @@ Lightsn* gLight;
|
|||||||
FrameBuffer* gFrameBuffer;
|
FrameBuffer* gFrameBuffer;
|
||||||
u16* gTextureRender;
|
u16* gTextureRender;
|
||||||
|
|
||||||
u8 D_80137E78;
|
u8 gVIsPerFrame;
|
||||||
u32 gSysFrameCount;
|
u32 gSysFrameCount;
|
||||||
u8 gStartNMI;
|
u8 gStartNMI;
|
||||||
u8 gStopTasks;
|
u8 gStopTasks;
|
||||||
u8 D_80137E84[4];
|
u8 gControllerRumbleFlags[4];
|
||||||
u16 gFillScreenColor;
|
u16 gFillScreenColor;
|
||||||
u16 gFillScreen;
|
u16 gFillScreen;
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ u8 gSerialThreadStack[0x1000]; // 800E0FB0
|
|||||||
void Main_Initialize(void) {
|
void Main_Initialize(void) {
|
||||||
u8 i;
|
u8 i;
|
||||||
|
|
||||||
D_80137E78 = 0;
|
gVIsPerFrame = 0;
|
||||||
gSysFrameCount = 0;
|
gSysFrameCount = 0;
|
||||||
gStartNMI = false;
|
gStartNMI = false;
|
||||||
gStopTasks = false;
|
gStopTasks = false;
|
||||||
@ -230,8 +230,8 @@ void Timer_ThreadEntry(void* arg0) {
|
|||||||
|
|
||||||
void Graphics_ThreadEntry(void* arg0) {
|
void Graphics_ThreadEntry(void* arg0) {
|
||||||
u8 i;
|
u8 i;
|
||||||
u8 var_v1;
|
u8 visPerFrame;
|
||||||
u8 var_v2;
|
u8 validVIsPerFrame;
|
||||||
|
|
||||||
Game_Initialize();
|
Game_Initialize();
|
||||||
osSendMesg(&gSerialThreadMsgQueue, (OSMesg) SI_READ_CONTROLLER, OS_MESG_PRI_NORMAL);
|
osSendMesg(&gSerialThreadMsgQueue, (OSMesg) SI_READ_CONTROLLER, OS_MESG_PRI_NORMAL);
|
||||||
@ -277,9 +277,9 @@ void Graphics_ThreadEntry(void* arg0) {
|
|||||||
}
|
}
|
||||||
func_80007FE4(&gFrameBuffers[(gSysFrameCount - 1) % 3], SCREEN_WIDTH, 16);
|
func_80007FE4(&gFrameBuffers[(gSysFrameCount - 1) % 3], SCREEN_WIDTH, 16);
|
||||||
|
|
||||||
var_v1 = MIN(D_80137E78, 4);
|
visPerFrame = MIN(gVIsPerFrame, 4);
|
||||||
var_v2 = MAX(var_v1, gGfxVImsgQueue.validCount + 1);
|
validVIsPerFrame = MAX(visPerFrame, gGfxVImsgQueue.validCount + 1);
|
||||||
for (i = 0; i < var_v2; i += 1) { // Can't be ++
|
for (i = 0; i < validVIsPerFrame; i += 1) { // Can't be ++
|
||||||
osRecvMesg(&gGfxVImsgQueue, NULL, OS_MESG_BLOCK);
|
osRecvMesg(&gGfxVImsgQueue, NULL, OS_MESG_BLOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,58 +343,58 @@ void Main_HandleRSP(void) {
|
|||||||
|
|
||||||
void Main_GetNewTasks(void) {
|
void Main_GetNewTasks(void) {
|
||||||
u8 i;
|
u8 i;
|
||||||
SPTask** var_a0;
|
SPTask** audioTask;
|
||||||
SPTask** var_a1;
|
SPTask** gfxTask;
|
||||||
SPTask** var_s0_2;
|
SPTask** newAudioTask;
|
||||||
SPTask** var_s1_2;
|
SPTask** newGfxTask;
|
||||||
OSMesg sp40;
|
OSMesg spTaskMsg;
|
||||||
SPTask* sp3C;
|
SPTask* newTask;
|
||||||
|
|
||||||
var_s0_2 = sNewAudioTasks;
|
newAudioTask = sNewAudioTasks;
|
||||||
var_s1_2 = sNewGfxTasks;
|
newGfxTask = sNewGfxTasks;
|
||||||
for (i = 0; i < ARRAY_COUNT(sNewAudioTasks); i += 1) {
|
for (i = 0; i < ARRAY_COUNT(sNewAudioTasks); i += 1) {
|
||||||
*(var_s0_2++) = NULL;
|
*(newAudioTask++) = NULL;
|
||||||
}
|
}
|
||||||
for (i = 0; i < ARRAY_COUNT(sNewGfxTasks); i += 1) {
|
for (i = 0; i < ARRAY_COUNT(sNewGfxTasks); i += 1) {
|
||||||
*(var_s1_2++) = NULL;
|
*(newGfxTask++) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
var_s0_2 = sNewAudioTasks;
|
newAudioTask = sNewAudioTasks;
|
||||||
var_s1_2 = sNewGfxTasks;
|
newGfxTask = sNewGfxTasks;
|
||||||
while (osRecvMesg(&gTaskMsgQueue, &sp40, OS_MESG_NOBLOCK) != MSG_QUEUE_EMPTY) {
|
while (osRecvMesg(&gTaskMsgQueue, &spTaskMsg, OS_MESG_NOBLOCK) != MSG_QUEUE_EMPTY) {
|
||||||
sp3C = (SPTask*) sp40;
|
newTask = (SPTask*) spTaskMsg;
|
||||||
sp3C->state = SPTASK_STATE_NOT_STARTED;
|
newTask->state = SPTASK_STATE_NOT_STARTED;
|
||||||
|
|
||||||
switch (sp3C->task.t.type) {
|
switch (newTask->task.t.type) {
|
||||||
case M_AUDTASK:
|
case M_AUDTASK:
|
||||||
*(var_s0_2++) = sp3C;
|
*(newAudioTask++) = newTask;
|
||||||
break;
|
break;
|
||||||
case M_GFXTASK:
|
case M_GFXTASK:
|
||||||
*(var_s1_2++) = sp3C;
|
*(newGfxTask++) = newTask;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var_s0_2 = sNewAudioTasks;
|
newAudioTask = sNewAudioTasks;
|
||||||
var_s1_2 = sNewGfxTasks;
|
newGfxTask = sNewGfxTasks;
|
||||||
var_a0 = sAudioTasks;
|
audioTask = sAudioTasks;
|
||||||
var_a1 = sGfxTasks;
|
gfxTask = sGfxTasks;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(sAudioTasks); i += 1, var_a0++) {
|
for (i = 0; i < ARRAY_COUNT(sAudioTasks); i += 1, audioTask++) {
|
||||||
if (*var_a0 == NULL) {
|
if (*audioTask == NULL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i; i < ARRAY_COUNT(sAudioTasks); i += 1) {
|
for (i; i < ARRAY_COUNT(sAudioTasks); i += 1) {
|
||||||
*(var_a0++) = *(var_s0_2++);
|
*(audioTask++) = *(newAudioTask++);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(sGfxTasks); i += 1, var_a1++) {
|
for (i = 0; i < ARRAY_COUNT(sGfxTasks); i += 1, gfxTask++) {
|
||||||
if (*var_a1 == NULL) {
|
if (*gfxTask == NULL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i; i < ARRAY_COUNT(sGfxTasks); i += 1) {
|
for (i; i < ARRAY_COUNT(sGfxTasks); i += 1) {
|
||||||
*(var_a1++) = *(var_s1_2++);
|
*(gfxTask++) = *(newGfxTask++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit b1d39534f3ee1f04601cdadffbc8a96bcbf0b4a6
|
Subproject commit 8dda6f54595cf3b04a08ef13b7c799961f533b6e
|
Loading…
Reference in New Issue
Block a user