@@ -12,72 +12,75 @@ extern SaveContext gSaveContext;
1212}
1313
1414static bool IsSilverCleared (s16 switchFlag) {
15- bool isMQ =
16- Rando::Context::GetInstance ()->GetDungeons ()->GetDungeonFromScene (gPlayState ->sceneNum )->IsMQ ();
15+ bool isMQ = Rando::Context::GetInstance ()->GetDungeons ()->GetDungeonFromScene (gPlayState ->sceneNum )->IsMQ ();
1716 switch (gPlayState ->sceneNum ) {
1817 case SCENE_DODONGOS_CAVERN:
19- return Flags_GetRandomizerInf (RAND_INF_DODONGOS_CAVERN_MQ_SILVER) ;
18+ return gSaveContext . ship . quest . data . randomizer . silverMqDodongosCavern >= 5 ;
2019 case SCENE_SHADOW_TEMPLE:
2120 switch (switchFlag) {
2221 case 1 :
23- return Flags_GetRandomizerInf (isMQ ? RAND_INF_SHADOW_MQ_SILVER_BLADES
24- : RAND_INF_SHADOW_SILVER_BLADES);
22+
23+ return isMQ ? gSaveContext .ship .quest .data .randomizer .silverMqShadowBlades >= 5
24+ : gSaveContext .ship .quest .data .randomizer .silverShadowBlades >= 5 ;
2525 case 3 :
26- return Flags_GetRandomizerInf (RAND_INF_SHADOW_MQ_SILVER_INVISIBLE_BLADES) ;
26+ return gSaveContext . ship . quest . data . randomizer . silverMqShadowInvisibleBlades >= 10 ;
2727 case 8 :
28- return Flags_GetRandomizerInf ( isMQ ? RAND_INF_SHADOW_MQ_SILVER_SPIKES
29- : RAND_INF_SHADOW_SILVER_SPIKES) ;
28+ return isMQ ? gSaveContext . ship . quest . data . randomizer . silverMqShadowSpikes >= 10
29+ : gSaveContext . ship . quest . data . randomizer . silverShadowSpikes >= 5 ;
3030 case 9 :
31- return Flags_GetRandomizerInf (RAND_INF_SHADOW_SILVER_PIT) ;
31+ return gSaveContext . ship . quest . data . randomizer . silverShadowPit >= 5 ;
3232 case 17 :
33- return Flags_GetRandomizerInf (RAND_INF_SHADOW_MQ_SILVER_PIT) ;
33+ return gSaveContext . ship . quest . data . randomizer . silverMqShadowPit >= 5 ;
3434 }
3535 case SCENE_SPIRIT_TEMPLE:
3636 switch (switchFlag) {
3737 case 0 :
38- return Flags_GetRandomizerInf (RAND_INF_SPIRIT_MQ_SILVER_BIG_WALL) ;
38+ return gSaveContext . ship . quest . data . randomizer . silverMqSpiritBigWall ;
3939 case 2 :
40- return Flags_GetRandomizerInf (RAND_INF_SPIRIT_SILVER_BOULDERS) ;
40+ return gSaveContext . ship . quest . data . randomizer . silverSpiritBoulders ;
4141 case 5 :
42- return Flags_GetRandomizerInf (RAND_INF_SPIRIT_SILVER_CHILD) ;
42+ return gSaveContext . ship . quest . data . randomizer . silverSpiritChild ;
4343 case 10 :
44- return Flags_GetRandomizerInf (RAND_INF_SPIRIT_SILVER_SUN) ;
44+ return gSaveContext . ship . quest . data . randomizer . silverSpiritSun ;
4545 case 55 :
46- return Flags_GetRandomizerInf (RAND_INF_SPIRIT_MQ_SILVER_LOBBY) ;
46+ return gSaveContext . ship . quest . data . randomizer . silverMqSpiritLobby ;
4747 }
4848 case SCENE_BOTTOM_OF_THE_WELL:
49- return Flags_GetRandomizerInf (RAND_INF_BOTW_SILVER) ;
49+ return gSaveContext . ship . quest . data . randomizer . silverBotw >= 5 ;
5050 case SCENE_ICE_CAVERN:
5151 switch (switchFlag) {
5252 case 8 :
53- return Flags_GetRandomizerInf (RAND_INF_ICE_CAVERN_SILVER_BLOCK) ;
53+ return gSaveContext . ship . quest . data . randomizer . silverIceCavernBlock >= 5 ;
5454 case 31 :
55- return Flags_GetRandomizerInf (RAND_INF_ICE_CAVERN_SILVER_BLADES) ;
55+ return gSaveContext . ship . quest . data . randomizer . silverIceCavernBlades >= 5 ;
5656 }
5757 case SCENE_GERUDO_TRAINING_GROUND:
5858 switch (switchFlag) {
5959 case 12 :
60- return Flags_GetRandomizerInf (isMQ ? RAND_INF_GTG_MQ_SILVER_LAVA : RAND_INF_GTG_SILVER_LAVA);
60+ return isMQ ? gSaveContext .ship .quest .data .randomizer .silverMqGtgLava >= 6
61+ : gSaveContext .ship .quest .data .randomizer .silverGtgLava >= 5 ;
6162 case 27 :
62- return Flags_GetRandomizerInf (isMQ ? RAND_INF_GTG_MQ_SILVER_WATER : RAND_INF_GTG_SILVER_WATER);
63+ return isMQ ? gSaveContext .ship .quest .data .randomizer .silverMqGtgWater >= 3
64+ : gSaveContext .ship .quest .data .randomizer .silverGtgWater >= 5 ;
6365 case 28 :
64- return Flags_GetRandomizerInf (isMQ ? RAND_INF_GTG_MQ_SILVER_SLOPE : RAND_INF_GTG_SILVER_SLOPE);
66+ return isMQ ? gSaveContext .ship .quest .data .randomizer .silverMqGtgSlope >= 5
67+ : gSaveContext .ship .quest .data .randomizer .silverGtgSlope >= 5 ;
6568 }
6669 case SCENE_INSIDE_GANONS_CASTLE:
6770 switch (switchFlag) {
6871 case 1 :
69- return Flags_GetRandomizerInf (RAND_INF_GANONS_CASTLE_MQ_SILVER_FIRE) ;
72+ return gSaveContext . ship . quest . data . randomizer . silverMqGanonFire >= 5 ;
7073 case 2 :
71- return Flags_GetRandomizerInf (RAND_INF_GANONS_CASTLE_MQ_SILVER_WATER) ;
74+ return gSaveContext . ship . quest . data . randomizer . silverMqGanonWater >= 5 ;
7275 case 9 :
73- return Flags_GetRandomizerInf (RAND_INF_GANONS_CASTLE_SILVER_FIRE) ;
76+ return gSaveContext . ship . quest . data . randomizer . silverGanonFire >= 5 ;
7477 case 11 :
75- return Flags_GetRandomizerInf ( isMQ ? RAND_INF_GANONS_CASTLE_MQ_SILVER_SHADOW
76- : RAND_INF_GANONS_CASTLE_SILVER_SPIRIT) ;
78+ return isMQ ? gSaveContext . ship . quest . data . randomizer . silverMqGanonShadow >= 5
79+ : gSaveContext . ship . quest . data . randomizer . silverGanonSpirit >= 5 ;
7780 case 14 :
78- return Flags_GetRandomizerInf (RAND_INF_GANONS_CASTLE_SILVER_FOREST) ;
81+ return gSaveContext . ship . quest . data . randomizer . silverGanonForest >= 5 ;
7982 case 18 :
80- return Flags_GetRandomizerInf (RAND_INF_GANONS_CASTLE_SILVER_LIGHT) ;
83+ return gSaveContext . ship . quest . data . randomizer . silverGanonLight >= 5 ;
8184 }
8285 }
8386 return false ;
@@ -89,24 +92,25 @@ void RegisterShuffleSilver() {
8992 COND_VB_SHOULD (VB_SILVER_DESPAWN, shouldRegister, {
9093 EnGSwitch* silver = va_arg (args, EnGSwitch*);
9194 if (silver->type == ENGSWITCH_SILVER_RUPEE) {
92- auto silverIdentity = OTRGlobals::Instance->gRandomizer ->IdentifySilver (gPlayState -> sceneNum ,
93- (s16)silver->actor .world .pos .x , (s16)silver->actor .world .pos .z );
95+ auto silverIdentity = OTRGlobals::Instance->gRandomizer ->IdentifySilver (
96+ gPlayState -> sceneNum , (s16)silver->actor .world .pos .x , (s16)silver->actor .world .pos .z );
9497 *should = true ;
95- LUSLOG_WARN (" !!%d %d %d %d" , silver->type , silverIdentity.randomizerCheck ,
96- (s16)silver-> actor . world . pos . x , (s16)silver->actor .world .pos .z );
98+ LUSLOG_WARN (" !!%d %d %d %d" , silver->type , silverIdentity.randomizerCheck , (s16)silver-> actor . world . pos . x ,
99+ (s16)silver->actor .world .pos .z );
97100 if (silverIdentity.randomizerCheck == RC_UNKNOWN_CHECK ||
98101 Flags_GetRandomizerInf (silverIdentity.randomizerInf )) {
99102 return ;
100103 }
101104
102- auto spawnedActor = (EnItem00*)Actor_Spawn (& gPlayState -> actorCtx , gPlayState , ACTOR_EN_ITEM00,
103- silver-> actor . world . pos . x , silver-> actor . world . pos . y , silver->actor .world .pos .z ,
104- 0 , 0 , 0 , ITEM00_SOH_GIVE_ITEM_ENTRY, false );
105+ auto spawnedActor = (EnItem00*)Actor_Spawn (
106+ & gPlayState -> actorCtx , gPlayState , ACTOR_EN_ITEM00, silver->actor .world .pos .x ,
107+ silver-> actor . world . pos . y , silver-> actor . world . pos . z , 0 , 0 , 0 , ITEM00_SOH_GIVE_ITEM_ENTRY, false );
105108 LUSLOG_WARN (" !!%p" , spawnedActor);
106109 spawnedActor->randoCheck = silverIdentity.randomizerCheck ;
107110 spawnedActor->randoInf = silverIdentity.randomizerInf ;
108111 spawnedActor->itemEntry = Rando::Context::GetInstance ()->GetFinalGIEntry (
109- silverIdentity.randomizerCheck , true , (GetItemID)Rando::StaticData::GetLocation (silverIdentity.randomizerCheck )->GetVanillaItem ());
112+ silverIdentity.randomizerCheck , true ,
113+ (GetItemID)Rando::StaticData::GetLocation (silverIdentity.randomizerCheck )->GetVanillaItem ());
110114 } else if (silver->type == ENGSWITCH_SILVER_TRACKER) {
111115 if (IsSilverCleared (silver->switchFlag )) {
112116 Flags_SetSwitch (gPlayState , silver->switchFlag );
0 commit comments