mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-23 06:35:33 -07:00
chests are working again
This commit is contained in:
parent
5906e71550
commit
974fa03aa4
6 changed files with 54 additions and 7 deletions
|
@ -386,6 +386,9 @@ typedef enum {
|
||||||
/* 0x81 */ GI_MEDALLION_WATER,
|
/* 0x81 */ GI_MEDALLION_WATER,
|
||||||
/* 0x82 */ GI_MEDALLION_SHADOW,
|
/* 0x82 */ GI_MEDALLION_SHADOW,
|
||||||
/* 0x83 */ GI_MEDALLION_SPIRIT,
|
/* 0x83 */ GI_MEDALLION_SPIRIT,
|
||||||
|
/* 0x81 */ GI_STONE_KOKIRI,
|
||||||
|
/* 0x82 */ GI_STONE_GORON,
|
||||||
|
/* 0x83 */ GI_STONE_ZORA,
|
||||||
/* 0x84 */ GI_MAX
|
/* 0x84 */ GI_MAX
|
||||||
} GetItemID;
|
} GetItemID;
|
||||||
|
|
||||||
|
@ -507,6 +510,9 @@ typedef enum {
|
||||||
/* 0x72 */ GID_BULLET_BAG_50,
|
/* 0x72 */ GID_BULLET_BAG_50,
|
||||||
/* 0x73 */ GID_SWORD_KOKIRI,
|
/* 0x73 */ GID_SWORD_KOKIRI,
|
||||||
/* 0x74 */ GID_SKULL_TOKEN_2,
|
/* 0x74 */ GID_SKULL_TOKEN_2,
|
||||||
|
/* 0x74 */ GID_KOKIRI_EMERALD,
|
||||||
|
/* 0x74 */ GID_GORON_RUBY,
|
||||||
|
/* 0x74 */ GID_ZORA_SAPPHIRE,
|
||||||
/* 0x75 */ GID_MAX
|
/* 0x75 */ GID_MAX
|
||||||
} GetItemDrawID;
|
} GetItemDrawID;
|
||||||
|
|
||||||
|
|
|
@ -481,7 +481,7 @@ typedef struct Player {
|
||||||
/* 0x042D */ s8 doorDirection;
|
/* 0x042D */ s8 doorDirection;
|
||||||
/* 0x042E */ s16 doorTimer;
|
/* 0x042E */ s16 doorTimer;
|
||||||
/* 0x0430 */ Actor* doorActor;
|
/* 0x0430 */ Actor* doorActor;
|
||||||
/* 0x0434 */ u8 getItemId;
|
/* 0x0434 */ s16 getItemId;
|
||||||
/* 0x0436 */ u16 getItemDirection;
|
/* 0x0436 */ u16 getItemDirection;
|
||||||
/* 0x0438 */ Actor* interactRangeActor;
|
/* 0x0438 */ Actor* interactRangeActor;
|
||||||
/* 0x043C */ s8 mountSide;
|
/* 0x043C */ s8 mountSide;
|
||||||
|
|
|
@ -1007,6 +1007,12 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
|
||||||
return GI_MEDALLION_SHADOW;
|
return GI_MEDALLION_SHADOW;
|
||||||
case SPIRIT_MEDALLION:
|
case SPIRIT_MEDALLION:
|
||||||
return GI_MEDALLION_SPIRIT;
|
return GI_MEDALLION_SPIRIT;
|
||||||
|
case KOKIRI_EMERALD:
|
||||||
|
return GI_STONE_KOKIRI;
|
||||||
|
case GORON_RUBY:
|
||||||
|
return GI_STONE_GORON;
|
||||||
|
case ZORA_SAPPHIRE:
|
||||||
|
return GI_STONE_ZORA;
|
||||||
default:
|
default:
|
||||||
return ogItemId;
|
return ogItemId;
|
||||||
}
|
}
|
||||||
|
@ -1034,6 +1040,20 @@ RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 act
|
||||||
case 93:
|
case 93:
|
||||||
return QUEEN_GOHMA;
|
return QUEEN_GOHMA;
|
||||||
}
|
}
|
||||||
|
case 18:
|
||||||
|
switch (actorId) {
|
||||||
|
case 95:
|
||||||
|
return DODONGOS_CAVERN_KING_DODONGO_HEART;
|
||||||
|
case 93:
|
||||||
|
return KING_DODONGO;
|
||||||
|
}
|
||||||
|
case 19:
|
||||||
|
switch (actorId) {
|
||||||
|
case 95:
|
||||||
|
return JABU_JABUS_BELLY_BARINADE_HEART;
|
||||||
|
case 93:
|
||||||
|
return BARINADE;
|
||||||
|
}
|
||||||
case 40:
|
case 40:
|
||||||
switch(actorParams) {
|
switch(actorParams) {
|
||||||
case 22944:
|
case 22944:
|
||||||
|
|
|
@ -367,6 +367,12 @@ DrawItemTableEntry sDrawItemTable[] = {
|
||||||
{ GetItem_DrawOpa0, { gGiKokiriSwordDL } },
|
{ GetItem_DrawOpa0, { gGiKokiriSwordDL } },
|
||||||
// gold skulltula token, OBJECT_ST
|
// gold skulltula token, OBJECT_ST
|
||||||
{ GetItem_DrawSkullToken, { object_st_DL_004DB0, object_st_DL_004EB8 } },
|
{ GetItem_DrawSkullToken, { object_st_DL_004DB0, object_st_DL_004EB8 } },
|
||||||
|
|
||||||
|
{ GetItem_DrawOpa0Xlu1, { gGiKokiriEmeraldGemDL, gGiKokiriEmeraldSettingDL } },
|
||||||
|
// fire medallion, OBJECT_GI_MEDAL
|
||||||
|
{ GetItem_DrawOpa0Xlu1, { gGiGoronRubySettingDL, gGiGoronRubyGemDL } },
|
||||||
|
// water medallion, OBJECT_GI_MEDAL
|
||||||
|
{ GetItem_DrawOpa0Xlu1, { gGiZoraSapphireSettingDL, gGiZoraSapphireGemDL, } },
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -530,9 +530,14 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
if (globalCtx->sceneNum == SCENE_DDAN_BOSS) {
|
if (globalCtx->sceneNum == SCENE_DDAN_BOSS) {
|
||||||
if (!Flags_GetEventChkInf(0x25)) {
|
if (!Flags_GetEventChkInf(0x25)) {
|
||||||
Flags_SetEventChkInf(0x25);
|
Flags_SetEventChkInf(0x25);
|
||||||
|
if (gSaveContext.n64ddFlag) {
|
||||||
|
globalCtx->nextEntranceIndex = 0x47A;
|
||||||
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
|
} else {
|
||||||
Item_Give(globalCtx, ITEM_GORON_RUBY);
|
Item_Give(globalCtx, ITEM_GORON_RUBY);
|
||||||
globalCtx->nextEntranceIndex = 0x13D;
|
globalCtx->nextEntranceIndex = 0x13D;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x47A;
|
globalCtx->nextEntranceIndex = 0x47A;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
|
@ -640,9 +645,16 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||||
gSaveContext.eventChkInf[3] |= 0x80;
|
gSaveContext.eventChkInf[3] |= 0x80;
|
||||||
|
|
||||||
|
if (gSaveContext.n64ddFlag) {
|
||||||
|
globalCtx->nextEntranceIndex = 0x10E;
|
||||||
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
|
} else {
|
||||||
Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE);
|
Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE);
|
||||||
globalCtx->nextEntranceIndex = 0x10E;
|
globalCtx->nextEntranceIndex = 0x10E;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||||
|
}
|
||||||
|
|
||||||
globalCtx->sceneLoadFlag = 0x14;
|
globalCtx->sceneLoadFlag = 0x14;
|
||||||
globalCtx->fadeTransition = 7;
|
globalCtx->fadeTransition = 7;
|
||||||
}
|
}
|
||||||
|
|
|
@ -627,6 +627,9 @@ static GetItemEntry sGetItemTable[] = {
|
||||||
GET_ITEM(ITEM_MEDALLION_WATER, OBJECT_GI_MEDAL, GID_MEDALLION_WATER, 0x3D, 0x80, CHEST_ANIM_LONG),
|
GET_ITEM(ITEM_MEDALLION_WATER, OBJECT_GI_MEDAL, GID_MEDALLION_WATER, 0x3D, 0x80, CHEST_ANIM_LONG),
|
||||||
GET_ITEM(ITEM_MEDALLION_SHADOW, OBJECT_GI_MEDAL, GID_MEDALLION_SHADOW, 0x41, 0x80, CHEST_ANIM_LONG),
|
GET_ITEM(ITEM_MEDALLION_SHADOW, OBJECT_GI_MEDAL, GID_MEDALLION_SHADOW, 0x41, 0x80, CHEST_ANIM_LONG),
|
||||||
GET_ITEM(ITEM_MEDALLION_SPIRIT, OBJECT_GI_MEDAL, GID_MEDALLION_SPIRIT, 0x3F, 0x80, CHEST_ANIM_LONG),
|
GET_ITEM(ITEM_MEDALLION_SPIRIT, OBJECT_GI_MEDAL, GID_MEDALLION_SPIRIT, 0x3F, 0x80, CHEST_ANIM_LONG),
|
||||||
|
GET_ITEM(ITEM_KOKIRI_EMERALD, OBJECT_GI_COIN, GID_NCOIN_GREEN, 0x80, 0x80, CHEST_ANIM_LONG),
|
||||||
|
GET_ITEM(ITEM_GORON_RUBY, OBJECT_GI_COIN, GID_NCOIN_RED, 0x81, 0x80, CHEST_ANIM_LONG),
|
||||||
|
GET_ITEM(ITEM_ZORA_SAPPHIRE, OBJECT_GI_COIN, GID_NCOIN_BLUE, 0x82, 0x80, CHEST_ANIM_LONG),
|
||||||
GET_ITEM_NONE,
|
GET_ITEM_NONE,
|
||||||
GET_ITEM_NONE,
|
GET_ITEM_NONE,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue