22 #ifndef TSAGE_RINGWORLD2_OUTPOST_H 23 #define TSAGE_RINGWORLD2_OUTPOST_H 25 #include "tsage/events.h" 26 #include "tsage/core.h" 27 #include "tsage/scenes.h" 28 #include "tsage/globals.h" 29 #include "tsage/sound.h" 30 #include "tsage/ringworld2/ringworld2_logic.h" 34 namespace Ringworld2 {
36 using namespace TsAGE;
47 ~OptionsDialog()
override {}
68 Card _outpostStation[8];
70 Card _emptyStationPos;
82 class Action1337:
public Action {
84 void waitFrames(int32 frameCount);
87 class Action1:
public Action1337 {
89 void signal()
override;
91 class Action2:
public Action1337 {
93 void signal()
override;
95 class Action3:
public Action1337 {
97 void signal()
override;
99 class Action4:
public Action1337 {
101 void signal()
override;
103 class Action5:
public Action1337 {
105 void signal()
override;
107 class Action6:
public Action1337 {
109 void signal()
override;
111 class Action7:
public Action1337 {
113 void signal()
override;
115 class Action8:
public Action1337 {
117 void signal()
override;
119 class Action9:
public Action1337 {
121 void signal()
override;
123 class Action10:
public Action1337 {
125 void signal()
override;
127 class Action11:
public Action1337 {
129 void signal()
override;
131 class Action12:
public Action1337 {
133 void signal()
override;
135 class Action13:
public Action1337 {
137 void signal()
override;
154 typedef void (
Scene1337::*FunctionPtrType)();
155 FunctionPtrType _delayedFunction;
158 bool _shuffleEndedFl;
159 bool _showPlayerTurn;
161 bool _instructionsDisplayedFl;
164 int _currentDiscardIndex;
165 int _availableCardsPile[100];
166 int _cardsAvailableNumb;
167 int _currentPlayerNumb;
168 int _actionPlayerIdx;
169 int _actionVictimIdx;
171 int _instructionsWaitCount;
178 GameBoardSide _gameBoardSide[4];
188 Card _shuffleAnimation;
189 Card _discardedPlatformCard;
200 void actionDisplay(
int resNum,
int lineNum,
int x,
int y,
int keepOnScreen,
int width,
int textMode,
int fontNum,
int colFG,
int colBGExt,
int colFGExt);
201 void setAnimationInfo(Card *card);
202 void handleNextTurn();
203 void handlePlayerTurn();
204 bool isStationCard(
int cardId);
205 bool isStopConstructionCard(
int cardId);
206 int getStationId(
int playerId,
int handCardId);
207 int findPlatformCardInHand(
int playerId);
208 int findMeteorCardInHand(
int playerId);
209 int findThieftCardInHand(
int playerId);
210 int isDelayCard(
int cardId);
211 int getStationCardId(
int cardId);
212 void handlePlayer01Discard(
int playerId);
213 void playThieftCard(
int playerId, Card *card,
int victimId);
214 int getPreventionCardId(
int cardId);
215 bool isAttackPossible(
int victimId,
int cardId);
216 int getPlayerWithOutpost(
int playerId);
217 bool checkAntiDelayCard(
int delayCardId,
int cardId);
218 void playStationCard(Card *station, Card *platform);
219 void playDelayCard(Card *card, Card *dest);
220 void playPlatformCard(Card *card, Card *dest);
221 void playAntiDelayCard(Card *card, Card *dest);
222 Card *getStationCard(
int arg1);
223 void playCentralOutpostCard(Card *card,
int playerId);
224 int getRandomCardFromHand(
int playerId);
225 void discardCard(Card *card);
228 void playInterceptorCard(Card *subObj1, Card *subObj2);
229 void displayDialog(
int dialogNumb);
231 void displayInstructions();
232 void suggestInstructions();
235 void showOptionsDialog();
237 void handlePlayer0();
238 void handlePlayer1();
239 void handlePlayer2();
240 void handlePlayer3();
241 void handleAutoplayPlayer2();
242 void updateCursorId(
int arg1,
bool arg2);
243 void setCursorData(
int resNum,
int rlbNum,
int frameNum);
246 void subD1940(
bool flag);
247 void subD1975(
int arg1,
int arg2);
250 void remove()
override;
251 void process(
Event &event)
override;
252 void dispatch()
override;
Definition: ringworld2_logic.h:78
Definition: ringworld2_logic.h:263
Definition: graphics.h:318
Definition: ringworld2_outpost.h:38
Definition: blueforce_dialogs.h:30
Definition: saveload.h:63