En_Kanban (1 non-matching) (#419)

* En_Kanban

* PR

* PR

* Object

* undef

* PR

* Merge

* Merge

* Merge
This commit is contained in:
Maide 2022-01-12 15:37:26 +00:00 committed by GitHub
parent c44e26a143
commit 816971d98c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1184 additions and 21 deletions

View File

@ -0,0 +1,9 @@
<Root>
<File Name="ovl_En_Kanban" BaseAddress="0x80954960" RangeStart="0x3440" RangeEnd="0x3500">
<Array Name="gEnKanban_D_80957DA0" Count="4" Offset="0x3440">
<Vtx/>
</Array>
<DList Name="gEnKanban_D_80957DE0" Offset="0x3480"/>
</File>
</Root>

View File

@ -45,7 +45,7 @@
// linkAge still exists in MM, but is always set to 0 (always adult)
// There are remnants of these macros from OOT, but they are essentially useless
//#define LINK_IS_CHILD (gSaveContext.linkAge != 0)
#define LINK_IS_CHILD (gSaveContext.linkAge == 1)
#define LINK_IS_ADULT (gSaveContext.linkAge == 0)
#define CURRENT_DAY (((void)0, gSaveContext.day) % 5)

5
spec
View File

@ -1640,8 +1640,11 @@ beginseg
name "ovl_En_Kanban"
compress
include "build/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o"
include "build/data/ovl_En_Kanban/ovl_En_Kanban.data.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_En_Kanban/ovl_En_Kanban_reloc.o"
#else
include "build/data/ovl_En_Kanban/ovl_En_Kanban.reloc.o"
#endif
endseg
beginseg

File diff suppressed because it is too large Load Diff

View File

@ -5,11 +5,104 @@
struct EnKanban;
#define PART_UPPER_LEFT (1 << 0)
#define PART_LEFT_UPPER (1 << 1)
#define PART_LEFT_LOWER (1 << 2)
#define PART_RIGHT_UPPER (1 << 3)
#define PART_RIGHT_LOWER (1 << 4)
#define PART_LOWER_LEFT (1 << 5)
#define PART_UPPER_RIGHT (1 << 6)
#define PART_LOWER_RIGHT (1 << 7)
#define PART_POST_UPPER (1 << 8)
#define PART_POST_LOWER (1 << 9)
#define PART_POST_STAND (1 << 10)
#define LEFT_HALF (PART_UPPER_LEFT | PART_LEFT_UPPER | PART_LEFT_LOWER | PART_LOWER_LEFT)
#define RIGHT_HALF (PART_UPPER_RIGHT | PART_RIGHT_UPPER | PART_RIGHT_LOWER | PART_LOWER_RIGHT)
#define UPPER_HALF (PART_POST_UPPER | PART_UPPER_RIGHT | PART_RIGHT_UPPER | PART_UPPER_LEFT | PART_LEFT_UPPER)
#define UPPERLEFT_HALF (PART_POST_UPPER | PART_UPPER_RIGHT | PART_LEFT_LOWER | PART_UPPER_LEFT | PART_LEFT_UPPER)
#define UPPERRIGHT_HALF (PART_POST_UPPER | PART_UPPER_RIGHT | PART_RIGHT_UPPER | PART_UPPER_LEFT | PART_RIGHT_LOWER)
#define ALL_PARTS (LEFT_HALF | RIGHT_HALF | PART_POST_UPPER | PART_POST_LOWER)
typedef enum {
/* 0 */ ENKANBAN_SIGN,
/* 1 */ ENKANBAN_AIR,
/* 2 */ ENKANBAN_UNUSED,
/* 3 */ ENKANBAN_GROUND,
/* 4 */ ENKANBAN_WATER,
/* 5 */ ENKANBAN_REPAIR
} EnKanbanActionState;
typedef enum {
/* 0 */ PIECE_WHOLE_SIGN,
/* 1 */ PIECE_UPPER_HALF,
/* 2 */ PIECE_LOWER_HALF,
/* 3 */ PIECE_RIGHT_HALF,
/* 4 */ PIECE_LEFT_HALF,
/* 5 */ PIECE_2ND_QUAD,
/* 6 */ PIECE_1ST_QUAD,
/* 7 */ PIECE_3RD_QUAD,
/* 8 */ PIECE_4TH_QUAD,
/* 9 */ PIECE_UPPER_LEFT,
/* 10 */ PIECE_LEFT_UPPER,
/* 11 */ PIECE_LEFT_LOWER,
/* 12 */ PIECE_LOWER_LEFT,
/* 13 */ PIECE_UPPER_RIGHT,
/* 14 */ PIECE_RIGHT_UPPER,
/* 15 */ PIECE_RIGHT_LOWER,
/* 16 */ PIECE_LOWER_RIGHT,
/* 17 */ PIECE_POST_UPPER,
/* 18 */ PIECE_POST_LOWER,
/* 100 */ PIECE_OTHER = 100
} EnKanbanPiece;
typedef enum {
/* 0 */ CUT_POST,
/* 1 */ CUT_VERT_L,
/* 2 */ CUT_HORIZ,
/* 3 */ CUT_DIAG_L, // lower left to upper right
/* 4 */ CUT_DIAG_R, // upper left to lower right
/* 5 */ CUT_VERT_R
} EnKanbanCutType;
typedef struct EnKanban {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk_144[0xAC];
/* 0x144 */ UNK_TYPE1 unk144[4]; // actionFunc?
/* 0x148 */ u8 frameCount;
/* 0x14A */ s16 airTimer;
/* 0x14C */ u8 actionState;
/* 0x14E */ u16 partFlags;
/* 0x150 */ u8 partCount;
/* 0x152 */ s16 invincibilityTimer;
/* 0x154 */ Vec3f offset;
/* 0x160 */ Vec3s spinRot;
/* 0x166 */ Vec3s spinVel;
/* 0x16C */ s8 spinXFlag;
/* 0x16D */ s8 spinZFlag;
/* 0x16E */ s16 bounceX;
/* 0x170 */ s16 bounceZ;
/* 0x172 */ u8 bounceCount;
/* 0x174 */ f32 pieceWidth;
/* 0x178 */ f32 pieceHeight;
/* 0x17C */ s16 direction;
/* 0x180 */ Vec3f floorRot;
/* 0x18C */ u8 cutType;
/* 0x18D */ u8 pieceType;
/* 0x18E */ s16 cutMarkTimer;
/* 0x190 */ s16 cutMarkAlpha;
/* 0x192 */ s16 zTargetTimer;
/* 0x194 */ u8 msgFlag;
/* 0x195 */ u8 msgTimer;
/* 0x196 */ u8 ocarinaFlag;
/* 0x197 */ s8 unk_197;
/* 0x198 */ s8 unk_198;
/* 0x199 */ u8 unk_199;
/* 0x19A */ u8 unk_19A;
/* 0x19C */ Actor* unk_19C;
/* 0x1A0 */ s16 unk_1A0;
/* 0x1A4 */ ColliderCylinder collider;
} EnKanban; // size = 0x1F0
#define ENKANBAN_PIECE ((s16)0xFFDD)
#define ENKANBAN_FISHING 0x300
extern const ActorInit En_Kanban_InitVars;

View File

@ -0,0 +1,68 @@
#include "z_en_kanban.h"
static u16 sShadowTexFlags[] = {
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100,
0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, 0x100,
0x100, 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, 0x100,
0x100, 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, 0x100,
0x100, 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101,
0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040,
0x002, 0x002, 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101,
0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x008, 0x008, 0x008,
0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101,
0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008,
0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101,
0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008,
0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x001, 0x001, 0x101, 0x101,
0x140, 0x140, 0x040, 0x040, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008,
0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x102, 0x301,
0x340, 0x108, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008,
0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x204, 0x220,
0x280, 0x210, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010,
0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x020, 0x020, 0x220, 0x220,
0x280, 0x280, 0x080, 0x080, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010,
0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x220,
0x280, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010,
0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x220,
0x280, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010,
0x004, 0x004, 0x004, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x220,
0x280, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x010, 0x010, 0x010,
0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x620,
0x680, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400,
0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
};

View File

@ -8782,14 +8782,14 @@
0x809548A0:("Bg_Ingate_InitVars","UNK_TYPE1","",0x1),
0x809572E0:("En_Kanban_InitVars","UNK_TYPE1","",0x1),
0x80957300:("D_80957300","UNK_TYPE1","",0x1),
0x8095732C:("D_8095732C","UNK_TYPE2","",0x2),
0x8095732C:("sPartFlags","UNK_TYPE2","",0x2),
0x8095732E:("D_8095732E","UNK_TYPE2","",0x2),
0x80957330:("D_80957330","UNK_TYPE2","",0x2),
0x80957332:("D_80957332","UNK_TYPE2","",0x2),
0x80957344:("D_80957344","UNK_TYPE4","",0x4),
0x80957428:("D_80957428","UNK_TYPE4","",0x4),
0x8095750C:("D_8095750C","UNK_TYPE1","",0x1),
0x80957530:("D_80957530","UNK_TYPE1","",0x1),
0x80957344:("sPieceOffsets","UNK_TYPE4","",0x4),
0x80957428:("sPieceSizes","UNK_TYPE4","",0x4),
0x8095750C:("sCutTypes","UNK_TYPE1","",0x1),
0x80957530:("sCutFlags","UNK_TYPE1","",0x1),
0x8095753C:("D_8095753C","UNK_TYPE4","",0x4),
0x80957548:("D_80957548","UNK_TYPE4","",0x4),
0x8095754C:("D_8095754C","UNK_TYPE4","",0x4),