mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
Player and Vs docs, some improvement to ve1 boss (#259)
* playerstuff * stuff * small fixes * Torch * torch update again
This commit is contained in:
@@ -5,6 +5,7 @@ __pycache__
|
||||
starfox64.ld
|
||||
starfox64.uncompressed.ld
|
||||
starfox64.*.*.yaml
|
||||
starfox64.us.modded.map
|
||||
ctx.c
|
||||
ctx.c.m2c
|
||||
*.d
|
||||
|
||||
Vendored
+3
-1
@@ -147,7 +147,9 @@
|
||||
"*.tcc": "c",
|
||||
"object_ram.h": "c",
|
||||
"sf64dma.h": "c",
|
||||
"string": "c"
|
||||
"string": "c",
|
||||
"prevent_bss_reordering3.h": "c",
|
||||
"ast_a_ti.h": "c"
|
||||
},
|
||||
"C_Cpp_Runner.msvcBatchPath": ""
|
||||
}
|
||||
@@ -254,7 +254,7 @@ D_TI1_700DF70:
|
||||
D_TI1_700E030:
|
||||
{ type: GFX, offset: 0x700E030, symbol: D_TI1_700E030 }
|
||||
|
||||
D_TI1_700E1E8:
|
||||
D_TI1_700E1E8:
|
||||
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0700E1E8, symbol: D_TI1_700E1E8 }
|
||||
|
||||
D_TI1_700E3F0:
|
||||
|
||||
@@ -4,9 +4,14 @@
|
||||
header:
|
||||
code:
|
||||
- '#include "assets/ast_7_ti_2.h"'
|
||||
- '#include "assets/ast_8_ti.h"'
|
||||
- '#include "assets/ast_9_ti.h"'
|
||||
header:
|
||||
- '#include "gfx.h"'
|
||||
- '#include "sf64object.h"'
|
||||
external_files:
|
||||
- "assets/yaml/us/rev1/ast_8_ti.yaml"
|
||||
- "assets/yaml/us/rev1/ast_9_ti.yaml"
|
||||
|
||||
D_TI2_7003EE8:
|
||||
{ type: SF64:ANIM, offset: 0x7003EE8, symbol: D_TI2_7003EE8 }
|
||||
|
||||
@@ -3,10 +3,15 @@
|
||||
- [0x08, 0x9EB5E0]
|
||||
header:
|
||||
code:
|
||||
- '#include "assets/ast_7_ti_2.h"'
|
||||
- '#include "assets/ast_8_ti.h"'
|
||||
- '#include "assets/ast_9_ti.h"'
|
||||
header:
|
||||
- '#include "gfx.h"'
|
||||
- '#include "sf64object.h"'
|
||||
external_files:
|
||||
- "assets/yaml/us/rev1/ast_7_ti_2.yaml"
|
||||
- "assets/yaml/us/rev1/ast_9_ti.yaml"
|
||||
|
||||
D_TI_8000708: { type: SF64:ANIM, offset: 0x8000708, symbol: D_TI_8000708 }
|
||||
|
||||
|
||||
@@ -3,10 +3,13 @@
|
||||
- [0x09, 0x9F4880]
|
||||
header:
|
||||
code:
|
||||
- '#include "assets/ast_8_ti.h"'
|
||||
- '#include "assets/ast_9_ti.h"'
|
||||
header:
|
||||
- '#include "gfx.h"'
|
||||
- '#include "sf64object.h"'
|
||||
external_files:
|
||||
- "assets/yaml/us/rev1/ast_8_ti.yaml"
|
||||
|
||||
D_TI_9004288:
|
||||
{ type: SF64:ANIM, offset: 0x9004288, symbol: D_TI_9004288 }
|
||||
|
||||
@@ -3,11 +3,18 @@
|
||||
- [0x0A, 0xA049A0]
|
||||
header:
|
||||
code:
|
||||
- '#include "assets/ast_7_ti_2.h"'
|
||||
- '#include "assets/ast_8_ti.h"'
|
||||
- '#include "assets/ast_9_ti.h"'
|
||||
- '#include "assets/ast_A_ti.h"'
|
||||
header:
|
||||
- '#include "gfx.h"'
|
||||
- '#include "sf64object.h"'
|
||||
|
||||
external_files:
|
||||
- "assets/yaml/us/rev1/ast_7_ti_2.yaml"
|
||||
- "assets/yaml/us/rev1/ast_8_ti.yaml"
|
||||
- "assets/yaml/us/rev1/ast_9_ti.yaml"
|
||||
|
||||
D_TI_A000000:
|
||||
{type: GFX, offset: 0xA000000, symbol: D_TI_A000000}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ D_blue_marine_3000470:
|
||||
{ type: GFX, offset: 0x3000470, symbol: D_blue_marine_3000470 }
|
||||
|
||||
D_blue_marine_30005E8:
|
||||
{ type: BLOB, size: 24, offset: 0x30005E8, symbol: D_blue_marine_30005E8 }
|
||||
{ type: BLOB, size: 0x18, offset: 0x30005E8, symbol: D_blue_marine_30005E8 }
|
||||
|
||||
D_blue_marine_3000600:
|
||||
{ type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 8, offset: 0x3000600, symbol: D_blue_marine_3000600, tlut: 0x3000640 }
|
||||
|
||||
@@ -175,8 +175,8 @@ D_BO_600FF74:
|
||||
D_BO_6010294:
|
||||
{ type: SF64:COLPOLY, count: 262, offset: 0x6010294, symbol: D_BO_6010294, mesh_symbol: D_BO_OFFSET }
|
||||
|
||||
PAD_BO_6011B20:
|
||||
{ type: BLOB, size: 0x4, offset: 0x6011B20, symbol: PAD_BO_6011B20, mesh_symbol: D_BO_OFFSET }
|
||||
D_BO_6011B20:
|
||||
{ type: SF64:HITBOX, offset: 0x6011B20, symbol: D_BO_6011B20 }
|
||||
|
||||
D_BO_6011B24:
|
||||
{ type: SF64:HITBOX, offset: 0x6011B24, symbol: D_BO_6011B24 }
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
|
||||
extern s32 gSceneId;
|
||||
extern s32 gSceneSetup;
|
||||
extern s32 D_ctx_80177824;
|
||||
extern s32 gClearPlayerInfo;
|
||||
extern s32 D_ctx_8017782C;
|
||||
extern GameState gGameState;
|
||||
extern s32 gNextGameStateTimer;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ void Aquas_801BE034(Actor*);
|
||||
void Area6_8018DA58(Actor*);
|
||||
void Zoness_8019E5F0(Actor*);
|
||||
void Solar_801A8BE8(Actor*);
|
||||
void Aquas_801AB9B0(Player*);
|
||||
void Aquas_BlueMarineDown(Player*);
|
||||
void Aquas_801BE0F0(Actor*);
|
||||
|
||||
void OvlI3_CallFunction(s32, void*);
|
||||
|
||||
+2
-2
@@ -18,10 +18,10 @@
|
||||
#define RAND_FLOAT_CENTERED_SEEDED(width) ((Rand_ZeroOneSeeded()-0.5f)*(width))
|
||||
|
||||
#define SEGMENTED_TO_VIRTUAL(segment) ((void*)OS_PHYSICAL_TO_K0(gSegments[((uintptr_t)(segment)<<4)>>0x1C]+(((uintptr_t)(segment))&0xFFFFFF)))
|
||||
#define SEGMENTED_TO_VIRTUAL_JP(segment) ((void*)OS_PHYSICAL_TO_K0(gSegments[((uintptr_t)(segment)&(0xF<<0x18))>>0x18]+(((uintptr_t)(segment))&0xFFFFFF)))
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
#define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define SIGN_OF(x) (((x) > 0) ? 1 : ((x) == 0) ? 0 : -1)
|
||||
#define SQ(x) ((x) * (x))
|
||||
#define CUBE(x) ((x) * (x) * (x))
|
||||
@@ -41,7 +41,7 @@
|
||||
#define USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate/15625LL))/(1000000LL/15625LL))
|
||||
#define MSEC_TO_CYCLES(n) (USEC_TO_CYCLES((n) * 1000LL))
|
||||
|
||||
#define CYCLES_TO_USEC(c) (((u64)(c)*(1000000LL/15625LL))/(osClockRate/15625LL))
|
||||
#define CYCLES_TO_USEC(c) (((u64)(c)*(1000000LL/15625LL))/(osClockRate/15625LL))
|
||||
#define CYCLES_TO_MSEC(c) ((s32)CYCLES_TO_USEC(c)/1000)
|
||||
|
||||
#define UNPACK_BYTE(data, bytenum) (((data) & (0xFF << ((bytenum) * 8))) >> ((bytenum) * 8))
|
||||
|
||||
+2
-2
@@ -35,13 +35,13 @@
|
||||
|
||||
/**
|
||||
* FPS Counter:
|
||||
* Press L to toggle FPS Display
|
||||
* Hold Z + R and press L to toggle FPS Display
|
||||
*/
|
||||
#define MODS_FPS_COUNTER 0
|
||||
|
||||
/**
|
||||
* RAM modifier:
|
||||
* Press C> while paused to cycle modes
|
||||
* Hold Z + R and press C> to cycle modes
|
||||
*
|
||||
* Cheats:
|
||||
* Use D-Pad up and down to select a cheat
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
// struct Dummy6 {int x;};
|
||||
// struct Dummy7 {int x;};
|
||||
// struct Dummy8 {int x;};
|
||||
struct Dummy9 {int x;};
|
||||
struct Dummy10 {int x;};
|
||||
struct Dummy11 {int x;};
|
||||
// struct Dummy9 {int x;};
|
||||
// struct Dummy10 {int x;};
|
||||
// struct Dummy11 {int x;};
|
||||
struct Dummy12 {int x;};
|
||||
struct Dummy13 {int x;};
|
||||
struct Dummy14 {int x;};
|
||||
|
||||
+1
-1
@@ -306,7 +306,7 @@ typedef enum EventAction {
|
||||
typedef enum EventActorId {
|
||||
/* 0 */ EVID_0,
|
||||
/* 1 */ EVID_1,
|
||||
/* 2 */ EVID_2,
|
||||
/* 2 */ EVID_SLIPPY_METEO,
|
||||
/* 3 */ EVID_3,
|
||||
/* 4 */ EVID_4,
|
||||
/* 5 */ EVID_5,
|
||||
|
||||
@@ -135,6 +135,33 @@ typedef enum VsStage {
|
||||
/* 2 */ VS_STAGE_SECTOR_Z,
|
||||
} VsStage;
|
||||
|
||||
typedef enum VsMatchType {
|
||||
/* 0 */ VS_MATCH_POINTS,
|
||||
/* 1 */ VS_MATCH_BATTLE,
|
||||
/* 2 */ VS_MATCH_TIME,
|
||||
} VsMatchType;
|
||||
|
||||
#define VS_TIME_UP(countdown) (((countdown)[0] == 0) && ((countdown)[1] == 0) && ((countdown)[2] == 0))
|
||||
|
||||
typedef enum VsState {
|
||||
/* 0 */ VS_STATE_0,
|
||||
/* 1 */ VS_STATE_1,
|
||||
/* 2 */ VS_STATE_2,
|
||||
/* 3 */ VS_STATE_3,
|
||||
/* 4 */ VS_STATE_4,
|
||||
/* 5 */ VS_STATE_5,
|
||||
/* 6 */ VS_STATE_6,
|
||||
/* 7 */ VS_STATE_7,
|
||||
/* 8 */ VS_STATE_8,
|
||||
/* 9 */ VS_STATE_9,
|
||||
/* 10 */ VS_STATE_10,
|
||||
/* 11 */ VS_STATE_11,
|
||||
/* 12 */ VS_STATE_12,
|
||||
/* 13 */ VS_STATE_13,
|
||||
/* 14 */ VS_STATE_14,
|
||||
/* 20 */ VS_STATE_20 = 20,
|
||||
} VsState;
|
||||
|
||||
typedef enum GroundSurface {
|
||||
/* 0 */ SURFACE_GRASS,
|
||||
/* 1 */ SURFACE_ROCK,
|
||||
|
||||
+27
-27
@@ -204,9 +204,9 @@ typedef struct Player {
|
||||
/* 0x0F0 */ f32 rockAngle;
|
||||
/* 0x0F4 */ f32 rockPhase;
|
||||
/* 0x0F8 */ f32 bankAngle;
|
||||
/* 0x0FC */ f32 xRot_0FC;
|
||||
/* 0x100 */ f32 zRot_0FC;
|
||||
/* 0x104 */ Vec3f rot_104;
|
||||
/* 0x0FC */ f32 xRot_0FC; // on-foot cam x tilt from floor
|
||||
/* 0x100 */ f32 zRot_0FC; // on-foot cam z tilt from floor
|
||||
/* 0x104 */ Vec3f rot_104; // rotation modifiers from ground movement
|
||||
/* 0x110 */ f32 boostSpeed;
|
||||
/* 0x114 */ f32 yRot_114;
|
||||
/* 0x118 */ f32 pathChangeYaw;
|
||||
@@ -221,8 +221,8 @@ typedef struct Player {
|
||||
/* 0x13C */ char pad13C[4];
|
||||
/* 0x140 */ f32 zPathVel;
|
||||
/* 0x144 */ f32 zPath;
|
||||
/* 0x148 */ f32 unk_148;
|
||||
/* 0x14C */ f32 unk_14C;
|
||||
/* 0x148 */ f32 unk_148; // affects how cam eye follows the player
|
||||
/* 0x14C */ f32 unk_14C; // affects how cam at follows the player
|
||||
/* 0x150 */ f32 unk_150;
|
||||
/* 0x154 */ f32 unk_154;
|
||||
/* 0x158 */ f32 unk_158;
|
||||
@@ -242,9 +242,9 @@ typedef struct Player {
|
||||
/* 0x190 */ f32 unk_190;
|
||||
/* 0x194 */ f32 unk_194;
|
||||
/* 0x198 */ s32 savedAlternateView;
|
||||
/* 0x19C */ s32 unk_19C;
|
||||
/* 0x1A0 */ s32 unk_1A0;
|
||||
/* 0x1A4 */ s32 unk_1A4;
|
||||
/* 0x19C */ s32 unk_19C; // used to indicate whether a U-turn is forced, whether to draw ground in TI intro, and to stop the landmaster
|
||||
/* 0x1A0 */ s32 unk_1A0; // tank muzzle flash timer
|
||||
/* 0x1A4 */ s32 dmgType;
|
||||
/* 0x1A8 */ char pad1A8[8];
|
||||
/* 0x1B0 */ s32 turretState;
|
||||
/* 0x1B4 */ s32 turretActor;
|
||||
@@ -257,35 +257,35 @@ typedef struct Player {
|
||||
/* 0x1D0 */ s32 csState;
|
||||
/* 0x1D4 */ bool grounded;
|
||||
/* 0x1D8 */ s32 meTargetIndex;
|
||||
/* 0x1DC */ s32 barrelRoll;
|
||||
/* 0x1E0 */ s32 barrelInputTimerL;
|
||||
/* 0x1E4 */ s32 barrelInputTimerR;
|
||||
/* 0x1E8 */ s32 timer_1E8;
|
||||
/* 0x1DC */ s32 rollState;
|
||||
/* 0x1E0 */ s32 rollInputTimerL;
|
||||
/* 0x1E4 */ s32 rollInputTimerR;
|
||||
/* 0x1E8 */ s32 rollTimer;
|
||||
/* 0x1EC */ s32 rollRate;
|
||||
/* 0x1F0 */ s32 baseRollRate;
|
||||
/* 0x1F4 */ s32 hitTimer;
|
||||
/* 0x1F8 */ s32 csTimer;
|
||||
/* 0x1FC */ s32 csEventTimer;
|
||||
/* 0x200 */ s32 unk_200;
|
||||
/* 0x204 */ s32 unk_204;
|
||||
/* 0x208 */ s32 unk_208;
|
||||
/* 0x200 */ s32 dmgEffect; // 1 colors the arwing red. 2 gives it a static-y texture
|
||||
/* 0x204 */ s32 wingPosition;
|
||||
/* 0x208 */ s32 unk_208; // timer for great fox splash effects in aquas intro
|
||||
/* 0x20C */ s32 unk_20C;
|
||||
/* 0x210 */ s32 pathChangeTimer;
|
||||
/* 0x214 */ s32 timer_214;
|
||||
/* 0x218 */ s32 timer_218;
|
||||
/* 0x21C */ s32 unk_21C;
|
||||
/* 0x214 */ s32 timer_214; // unused. may have been another double input timer like barrel roll
|
||||
/* 0x218 */ s32 timer_218; // unused. may have been another double input timer like barrel roll
|
||||
/* 0x21C */ s32 hitDirection;
|
||||
/* 0x220 */ s32 radioDamageTimer;
|
||||
/* 0x224 */ s32 timer_224;
|
||||
/* 0x224 */ s32 dmgEffectTimer;
|
||||
/* 0x228 */ s32 flags_228;
|
||||
/* 0x22C */ s32 whooshTimer;
|
||||
/* 0x230 */ s32 unk_230;
|
||||
/* 0x234 */ s32 unk_234;
|
||||
/* 0x230 */ s32 unk_230; // turns off some Blue Marine controls. perhaps was a lockout timer?
|
||||
/* 0x234 */ s32 draw;
|
||||
/* 0x238 */ s32 alternateView;
|
||||
/* 0x23C */ s32 shadowing;
|
||||
/* 0x240 */ s32 unk_240;
|
||||
/* 0x240 */ s32 hideShadow;
|
||||
/* 0x244 */ s32 shotTimer;
|
||||
/* 0x248 */ f32 unk_248;
|
||||
/* 0x24C */ f32 unk_24C;
|
||||
/* 0x248 */ f32 shadowRotX; // forms YPR triple with groundRotY
|
||||
/* 0x24C */ f32 shadowRotZ;
|
||||
/* 0x250 */ f32 unk_250; // checked for by event actors, but unused?
|
||||
/* 0x250 */ char pad254[4];
|
||||
/* 0x258 */ f32 meteoWarpSpinSpeed;
|
||||
@@ -305,8 +305,8 @@ typedef struct Player {
|
||||
/* 0x2B4 */ bool boostCooldown;
|
||||
/* 0x2B8 */ bool boostActive;
|
||||
/* 0x2BC */ f32 boostMeter;
|
||||
/* 0x2C0 */ f32 unk_2C0; // has to do with starting right tank jet
|
||||
/* 0x2C4 */ s32 unk_2C4; // counts up during some effects. never used
|
||||
/* 0x2C0 */ f32 unk_2C0; // has to do with starting right tank jet. counterpart of D_800C9F20
|
||||
/* 0x2C4 */ s32 deflectCount; // counts shots deflected by barrel rolls. never used
|
||||
/* 0x2C8 */ Vec3f hit2;
|
||||
/* 0x2D4 */ Vec3f hit1;
|
||||
/* 0x2E0 */ Vec3f hit3;
|
||||
@@ -315,7 +315,7 @@ typedef struct Player {
|
||||
/* 0x460 */ f32 sfxSource[3];
|
||||
/* 0x46C */ f32 sfxVel[3];
|
||||
/* 0x478 */ PlayerSfx sfx;
|
||||
/* 0x498 */ s32 timer_498;
|
||||
/* 0x498 */ s32 mercyTimer;
|
||||
/* 0x49C */ WingInfo wings;
|
||||
/* 0x4D8 */ f32 aerobaticPitch;
|
||||
/* 0x4DC */ s32 somersault;
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@ extern s32 gVsMatchState;
|
||||
extern s32 D_versus_80178758;
|
||||
extern s32 sUnlockLandmaster; // sUnlockLandmaster
|
||||
extern s32 sUnlockOnFoot; // sUnlockOnFoot
|
||||
extern s32 D_versus_80178768[];
|
||||
extern s32 gVsCountdown[];
|
||||
|
||||
// gfx_data
|
||||
extern u16 D_Tex_800DACB8[][32];
|
||||
|
||||
@@ -440,7 +440,7 @@ gActor194yRot = 0x801771D8;
|
||||
gSceneId = 0x801774F8;
|
||||
gActor194zRot = 0x80177500;
|
||||
gSceneSetup = 0x80177820;
|
||||
D_ctx_80177824 = 0x80177824;
|
||||
gClearPlayerInfo = 0x80177824;
|
||||
gEnemyShotSpeed = 0x80177828;
|
||||
D_ctx_8017782C = 0x8017782C;
|
||||
gShowLevelClearStatusScreen = 0x80177830;
|
||||
|
||||
@@ -95,7 +95,7 @@ bool AllRange_PlayMessage(u16* msg, RadioCharacterId rcid) {
|
||||
}
|
||||
|
||||
void AllRange_DrawCountdown(void) {
|
||||
if (gShowAllRangeCountdown != 0) {
|
||||
if (gShowAllRangeCountdown) {
|
||||
s32 seconds = gAllRangeCountdown[1];
|
||||
|
||||
HUD_DrawCountdown(gAllRangeCountdown, gAllRangeCountdownScale);
|
||||
@@ -144,7 +144,7 @@ void AllRange_GreatFoxRepair(Player* player) {
|
||||
gCsFrameCount++;
|
||||
switch (player->csState) {
|
||||
case 0:
|
||||
player->hitTimer = player->timer_498 = player->damage = player->barrelRollAlpha = player->boostMeter =
|
||||
player->hitTimer = player->mercyTimer = player->damage = player->barrelRollAlpha = player->boostMeter =
|
||||
player->boostCooldown = player->somersault = gCsFrameCount = 0;
|
||||
player->zRotBarrelRoll = player->camRoll = player->boostSpeed = player->camDist = player->knockback.x =
|
||||
player->knockback.y = player->knockback.z = player->damageShake = player->aerobaticPitch = 0.0f;
|
||||
@@ -1476,7 +1476,7 @@ void ActorAllRange_Update(Actor* this) {
|
||||
ActorAllRange_PlayMessage(gMsg_ID_9369, RCID_WOLF);
|
||||
}
|
||||
break;
|
||||
} else if ((this->iwork[4] > 200) && (gPlayer[0].timer_224 != 0)) {
|
||||
} else if ((this->iwork[4] > 200) && (gPlayer[0].dmgEffectTimer != 0)) {
|
||||
this->iwork[4] = 100;
|
||||
break;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user