diff --git a/projects/mtg/Makefile b/projects/mtg/Makefile index c3752d418..65a08e269 100644 --- a/projects/mtg/Makefile +++ b/projects/mtg/Makefile @@ -1,4 +1,4 @@ -OBJS = objs/ActionElement.o objs/ActionLayer.o objs/ActionStack.o objs/AIMomirPlayer.o objs/AIPlayer.o objs/AIStats.o objs/Blocker.o objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.o objs/ConstraintResolver.o objs/Counters.o objs/Credits.o objs/Damage.o objs/DamagerDamaged.o objs/DamageResolverLayer.o objs/DeckDataWrapper.o objs/DeckStats.o objs/DuelLayers.o objs/ExtraCost.o objs/GameApp.o objs/GameLauncher.o objs/GameObserver.o objs/GameOptions.o objs/GameStateDuel.o objs/GameStateMenu.o objs/GameStateOptions.o objs/GameStateShop.o objs/GuiCardsController.o objs/GuiLayers.o objs/Logger.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o objs/MTGAbility.o objs/MTGCardInstance.o objs/MTGCard.o objs/MTGDeck.o objs/MTGDefinitions.o objs/MTGGamePhase.o objs/MTGGameZones.o objs/MTGGuiHand.o objs/MTGGuiPlay.o objs/MTGRules.o objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/PriceList.o objs/ShopItem.o objs/SimpleMenu.o objs/SimpleMenuItem.o objs/Subtypes.o objs/TargetChooser.o objs/TargetsList.o objs/TextScroller.o objs/TexturesCache.o objs/Token.o objs/Translate.o objs/utils.o objs/WEvent.o +OBJS = objs/ActionElement.o objs/ActionLayer.o objs/ActionStack.o objs/AIMomirPlayer.o objs/AIPlayer.o objs/AIStats.o objs/Blocker.o objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.o objs/CardEffect.o objs/ConstraintResolver.o objs/Counters.o objs/Credits.o objs/Damage.o objs/DamagerDamaged.o objs/DamageResolverLayer.o objs/DeckDataWrapper.o objs/DeckStats.o objs/DuelLayers.o objs/Effects.o objs/ExtraCost.o objs/GameApp.o objs/GameLauncher.o objs/GameObserver.o objs/GameOptions.o objs/GameStateDuel.o objs/GameStateMenu.o objs/GameStateOptions.o objs/GameStateShop.o objs/GuiCardsController.o objs/GuiLayers.o objs/Logger.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o objs/MTGAbility.o objs/MTGCardInstance.o objs/MTGCard.o objs/MTGDeck.o objs/MTGDefinitions.o objs/MTGGamePhase.o objs/MTGGameZones.o objs/MTGGuiHand.o objs/MTGGuiPlay.o objs/MTGRules.o objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/PriceList.o objs/ShopItem.o objs/SimpleMenu.o objs/SimpleMenuItem.o objs/Subtypes.o objs/TargetChooser.o objs/TargetsList.o objs/TextScroller.o objs/TexturesCache.o objs/Token.o objs/Translate.o objs/utils.o objs/WEvent.o DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS)) RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache) @@ -32,7 +32,7 @@ LIBS = -ljge300 -lhgetools -lfreetype -ljpeg -lgif -lpng -lz -lm -lmikmod -lpspp EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = WTH?! PSP_EBOOT_ICON = icon.png -CXXFLAGS = -O2 -G0 -Wall -DDEVHOOK -DPSPFW3XX -fno-exceptions -fno-rtti +CXXFLAGS = -O2 -G0 -Wall -DDEVHOOK -DPSPFW3XX -fno-exceptions INCDIR = ../../JGE/include ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src LIBDIR = ../../JGE/lib/psp else @@ -41,7 +41,7 @@ INCDIR = -I ../../JGE/include -I ../../JGE/src LIBDIR = -L ../../JGE/lib/linux -L ../../JGE LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lglut -lhgetools -lfmod-3.75 CFLAGS = $(INCDIR) -O2 -Wall -W -Werror -Wno-unused -DDEVHOOK -DLINUX -CXXFLAGS += $(CFLAGS) -fno-exceptions -fno-rtti +CXXFLAGS += $(CFLAGS) -fno-exceptions ASFLAGS = $(CXXFLAGS) all: $(DEFAULT_RULE) @@ -52,7 +52,7 @@ LDFLAGS = $(LIBS) -debug: CXXFLAGS = -Wall -W -Werror -Wno-unused -DDEVHOOK -DPSPFW3XX -fno-exceptions -fno-rtti -ggdb3 -D_DEBUG -DDEBUG -DLINUX $(INCDIR) +debug: CXXFLAGS = -Wall -W -Werror -Wno-unused -DDEVHOOK -DPSPFW3XX -fno-exceptions -ggdb3 -D_DEBUG -DDEBUG -DLINUX $(INCDIR) diff --git a/projects/mtg/include/WEvent.h b/projects/mtg/include/WEvent.h index c45f9de68..612289e2c 100644 --- a/projects/mtg/include/WEvent.h +++ b/projects/mtg/include/WEvent.h @@ -13,6 +13,7 @@ public: }; int type; WEvent(int _type); + virtual ~WEvent() {}; }; class WEventZoneChange: public WEvent{ @@ -21,6 +22,7 @@ public: MTGGameZone * from; MTGGameZone * to; WEventZoneChange(MTGCardInstance * _card, MTGGameZone * _from, MTGGameZone *_to); + virtual ~WEventZoneChange() {}; }; @@ -30,4 +32,4 @@ public: WEventDamage(Damage * _damage); }; -#endif \ No newline at end of file +#endif diff --git a/projects/mtg/src/MTGGuiPlay.cpp b/projects/mtg/src/MTGGuiPlay.cpp index ee8967075..a901fde78 100644 --- a/projects/mtg/src/MTGGuiPlay.cpp +++ b/projects/mtg/src/MTGGuiPlay.cpp @@ -172,11 +172,10 @@ void MTGGuiPlay::forceUpdateCards(){ Player * player = game->players[0]; int player0Mode =(game->currentPlayer == player); int nb_cards = player->game->inPlay->nb_cards; - resetObjects(); - AddPlayersGuiInfo(); - offset = mCount; - - bool hasFocus = player0Mode; + resetObjects(); + AddPlayersGuiInfo(); + offset = mCount; + bool hasFocus = player0Mode; offset = 6; Player * opponent = game->players[1]; @@ -200,8 +199,9 @@ void MTGGuiPlay::forceUpdateCards(){ } int MTGGuiPlay::receiveEvent(WEvent *event){ - if (event->type == WEvent::CHANGE_ZONE){ - WEventZoneChange * e = (WEventZoneChange *) event; + if (event->type == WEvent::CHANGE_ZONE){ + WEventZoneChange * e = dynamic_cast(event); + if (!event) return 0; int ok = 0; for (int i = 0; i < 2 ; i++){ Player * p = game->players[i]; @@ -211,7 +211,7 @@ int MTGGuiPlay::receiveEvent(WEvent *event){ forceUpdateCards(); return 1; } - return 0; + return 0; } void MTGGuiPlay::updateCards(){