mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-12-18 06:12:20 -05:00
Cleanup and fix item00 queues
This commit is contained in:
parent
34bca0bcb4
commit
9bdfb56652
@ -46,16 +46,14 @@ uint8_t ObjTsubo_RandomizerHoldsItem(ObjTsubo* potActor, PlayState* play) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjTsubo_RandomizerSpawnCollectible(ObjTsubo* potActor) {
|
void ObjTsubo_RandomizerSpawnCollectible(ObjTsubo* potActor, PlayState* play) {
|
||||||
EnItem00* item00 =
|
EnItem00* item00 = (EnItem00*)Item_DropCollectible2(play, &potActor->actor.world.pos, ITEM00_SOH_DUMMY);
|
||||||
(EnItem00*)Item_DropCollectible2(gPlayState, &potActor->actor.world.pos, ITEM00_SOH_GIVE_ITEM_ENTRY);
|
|
||||||
item00->randoInf = potActor->potIdentity.randomizerInf;
|
item00->randoInf = potActor->potIdentity.randomizerInf;
|
||||||
item00->itemEntry =
|
item00->itemEntry =
|
||||||
OTRGlobals::Instance->gRandomizer->GetItemFromKnownCheck(potActor->potIdentity.randomizerCheck, GI_NONE);
|
OTRGlobals::Instance->gRandomizer->GetItemFromKnownCheck(potActor->potIdentity.randomizerCheck, GI_NONE);
|
||||||
item00->actor.draw = (ActorFunc)EnItem00_DrawRandomizedItem;
|
item00->actor.draw = (ActorFunc)EnItem00_DrawRandomizedItem;
|
||||||
item00->actor.velocity.y = 8.0f;
|
item00->actor.velocity.y = 8.0f;
|
||||||
item00->actor.speedXZ = 2.0f;
|
item00->actor.speedXZ = 2.0f;
|
||||||
item00->actor.gravity = -0.9f;
|
|
||||||
item00->actor.world.rot.y = Rand_CenteredFloat(65536.0f);
|
item00->actor.world.rot.y = Rand_CenteredFloat(65536.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,12 +66,6 @@ void ObjTsubo_RandomizerInit(void* actorRef) {
|
|||||||
|
|
||||||
potActor->potIdentity =
|
potActor->potIdentity =
|
||||||
Randomizer_IdentifyPot(gPlayState->sceneNum, (s16)actor->world.pos.x, (s16)actor->world.pos.z);
|
Randomizer_IdentifyPot(gPlayState->sceneNum, (s16)actor->world.pos.x, (s16)actor->world.pos.z);
|
||||||
|
|
||||||
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
|
||||||
potActor->potIdentity.isShuffled = true;
|
|
||||||
} else {
|
|
||||||
potActor->potIdentity.isShuffled = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PotOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void* optionalArg) {
|
void PotOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void* optionalArg) {
|
||||||
@ -81,16 +73,16 @@ void PotOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void* optio
|
|||||||
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case VB_POT_DRAW: {
|
case VB_POT_DRAW: {
|
||||||
if (potActor->potIdentity.isShuffled) {
|
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
||||||
*should = false;
|
|
||||||
potActor->actor.draw = (ActorFunc)ObjTsubo_RandomizerDraw;
|
potActor->actor.draw = (ActorFunc)ObjTsubo_RandomizerDraw;
|
||||||
|
*should = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VB_POT_DROP_ITEM: {
|
case VB_POT_DROP_ITEM: {
|
||||||
if (potActor->potIdentity.isShuffled) {
|
if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
|
||||||
|
ObjTsubo_RandomizerSpawnCollectible(potActor, gPlayState);
|
||||||
*should = false;
|
*should = false;
|
||||||
ObjTsubo_RandomizerSpawnCollectible(potActor);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -79,10 +79,6 @@ class SpoilerCollectionCheck {
|
|||||||
static auto RandomizerInf(const uint16_t flag) {
|
static auto RandomizerInf(const uint16_t flag) {
|
||||||
return SpoilerCollectionCheck(SPOILER_CHK_RANDOMIZER_INF, 0x00, flag);
|
return SpoilerCollectionCheck(SPOILER_CHK_RANDOMIZER_INF, 0x00, flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
static auto Pot(const uint8_t scene, const uint8_t flag) {
|
|
||||||
return SpoilerCollectionCheck(SPOILER_CHK_POT, scene, flag);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class LocationType {
|
enum class LocationType {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -4899,7 +4899,6 @@ typedef struct CowIdentity {
|
|||||||
typedef struct PotIdentity {
|
typedef struct PotIdentity {
|
||||||
RandomizerInf randomizerInf;
|
RandomizerInf randomizerInf;
|
||||||
RandomizerCheck randomizerCheck;
|
RandomizerCheck randomizerCheck;
|
||||||
uint8_t isShuffled;
|
|
||||||
} PotIdentity;
|
} PotIdentity;
|
||||||
|
|
||||||
typedef struct FishIdentity {
|
typedef struct FishIdentity {
|
||||||
|
Loading…
Reference in New Issue
Block a user