1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-05 22:00:15 +00:00

Stalfos (en_test) OK and object_sk2 documented (#868)

* fix colliderinit typo

* migrate data

* init has 1 problem

* progress

* progress

* builds now

* progress

* progress

* lots of funcs matched

* many functions, fix warnings

* 1 left

* done

* docs progress

* remove graphovl

* missed some

* change some funcs

* some more

* another

* format

* more docs

* cleanups1

* limbs, DLs, textures

* limbs named (thanks elliptic)

* more docs

* Name animations, import symbols

* Named sections of xml

* more docs

* rename limbs and use flag macros

* name

* review1 and use limb enum

* review2

* agro -> aggro

* review3

* review4

* review5

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
This commit is contained in:
fig02 2021-08-01 15:44:16 -04:00 committed by GitHub
parent d2bad8fb6a
commit d816ac6122
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
70 changed files with 2164 additions and 6080 deletions

View file

@ -61,37 +61,37 @@ void EnBoom_SetupAction(EnBoom* this, EnBoomActionFunc actionFunc) {
void EnBoom_Init(Actor* thisx, GlobalContext* globalCtx) {
EnBoom* this = THIS;
EffectBlureInit1 trail;
EffectBlureInit1 blure;
this->actor.room = -1;
Actor_ProcessInitChain(&this->actor, sInitChain);
trail.p1StartColor[0] = 255;
trail.p1StartColor[1] = 255;
trail.p1StartColor[2] = 100;
trail.p1StartColor[3] = 255;
blure.p1StartColor[0] = 255;
blure.p1StartColor[1] = 255;
blure.p1StartColor[2] = 100;
blure.p1StartColor[3] = 255;
trail.p2StartColor[0] = 255;
trail.p2StartColor[1] = 255;
trail.p2StartColor[2] = 100;
trail.p2StartColor[3] = 64;
blure.p2StartColor[0] = 255;
blure.p2StartColor[1] = 255;
blure.p2StartColor[2] = 100;
blure.p2StartColor[3] = 64;
trail.p1EndColor[0] = 255;
trail.p1EndColor[1] = 255;
trail.p1EndColor[2] = 100;
trail.p1EndColor[3] = 0;
blure.p1EndColor[0] = 255;
blure.p1EndColor[1] = 255;
blure.p1EndColor[2] = 100;
blure.p1EndColor[3] = 0;
trail.p2EndColor[0] = 255;
trail.p2EndColor[1] = 255;
trail.p2EndColor[2] = 100;
trail.p2EndColor[3] = 0;
blure.p2EndColor[0] = 255;
blure.p2EndColor[1] = 255;
blure.p2EndColor[2] = 100;
blure.p2EndColor[3] = 0;
trail.elemDuration = 8;
trail.unkFlag = 0;
trail.calcMode = 0;
blure.elemDuration = 8;
blure.unkFlag = 0;
blure.calcMode = 0;
Effect_Add(globalCtx, &this->effectIndex, EFFECT_BLURE1, 0, 0, &trail);
Effect_Add(globalCtx, &this->effectIndex, EFFECT_BLURE1, 0, 0, &blure);
Collider_InitQuad(globalCtx, &this->collider);
Collider_SetQuad(globalCtx, &this->collider, &this->actor, &sQuadInit);

File diff suppressed because it is too large Load diff

View file

@ -6,17 +6,110 @@
struct EnTest;
typedef void (*EnTestActionFunc)(struct EnTest*, GlobalContext*);
typedef enum {
/* 0x00 */ STALFOS_LIMB_NONE,
/* 0x01 */ STALFOS_LIMB_ROOT,
/* 0x02 */ STALFOS_LIMB_UPPERBODY_ROOT,
/* 0x03 */ STALFOS_LIMB_CORE_LOWER_ROOT,
/* 0x04 */ STALFOS_LIMB_CORE_UPPER_ROOT,
/* 0x05 */ STALFOS_LIMB_NECK_ROOT,
/* 0x06 */ STALFOS_LIMB_HEAD_ROOT,
/* 0x07 */ STALFOS_LIMB_7,
/* 0x08 */ STALFOS_LIMB_8,
/* 0x09 */ STALFOS_LIMB_JAW_ROOT,
/* 0x0A */ STALFOS_LIMB_JAW,
/* 0x0B */ STALFOS_LIMB_HEAD,
/* 0x0C */ STALFOS_LIMB_NECK_UPPER,
/* 0x0D */ STALFOS_LIMB_NECK_LOWER,
/* 0x0E */ STALFOS_LIMB_CORE_UPPER,
/* 0x0F */ STALFOS_LIMB_CHEST,
/* 0x10 */ STALFOS_LIMB_SHOULDER_R_ROOT,
/* 0x11 */ STALFOS_LIMB_SHOULDER_ARMOR_R_ROOT,
/* 0x12 */ STALFOS_LIMB_SHOULDER_ARMOR_R,
/* 0x13 */ STALFOS_LIMB_SHOULDER_L_ROOT,
/* 0x14 */ STALFOS_LIMB_SHOULDER_ARMOR_L_ROOT,
/* 0x15 */ STALFOS_LIMB_SHOULDER_ARMOR_L,
/* 0x16 */ STALFOS_LIMB_ARM_L_ROOT,
/* 0x17 */ STALFOS_LIMB_UPPERARM_L_ROOT,
/* 0x18 */ STALFOS_LIMB_FOREARM_L_ROOT,
/* 0x19 */ STALFOS_LIMB_HAND_L_ROOT,
/* 0x1A */ STALFOS_LIMB_HAND_L,
/* 0x1B */ STALFOS_LIMB_SHIELD,
/* 0x1C */ STALFOS_LIMB_FOREARM_L,
/* 0x1D */ STALFOS_LIMB_UPPERARM_L,
/* 0x1E */ STALFOS_LIMB_ARM_R_ROOT,
/* 0x1F */ STALFOS_LIMB_UPPERARM_R_ROOT,
/* 0x20 */ STALFOS_LIMB_FOREARM_R_ROOT,
/* 0x21 */ STALFOS_LIMB_HAND_R_ROOT,
/* 0x22 */ STALFOS_LIMB_SWORD,
/* 0x23 */ STALFOS_LIMB_HAND_R,
/* 0x24 */ STALFOS_LIMB_FOREARM_R,
/* 0x25 */ STALFOS_LIMB_UPPERARM_R,
/* 0x26 */ STALFOS_LIMB_CORE_LOWER,
/* 0x27 */ STALFOS_LIMB_LOWERBODY_ROOT,
/* 0x28 */ STALFOS_LIMB_WAIST_ROOT,
/* 0x29 */ STALFOS_LIMB_LEGS_ROOT,
/* 0x2A */ STALFOS_LIMB_LEG_L_ROOT,
/* 0x2B */ STALFOS_LIMB_THIGH_L_ROOT,
/* 0x2C */ STALFOS_LIMB_LOWERLEG_L_ROOT,
/* 0x2D */ STALFOS_LIMB_ANKLE_L_ROOT,
/* 0x2E */ STALFOS_LIMB_ANKLE_L,
/* 0x2F */ STALFOS_LIMB_FOOT_L_ROOT,
/* 0x30 */ STALFOS_LIMB_FOOT_L,
/* 0x31 */ STALFOS_LIMB_LOWERLEG_L,
/* 0x32 */ STALFOS_LIMB_THIGH_L,
/* 0x33 */ STALFOS_LIMB_LEG_R_ROOT,
/* 0x34 */ STALFOS_LIMB_THIGH_R_ROOT,
/* 0x35 */ STALFOS_LIMB_LOWERLEG_R_ROOT,
/* 0x36 */ STALFOS_LIMB_ANKLE_R_ROOT,
/* 0x37 */ STALFOS_LIMB_ANKLE_R,
/* 0x38 */ STALFOS_LIMB_FOOT_R_ROOT,
/* 0x39 */ STALFOS_LIMB_FOOT_R,
/* 0x3A */ STALFOS_LIMB_LOWERLEG_R,
/* 0x3B */ STALFOS_LIMB_THIGH_R,
/* 0x3C */ STALFOS_LIMB_WAIST,
/* 0x3D */ STALFOS_LIMB_MAX
} StalfosLimb;
typedef struct EnTest {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x03C];
/* 0x0188 */ SkelAnime Animation_188;
/* 0x01CC */ Vec3s jointTable_1CC[61];
/* 0x033A */ Vec3s transitionTbl_16E[61];
/* 0x04A8 */ SkelAnime Animation_4A8;
/* 0x04EC */ Vec3s jointTable_4EC[61];
/* 0x065A */ Vec3s transitionTbl_65A[61];
/* 0x07C8 */ char unk_7C8[0x160];
} EnTest; // size = 0x0928
/* 0x000 */ Actor actor;
/* 0x14C */ Vec3s bodyPartsPos[10];
/* 0x188 */ SkelAnime skelAnime;
/* 0x1CC */ Vec3s jointTable[STALFOS_LIMB_MAX];
/* 0x33A */ Vec3s morphTable[STALFOS_LIMB_MAX];
/* 0x4A8 */ SkelAnime upperSkelanime;
/* 0x4EC */ Vec3s upperJointTable[STALFOS_LIMB_MAX];
/* 0x65A */ Vec3s upperMorphTable[STALFOS_LIMB_MAX];
/* 0x7C8 */ u8 unk_7C8;
/* 0x7CC */ EnTestActionFunc actionFunc;
/* 0x7D0 */ Vec3s headRot;
/* 0x7D6 */ Vec3s headRotOffset;
/* 0x7DC */ u8 unk_7DC;
/* 0x7DD */ char unk_7DD[0x1];
/* 0x7DE */ u8 unk_7DE;
/* 0x7E0 */ s16 iceTimer;
/* 0x7E2 */ u8 lastDamageEffect;
/* 0x7E4 */ s32 unk_7E4;
/* 0x7E8 */ s32 timer;
/* 0x7EC */ f32 unk_7EC;
/* 0x7F0 */ BodyBreak bodyBreak;
/* 0x808 */ s8 swordState;
/* 0x80C */ s32 effectIndex;
/* 0x810 */ ColliderCylinder bodyCollider;
/* 0x85C */ ColliderQuad swordCollider;
/* 0x8DC */ ColliderCylinder shieldCollider;
} EnTest; // size = 0x928
typedef enum {
/* 0 */ STALFOS_TYPE_INVISIBLE,
/* 1 */ STALFOS_TYPE_1,
/* 2 */ STALFOS_TYPE_2,
/* 3 */ STALFOS_TYPE_CEILING,
/* 4 */ STALFOS_TYPE_4,
/* 5 */ STALFOS_TYPE_5
} StalfosType;
extern const ActorInit En_Test_InitVars;