From 94d1267abf5f7a1472deda2e1c88aafcd4b1b7a5 Mon Sep 17 00:00:00 2001 From: Vittorio Alfieri Date: Sun, 7 May 2023 15:13:22 +0200 Subject: [PATCH] Fixed compilation issue on PSP/PSVITA after 76f5a6b commit. --- projects/mtg/src/Rules.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/projects/mtg/src/Rules.cpp b/projects/mtg/src/Rules.cpp index 19a7425e9..9f53e1db6 100644 --- a/projects/mtg/src/Rules.cpp +++ b/projects/mtg/src/Rules.cpp @@ -417,21 +417,34 @@ Player * Rules::loadPlayerRandomFive(GameObserver* observer, int isAI) } Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) -{ +{ +#if !defined (PSP) std::unique_ptr cmdTempDeck(new MTGDeck(MTGCollection())); std::unique_ptr tempDeck(new MTGDeck(MTGCollection())); +#else + MTGDeck * cmdTempDeck = NEW MTGDeck(MTGCollection()); + MTGDeck * tempDeck = NEW MTGDeck(MTGCollection()); +#endif tempDeck->meta_commander = true; string lands[] = { "", "forest", "island", "mountain", "swamp", "plains", "basic", "basic" }; cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); +#if !defined (PSP) std::unique_ptr myCommandZone(new DeckDataWrapper(cmdTempDeck.get())); +#else + DeckDataWrapper * myCommandZone = NEW DeckDataWrapper(cmdTempDeck); +#endif MTGCard * commander = myCommandZone->getCard(0, true); while(!commander->data->isCreature()) { cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); +#if !defined (PSP) myCommandZone.reset(new DeckDataWrapper(cmdTempDeck.get())); +#else + myCommandZone = NEW DeckDataWrapper(cmdTempDeck); +#endif commander = myCommandZone->getCard(0, true); } @@ -468,6 +481,7 @@ Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) string deckFile = "random"; string deckFileSmall = "random"; +#if !defined (PSP) std::unique_ptr player; if (!isAI) // Human Player player.reset(new HumanPlayer(observer, deckFile, deckFileSmall, false, tempDeck.release())); @@ -475,6 +489,15 @@ Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) player.reset(new AIPlayerBaka(observer, deckFile, deckFileSmall, "", tempDeck.release())); return player.release(); +#else + Player *player = NULL; + if (!isAI) // Human Player + player = NEW HumanPlayer(observer, deckFile, deckFileSmall, false, tempDeck); + else + player = NEW AIPlayerBaka(observer, deckFile, deckFileSmall, "", tempDeck); + + return player; +#endif } Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI)