* En_Kgy

* NBS

* PR

* PR

* PR
This commit is contained in:
Maide 2021-09-02 16:27:26 +01:00 committed by GitHub
parent b3816cd26b
commit 1f4973d9b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1161 additions and 81 deletions

View File

@ -2135,7 +2135,7 @@ void Interface_ChangeAlpha(u16 param_1);
// void func_80111CB4(void);
// void func_801129E4(void);
void func_80112AFC(GlobalContext* globalCtx);
// void func_80112B40(void);
void func_80112B40(GlobalContext* globalCtx, s32 arg1);
// void func_80112BE4(void);
// void func_80112C0C(void);
u32 Item_Give(GlobalContext* globalCtx, u8 param_2);

View File

@ -52,6 +52,8 @@
#define ALL_EQUIP_VALUE(equip) ((gSaveContext.inventory.equipment & gEquipMasks[equip]) >> gEquipShifts[equip])
#define CUR_EQUIP_VALUE(equip) ((gSaveContext.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip])
#define CUR_UPG_VALUE(upg) ((gSaveContext.inventory.upgrades & gUpgradeMasks[upg]) >> gUpgradeShifts[upg])
#define TAKE_EQUIPPED_ITEM(equip) (gSaveContext.equips.equipment = ((((void)0, gSaveContext.equips.equipment) & (gEquipNegMasks[equip])) | (u16)(0 << gEquipShifts[equip])))
#define CUR_FORM_EQUIP(button) (gSaveContext.equips.buttonItems[gSaveContext.playerForm == PLAYER_FORM_HUMAN ? 0 : gSaveContext.playerForm][button])
#define CHECK_QUEST_ITEM(item) (((void)0, gSaveContext.inventory.questItems) & gBitFlags[item])
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]

View File

@ -56,6 +56,11 @@
#define Z_PRIORITY_DMAMGR 17
#define Z_PRIORITY_IRQMGR 18
#define EQUIP_SLOT_B 0
#define EQUIP_SLOT_C_LEFT 1
#define EQUIP_SLOT_C_DOWN 2
#define EQUIP_SLOT_C_RIGHT 3
typedef struct {
/* 0x0 */ s16 priority; // Lower means higher priority. -1 means it ignores priority
/* 0x2 */ s16 length;

3
spec
View File

@ -4185,8 +4185,7 @@ beginseg
name "ovl_En_Kgy"
compress
include "build/src/overlays/actors/ovl_En_Kgy/z_en_kgy.o"
include "build/data/ovl_En_Kgy/ovl_En_Kgy.data.o"
include "build/data/ovl_En_Kgy/ovl_En_Kgy.reloc.o"
include "build/src/overlays/actors/ovl_En_Kgy/ovl_En_Kgy_reloc.o"
endseg
beginseg

View File

@ -177,19 +177,18 @@ u16 gScenesPerRegion[11][27] = {
s32 func_8012EC80(GlobalContext* globalCtx) {
if (gSaveContext.buttonStatus[0] == BTN_DISABLED) {
return 0xFF;
} else if (gSaveContext.unk_1015 == 0xFF) {
return 0xFF;
} else if (gSaveContext.equips.buttonItems[((gSaveContext.playerForm == 4) ? 0 : gSaveContext.playerForm)][0] ==
0xFF) {
return ITEM_NONE;
} else if (gSaveContext.unk_1015 == ITEM_NONE) {
return ITEM_NONE;
} else if (CUR_FORM_EQUIP(EQUIP_SLOT_B) == ITEM_NONE) {
if (globalCtx->interfaceCtx.unk_21C != 0) {
if (globalCtx->interfaceCtx.unk_21E != 0) {
return globalCtx->interfaceCtx.unk_21E;
}
}
return 0xFF;
return ITEM_NONE;
} else {
return gSaveContext.equips.buttonItems[((gSaveContext.playerForm == 4) ? 0 : gSaveContext.playerForm)][0];
return CUR_FORM_EQUIP(EQUIP_SLOT_B);
}
}

View File

@ -911,10 +911,7 @@ void EnFsn_DeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
itemGiven = func_80123810(globalCtx);
if (itemGiven > 0) {
if (player->heldItemButton == 0) {
buttonItem =
gSaveContext.equips
.buttonItems[(gSaveContext.playerForm == PLAYER_FORM_HUMAN) ? 0 : gSaveContext.playerForm]
[player->heldItemButton];
buttonItem = CUR_FORM_EQUIP(player->heldItemButton);
} else {
buttonItem = gSaveContext.equips.buttonItems[0][player->heldItemButton];
}

File diff suppressed because it is too large Load Diff

View File

@ -7,10 +7,33 @@ struct EnKgy;
typedef void (*EnKgyActionFunc)(struct EnKgy*, GlobalContext*);
#define ENKGY_GET_1F(thisx) ((thisx)->params & 0x1F)
#define ENKGY_GET_FE00(thisx) (((thisx)->params & 0xFE00) >> 9)
typedef struct EnKgy {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x1C0];
/* 0x0304 */ EnKgyActionFunc actionFunc;
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ Vec3s jointTable[23];
/* 0x212 */ Vec3s morphTable[23];
/* 0x29C */ u16 unk_29C;
/* 0x2A0 */ EnKbt* zubora;
/* 0x2A4 */ ObjIcePoly* iceBlock;
/* 0x2A8 */ Vec3f unk_2A8;
/* 0x2B4 */ Vec3f unk_2B4;
/* 0x2C0 */ Vec3f unk_2C0;
/* 0x2CC */ Vec3s unk_2CC;
/* 0x2D2 */ s16 unk_2D2;
/* 0x2D4 */ s16 unk_2D4[6];
/* 0x2E0 */ s16 unk_2E0;
/* 0x2E2 */ s16 unk_2E2;
/* 0x2E4 */ s16 unk_2E4;
/* 0x2E6 */ s16 unk_2E6;
/* 0x2E8 */ s16 unk_2E8;
/* 0x2EA */ s16 unk_2EA;
/* 0x2EC */ LightInfo lightInfo;
/* 0x2FC */ LightNode* lightNode;
/* 0x300 */ s16 unk_300;
/* 0x304 */ EnKgyActionFunc actionFunc;
} EnKgy; // size = 0x308
extern const ActorInit En_Kgy_InitVars;

View File

@ -2668,6 +2668,17 @@ D_0600EE58 = 0x0600EE58;
D_0600F180 = 0x0600F180;
D_0600F6A0 = 0x0600F6A0;
D_0600F910 = 0x0600F910;
D_060008FC = 0x060008FC;
D_0600292C = 0x0600292C;
D_060042E4 = 0x060042E4;
D_060101F0 = 0x060101F0;
D_06001764 = 0x06001764;
D_06003334 = 0x06003334;
D_06010B84 = 0x06010B84;
D_06001EA4 = 0x06001EA4;
D_06003D88 = 0x06003D88;
D_04001D00 = 0x04001D00;
D_040021A8 = 0x040021A8;
// ovl_En_Kitan