mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-04 23:14:37 +00:00
Decompile a bunch of objects (#603)
* Mostly done but shifted * still messed up * Almost OK * OBJECT_JYA_OBJ OK, OBJECT_GR OK * Done * Merge master and format * Cleanup * Cleanup 2 * Start object MB dont merge yet * Object_MB OK * Object_ydan_objects OK * General 'ydan' actor cleanup * Forgot some small things * Object_EC OK * add .gitkeep and run format * Object_sd OK but no textures cause of a zap issue * PR fixes * Fix object_sd * fix ydan * delete .gitkeep files * OBJECT_BOX as far as it can go with current ZAP * Fix undefined_syms * Start child link object * Push progress, dont merge yet * Object_mori_objects OK * Fixed? * Fix conflicts again * Seems like i missed some textures * Extract data for BgBombwall * More field * ZAP YEP 2.0 * Object_Box OK * Object_SD ok. Ready to merge * remove ASM and merge master * remove ASM * remove files wrongfully added to docs/ * Almost done * Change comment in z_player_lib.c * forgot some DLists in player_lib.c * Fix conflict, run format * Same as before but this time with Tex and TLUT * Last few things * fix object_GR and add limbs to object_sd * Nane -> Name * gChildDekuShieldMtx is now a matrix and not a blob * PR fixes (Fig) * add a space for comment in z_player_lib.c * re push and new lines * PR fixes (AngheloAlf) * PR fixes (Roman) * Fix Heishi2 * PR fixes (Fig) * Replace spacing in a file * PR fixes (Roman)
This commit is contained in:
parent
36fead60a0
commit
201c9ec1cd
72 changed files with 1499 additions and 1128 deletions
|
@ -1,4 +1,5 @@
|
|||
#include "global.h"
|
||||
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_8006F0A0.s")
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "objects/object_link_child/object_link_child.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 flag;
|
||||
|
@ -11,7 +12,7 @@ typedef struct {
|
|||
/* 0x04 */ Vec3f pos;
|
||||
} BowStringData; // size = 0x10
|
||||
|
||||
FlexSkeletonHeader* gPlayerSkelHeaders[] = { 0x060377F4, 0x0602CF6C };
|
||||
FlexSkeletonHeader* gPlayerSkelHeaders[] = { 0x060377F4, &gLinkChildSkel };
|
||||
|
||||
s16 sBootData[PLAYER_BOOTS_MAX][17] = {
|
||||
{ 200, 1000, 300, 700, 550, 270, 600, 350, 800, 600, -100, 600, 590, 750, 125, 200, 130 },
|
||||
|
@ -44,146 +45,164 @@ u8 gPlayerModelTypes[][5] = {
|
|||
};
|
||||
|
||||
Gfx* D_80125CE8[] = {
|
||||
0x060226E0, 0x06014320, 0x06027690, 0x06016620, 0x060226E0, 0x06014440, 0x06027690, 0x06016740,
|
||||
0x06022970, 0x06014320, 0x06027918, 0x06016620, 0x060241C0, 0x06014320, 0x06028B40, 0x06016620,
|
||||
0x060226E0, gLinkChildRightHandClosedNearDL, 0x06027690, gLinkChildRightHandClosedFarDL,
|
||||
0x060226E0, gLinkChildRightFistAndDekuShieldNearDL, 0x06027690, gLinkChildRightFistAndDekuShieldFarDL,
|
||||
0x06022970, gLinkChildRightHandClosedNearDL, 0x06027918, gLinkChildRightHandClosedFarDL,
|
||||
0x060241C0, gLinkChildRightHandClosedNearDL, 0x06028B40, gLinkChildRightHandClosedFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125D28[] = {
|
||||
0x06023160, 0x06015248, 0x06027F00, 0x06017360, 0x06023160, 0x06014D68, 0x06027F00, 0x06016EE8,
|
||||
0x06020A78, 0x060148A8, 0x06025FB8, 0x06016A98, 0x060211B8, 0x06015248, 0x060264F0, 0x06017360,
|
||||
0x06023160, gLinkChildSwordAndSheathNearDL,
|
||||
0x06027F00, gLinkChildSwordAndSheathFarDL,
|
||||
0x06023160, gLinkChildDekuShieldSwordAndSheathNearDL,
|
||||
0x06027F00, gLinkChildDekuShieldSwordAndSheathFarDL,
|
||||
0x06020A78, gLinkChildHylianShieldSwordAndSheathNearDL,
|
||||
0x06025FB8, gLinkChildHylianShieldSwordAndSheathFarDL,
|
||||
0x060211B8, gLinkChildSwordAndSheathNearDL,
|
||||
0x060264F0, gLinkChildSwordAndSheathFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125D68[] = {
|
||||
NULL, NULL, NULL, NULL, NULL, 0x06022688, NULL, 0x06022688,
|
||||
NULL, NULL, NULL, NULL, NULL, gLinkChildDekuShieldWithMatrixDL, NULL, gLinkChildDekuShieldWithMatrixDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125D88[] = {
|
||||
0x060249D8, 0x06015408, 0x06028150, 0x06017500, 0x060249D8, 0x06015010, 0x06028150, 0x06017150,
|
||||
0x06020E70, 0x06014B40, 0x060262B8, 0x06016CF8, 0x060216B0, 0x06015408, 0x06026910, 0x06017500,
|
||||
NULL, NULL, NULL, NULL, 0x060249D8, 0x06022688, 0x060249D8, 0x06022688,
|
||||
0x060249D8, gLinkChildSheathNearDL,
|
||||
0x06028150, gLinkChildSheathFarDL,
|
||||
0x060249D8, gLinkChildDekuShieldAndSheathNearDL,
|
||||
0x06028150, gLinkChildDekuShieldAndSheathFarDL,
|
||||
0x06020E70, gLinkChildHylianShieldAndSheathNearDL,
|
||||
0x060262B8, gLinkChildHylianShieldAndSheathFarDL,
|
||||
0x060216B0, gLinkChildSheathNearDL,
|
||||
0x06026910, gLinkChildSheathFarDL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
0x060249D8, gLinkChildDekuShieldWithMatrixDL,
|
||||
0x060249D8, gLinkChildDekuShieldWithMatrixDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125DE8[] = {
|
||||
0x060238C8, 0x06015540, 0x060286B8, 0x06015540, 0x06023D50, 0x06015540, 0x060291E8, 0x06015540,
|
||||
0x060238C8, gLinkChildLeftHandHoldingMasterSwordDL, 0x060286B8, gLinkChildLeftHandHoldingMasterSwordDL,
|
||||
0x06023D50, gLinkChildLeftHandHoldingMasterSwordDL, 0x060291E8, gLinkChildLeftHandHoldingMasterSwordDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E08[] = {
|
||||
0x06021AA8,
|
||||
0x06013CB0,
|
||||
gLinkChildLeftHandNearDL,
|
||||
0x06026C58,
|
||||
0x06016280,
|
||||
gLinkChildLeftHandFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E18[] = {
|
||||
0x06021CE8,
|
||||
0x06013E18,
|
||||
gLinkChildLeftFistNearDL,
|
||||
0x06026DF0,
|
||||
0x060163C0,
|
||||
gLinkChildLeftFistFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E28[] = {
|
||||
0x06021F78,
|
||||
0x06013F38,
|
||||
gLinkChildLeftFistAndKokiriSwordNearDL,
|
||||
0x06027078,
|
||||
0x06017630,
|
||||
gLinkChildLeftFistAndKokiriSwordFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E38[] = {
|
||||
0x06021F78,
|
||||
0x06013F38,
|
||||
gLinkChildLeftFistAndKokiriSwordNearDL,
|
||||
0x06027078,
|
||||
0x06017630,
|
||||
gLinkChildLeftFistAndKokiriSwordFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E48[] = {
|
||||
0x06022498,
|
||||
0x060141C0,
|
||||
gLinkChildRightHandNearDL,
|
||||
0x060274F8,
|
||||
0x060164E0,
|
||||
gLinkChildRightHandFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E58[] = {
|
||||
0x060226E0,
|
||||
0x06014320,
|
||||
gLinkChildRightHandClosedNearDL,
|
||||
0x06027690,
|
||||
0x06016620,
|
||||
gLinkChildRightHandClosedFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E68[] = {
|
||||
0x06022DA8,
|
||||
0x06015DF0,
|
||||
gLinkChildRightHandHoldingFairySlingshotNearDL,
|
||||
0x06027B88,
|
||||
0x06017D38,
|
||||
gLinkChildRightHandHoldingFairySlingshotFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E78[] = {
|
||||
0x06023160,
|
||||
0x06015248,
|
||||
gLinkChildSwordAndSheathNearDL,
|
||||
0x06027F00,
|
||||
0x06017360,
|
||||
gLinkChildSwordAndSheathFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E88[] = {
|
||||
0x060249D8,
|
||||
0x06015408,
|
||||
gLinkChildSheathNearDL,
|
||||
0x06028150,
|
||||
0x06017500,
|
||||
gLinkChildSheathFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125E98[] = {
|
||||
0x06035330,
|
||||
0x060202A8,
|
||||
gLinkChildWaistNearDL,
|
||||
0x0602F530,
|
||||
0x0601AEC8,
|
||||
gLinkChildWaistFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125EA8[] = {
|
||||
0x06022DA8,
|
||||
0x06015DF0,
|
||||
gLinkChildRightHandHoldingFairySlingshotNearDL,
|
||||
0x06027B88,
|
||||
0x06017D38,
|
||||
gLinkChildRightHandHoldingFairySlingshotFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125EB8[] = {
|
||||
0x06024698,
|
||||
0x06015BA8,
|
||||
gLinkChildRightHandHoldingFairyOcarinaNearDL,
|
||||
0x06028F58,
|
||||
0x06017AF0,
|
||||
gLinkChildRightHandHoldingFairyOcarinaFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125EC8[] = {
|
||||
0x06024698,
|
||||
0x06015958,
|
||||
gLinkChildRightHandAndOOTNearDL,
|
||||
0x06028F58,
|
||||
0x060178A0,
|
||||
gLinkChildRightHandHoldingOOTFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125ED8[] = {
|
||||
0x06024D70,
|
||||
0x060141C0,
|
||||
gLinkChildRightHandNearDL,
|
||||
0x06024D70,
|
||||
0x060164E0,
|
||||
gLinkChildRightHandFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125EE8[] = {
|
||||
0x060233E0,
|
||||
0x06013CB0,
|
||||
gLinkChildLeftHandNearDL,
|
||||
0x06028288,
|
||||
0x06016280,
|
||||
gLinkChildLeftHandFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125EF8[] = {
|
||||
0x06021AA8,
|
||||
0x06014660,
|
||||
gLinkChildLeftFistAndBoomerangNearDL,
|
||||
0x06026C58,
|
||||
0x06016908,
|
||||
gLinkChildLeftFistAndBoomerangFarDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125F08[] = {
|
||||
0x06024B58,
|
||||
0x06015FD0,
|
||||
gLinkChildLeftHandUpNearDL,
|
||||
0x06024B58,
|
||||
0x06015FD0,
|
||||
gLinkChildLeftHandUpNearDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125F18[] = {
|
||||
|
@ -198,7 +217,7 @@ Gfx* D_80125F20[] = {
|
|||
|
||||
Gfx* D_80125F28[] = {
|
||||
0x06036E58,
|
||||
0x06021AE8,
|
||||
gLinkChildLeftShoulderNearDL,
|
||||
};
|
||||
|
||||
Gfx* D_80125F30[] = {
|
||||
|
@ -208,7 +227,7 @@ Gfx* D_80125F30[] = {
|
|||
|
||||
Gfx* D_80125F38[] = {
|
||||
0x0602A248,
|
||||
0x06018048,
|
||||
gLinkChildRightArmStretchedSlingshotDL,
|
||||
};
|
||||
|
||||
// Indexed by model types (left hand, right hand, sheath or waist)
|
||||
|
@ -599,11 +618,17 @@ u8 sEyeMouthIndexes[][2] = {
|
|||
{ 7, 2 }, { 0, 2 }, { 3, 0 }, { 4, 0 }, { 2, 2 }, { 1, 1 }, { 0, 2 }, { 0, 0 },
|
||||
};
|
||||
|
||||
u8* sEyeTextures[] = {
|
||||
/**
|
||||
* Link's eye and mouth textures are placed at the exact same place in adult and child Link's respective object files.
|
||||
* This allows the array to only contain the symbols for one file and have it apply to both. This is a problem for
|
||||
* shiftability, and changes will need to be made in the code to account for this in a modding scenario. The symbols
|
||||
* from adult Link's object are used here.
|
||||
*/
|
||||
void* sEyeTextures[] = {
|
||||
0x06000000, 0x06000800, 0x06001000, 0x06001800, 0x06002000, 0x06002800, 0x06003000, 0x06003800,
|
||||
};
|
||||
|
||||
u8* sMouthTextures[] = {
|
||||
void* sMouthTextures[] = {
|
||||
0x06004000,
|
||||
0x06004400,
|
||||
0x06004800,
|
||||
|
@ -677,7 +702,7 @@ void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
|
|||
}
|
||||
} else {
|
||||
if (Player_GetStrength() > PLAYER_STR_NONE) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06016118);
|
||||
gSPDisplayList(POLY_OPA_DISP++, gLinkChildGoronBraceletDL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1112,7 +1137,7 @@ f32 sSwordLengths[] = {
|
|||
0.0f, 4000.0f, 3000.0f, 5500.0f, 0.0f, 2500.0f,
|
||||
};
|
||||
|
||||
Gfx* sBottleDLists[] = { 0x0602AD58, 0x06018478 };
|
||||
Gfx* sBottleDLists[] = { 0x0602AD58, gLinkChildBottleDL };
|
||||
|
||||
Color_RGB8 sBottleColors[] = {
|
||||
{ 255, 255, 255 }, { 80, 80, 255 }, { 255, 100, 255 }, { 0, 0, 255 }, { 255, 0, 255 },
|
||||
|
@ -1186,7 +1211,7 @@ void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s*
|
|||
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_player_lib.c", 2653),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06006CC0);
|
||||
gSPDisplayList(POLY_OPA_DISP++, gLinkChildLinkDekuStickDL);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 2656);
|
||||
} else if ((this->actor.scale.y >= 0.0f) && (this->swordState != 0)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue