mirror of https://github.com/zeldaret/oot.git
Merge branch 'main' into doc_pause_menu
This commit is contained in:
commit
36dc06fd6e
|
@ -0,0 +1,52 @@
|
|||
#include "object_tp.h"
|
||||
#include "gfx.h"
|
||||
|
||||
Gfx gTailpasaranTailSegmentDL[14] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranTailSegmentDL.inc.c"
|
||||
};
|
||||
|
||||
Vtx gTailpasaranTailSegmentVtx[] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranTailSegmentVtx.inc.c"
|
||||
};
|
||||
|
||||
Vtx gTailpasaranHeadClawVtx[] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadClawVtx.inc.c"
|
||||
};
|
||||
|
||||
Vtx gTailpasaranHeadMouthpartsVtx[] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadMouthpartsVtx.inc.c"
|
||||
};
|
||||
|
||||
Gfx gTailpasaranHeadClawDL[54] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadClawDL.inc.c"
|
||||
};
|
||||
|
||||
Gfx gTailpasaranHeadMouthpartsDL[18] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadMouthpartsDL.inc.c"
|
||||
};
|
||||
|
||||
Gfx gTailpasaranHeadDL[3] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadDL.inc.c"
|
||||
};
|
||||
|
||||
u64 gTailpasaranHeadRearTex[TEX_LEN(u64, gTailpasaranHeadRearTex_WIDTH, gTailpasaranHeadRearTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadRearTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
u64 gTailpasaranHeadClawBaseTex[TEX_LEN(u64, gTailpasaranHeadClawBaseTex_WIDTH, gTailpasaranHeadClawBaseTex_HEIGHT,
|
||||
16)] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadClawBaseTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
u64 gTailpasaranHeadClawTex[TEX_LEN(u64, gTailpasaranHeadClawTex_WIDTH, gTailpasaranHeadClawTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadClawTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
u64 gTailpasaranTailSegmentTex[TEX_LEN(u64, gTailpasaranTailSegmentTex_WIDTH, gTailpasaranTailSegmentTex_HEIGHT, 8)] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranTailSegmentTex.ia8.inc.c"
|
||||
};
|
||||
|
||||
u64 gTailpasaranHeadMouthpartsTex[TEX_LEN(u64, gTailpasaranHeadMouthpartsTex_WIDTH,
|
||||
gTailpasaranHeadMouthpartsTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_tp/gTailpasaranHeadMouthpartsTex.rgba16.inc.c"
|
||||
};
|
|
@ -0,0 +1,34 @@
|
|||
#ifndef OBJECT_TP_H
|
||||
#define OBJECT_TP_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "tex_len.h"
|
||||
|
||||
extern Gfx gTailpasaranTailSegmentDL[14];
|
||||
extern Vtx gTailpasaranTailSegmentVtx[];
|
||||
|
||||
extern Gfx gTailpasaranHeadClawDL[54];
|
||||
extern Gfx gTailpasaranHeadMouthpartsDL[18];
|
||||
extern Gfx gTailpasaranHeadDL[3];
|
||||
|
||||
#define gTailpasaranHeadRearTex_WIDTH 8
|
||||
#define gTailpasaranHeadRearTex_HEIGHT 16
|
||||
extern u64 gTailpasaranHeadRearTex[TEX_LEN(u64, gTailpasaranHeadRearTex_WIDTH, gTailpasaranHeadRearTex_HEIGHT, 16)];
|
||||
|
||||
#define gTailpasaranHeadClawBaseTex_WIDTH 8
|
||||
#define gTailpasaranHeadClawBaseTex_HEIGHT 8
|
||||
extern u64 gTailpasaranHeadClawBaseTex[TEX_LEN(u64, gTailpasaranHeadClawBaseTex_WIDTH, gTailpasaranHeadClawBaseTex_HEIGHT, 16)];
|
||||
|
||||
#define gTailpasaranHeadClawTex_WIDTH 16
|
||||
#define gTailpasaranHeadClawTex_HEIGHT 16
|
||||
extern u64 gTailpasaranHeadClawTex[TEX_LEN(u64, gTailpasaranHeadClawTex_WIDTH, gTailpasaranHeadClawTex_HEIGHT, 16)];
|
||||
|
||||
#define gTailpasaranTailSegmentTex_WIDTH 64
|
||||
#define gTailpasaranTailSegmentTex_HEIGHT 64
|
||||
extern u64 gTailpasaranTailSegmentTex[TEX_LEN(u64, gTailpasaranTailSegmentTex_WIDTH, gTailpasaranTailSegmentTex_HEIGHT, 8)];
|
||||
|
||||
#define gTailpasaranHeadMouthpartsTex_WIDTH 8
|
||||
#define gTailpasaranHeadMouthpartsTex_HEIGHT 8
|
||||
extern u64 gTailpasaranHeadMouthpartsTex[TEX_LEN(u64, gTailpasaranHeadMouthpartsTex_WIDTH, gTailpasaranHeadMouthpartsTex_HEIGHT, 16)];
|
||||
|
||||
#endif
|
|
@ -0,0 +1,30 @@
|
|||
#include "object_triforce_spot.h"
|
||||
#include "gfx.h"
|
||||
|
||||
Vtx gTriforceVtx[] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceVtx.inc.c"
|
||||
};
|
||||
|
||||
Vtx gTriforceLightColumnVtx[] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceLightColumnVtx.inc.c"
|
||||
};
|
||||
|
||||
Gfx gTriforceDL[72] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceDL.inc.c"
|
||||
};
|
||||
|
||||
Gfx gTriforceLightColumnDL[26] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceLightColumnDL.inc.c"
|
||||
};
|
||||
|
||||
u64 gTriforceTex[TEX_LEN(u64, gTriforceTex_WIDTH, gTriforceTex_HEIGHT, 8)] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceTex.i8.inc.c"
|
||||
};
|
||||
|
||||
u64 gTriforceColumnSide1Tex[TEX_LEN(u64, gTriforceColumnSide1Tex_WIDTH, gTriforceColumnSide1Tex_HEIGHT, 8)] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceColumnSide1Tex.i8.inc.c"
|
||||
};
|
||||
|
||||
u64 gTriforceColumnSide2Tex[TEX_LEN(u64, gTriforceColumnSide2Tex_WIDTH, gTriforceColumnSide2Tex_HEIGHT, 8)] = {
|
||||
#include "assets/objects/object_triforce_spot/gTriforceColumnSide2Tex.i8.inc.c"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
#ifndef OBJECT_TRIFORCE_SPOT_H
|
||||
#define OBJECT_TRIFORCE_SPOT_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "tex_len.h"
|
||||
|
||||
extern Vtx gTriforceVtx[];
|
||||
extern Gfx gTriforceDL[72];
|
||||
|
||||
extern Gfx gTriforceLightColumnDL[26];
|
||||
|
||||
#define gTriforceTex_WIDTH 64
|
||||
#define gTriforceTex_HEIGHT 64
|
||||
extern u64 gTriforceTex[TEX_LEN(u64, gTriforceTex_WIDTH, gTriforceTex_HEIGHT, 8)];
|
||||
|
||||
#define gTriforceColumnSide1Tex_WIDTH 64
|
||||
#define gTriforceColumnSide1Tex_HEIGHT 32
|
||||
extern u64 gTriforceColumnSide1Tex[TEX_LEN(u64, gTriforceColumnSide1Tex_WIDTH, gTriforceColumnSide1Tex_HEIGHT, 8)];
|
||||
|
||||
#define gTriforceColumnSide2Tex_WIDTH 64
|
||||
#define gTriforceColumnSide2Tex_HEIGHT 32
|
||||
extern u64 gTriforceColumnSide2Tex[TEX_LEN(u64, gTriforceColumnSide2Tex_WIDTH, gTriforceColumnSide2Tex_HEIGHT, 8)];
|
||||
|
||||
#endif
|
|
@ -0,0 +1,24 @@
|
|||
#include "object_umajump.h"
|
||||
#include "array_count.h"
|
||||
#include "camera.h"
|
||||
#include "z_math.h"
|
||||
|
||||
BgCamInfo gJumpableHorseFenceBgCamList[] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceBgCamList.inc.c"
|
||||
};
|
||||
|
||||
SurfaceType gJumpableHorseFenceSurfaceTypes[] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceSurfaceTypes.inc.c"
|
||||
};
|
||||
|
||||
CollisionPoly gJumpableHorseFencePolyList[] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFencePolyList.inc.c"
|
||||
};
|
||||
|
||||
Vec3s gJumpableHorseFenceVtxList[] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceVtxList.inc.c"
|
||||
};
|
||||
|
||||
CollisionHeader gJumpableHorseFenceCol = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceCol.inc.c"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
#include "object_umajump.h"
|
||||
#include "gfx.h"
|
||||
#include "tex_len.h"
|
||||
|
||||
#define gJumpableHorseFenceBrickTex_WIDTH 16
|
||||
#define gJumpableHorseFenceBrickTex_HEIGHT 64
|
||||
u64 gJumpableHorseFenceBrickTex[TEX_LEN(u64, gJumpableHorseFenceBrickTex_WIDTH, gJumpableHorseFenceBrickTex_HEIGHT,
|
||||
16)] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceBrickTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
#define gJumpableHorseFenceMetalBarTex_WIDTH 16
|
||||
#define gJumpableHorseFenceMetalBarTex_HEIGHT 64
|
||||
u64 gJumpableHorseFenceMetalBarTex[TEX_LEN(u64, gJumpableHorseFenceMetalBarTex_WIDTH,
|
||||
gJumpableHorseFenceMetalBarTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceMetalBarTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Vtx gJumpableHorseFenceVtx[] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceVtx.inc.c"
|
||||
};
|
||||
|
||||
Gfx gJumpableHorseFenceDL[37] = {
|
||||
#include "assets/objects/object_umajump/gJumpableHorseFenceDL.inc.c"
|
||||
};
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef OBJECT_UMAJUMP_H
|
||||
#define OBJECT_UMAJUMP_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "bgcheck.h"
|
||||
|
||||
extern Gfx gJumpableHorseFenceDL[37];
|
||||
extern CollisionHeader gJumpableHorseFenceCol;
|
||||
|
||||
#endif
|
|
@ -0,0 +1,18 @@
|
|||
#include "object_vase.h"
|
||||
#include "gfx.h"
|
||||
|
||||
Gfx gUnusedVaseDL[52] = {
|
||||
#include "assets/objects/object_vase/gUnusedVaseDL.inc.c"
|
||||
};
|
||||
|
||||
Vtx gUnusedVaseVtx[] = {
|
||||
#include "assets/objects/object_vase/gUnusedVaseVtx.inc.c"
|
||||
};
|
||||
|
||||
u64 gUnusedVaseBodyTex[TEX_LEN(u64, gUnusedVaseBodyTex_WIDTH, gUnusedVaseBodyTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_vase/gUnusedVaseBodyTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
u64 gUnusedVaseTopTex[TEX_LEN(u64, gUnusedVaseTopTex_WIDTH, gUnusedVaseTopTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_vase/gUnusedVaseTopTex.rgba16.inc.c"
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef OBJECT_VASE_H
|
||||
#define OBJECT_VASE_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "tex_len.h"
|
||||
|
||||
extern Gfx gUnusedVaseDL[52];
|
||||
|
||||
extern Vtx gUnusedVaseVtx[];
|
||||
|
||||
#define gUnusedVaseBodyTex_WIDTH 32
|
||||
#define gUnusedVaseBodyTex_HEIGHT 32
|
||||
extern u64 gUnusedVaseBodyTex[TEX_LEN(u64, gUnusedVaseBodyTex_WIDTH, gUnusedVaseBodyTex_HEIGHT, 16)];
|
||||
|
||||
#define gUnusedVaseTopTex_WIDTH 32
|
||||
#define gUnusedVaseTopTex_HEIGHT 32
|
||||
extern u64 gUnusedVaseTopTex[TEX_LEN(u64, gUnusedVaseTopTex_WIDTH, gUnusedVaseTopTex_HEIGHT, 16)];
|
||||
|
||||
#endif
|
|
@ -0,0 +1,14 @@
|
|||
#include "object_yukabyun.h"
|
||||
#include "gfx.h"
|
||||
|
||||
u64 gFloorTileEnemyBottomTex[TEX_LEN(u64, gFloorTileEnemyBottomTex_WIDTH, gFloorTileEnemyBottomTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyBottomTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Vtx gFloorTileEnemyVtx[] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyVtx.inc.c"
|
||||
};
|
||||
|
||||
Gfx gFloorTileEnemyDL[23] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyDL.inc.c"
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
#include "object_yukabyun.h"
|
||||
#include "gfx.h"
|
||||
|
||||
Vtx gFloorTileEnemyFragmentVtx[] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyFragmentVtx.inc.c"
|
||||
};
|
||||
|
||||
Gfx gFloorTileEnemyFragmentDL[18] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.inc.c"
|
||||
};
|
||||
|
||||
u64 gFloorTileEnemyTopTex[TEX_LEN(u64, gFloorTileEnemyTopTex_WIDTH, gFloorTileEnemyTopTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyTopTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
u64 gFloorTileEnemyFragmentTex[TEX_LEN(u64, gFloorTileEnemyFragmentTex_WIDTH, gFloorTileEnemyFragmentTex_HEIGHT,
|
||||
16)] = {
|
||||
#include "assets/objects/object_yukabyun/gFloorTileEnemyFragmentTex.rgba16.inc.c"
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
#ifndef OBJECT_YUKABYUN_H
|
||||
#define OBJECT_YUKABYUN_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "tex_len.h"
|
||||
|
||||
#define gFloorTileEnemyBottomTex_WIDTH 32
|
||||
#define gFloorTileEnemyBottomTex_HEIGHT 32
|
||||
extern u64 gFloorTileEnemyBottomTex[TEX_LEN(u64, gFloorTileEnemyBottomTex_WIDTH, gFloorTileEnemyBottomTex_HEIGHT, 16)];
|
||||
|
||||
extern Gfx gFloorTileEnemyDL[23];
|
||||
|
||||
extern Gfx gFloorTileEnemyFragmentDL[18];
|
||||
|
||||
#define gFloorTileEnemyTopTex_WIDTH 32
|
||||
#define gFloorTileEnemyTopTex_HEIGHT 32
|
||||
extern u64 gFloorTileEnemyTopTex[TEX_LEN(u64, gFloorTileEnemyTopTex_WIDTH, gFloorTileEnemyTopTex_HEIGHT, 16)];
|
||||
|
||||
#define gFloorTileEnemyFragmentTex_WIDTH 16
|
||||
#define gFloorTileEnemyFragmentTex_HEIGHT 16
|
||||
extern u64 gFloorTileEnemyFragmentTex[TEX_LEN(u64, gFloorTileEnemyFragmentTex_WIDTH, gFloorTileEnemyFragmentTex_HEIGHT, 16)];
|
||||
|
||||
#endif
|
|
@ -0,0 +1,24 @@
|
|||
#include "object_zg.h"
|
||||
#include "array_count.h"
|
||||
#include "camera.h"
|
||||
#include "z_math.h"
|
||||
|
||||
BgCamInfo gTowerCollapseBarsBgCamList[] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsBgCamList.inc.c"
|
||||
};
|
||||
|
||||
SurfaceType gTowerCollapseBarsSurfaceTypes[] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsSurfaceTypes.inc.c"
|
||||
};
|
||||
|
||||
CollisionPoly gTowerCollapseBarsPolyList[] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsPolyList.inc.c"
|
||||
};
|
||||
|
||||
Vec3s gTowerCollapseBarsVtxList[] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsVtxList.inc.c"
|
||||
};
|
||||
|
||||
CollisionHeader gTowerCollapseBarsCol = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsCol.inc.c"
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
#include "object_zg.h"
|
||||
#include "gfx.h"
|
||||
#include "tex_len.h"
|
||||
|
||||
#define gTowerCollapseBarMetalTex_WIDTH 32
|
||||
#define gTowerCollapseBarMetalTex_HEIGHT 32
|
||||
u64 gTowerCollapseBarMetalTex[TEX_LEN(u64, gTowerCollapseBarMetalTex_WIDTH, gTowerCollapseBarMetalTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarMetalTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
#define gTowerCollapseBarFlameTex_WIDTH 32
|
||||
#define gTowerCollapseBarFlameTex_HEIGHT 32
|
||||
u64 gTowerCollapseBarFlameTex[TEX_LEN(u64, gTowerCollapseBarFlameTex_WIDTH, gTowerCollapseBarFlameTex_HEIGHT, 16)] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarFlameTex.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Vtx gTowerCollapseBarsVtx[] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsVtx.inc.c"
|
||||
};
|
||||
|
||||
Gfx gTowerCollapseBarsDL[28] = {
|
||||
#include "assets/objects/object_zg/gTowerCollapseBarsDL.inc.c"
|
||||
};
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef OBJECT_ZG_H
|
||||
#define OBJECT_ZG_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "bgcheck.h"
|
||||
|
||||
extern Gfx gTowerCollapseBarsDL[28];
|
||||
|
||||
extern CollisionHeader gTowerCollapseBarsCol;
|
||||
|
||||
#endif
|
|
@ -1,6 +1,7 @@
|
|||
services:
|
||||
oot:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./:/oot
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
To use Docker, you'll need either Docker Desktop or Docker Toolbox installed and setup based on your system.
|
||||
|
||||
On Ubuntu, Docker and required tools can be installed with: `sudo apt install docker.io docker-compose docker-buildx`
|
||||
|
||||
You'll also need to prepare a local version of the project with a copied base ROM (see steps [2](../README.md#2-clone-the-repository) and [3](../README.md#3-prepare-a-base-rom) of the Linux instructions).
|
||||
|
||||
## 2. Create and start the Docker image build
|
||||
|
|
|
@ -334,7 +334,7 @@ typedef enum CameraDataType {
|
|||
/* 0x13 */ CAM_DATA_AT_OFFSET_X,
|
||||
/* 0x14 */ CAM_DATA_AT_OFFSET_Y,
|
||||
/* 0x15 */ CAM_DATA_AT_OFFSET_Z,
|
||||
/* 0x16 */ CAM_DATA_UNK_22,
|
||||
/* 0x16 */ CAM_DATA_INIT_TIMER,
|
||||
/* 0x17 */ CAM_DATA_UNK_23,
|
||||
/* 0x18 */ CAM_DATA_FOV_SCALE,
|
||||
/* 0x19 */ CAM_DATA_YAW_SCALE,
|
||||
|
@ -846,15 +846,15 @@ typedef struct KeepOn3 {
|
|||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct KeepOn4ReadOnlyData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 eyeDist;
|
||||
/* 0x08 */ f32 pitchTarget; // degrees
|
||||
/* 0x0C */ f32 yawTarget; // degrees
|
||||
/* 0x10 */ f32 atOffsetPlayerForwards; // distance to offset `at` by, in the player's forwards direction
|
||||
/* 0x14 */ f32 unk_14; // scale for stepping yaw and pitch of "at to eye" to target
|
||||
/* 0x18 */ f32 fovTarget;
|
||||
/* 0x1C */ s16 interfaceField;
|
||||
/* 0x1E */ s16 unk_1E;
|
||||
/* 0x1E */ s16 initTimer;
|
||||
} KeepOn4ReadOnlyData; // size = 0x20
|
||||
|
||||
typedef enum CameraItemType {
|
||||
|
@ -874,14 +874,14 @@ typedef enum CameraItemType {
|
|||
} CameraItemType;
|
||||
|
||||
typedef struct KeepOn4ReadWriteData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ s16 unk_0C;
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ s16 unk_12;
|
||||
/* 0x14 */ s16 unk_14;
|
||||
/* 0x00 */ f32 atToEyeTargetStepYaw; // binang
|
||||
/* 0x04 */ f32 atToEyeTargetStepPitch; // binang
|
||||
/* 0x08 */ f32 unk_08; // set but unused
|
||||
/* 0x0C */ s16 atToEyeTargetYaw;
|
||||
/* 0x0E */ s16 atToEyeTargetPitch;
|
||||
/* 0x10 */ s16 animTimer;
|
||||
/* 0x12 */ s16 unk_12; // set but unused
|
||||
/* 0x14 */ s16 itemType;
|
||||
} KeepOn4ReadWriteData; // size = 0x18
|
||||
|
||||
typedef struct KeepOn4 {
|
||||
|
@ -898,16 +898,16 @@ typedef struct KeepOn4 {
|
|||
#define KEEPON4_FLAG_6 (1 << 6)
|
||||
#define KEEPON4_FLAG_7 (1 << 7)
|
||||
|
||||
#define CAM_FUNCDATA_KEEP4(yOffset, eyeDist, pitchTarget, yawTarget, atOffsetZ, fov, interfaceField, yawUpdateRateTarget, unk_22) \
|
||||
#define CAM_FUNCDATA_KEEP4(yOffset, eyeDist, pitchTarget, yawTarget, atOffsetPlayerForwards, fov, interfaceField, unk_14, initTimer) \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ eyeDist, CAM_DATA_EYE_DIST }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ yawTarget, CAM_DATA_YAW_TARGET }, \
|
||||
{ atOffsetZ, CAM_DATA_AT_OFFSET_Z }, \
|
||||
{ atOffsetPlayerForwards, CAM_DATA_AT_OFFSET_Z }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }, \
|
||||
{ yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
|
||||
{ unk_22, CAM_DATA_UNK_22 }
|
||||
{ unk_14, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
|
||||
{ initTimer, CAM_DATA_INIT_TIMER }
|
||||
|
||||
typedef struct KeepOn0ReadOnlyData {
|
||||
/* 0x00 */ f32 fovScale;
|
||||
|
@ -1463,7 +1463,7 @@ typedef struct Special5 {
|
|||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ eyeDist, CAM_DATA_EYE_DIST }, \
|
||||
{ eyeDistNext, CAM_DATA_EYE_DIST_NEXT }, \
|
||||
{ unk_22, CAM_DATA_UNK_22 }, \
|
||||
{ unk_22, CAM_DATA_INIT_TIMER }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
|
@ -1477,7 +1477,7 @@ typedef struct Special5 {
|
|||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ unk_22, CAM_DATA_UNK_22 }, \
|
||||
{ unk_22, CAM_DATA_INIT_TIMER }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct Special7ReadWriteData {
|
||||
|
|
|
@ -647,16 +647,16 @@ typedef enum PlayerKnockbackType {
|
|||
/* 0 */ PLAYER_KNOCKBACK_NONE, // No knockback
|
||||
/* 1 */ PLAYER_KNOCKBACK_SMALL, // A small hop, remains standing up
|
||||
/* 2 */ PLAYER_KNOCKBACK_LARGE, // Sent flying in the air and lands laying down on the floor
|
||||
/* 3 */ PLAYER_KNOCKBACK_LARGE_SHOCK // Same as`PLAYER_KNOCKBACK_LARGE` with a shock effect
|
||||
/* 3 */ PLAYER_KNOCKBACK_LARGE_ELECTRIFIED // Same as`PLAYER_KNOCKBACK_LARGE` with a shock effect
|
||||
} PlayerKnockbackType;
|
||||
|
||||
typedef enum PlayerDamageResponseType {
|
||||
typedef enum PlayerHitResponseType {
|
||||
/* 0 */ PLAYER_HIT_RESPONSE_NONE,
|
||||
/* 1 */ PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE,
|
||||
/* 2 */ PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL,
|
||||
/* 3 */ PLAYER_HIT_RESPONSE_ICE_TRAP,
|
||||
/* 4 */ PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK
|
||||
} PlayerDamageResponseType;
|
||||
/* 3 */ PLAYER_HIT_RESPONSE_FROZEN,
|
||||
/* 4 */ PLAYER_HIT_RESPONSE_ELECTRIFIED
|
||||
} PlayerHitResponseType;
|
||||
|
||||
typedef struct PlayerAgeProperties {
|
||||
/* 0x00 */ f32 ceilingCheckHeight;
|
||||
|
|
11
spec/spec
11
spec/spec
|
@ -1707,7 +1707,8 @@ beginseg
|
|||
name "object_yukabyun"
|
||||
compress
|
||||
romalign 0x1000
|
||||
include "$(BUILD_DIR)/assets/objects/object_yukabyun/object_yukabyun.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_yukabyun/gFloorTileEnemyDL.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
|
@ -1923,7 +1924,7 @@ beginseg
|
|||
name "object_vase"
|
||||
compress
|
||||
romalign 0x1000
|
||||
include "$(BUILD_DIR)/assets/objects/object_vase/object_vase.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_vase/gUnusedVaseDL.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
|
@ -2883,7 +2884,8 @@ beginseg
|
|||
name "object_umajump"
|
||||
compress
|
||||
romalign 0x1000
|
||||
include "$(BUILD_DIR)/assets/objects/object_umajump/object_umajump.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_umajump/gJumpableHorseFenceDL.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_umajump/gJumpableHorseFenceCol.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
|
@ -3555,7 +3557,8 @@ beginseg
|
|||
name "object_zg"
|
||||
compress
|
||||
romalign 0x1000
|
||||
include "$(BUILD_DIR)/assets/objects/object_zg/object_zg.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_zg/gTowerCollapseBarsDL.o"
|
||||
include "$(BUILD_DIR)/assets/objects/object_zg/gTowerCollapseBarsCol.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
|
|
|
@ -3698,12 +3698,12 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
camera->play->view.unk_124 = camera->camId | 0x50;
|
||||
return 1;
|
||||
}
|
||||
rwData->unk_14 = *itemType;
|
||||
rwData->itemType = *itemType;
|
||||
camera->stateFlags &= ~CAM_STATE_LOCK_MODE;
|
||||
}
|
||||
|
||||
if (rwData->unk_14 != *itemType) {
|
||||
PRINTF(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->unk_14, *itemType);
|
||||
if (rwData->itemType != *itemType) {
|
||||
PRINTF(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->itemType, *itemType);
|
||||
camera->animState = 20;
|
||||
camera->stateFlags |= CAM_STATE_LOCK_MODE;
|
||||
camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG);
|
||||
|
@ -3717,115 +3717,115 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
|
||||
f32 yNormal = 1.0f + t - (68.0f / playerHeight * t);
|
||||
|
||||
roData->unk_00 = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
|
||||
roData->unk_04 = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
|
||||
roData->unk_08 = GET_NEXT_RO_DATA(values);
|
||||
roData->unk_0C = GET_NEXT_RO_DATA(values);
|
||||
roData->unk_10 = GET_NEXT_RO_DATA(values);
|
||||
roData->unk_18 = GET_NEXT_RO_DATA(values);
|
||||
roData->yOffset = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
|
||||
roData->eyeDist = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
|
||||
roData->pitchTarget = GET_NEXT_RO_DATA(values);
|
||||
roData->yawTarget = GET_NEXT_RO_DATA(values);
|
||||
roData->atOffsetPlayerForwards = GET_NEXT_RO_DATA(values);
|
||||
roData->fovTarget = GET_NEXT_RO_DATA(values);
|
||||
roData->interfaceField = GET_NEXT_RO_DATA(values);
|
||||
roData->unk_14 = GET_NEXT_SCALED_RO_DATA(values);
|
||||
roData->unk_1E = GET_NEXT_RO_DATA(values);
|
||||
roData->initTimer = GET_NEXT_RO_DATA(values);
|
||||
PRINTF("camera: item: type %d\n", *itemType);
|
||||
switch (*itemType) {
|
||||
case CAM_ITEM_TYPE_1:
|
||||
roData->unk_00 = playerHeight * -0.6f * yNormal;
|
||||
roData->unk_04 = playerHeight * 2.0f * yNormal;
|
||||
roData->unk_08 = 10.0f;
|
||||
roData->yOffset = playerHeight * -0.6f * yNormal;
|
||||
roData->eyeDist = playerHeight * 2.0f * yNormal;
|
||||
roData->pitchTarget = 10.0f;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_2:
|
||||
case CAM_ITEM_TYPE_3:
|
||||
roData->unk_08 = -20.0f;
|
||||
roData->unk_18 = 80.0f;
|
||||
roData->pitchTarget = -20.0f;
|
||||
roData->fovTarget = 80.0f;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_4:
|
||||
roData->unk_00 = playerHeight * -0.2f * yNormal;
|
||||
roData->unk_08 = 25.0f;
|
||||
roData->yOffset = playerHeight * -0.2f * yNormal;
|
||||
roData->pitchTarget = 25.0f;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_8:
|
||||
roData->unk_00 = playerHeight * -0.2f * yNormal;
|
||||
roData->unk_04 = playerHeight * 0.8f * yNormal;
|
||||
roData->unk_08 = 50.0f;
|
||||
roData->unk_18 = 70.0f;
|
||||
roData->yOffset = playerHeight * -0.2f * yNormal;
|
||||
roData->eyeDist = playerHeight * 0.8f * yNormal;
|
||||
roData->pitchTarget = 50.0f;
|
||||
roData->fovTarget = 70.0f;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_9:
|
||||
roData->unk_00 = playerHeight * 0.1f * yNormal;
|
||||
roData->unk_04 = playerHeight * 0.5f * yNormal;
|
||||
roData->unk_08 = -20.0f;
|
||||
roData->unk_0C = 0.0f;
|
||||
roData->yOffset = playerHeight * 0.1f * yNormal;
|
||||
roData->eyeDist = playerHeight * 0.5f * yNormal;
|
||||
roData->pitchTarget = -20.0f;
|
||||
roData->yawTarget = 0.0f;
|
||||
roData->interfaceField =
|
||||
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_A_HEARTS_MAGIC_FORCE, KEEPON4_FLAG_6);
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_5:
|
||||
roData->unk_00 = playerHeight * -0.4f * yNormal;
|
||||
roData->unk_08 = -10.0f;
|
||||
roData->unk_0C = 45.0f;
|
||||
roData->yOffset = playerHeight * -0.4f * yNormal;
|
||||
roData->pitchTarget = -10.0f;
|
||||
roData->yawTarget = 45.0f;
|
||||
roData->interfaceField =
|
||||
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_ALL, KEEPON4_FLAG_1);
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_10:
|
||||
roData->unk_00 = playerHeight * -0.5f * yNormal;
|
||||
roData->unk_04 = playerHeight * 1.5f * yNormal;
|
||||
roData->unk_08 = -15.0f;
|
||||
roData->unk_0C = 175.0f;
|
||||
roData->unk_18 = 70.0f;
|
||||
roData->yOffset = playerHeight * -0.5f * yNormal;
|
||||
roData->eyeDist = playerHeight * 1.5f * yNormal;
|
||||
roData->pitchTarget = -15.0f;
|
||||
roData->yawTarget = 175.0f;
|
||||
roData->fovTarget = 70.0f;
|
||||
roData->interfaceField =
|
||||
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_NOTHING_ALT, KEEPON4_FLAG_1);
|
||||
roData->unk_1E = 0x3C;
|
||||
roData->initTimer = 0x3C;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_12:
|
||||
roData->unk_00 = playerHeight * -0.6f * yNormal;
|
||||
roData->unk_04 = playerHeight * 1.6f * yNormal;
|
||||
roData->unk_08 = -2.0f;
|
||||
roData->unk_0C = 120.0f;
|
||||
roData->unk_10 = player->stateFlags1 & PLAYER_STATE1_27 ? 0.0f : 20.0f;
|
||||
roData->yOffset = playerHeight * -0.6f * yNormal;
|
||||
roData->eyeDist = playerHeight * 1.6f * yNormal;
|
||||
roData->pitchTarget = -2.0f;
|
||||
roData->yawTarget = 120.0f;
|
||||
roData->atOffsetPlayerForwards = player->stateFlags1 & PLAYER_STATE1_27 ? 0.0f : 20.0f;
|
||||
roData->interfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_LARGE, CAM_HUD_VISIBILITY_NOTHING_ALT,
|
||||
KEEPON4_FLAG_4 | KEEPON4_FLAG_1);
|
||||
roData->unk_1E = 0x1E;
|
||||
roData->unk_18 = 50.0f;
|
||||
roData->initTimer = 0x1E;
|
||||
roData->fovTarget = 50.0f;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_90:
|
||||
roData->unk_00 = playerHeight * -0.3f * yNormal;
|
||||
roData->unk_18 = 45.0f;
|
||||
roData->yOffset = playerHeight * -0.3f * yNormal;
|
||||
roData->fovTarget = 45.0f;
|
||||
roData->interfaceField =
|
||||
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_IGNORE, KEEPON4_FLAG_1);
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_91:
|
||||
roData->unk_00 = playerHeight * -0.1f * yNormal;
|
||||
roData->unk_04 = playerHeight * 1.5f * yNormal;
|
||||
roData->unk_08 = -3.0f;
|
||||
roData->unk_0C = 10.0f;
|
||||
roData->unk_18 = 55.0f;
|
||||
roData->yOffset = playerHeight * -0.1f * yNormal;
|
||||
roData->eyeDist = playerHeight * 1.5f * yNormal;
|
||||
roData->pitchTarget = -3.0f;
|
||||
roData->yawTarget = 10.0f;
|
||||
roData->fovTarget = 55.0f;
|
||||
roData->interfaceField =
|
||||
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_IGNORE, KEEPON4_FLAG_3);
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_81:
|
||||
roData->unk_00 = playerHeight * -0.3f * yNormal;
|
||||
roData->unk_04 = playerHeight * 1.5f * yNormal;
|
||||
roData->unk_08 = 2.0f;
|
||||
roData->unk_18 = 45.0f;
|
||||
roData->unk_0C = 20.0f;
|
||||
roData->unk_10 = 20.0f;
|
||||
roData->yOffset = playerHeight * -0.3f * yNormal;
|
||||
roData->eyeDist = playerHeight * 1.5f * yNormal;
|
||||
roData->pitchTarget = 2.0f;
|
||||
roData->fovTarget = 45.0f;
|
||||
roData->yawTarget = 20.0f;
|
||||
roData->atOffsetPlayerForwards = 20.0f;
|
||||
roData->interfaceField =
|
||||
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_NOTHING_ALT, KEEPON4_FLAG_7);
|
||||
roData->unk_1E = 0x1E;
|
||||
roData->initTimer = 0x1E;
|
||||
break;
|
||||
|
||||
case CAM_ITEM_TYPE_11:
|
||||
roData->unk_00 = playerHeight * -0.19f * yNormal;
|
||||
roData->unk_04 = playerHeight * 0.7f * yNormal;
|
||||
roData->unk_0C = 130.0f;
|
||||
roData->unk_10 = 10.0f;
|
||||
roData->yOffset = playerHeight * -0.19f * yNormal;
|
||||
roData->eyeDist = playerHeight * 0.7f * yNormal;
|
||||
roData->yawTarget = 130.0f;
|
||||
roData->atOffsetPlayerForwards = 10.0f;
|
||||
roData->interfaceField = CAM_INTERFACE_FIELD(
|
||||
CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_A_HEARTS_MAGIC_FORCE, KEEPON4_FLAG_5 | KEEPON4_FLAG_1);
|
||||
break;
|
||||
|
@ -3844,10 +3844,10 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
sAtTarget = playerPosRot->pos;
|
||||
sAtTarget.y += playerHeight;
|
||||
temp_f0_2 = BgCheck_CameraRaycastDown2(&camera->play->colCtx, &spC0, &i, &sAtTarget);
|
||||
if (temp_f0_2 > (roData->unk_00 + sAtTarget.y)) {
|
||||
if (temp_f0_2 > (roData->yOffset + sAtTarget.y)) {
|
||||
sAtTarget.y = temp_f0_2 + 10.0f;
|
||||
} else {
|
||||
sAtTarget.y += roData->unk_00;
|
||||
sAtTarget.y += roData->yOffset;
|
||||
}
|
||||
|
||||
lineOCCheckNumExclusions = 0;
|
||||
|
@ -3858,38 +3858,38 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
lineOCCheckNumExclusions++;
|
||||
func_80043ABC(camera);
|
||||
camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG);
|
||||
rwData->unk_10 = roData->unk_1E;
|
||||
rwData->animTimer = roData->initTimer;
|
||||
rwData->unk_08 = playerPosRot->pos.y - camera->playerPosDelta.y;
|
||||
if (roData->interfaceField & KEEPON4_FLAG_1) {
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
|
||||
atToEyeBaseYaw = (s16)((s16)(playerPosRot->rot.y - 0x7FFF) - atToEyeNextDir.yaw) > 0
|
||||
? (s16)(playerPosRot->rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C)
|
||||
: (s16)(playerPosRot->rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C);
|
||||
? (s16)(playerPosRot->rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->yawTarget)
|
||||
: (s16)(playerPosRot->rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->yawTarget);
|
||||
} else if (roData->interfaceField & KEEPON4_FLAG_2) {
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
|
||||
atToEyeBaseYaw = CAM_DEG_TO_BINANG(roData->unk_0C);
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
|
||||
atToEyeBaseYaw = CAM_DEG_TO_BINANG(roData->yawTarget);
|
||||
} else if ((roData->interfaceField & KEEPON4_FLAG_3) && camera->target != NULL) {
|
||||
PosRot sp60;
|
||||
|
||||
sp60 = Actor_GetWorldPosShapeRot(camera->target);
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08) - sp60.rot.x;
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget) - sp60.rot.x;
|
||||
atToEyeBaseYaw = (s16)((s16)(sp60.rot.y - 0x7FFF) - atToEyeNextDir.yaw) > 0
|
||||
? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C)
|
||||
: (s16)(sp60.rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C);
|
||||
? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->yawTarget)
|
||||
: (s16)(sp60.rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->yawTarget);
|
||||
lineOCCheckExclusions[1] = camera->target;
|
||||
lineOCCheckNumExclusions++;
|
||||
} else if ((roData->interfaceField & KEEPON4_FLAG_7) && camera->target != NULL) {
|
||||
PosRot sp4C;
|
||||
|
||||
sp4C = Actor_GetWorld(camera->target);
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
|
||||
sp9E = Camera_XZAngle(&sp4C.pos, &playerPosRot->pos);
|
||||
atToEyeBaseYaw = ((s16)(sp9E - atToEyeNextDir.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->unk_0C)
|
||||
: sp9E - CAM_DEG_TO_BINANG(roData->unk_0C);
|
||||
atToEyeBaseYaw = ((s16)(sp9E - atToEyeNextDir.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->yawTarget)
|
||||
: sp9E - CAM_DEG_TO_BINANG(roData->yawTarget);
|
||||
lineOCCheckExclusions[1] = camera->target;
|
||||
lineOCCheckNumExclusions++;
|
||||
} else if (roData->interfaceField & KEEPON4_FLAG_6) {
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
|
||||
atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
|
||||
atToEyeBaseYaw = atToEyeNextDir.yaw;
|
||||
} else {
|
||||
atToEyeBasePitch = atToEyeNextDir.pitch;
|
||||
|
@ -3898,7 +3898,7 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
|
||||
vecGeo.pitch = atToEyeBasePitch;
|
||||
vecGeo.yaw = atToEyeBaseYaw;
|
||||
vecGeo.r = roData->unk_04;
|
||||
vecGeo.r = roData->eyeDist;
|
||||
sEyeCandidate = Camera_AddVecGeoToVec3f(&sAtTarget, &vecGeo);
|
||||
if (!(roData->interfaceField & KEEPON4_FLAG_0)) {
|
||||
angleCnt = ARRAY_COUNT(sCamCheckAroundOffsetsYaw);
|
||||
|
@ -3916,10 +3916,10 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
PRINTF("camera: item: BG&collision check %d time(s)\n", i);
|
||||
#endif
|
||||
}
|
||||
rwData->unk_04 = (s16)(vecGeo.pitch - atToEyeNextDir.pitch) / (f32)rwData->unk_10;
|
||||
rwData->unk_00 = (s16)(vecGeo.yaw - atToEyeNextDir.yaw) / (f32)rwData->unk_10;
|
||||
rwData->unk_0C = atToEyeNextDir.yaw;
|
||||
rwData->unk_0E = atToEyeNextDir.pitch;
|
||||
rwData->atToEyeTargetStepPitch = (s16)(vecGeo.pitch - atToEyeNextDir.pitch) / (f32)rwData->animTimer;
|
||||
rwData->atToEyeTargetStepYaw = (s16)(vecGeo.yaw - atToEyeNextDir.yaw) / (f32)rwData->animTimer;
|
||||
rwData->atToEyeTargetYaw = atToEyeNextDir.yaw;
|
||||
rwData->atToEyeTargetPitch = atToEyeNextDir.pitch;
|
||||
camera->animState++;
|
||||
rwData->unk_12 = 1;
|
||||
break;
|
||||
|
@ -3932,20 +3932,20 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
camera->yOffsetUpdateRate = 0.25f;
|
||||
camera->atLERPStepScale = 0.75f;
|
||||
Camera_LERPCeilVec3f(&sAtTarget, at, 0.5f, 0.5f, 0.2f);
|
||||
if (roData->unk_10 != 0.0f) {
|
||||
vecGeo.r = roData->unk_10;
|
||||
if (roData->atOffsetPlayerForwards != 0.0f) {
|
||||
vecGeo.r = roData->atOffsetPlayerForwards;
|
||||
vecGeo.pitch = 0;
|
||||
vecGeo.yaw = playerPosRot->rot.y;
|
||||
*at = Camera_AddVecGeoToVec3f(at, &vecGeo);
|
||||
}
|
||||
camera->atLERPStepScale = 0.0f;
|
||||
camera->dist = Camera_LERPCeilF(roData->unk_04, camera->dist, 0.25f, 2.0f);
|
||||
camera->dist = Camera_LERPCeilF(roData->eyeDist, camera->dist, 0.25f, 2.0f);
|
||||
vecGeo.r = camera->dist;
|
||||
if (rwData->unk_10 != 0) {
|
||||
if (rwData->animTimer != 0) {
|
||||
camera->stateFlags |= CAM_STATE_LOCK_MODE;
|
||||
rwData->unk_0C += (s16)rwData->unk_00;
|
||||
rwData->unk_0E += (s16)rwData->unk_04;
|
||||
rwData->unk_10--;
|
||||
rwData->atToEyeTargetYaw += (s16)rwData->atToEyeTargetStepYaw;
|
||||
rwData->atToEyeTargetPitch += (s16)rwData->atToEyeTargetStepPitch;
|
||||
rwData->animTimer--;
|
||||
} else if (roData->interfaceField & KEEPON4_FLAG_4) {
|
||||
camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG);
|
||||
camera->stateFlags |= (CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG);
|
||||
|
@ -3967,12 +3967,12 @@ s32 Camera_KeepOn4(Camera* camera) {
|
|||
}
|
||||
}
|
||||
}
|
||||
vecGeo.yaw = Camera_LERPCeilS(rwData->unk_0C, atToEyeNextDir.yaw, roData->unk_14, 4);
|
||||
vecGeo.pitch = Camera_LERPCeilS(rwData->unk_0E, atToEyeNextDir.pitch, roData->unk_14, 4);
|
||||
vecGeo.yaw = Camera_LERPCeilS(rwData->atToEyeTargetYaw, atToEyeNextDir.yaw, roData->unk_14, 4);
|
||||
vecGeo.pitch = Camera_LERPCeilS(rwData->atToEyeTargetPitch, atToEyeNextDir.pitch, roData->unk_14, 4);
|
||||
*eyeNext = Camera_AddVecGeoToVec3f(at, &vecGeo);
|
||||
*eye = *eyeNext;
|
||||
Camera_BGCheck(camera, at, eye);
|
||||
camera->fov = Camera_LERPCeilF(roData->unk_18, camera->fov, camera->fovUpdateRate, 1.0f);
|
||||
camera->fov = Camera_LERPCeilF(roData->fovTarget, camera->fov, camera->fovUpdateRate, 1.0f);
|
||||
camera->roll = Camera_LERPCeilS(0, camera->roll, 0.5f, 0xA);
|
||||
//! @bug Missing return, but the return value is not used.
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ s16 sCamDataRegsInit[CAM_DATA_MAX] = {
|
|||
0, // CAM_DATA_AT_OFFSET_X
|
||||
0, // CAM_DATA_AT_OFFSET_Y
|
||||
0, // CAM_DATA_AT_OFFSET_Z
|
||||
6, // CAM_DATA_UNK_22
|
||||
6, // CAM_DATA_INIT_TIMER
|
||||
60, // CAM_DATA_UNK_23
|
||||
30, // CAM_DATA_FOV_SCALE
|
||||
0, // CAM_DATA_YAW_SCALE
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_bdan_switch.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "one_point_cutscene.h"
|
||||
#include "printf.h"
|
||||
|
@ -89,7 +90,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_bombwall.h"
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
|
@ -73,7 +74,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
3,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_haka_sgami.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "sfx.h"
|
||||
#include "z_lib.h"
|
||||
|
@ -102,7 +103,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
4,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_haka_trap.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "rand.h"
|
||||
#include "sfx.h"
|
||||
|
@ -106,7 +107,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_bg_hidan_dalm.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "sfx.h"
|
||||
#include "sys_matrix.h"
|
||||
|
@ -95,7 +96,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
4,
|
||||
ARRAY_COUNT(sTrisElementInit),
|
||||
sTrisElementInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_hidan_hrock.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "rumble.h"
|
||||
#include "sfx.h"
|
||||
|
@ -71,7 +72,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -76,7 +77,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
6,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
6,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -63,7 +64,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
|
@ -60,7 +61,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "z_bg_jya_goroiwa.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "sfx.h"
|
||||
#include "z_lib.h"
|
||||
|
@ -65,7 +66,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_menkuri_eye.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -60,7 +61,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ static ColliderTrisInit sTrisInitFloor = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInitFloor),
|
||||
sTrisElementsInitFloor,
|
||||
};
|
||||
|
||||
|
@ -105,7 +105,7 @@ static ColliderTrisInit sTrisInitRutoWall = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sTrisElementsInitRutoWall),
|
||||
sTrisElementsInitRutoWall,
|
||||
};
|
||||
|
||||
|
@ -143,7 +143,7 @@ static ColliderTrisInit sTrisInitUnusedWall = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInitWall),
|
||||
sTrisElementsInitWall,
|
||||
};
|
||||
|
||||
|
@ -156,7 +156,7 @@ static ColliderTrisInit sTrisInitStingerWall = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInitWall),
|
||||
sTrisElementsInitWall,
|
||||
};
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_bg_po_event.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -89,7 +90,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_spot06_objects.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -93,7 +94,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
3,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_ydan_maruta.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "one_point_cutscene.h"
|
||||
#include "sfx.h"
|
||||
|
@ -73,7 +74,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_bg_ydan_sp.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -85,7 +86,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "array_count.h"
|
||||
#include "collision_check.h"
|
||||
|
||||
static u8 D_808C7000[] = {
|
||||
|
@ -231,7 +232,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
19,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -221,6 +221,6 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
19,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
|
|
@ -111,6 +111,6 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
9,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
|
|
@ -247,7 +247,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
13,
|
||||
ARRAY_COUNT(sColliderJntSphElementsInit),
|
||||
sColliderJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
19,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "array_count.h"
|
||||
#include "collision_check.h"
|
||||
|
||||
static ColliderJntSphElementInit sJntSphElementsInitHand[] = {
|
||||
|
@ -133,7 +134,7 @@ static ColliderJntSphInit sJntSphInitHand = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
11,
|
||||
ARRAY_COUNT(sJntSphElementsInitHand),
|
||||
sJntSphElementsInitHand,
|
||||
};
|
||||
|
||||
|
@ -270,7 +271,7 @@ static ColliderJntSphInit sJntSphInitHead = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
11,
|
||||
ARRAY_COUNT(sJntSphElementsInitHead),
|
||||
sJntSphElementsInitHead,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_door_killer.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "printf.h"
|
||||
|
@ -96,7 +97,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_en_ba.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -85,7 +86,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_bb.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "attributes.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
|
@ -248,7 +249,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_bom.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -85,7 +86,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_bombf.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "regs.h"
|
||||
|
@ -89,7 +90,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "z_en_bubble.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "sfx.h"
|
||||
|
@ -70,7 +71,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -62,7 +63,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "z_en_crow.h"
|
||||
|
||||
#include "array_count.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
#include "rand.h"
|
||||
|
@ -66,7 +67,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
7,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_dh.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "attributes.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
|
@ -113,7 +114,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/actors/ovl_En_Dh/z_en_dh.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -151,7 +152,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
5,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -141,7 +142,7 @@ static ColliderJntSphInit sBodyJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
6,
|
||||
ARRAY_COUNT(sBodyElementsInit),
|
||||
sBodyElementsInit,
|
||||
};
|
||||
|
||||
|
@ -190,7 +191,7 @@ static ColliderTrisInit sHardTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
3,
|
||||
ARRAY_COUNT(sHardElementsInit),
|
||||
sHardElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "libc64/math64.h"
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "segmented_address.h"
|
||||
|
@ -206,7 +207,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
12,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -550,7 +550,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) {
|
|||
Actor_PlaySfx(&this->actor, NA_SE_EN_FANTOM_LAUGH);
|
||||
}
|
||||
Actor_SetPlayerKnockback(play, &this->actor, 3.0f, this->actor.world.rot.y, 0.0f,
|
||||
PLAYER_KNOCKBACK_LARGE_SHOCK, 0x10);
|
||||
PLAYER_KNOCKBACK_LARGE_ELECTRIFIED, 0x10);
|
||||
}
|
||||
break;
|
||||
case FHGFIRE_LIGHT_BLUE:
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -85,7 +86,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_fish.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -73,7 +74,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include "libc64/math64.h"
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "segmented_address.h"
|
||||
|
@ -74,7 +75,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_geldb.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -153,7 +154,7 @@ static ColliderTrisInit sBlockTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sBlockTrisElementsInit),
|
||||
sBlockTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "quake.h"
|
||||
|
@ -93,7 +94,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_honotrap.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -110,7 +111,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -166,7 +166,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1 | OC2_UNK1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_horse_ganon.h"
|
||||
|
||||
#include "libc64/math64.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -97,7 +98,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1 | OC2_UNK1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1 | OC2_UNK1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1 | OC2_UNK1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ static ColliderTrisInit sTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sTrisElementsInit),
|
||||
sTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -93,7 +94,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sColliderElementsInit),
|
||||
sColliderElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_mb.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -160,7 +161,7 @@ static ColliderTrisInit sFrontShieldingTrisInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_TRIS,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sFrontShieldingTrisElementsInit),
|
||||
sFrontShieldingTrisElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "z_en_ny.h"
|
||||
|
||||
#include "libc64/math64.h"
|
||||
#include "array_count.h"
|
||||
#include "attributes.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
|
@ -74,7 +75,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -113,7 +114,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_poh.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -113,7 +114,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/actors/ovl_En_Encount1/z_en_encount1.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -89,7 +90,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
2,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "libc64/math64.h"
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "attributes.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
|
@ -71,7 +72,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -125,7 +126,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_tp.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -91,7 +92,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "overlays/actors/ovl_En_Kanban/z_en_kanban.h"
|
||||
#include "assets/objects/object_fish/object_fish.h"
|
||||
#include "libc64/math64.h"
|
||||
#include "array_count.h"
|
||||
#include "attributes.h"
|
||||
#include "controller.h"
|
||||
#include "gfx.h"
|
||||
|
@ -368,7 +369,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
12,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_mir_ray.h"
|
||||
|
||||
#include "libu64/debug.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -102,7 +103,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_NONE,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -66,7 +67,7 @@ static ColliderJntSphInit sJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sJntSphElementsInit),
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.h"
|
||||
|
||||
#include "libc64/qrand.h"
|
||||
#include "array_count.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "ichain.h"
|
||||
|
@ -84,7 +85,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
|
|||
OC2_TYPE_2,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
ARRAY_COUNT(sColliderJntSphElementsInit),
|
||||
sColliderJntSphElementsInit,
|
||||
};
|
||||
|
||||
|
|
|
@ -4619,7 +4619,7 @@ static LinkAnimationHeader* D_808544B0[] = {
|
|||
&gPlayerAnim_link_normal_back_hit, &gPlayerAnim_link_anchor_back_hitR,
|
||||
};
|
||||
|
||||
void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 speed, f32 yVelocity, s16 yRot,
|
||||
void func_80837C0C(PlayState* play, Player* this, s32 hitResponseType, f32 speed, f32 yVelocity, s16 yRot,
|
||||
s32 invincibilityTimer) {
|
||||
LinkAnimationHeader* anim = NULL;
|
||||
LinkAnimationHeader** sp28;
|
||||
|
@ -4642,7 +4642,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
|
|||
|
||||
Player_SetIntangibility(this, invincibilityTimer);
|
||||
|
||||
if (damageResponseType == PLAYER_HIT_RESPONSE_ICE_TRAP) {
|
||||
if (hitResponseType == PLAYER_HIT_RESPONSE_FROZEN) {
|
||||
Player_SetupAction(play, this, Player_Action_8084FB10, 0);
|
||||
|
||||
anim = &gPlayerAnim_link_normal_ice_down;
|
||||
|
@ -4652,7 +4652,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
|
|||
|
||||
Player_PlaySfx(this, NA_SE_PL_FREEZE_S);
|
||||
Player_PlayVoiceSfx(this, NA_SE_VO_LI_FREEZE);
|
||||
} else if (damageResponseType == PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK) {
|
||||
} else if (hitResponseType == PLAYER_HIT_RESPONSE_ELECTRIFIED) {
|
||||
Player_SetupAction(play, this, Player_Action_8084FBF4, 0);
|
||||
|
||||
Player_RequestRumble(this, 255, 80, 150, 0);
|
||||
|
@ -4673,8 +4673,8 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
|
|||
anim = &gPlayerAnim_link_swimer_swim_hit;
|
||||
|
||||
Player_PlayVoiceSfx(this, NA_SE_VO_LI_DAMAGE_S);
|
||||
} else if ((damageResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE) ||
|
||||
(damageResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) ||
|
||||
} else if ((hitResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE) ||
|
||||
(hitResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) ||
|
||||
!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) ||
|
||||
(this->stateFlags1 & (PLAYER_STATE1_13 | PLAYER_STATE1_14 | PLAYER_STATE1_21))) {
|
||||
Player_SetupAction(play, this, Player_Action_8084377C, 0);
|
||||
|
@ -4684,7 +4684,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
|
|||
Player_RequestRumble(this, 255, 20, 150, 0);
|
||||
func_80832224(this);
|
||||
|
||||
if (damageResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) {
|
||||
if (hitResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) {
|
||||
this->av2.actionVar2 = 4;
|
||||
|
||||
this->actor.speed = 3.0f;
|
||||
|
@ -4867,7 +4867,7 @@ s32 func_808382DC(Player* this, PlayState* play) {
|
|||
|
||||
func_80838280(this);
|
||||
|
||||
if (this->knockbackType == PLAYER_KNOCKBACK_LARGE_SHOCK) {
|
||||
if (this->knockbackType == PLAYER_KNOCKBACK_LARGE_ELECTRIFIED) {
|
||||
this->bodyShockTimer = 40;
|
||||
}
|
||||
|
||||
|
@ -4939,9 +4939,9 @@ s32 func_808382DC(Player* this, PlayState* play) {
|
|||
if (this->stateFlags1 & PLAYER_STATE1_27) {
|
||||
sp4C = PLAYER_HIT_RESPONSE_NONE;
|
||||
} else if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_ICE) {
|
||||
sp4C = PLAYER_HIT_RESPONSE_ICE_TRAP;
|
||||
sp4C = PLAYER_HIT_RESPONSE_FROZEN;
|
||||
} else if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_ELECTRIC) {
|
||||
sp4C = PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK;
|
||||
sp4C = PLAYER_HIT_RESPONSE_ELECTRIFIED;
|
||||
} else if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_KNOCKBACK) {
|
||||
sp4C = PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE;
|
||||
} else {
|
||||
|
@ -9147,8 +9147,7 @@ s32 func_80842DF4(PlayState* play, Player* this) {
|
|||
|
||||
if (this->actor.colChkInfo.atHitBacklash == HIT_BACKLASH_ELECTRIC) {
|
||||
this->actor.colChkInfo.damage = 8;
|
||||
func_80837C0C(play, this, PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK, 0.0f, 0.0f, this->actor.shape.rot.y,
|
||||
20);
|
||||
func_80837C0C(play, this, PLAYER_HIT_RESPONSE_ELECTRIFIED, 0.0f, 0.0f, this->actor.shape.rot.y, 20);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -13905,7 +13904,7 @@ void Player_Action_8084E6D4(Player* this, PlayState* play) {
|
|||
func_8083C0E8(this, play);
|
||||
} else {
|
||||
this->actor.colChkInfo.damage = 0;
|
||||
func_80837C0C(play, this, PLAYER_HIT_RESPONSE_ICE_TRAP, 0.0f, 0.0f, 0, 20);
|
||||
func_80837C0C(play, this, PLAYER_HIT_RESPONSE_FROZEN, 0.0f, 0.0f, 0, 20);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -353,16 +353,12 @@ assets/objects/object_tk/object_tk.c
|
|||
assets/objects/object_toki_objects/object_toki_objects.c
|
||||
assets/objects/object_torch2/object_torch2.c
|
||||
assets/objects/object_toryo/object_toryo.c
|
||||
assets/objects/object_tp/object_tp.c
|
||||
assets/objects/object_trap/object_trap.c
|
||||
assets/objects/object_triforce_spot/object_triforce_spot.c
|
||||
assets/objects/object_tr/object_tr.c
|
||||
assets/objects/object_ts/object_ts.c
|
||||
assets/objects/object_tsubo/object_tsubo.c
|
||||
assets/objects/object_tw/object_tw.c
|
||||
assets/objects/object_umajump/object_umajump.c
|
||||
assets/objects/object_vali/object_vali.c
|
||||
assets/objects/object_vase/object_vase.c
|
||||
assets/objects/object_vm/object_vm.c
|
||||
assets/objects/object_wallmaster/object_wallmaster.c
|
||||
assets/objects/object_warp1/object_warp1.c
|
||||
|
@ -372,9 +368,7 @@ assets/objects/object_wood02/object_wood02.c
|
|||
assets/objects/object_xc/object_xc.c
|
||||
assets/objects/object_yabusame_point/object_yabusame_point.c
|
||||
assets/objects/object_ydan_objects/object_ydan_objects.c
|
||||
assets/objects/object_yukabyun/object_yukabyun.c
|
||||
assets/objects/object_zf/object_zf.c
|
||||
assets/objects/object_zg/object_zg.c
|
||||
assets/objects/object_zl1/object_zl1.c
|
||||
assets/objects/object_zl2_anime1/object_zl2_anime1.c
|
||||
assets/objects/object_zl2_anime2/object_zl2_anime2.c
|
||||
|
|
Loading…
Reference in New Issue