mirror of https://github.com/zeldaret/mm.git
parent
b3816cd26b
commit
1f4973d9b4
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
3
spec
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue