Player and Vs docs, some improvement to ve1 boss (#259)

* playerstuff

* stuff

* small fixes

* Torch

* torch update again
This commit is contained in:
petrie911
2024-05-25 12:17:03 -05:00
committed by GitHub
parent 03ce166cca
commit 0f6d7cca33
61 changed files with 1382 additions and 1461 deletions
+1
View File
@@ -5,6 +5,7 @@ __pycache__
starfox64.ld
starfox64.uncompressed.ld
starfox64.*.*.yaml
starfox64.us.modded.map
ctx.c
ctx.c.m2c
*.d
+3 -1
View File
@@ -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": ""
}
+1 -1
View File
@@ -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:
+5
View File
@@ -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 }
+5
View File
@@ -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
View File
@@ -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 }
+8 -1
View File
@@ -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}
+1 -1
View File
@@ -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 }
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+3 -3
View File
@@ -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
View File
@@ -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,
+27
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+3 -3
View File
@@ -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