mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 13:00:11 -07:00
Re-add new preset items to new preset files.
This commit is contained in:
parent
002e8e9f09
commit
30d1932354
3 changed files with 24 additions and 20 deletions
|
@ -44,6 +44,9 @@
|
||||||
"SkipText": 1,
|
"SkipText": 1,
|
||||||
"TextSpeed": 5,
|
"TextSpeed": 5,
|
||||||
"TimeFlowFileSelect": 1,
|
"TimeFlowFileSelect": 1,
|
||||||
|
"TimeSavers": {
|
||||||
|
"SkipJabuJabuFish": 1
|
||||||
|
},
|
||||||
"TwoHandedIdle": 1,
|
"TwoHandedIdle": 1,
|
||||||
"VisualAgony": 1,
|
"VisualAgony": 1,
|
||||||
"WidescreenActorCulling": 1
|
"WidescreenActorCulling": 1
|
||||||
|
|
|
@ -116,6 +116,7 @@
|
||||||
"Story": 1
|
"Story": 1
|
||||||
},
|
},
|
||||||
"SkipForcedDialog": 3,
|
"SkipForcedDialog": 3,
|
||||||
|
"SkipJabuJabuFish": 1,
|
||||||
"SkipMiscInteractions": 1,
|
"SkipMiscInteractions": 1,
|
||||||
"SkipOwlInteractions": 1,
|
"SkipOwlInteractions": 1,
|
||||||
"SkipTowerEscape": 1,
|
"SkipTowerEscape": 1,
|
||||||
|
|
|
@ -7,7 +7,7 @@ extern "C" {
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h"
|
#include "overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h"
|
||||||
#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
|
#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
|
||||||
extern PlayState* gPlayState;
|
extern PlayState* gPlayState;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void EnItem00_DrawRandomizedItem(EnItem00* enItem00, PlayState* play);
|
extern void EnItem00_DrawRandomizedItem(EnItem00* enItem00, PlayState* play);
|
||||||
|
@ -19,7 +19,7 @@ extern "C" void ObjTsubo_RandomizerDraw(Actor* thisx, PlayState* play) {
|
||||||
Gfx_SetupDL_25Opa(play->state.gfxCtx);
|
Gfx_SetupDL_25Opa(play->state.gfxCtx);
|
||||||
Matrix_Scale(potSize, potSize, potSize, MTXMODE_APPLY);
|
Matrix_Scale(potSize, potSize, potSize, MTXMODE_APPLY);
|
||||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
|
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
|
||||||
G_MTX_MODELVIEW | G_MTX_LOAD);
|
G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||||
|
|
||||||
gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gRandoPotDL);
|
gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gRandoPotDL);
|
||||||
CLOSE_DISPS(play->state.gfxCtx);
|
CLOSE_DISPS(play->state.gfxCtx);
|
||||||
|
@ -68,37 +68,37 @@ void RegisterShufflePots() {
|
||||||
ObjTsubo* potActor = static_cast<ObjTsubo*>(actorRef);
|
ObjTsubo* potActor = static_cast<ObjTsubo*>(actorRef);
|
||||||
|
|
||||||
auto potIdentity = OTRGlobals::Instance->gRandomizer->IdentifyPot(gPlayState->sceneNum, (s16)actor->world.pos.x,
|
auto potIdentity = OTRGlobals::Instance->gRandomizer->IdentifyPot(gPlayState->sceneNum, (s16)actor->world.pos.x,
|
||||||
(s16)actor->world.pos.z);
|
(s16)actor->world.pos.z);
|
||||||
ObjectExtension::GetInstance().Set<PotIdentity>(actor, std::move(potIdentity));
|
ObjectExtension::GetInstance().Set<PotIdentity>(actor, std::move(potIdentity));
|
||||||
});
|
});
|
||||||
|
|
||||||
// Draw custom model for pot to indicate it holding a randomized item.
|
// Draw custom model for pot to indicate it holding a randomized item.
|
||||||
COND_VB_SHOULD(VB_POT_SETUP_DRAW, shouldRegister, {
|
COND_VB_SHOULD(VB_POT_SETUP_DRAW, shouldRegister, {
|
||||||
ObjTsubo* potActor = va_arg(args, ObjTsubo*);
|
ObjTsubo* potActor = va_arg(args, ObjTsubo*);
|
||||||
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
||||||
potActor->actor.draw = (ActorFunc)ObjTsubo_RandomizerDraw;
|
potActor->actor.draw = (ActorFunc)ObjTsubo_RandomizerDraw;
|
||||||
*should = false;
|
*should = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Do not spawn vanilla item from pot, instead spawn the ranomized item.
|
// Do not spawn vanilla item from pot, instead spawn the ranomized item.
|
||||||
COND_VB_SHOULD(VB_POT_DROP_ITEM, shouldRegister, {
|
COND_VB_SHOULD(VB_POT_DROP_ITEM, shouldRegister, {
|
||||||
ObjTsubo* potActor = va_arg(args, ObjTsubo*);
|
ObjTsubo* potActor = va_arg(args, ObjTsubo*);
|
||||||
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
||||||
ObjTsubo_RandomizerSpawnCollectible(potActor, gPlayState);
|
ObjTsubo_RandomizerSpawnCollectible(potActor, gPlayState);
|
||||||
*should = false;
|
*should = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Unlock early Ganon's Boss Key doors to allow access to the pots there when pots are shuffled in dungeon
|
// Unlock early Ganon's Boss Key doors to allow access to the pots there when pots are shuffled in dungeon
|
||||||
COND_VB_SHOULD(VB_LOCK_BOSS_DOOR, shouldRegister, {
|
COND_VB_SHOULD(VB_LOCK_BOSS_DOOR, shouldRegister, {
|
||||||
DoorShutter* doorActor = va_arg(args, DoorShutter*);
|
DoorShutter* doorActor = va_arg(args, DoorShutter*);
|
||||||
uint8_t shufflePotSetting = RAND_GET_OPTION(RSK_SHUFFLE_POTS);
|
uint8_t shufflePotSetting = RAND_GET_OPTION(RSK_SHUFFLE_POTS);
|
||||||
if (gPlayState->sceneNum == SCENE_GANONS_TOWER && doorActor->dyna.actor.world.pos.y == 800 &&
|
if (gPlayState->sceneNum == SCENE_GANONS_TOWER && doorActor->dyna.actor.world.pos.y == 800 &&
|
||||||
(shufflePotSetting == RO_SHUFFLE_POTS_DUNGEONS || shufflePotSetting == RO_SHUFFLE_POTS_ALL)) {
|
(shufflePotSetting == RO_SHUFFLE_POTS_DUNGEONS || shufflePotSetting == RO_SHUFFLE_POTS_ALL)) {
|
||||||
*should = false;
|
*should = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void Rando::StaticData::RegisterPotLocations() {
|
void Rando::StaticData::RegisterPotLocations() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue