World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура ArcomageGame

#include <Arcomage.h>

+ Граф связей класса ArcomageGame:

Открытые члены

 ArcomageGame ()
 

Открытые статические члены

static bool LoadSprites ()
 
static bool MsgLoop (int a1, ArcomageGame_InputMSG *a2)
 
static void PlaySound (unsigned int event_id)
 
static void OnMouseClick (char right_left, bool bDown)
 
static void OnMouseMove (int x, int y)
 
static void GetCardRect (unsigned int uCardID, Rect *pCardRect)
 
static void PrepareArcomage ()
 
static void Loop ()
 

Открытые атрибуты

char field_0 = 0
 
char field_1 = 0
 
char field_2 = 0
 
char field_3 = 0
 
int field_4 = 0
 
ArcomageGame_InputMSG stru1
 
int mouse_x = 0
 
int mouse_y = 0
 
char mouse_left = 0
 
char field_39 = 0
 
char mouse_right = 0
 
char field_3B = 0
 
uint16_tpSpritesPixels = nullptr
 
uint16_tpBlit_Copy_pixels = nullptr
 
GUIFontpfntComic = nullptr
 
GUIFontpfntArrus = nullptr
 
int field_50 = 0
 
int field_54 = 0
 
TexturepGameBackground = nullptr
 
TexturepSprites = nullptr
 
int event_timer_time = 0
 
int uGameWinner = 0
 
int Victory_type = 0
 
char pPlayer1Name [32] = ""
 
char pPlayer2Name [32] = ""
 
char force_am_exit = 0
 
char GameOver = 0
 
char force_redraw_1 = 0
 
char prev_mouse_left = 0
 
char prev_mouse_right = 0
 
char check_exit = 0
 
char bGameInProgress = 0
 

Подробное описание

См. определение в файле Arcomage.h строка 114

Конструктор(ы)

◆ ArcomageGame()

ArcomageGame::ArcomageGame ( )
inline

См. определение в файле Arcomage.h строка 115

115 {}

Методы

◆ LoadSprites()

bool ArcomageGame::LoadSprites ( )
static

См. определение в файле Arcomage.cpp строка 581

581  {
582  // load layout sprite
585  return true;
586 }

Перекрестные ссылки assets, AssetsManager::GetImage_PCXFromIconsLOD(), Image::GetPixels(), IMAGE_FORMAT_R5G6B5, pArcomageGame, pSprites и pSpritesPixels.

Используется в PrepareArcomage().

+ Граф вызовов:
+ Граф вызова функции:

◆ MsgLoop()

bool ArcomageGame::MsgLoop ( int  a1,
ArcomageGame_InputMSG a2 
)
static

См. определение в файле Arcomage.cpp строка 570

570  {
571  void *v2 = a2;
572  pArcomageGame->field_0 = 0;
574 
575  window->PeekSingleMessage();
576 
577  memcpy(v2, &pArcomageGame->stru1, 0xCu);
578  return pArcomageGame->stru1.am_input_type != 0;
579 }

Перекрестные ссылки ArcomageGame_InputMSG::am_input_type, field_0, pArcomageGame и stru1.

Используется в Loop(), PlayerTurn() и TurnChange().

+ Граф вызова функции:

◆ PlaySound()

void ArcomageGame::PlaySound ( unsigned int  event_id)
static

См. определение в файле Arcomage.cpp строка 493

493  {
494  SoundID play_sound_id; // eax@10
495 
496  switch (event_id) {
497  case 40:
498  case 43:
499  case 46:
500  play_sound_id = SOUND_bricks_down;
501  break;
502  case 39:
503  case 41:
504  case 42:
505  case 44:
506  case 45:
507  case 47:
508  play_sound_id = SOUND_bricks_up;
509  break;
510  case 0:
511  case 12:
512  case 14:
513  case 15:
514  case 16:
515  case 48:
516  case 50:
517  case 53:
518  play_sound_id = SOUND_damage;
519  break;
520  case 21:
521  case 22:
522  case 23:
523  play_sound_id = SOUND_deal;
524  break;
525  case 56:
526  play_sound_id = SOUND_defeat;
527  break;
528  case 31:
529  case 34:
530  case 37:
531  play_sound_id = SOUND_querry_up;
532  break;
533  case 1:
534  case 30:
535  case 32:
536  case 33:
537  case 35:
538  case 36:
539  case 38:
540  play_sound_id = SOUND_querry_down;
541  break;
542  case 20:
543  play_sound_id = SOUND_shuffle;
544  break;
545  case 3:
546  play_sound_id = SOUND_title;
547  break;
548  case 52:
549  case 54:
550  play_sound_id = SOUND_tower_up;
551  break;
552  case 10:
553  case 11:
554  case 13:
555  play_sound_id = SOUND_typing;
556  break;
557  case 55:
558  play_sound_id = SOUND_victory;
559  break;
560  case 49:
561  case 51:
562  play_sound_id = SOUND_wall_up;
563  break;
564  default:
565  return;
566  }
567  pAudioPlayer->PlaySound(play_sound_id, 0, 0, -1, 0, 0);
568 }

Перекрестные ссылки pAudioPlayer, AudioPlayer::PlaySound(), SOUND_bricks_down, SOUND_bricks_up, SOUND_damage, SOUND_deal, SOUND_defeat, SOUND_querry_down, SOUND_querry_up, SOUND_shuffle, SOUND_title, SOUND_tower_up, SOUND_typing, SOUND_victory и SOUND_wall_up.

Используется в ApplyCardToPlayer(), DiscardCard(), FillPlayerDeck(), GetNextCardFromDeck() и PlayCard().

+ Граф вызовов:
+ Граф вызова функции:

◆ OnMouseClick()

void ArcomageGame::OnMouseClick ( char  right_left,
bool  bDown 
)
static

См. определение в файле Arcomage.cpp строка 196

196  {
197  if (right_left)
198  pArcomageGame->mouse_right = bDown;
199  else
200  pArcomageGame->mouse_left = bDown;
201 }

Перекрестные ссылки mouse_left, mouse_right и pArcomageGame.

Используется в Application::GameWindowHandler::OnMouseLeftClick(), Application::GameWindowHandler::OnMouseLeftUp(), Application::GameWindowHandler::OnMouseMove(), Application::GameWindowHandler::OnMouseRightClick() и Application::GameWindowHandler::OnMouseRightUp().

+ Граф вызова функции:

◆ OnMouseMove()

void ArcomageGame::OnMouseMove ( int  x,
int  y 
)
static

См. определение в файле Arcomage.cpp строка 203

203  {
206 }

Перекрестные ссылки mouse_x, mouse_y и pArcomageGame.

Используется в Application::GameWindowHandler::OnMouseMove().

+ Граф вызова функции:

◆ GetCardRect()

void ArcomageGame::GetCardRect ( unsigned int  uCardID,
Rect pCardRect 
)
static

См. определение в файле Arcomage.cpp строка 2077

2077  {
2078  // get card image position from layout
2079  // slot encoded as 'YX' eg 76 = yslot 7 and xslot 6
2080  int xslot = pCards[uCardID].slot % 10;
2081  int yslot = pCards[uCardID].slot / 10;
2082  pCardRect->y = 128 * yslot + 220;
2083  pCardRect->x = 96 * xslot;
2084  pCardRect->w = pCardRect->y + 128;
2085  pCardRect->z = pCardRect->x + 96;
2086 }

Перекрестные ссылки pCards, ArcomageCard::slot, Rect::w, Rect::x, Rect::y и Rect::z.

Используется в DrawCardAnimation() и DrawCards().

+ Граф вызова функции:

◆ PrepareArcomage()

void ArcomageGame::PrepareArcomage ( )
static

См. определение в файле Arcomage.cpp строка 2982

2982  {
2983  // stop all audio and set player names
2984  pAudioPlayer->StopChannels(-1, -1);
2987 
2988  // load in background pic and render
2990  render->DrawTextureNew(0, 0, pArcomageGame->pGameBackground);
2991  render->Present();
2992 
2993  // load in layout pic containing all AM sprites and set fonts
2997 
2998  // calc and clear shown table card slots
3001  for (int i = 0; i < 10; ++i) {
3002  int xslot = (i + 1) % 4;
3003  int yslot = (i + 1) / 4;
3004  shown_cards[i].uCardId = -1;
3005  shown_cards[i].discarded = 0;
3006  shown_cards[i].table_pos.x = 100 * xslot + 120;
3007  shown_cards[i].table_pos.y = 138 * yslot + 18;
3008  shown_cards[i].hide_anim_spd.x = -100 * xslot / 5;
3009  shown_cards[i].hide_anim_spd.y = -138 * yslot / 5;
3012  }
3013 
3014  // create new explosion effect struct array
3015  for (int i = 0; i < 10; ++i)
3016  am_effects_array[i].explosion_eff = explosion_effect_struct::New();
3017 
3018  // load in start condtions and create initial deck and deal
3019  SetStartGameData();
3020  InitalHandsFill();
3021 
3022  // set card params
3024  drawn_card_slot_index = -1;
3026 
3027  // set exiting params
3030  pArcomageGame->GameOver = 0;
3031 }

Перекрестные ссылки am_effects_array, assets, check_exit, current_card_slot_index, AcromageCardOnTable::discarded, drawn_card_slot_index, force_am_exit, GameOver, AssetsManager::GetImage_PCXFromIconsLOD(), AcromageCardOnTable::hide_anim_pos, AcromageCardOnTable::hide_anim_spd, hide_card_anim_runnning, hide_card_anim_start, InitalHandsFill(), LoadSprites(), need_to_discard_card, explosion_effect_struct::New(), pArcomageGame, pAudioPlayer, pfntArrus, pfntComic, pFontArrus, pFontComic, pGameBackground, Player1Name, Player2Name, pPlayer1Name, pPlayer2Name, render, SetStartGameData(), shown_cards, AudioPlayer::StopChannels(), AcromageCardOnTable::table_pos, AcromageCardOnTable::uCardId, Point::x, sPoint::x, Point::y и sPoint::y.

Используется в Application::Game::EventLoop().

+ Граф вызовов:
+ Граф вызова функции:

◆ Loop()

void ArcomageGame::Loop ( )
static

См. определение в файле Arcomage.cpp строка 896

896  {
897  bool am_turn_not_finished = 0;
898  while (!pArcomageGame->GameOver) {
900  am_turn_not_finished = 1;
902  // LABEL_8:
903  while (am_turn_not_finished) {
904  played_card_id = -1;
906  while (1) {
907  am_turn_not_finished = PlayerTurn(current_player_num);
911  break;
912  }
914  if (pArcomageGame->force_am_exit) break;
915  }
916  }
920  }
921 
922 
924 
925  if (pArcomageGame->check_exit == 0) {
926  // add in pause till keypress here
928  int frame_quant_time;
929  int cnt = 0;
930  while (1) {
931  // frame limiter apprx 32fps 128 / 32 = 4
932  do {
933  frame_quant_time = (int)pEventTimer->Time() - (int)pArcomageGame->event_timer_time;
934  } while (frame_quant_time < 4);
936 
937  ArcomageGame::MsgLoop(20, &v10);
938  if (v10.am_input_type == 1) {
939  if (v10.field_4) break;
940  continue;
941  }
942  if ((v10.am_input_type == 7) || (v10.am_input_type == 8)) break;
943  if (v10.am_input_type == 10) break;
944 
945  Point explos_coords;
946 
947  cnt++;
948  if (cnt >= 8) {
949  cnt = 0;
950  if (pArcomageGame->uGameWinner == 1) {
951  if (am_Players[1].tower_height > 0) {
952  int div = (am_Players[1].tower_height / 10);
953  if (div == 0) div = 1;
954  am_Players[1].tower_height -= div;
955  explos_coords.x = 514;
956  explos_coords.y = 296;
957  new_explosion_effect(&explos_coords, -div);
958  }
959  if (am_Players[1].wall_height > 0) {
960  int div = (am_Players[1].wall_height / 10);
961  if (div == 0) div = 1;
962  am_Players[1].wall_height -= div;
963  explos_coords.x = 442;
964  explos_coords.y = 296;
965  new_explosion_effect(&explos_coords, -div);
966  }
967  } else {
968  if (am_Players[0].tower_height > 0) {
969  int div = (am_Players[0].tower_height / 10);
970  if (div == 0) div = 1;
971  am_Players[0].tower_height -= div;
972  explos_coords.x = 122;
973  explos_coords.y = 296;
974  new_explosion_effect(&explos_coords, -div);
975  }
976  if (am_Players[0].wall_height > 0) {
977  int div = (am_Players[0].wall_height / 10);
978  if (div == 0) div = 1;
979  am_Players[0].wall_height -= div;
980  explos_coords.x = 180;
981  explos_coords.y = 296;
982  new_explosion_effect(&explos_coords, -div);
983  }
984  }
985  }
986 
987  // draw you lost/ you won + fireworks
988 
989  int rand = rand_interval(0, 38);
990  if (rand == 38) {
991  if (pArcomageGame->uGameWinner == 1) {
992  explos_coords.x = rand_interval(75, 175);
993  explos_coords.y = rand_interval(50, 150);
994  new_explosion_effect(&explos_coords, 5);
995  } else {
996  explos_coords.x = rand_interval(465, 565);
997  explos_coords.y = rand_interval(50, 150);
998  new_explosion_effect(&explos_coords, 5);
999  }
1000  }
1001 
1002 
1003  DrawGameUI(0);
1004  }
1005  }
1006 
1007  for (int i = 0; i < 10; ++i) {
1010  }
1011 
1013  pArcomageGame->pGameBackground = nullptr;
1014 
1016  pArcomageGame->pSprites = nullptr;
1017 
1018  pArcomageGame->bGameInProgress = false;
1019  viewparams->bRedrawGameUI = true;
1020 
1022 }

Перекрестные ссылки am_effects_array, ArcomageGame_InputMSG::am_input_type, am_Players, BackToHouseMenu(), bGameInProgress, ViewingParams::bRedrawGameUI, check_exit, explosion_effect_struct::Clear(), current_player_num, DrawGameUI(), event_timer_time, am_effects_struct::explosion_eff, ArcomageGame_InputMSG::field_4, force_am_exit, force_redraw_1, explosion_effect_struct::Free(), GameOver, GameResultsApply(), GetNextCardFromDeck(), GetPlayerHandCardCount(), IncreaseResourcesInTurn(), IsGameOver(), minimum_cards_at_hand, MsgLoop(), need_to_discard_card, new_explosion_effect(), pArcomageGame, pEventTimer, pGameBackground, played_card_id, PlayerTurn(), pMovie_Track, pSprites, rand_interval(), Image::Release(), Timer::Time(), ArcomagePlayer::tower_height, TurnChange(), uGameWinner, viewparams, ArcomagePlayer::wall_height, Point::x и Point::y.

Используется в Application::Game::GameLoop().

+ Граф вызовов:
+ Граф вызова функции:

Данные класса

◆ field_0

char ArcomageGame::field_0 = 0

См. определение в файле Arcomage.h строка 129

Используется в MsgLoop().

◆ field_1

char ArcomageGame::field_1 = 0

См. определение в файле Arcomage.h строка 130

◆ field_2

char ArcomageGame::field_2 = 0

См. определение в файле Arcomage.h строка 131

◆ field_3

char ArcomageGame::field_3 = 0

См. определение в файле Arcomage.h строка 132

◆ field_4

int ArcomageGame::field_4 = 0

См. определение в файле Arcomage.h строка 133

◆ stru1

◆ mouse_x

int ArcomageGame::mouse_x = 0

См. определение в файле Arcomage.h строка 136

Используется в OnMouseMove() и arcomage_mouse::Update().

◆ mouse_y

int ArcomageGame::mouse_y = 0

См. определение в файле Arcomage.h строка 137

Используется в OnMouseMove() и arcomage_mouse::Update().

◆ mouse_left

char ArcomageGame::mouse_left = 0

См. определение в файле Arcomage.h строка 138

Используется в OnMouseClick() и arcomage_mouse::Update().

◆ field_39

char ArcomageGame::field_39 = 0

См. определение в файле Arcomage.h строка 139

◆ mouse_right

char ArcomageGame::mouse_right = 0

См. определение в файле Arcomage.h строка 140

Используется в OnMouseClick() и arcomage_mouse::Update().

◆ field_3B

char ArcomageGame::field_3B = 0

См. определение в файле Arcomage.h строка 141

◆ pSpritesPixels

uint16_t* ArcomageGame::pSpritesPixels = nullptr

См. определение в файле Arcomage.h строка 143

Используется в Render::am_Blt_Chroma(), DrawGameUI() и LoadSprites().

◆ pBlit_Copy_pixels

uint16_t* ArcomageGame::pBlit_Copy_pixels = nullptr

См. определение в файле Arcomage.h строка 144

Используется в Render::am_Blt_Chroma() и DrawGameUI().

◆ pfntComic

GUIFont* ArcomageGame::pfntComic = nullptr

См. определение в файле Arcomage.h строка 145

Используется в DrawPlayersText() и PrepareArcomage().

◆ pfntArrus

GUIFont* ArcomageGame::pfntArrus = nullptr

См. определение в файле Arcomage.h строка 146

Используется в DrawPlayersText() и PrepareArcomage().

◆ field_50

int ArcomageGame::field_50 = 0

См. определение в файле Arcomage.h строка 147

◆ field_54

int ArcomageGame::field_54 = 0

См. определение в файле Arcomage.h строка 148

Используется в DrawCards(), DrawPlayerLevels(), DrawPlayersTowers(), DrawPlayersWall() и DrawRectanglesForText().

◆ pGameBackground

Texture* ArcomageGame::pGameBackground = nullptr

См. определение в файле Arcomage.h строка 149

Используется в DrawGameUI(), Loop() и PrepareArcomage().

◆ pSprites

Texture* ArcomageGame::pSprites = nullptr

См. определение в файле Arcomage.h строка 150

Используется в Render::am_Blt_Chroma(), LoadSprites() и Loop().

◆ event_timer_time

int ArcomageGame::event_timer_time = 0

См. определение в файле Arcomage.h строка 151

Используется в Loop() и PlayerTurn().

◆ uGameWinner

int ArcomageGame::uGameWinner = 0

См. определение в файле Arcomage.h строка 152

Используется в GameResultsApply(), Loop(), PlayerTurn() и TavernDialog().

◆ Victory_type

int ArcomageGame::Victory_type = 0

См. определение в файле Arcomage.h строка 153

Используется в GameResultsApply() и PlayerTurn().

◆ pPlayer1Name

char ArcomageGame::pPlayer1Name[32] = ""

См. определение в файле Arcomage.h строка 154

Используется в PrepareArcomage() и SetStartGameData().

◆ pPlayer2Name

char ArcomageGame::pPlayer2Name[32] = ""

См. определение в файле Arcomage.h строка 155

Используется в PrepareArcomage() и SetStartGameData().

◆ force_am_exit

char ArcomageGame::force_am_exit = 0

См. определение в файле Arcomage.h строка 156

Используется в Loop(), PlayerTurn(), PrepareArcomage() и TurnChange().

◆ GameOver

char ArcomageGame::GameOver = 0

См. определение в файле Arcomage.h строка 157

Используется в DrawGameUI(), Loop(), PlayerTurn() и PrepareArcomage().

◆ force_redraw_1

◆ prev_mouse_left

char ArcomageGame::prev_mouse_left = 0

См. определение в файле Arcomage.h строка 159

Используется в arcomage_mouse::Update().

◆ prev_mouse_right

char ArcomageGame::prev_mouse_right = 0

См. определение в файле Arcomage.h строка 160

Используется в arcomage_mouse::Update().

◆ check_exit

char ArcomageGame::check_exit = 0

◆ bGameInProgress


Объявления и описания членов структур находятся в файлах:
ArcomageGame::pSprites
Texture * pSprites
Definition: Arcomage.h:150
ArcomageGame::mouse_y
int mouse_y
Definition: Arcomage.h:137
Timer::Time
uint64_t Time()
Definition: Time.cpp:11
ArcomageGame::force_am_exit
char force_am_exit
Definition: Arcomage.h:156
Rect::x
int x
Definition: Rect.h:4
GetPlayerHandCardCount
int GetPlayerHandCardCount(int player_num)
Definition: Arcomage.cpp:2088
SOUND_typing
@ SOUND_typing
Definition: AudioPlayer.h:66
pArcomageGame
ArcomageGame * pArcomageGame
Definition: Arcomage.cpp:97
Rect::w
int w
Definition: Rect.h:7
ArcomageGame::mouse_left
char mouse_left
Definition: Arcomage.h:138
current_player_num
int current_player_num
Definition: Arcomage.cpp:141
AudioPlayer::PlaySound
void PlaySound(SoundID eSoundID, int pid, unsigned int uNumRepeats, int x, int y, int a7)
Definition: AudioPlayer.cpp:195
sPoint::y
int y
Definition: Point.h:16
hide_card_anim_start
char hide_card_anim_start
Definition: Arcomage.cpp:164
Rect::z
int z
Definition: Rect.h:6
GetNextCardFromDeck
void GetNextCardFromDeck(int player_num)
Definition: Arcomage.cpp:1143
ArcomagePlayer::wall_height
int wall_height
Definition: Arcomage.h:95
Point::x
unsigned int x
Definition: Point.h:7
ArcomageGame::pPlayer2Name
char pPlayer2Name[32]
Definition: Arcomage.h:155
SOUND_shuffle
@ SOUND_shuffle
Definition: AudioPlayer.h:63
current_card_slot_index
int current_card_slot_index
Definition: Arcomage.cpp:145
ArcomagePlayer::tower_height
int tower_height
Definition: Arcomage.h:94
AssetsManager::GetImage_PCXFromIconsLOD
Texture * GetImage_PCXFromIconsLOD(const String &name)
Definition: AssetsManager.cpp:81
pMovie_Track
PMovie pMovie_Track
Definition: MediaPlayer.cpp:44
PlayerTurn
char PlayerTurn(int player_num)
Definition: Arcomage.cpp:1271
ArcomageGame::pfntComic
GUIFont * pfntComic
Definition: Arcomage.h:145
SOUND_wall_up
@ SOUND_wall_up
Definition: AudioPlayer.h:68
ArcomageGame::pGameBackground
Texture * pGameBackground
Definition: Arcomage.h:149
DrawGameUI
void DrawGameUI(int animation_stage)
Definition: Arcomage.cpp:1414
explosion_effect_struct::New
static explosion_effect_struct * New()
Definition: Arcomage.cpp:208
SOUND_deal
@ SOUND_deal
Definition: AudioPlayer.h:59
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
hide_card_anim_runnning
char hide_card_anim_runnning
Definition: Arcomage.cpp:165
SOUND_tower_up
@ SOUND_tower_up
Definition: AudioPlayer.h:65
ArcomageGame::GameOver
char GameOver
Definition: Arcomage.h:157
ArcomageGame::MsgLoop
static bool MsgLoop(int a1, ArcomageGame_InputMSG *a2)
Definition: Arcomage.cpp:570
pFontArrus
GUIFont * pFontArrus
Definition: GUIFont.cpp:18
SOUND_damage
@ SOUND_damage
Definition: AudioPlayer.h:58
ArcomageGame::pfntArrus
GUIFont * pfntArrus
Definition: Arcomage.h:146
ArcomageGame_InputMSG::field_4
int field_4
Definition: Arcomage.h:108
BackToHouseMenu
void BackToHouseMenu()
Definition: UIHouses.cpp:3991
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
am_Players
ArcomagePlayer am_Players[2]
Definition: Arcomage.cpp:99
AcromageCardOnTable::table_pos
Point table_pos
Definition: Arcomage.h:86
InitalHandsFill
void InitalHandsFill()
Definition: Arcomage.cpp:1134
viewparams
struct ViewingParams * viewparams
Definition: mm7_data.cpp:22
sPoint::x
int x
Definition: Point.h:15
IncreaseResourcesInTurn
void IncreaseResourcesInTurn(int player_num)
Definition: Arcomage.cpp:1184
ArcomageGame::uGameWinner
int uGameWinner
Definition: Arcomage.h:152
IMAGE_FORMAT_R5G6B5
@ IMAGE_FORMAT_R5G6B5
Definition: Image.h:5
ArcomageGame::mouse_right
char mouse_right
Definition: Arcomage.h:140
ArcomageGame::stru1
ArcomageGame_InputMSG stru1
Definition: Arcomage.h:134
SOUND_victory
@ SOUND_victory
Definition: AudioPlayer.h:67
AudioPlayer::StopChannels
void StopChannels(int uStartChannel, int uEndChannel)
Definition: AudioPlayer.cpp:331
ArcomageGame::LoadSprites
static bool LoadSprites()
Definition: Arcomage.cpp:581
drawn_card_slot_index
int drawn_card_slot_index
Definition: Arcomage.cpp:162
ArcomageCard::slot
int slot
Definition: Arcomage.h:11
explosion_effect_struct::Free
int Free()
Definition: Arcomage.cpp:223
ArcomageGame::event_timer_time
int event_timer_time
Definition: Arcomage.h:151
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
SOUND_bricks_up
@ SOUND_bricks_up
Definition: AudioPlayer.h:57
TurnChange
void TurnChange()
Definition: Arcomage.cpp:1194
SOUND_defeat
@ SOUND_defeat
Definition: AudioPlayer.h:60
AcromageCardOnTable::discarded
int discarded
Definition: Arcomage.h:85
new_explosion_effect
int new_explosion_effect(Point *a1, int a2)
Definition: Arcomage.cpp:345
SetStartGameData
void SetStartGameData()
Definition: Arcomage.cpp:1024
am_effects_struct::explosion_eff
explosion_effect_struct * explosion_eff
Definition: Arcomage.h:244
SOUND_title
@ SOUND_title
Definition: AudioPlayer.h:64
pFontComic
GUIFont * pFontComic
Definition: GUIFont.cpp:24
SOUND_querry_up
@ SOUND_querry_up
Definition: AudioPlayer.h:61
IsGameOver
bool IsGameOver()
Definition: Arcomage.cpp:1256
ArcomageGame::pSpritesPixels
uint16_t * pSpritesPixels
Definition: Arcomage.h:143
ArcomageGame::check_exit
char check_exit
Definition: Arcomage.h:161
ArcomageGame_InputMSG::am_input_type
int am_input_type
Definition: Arcomage.h:107
Point::y
unsigned int y
Definition: Point.h:8
SOUND_bricks_down
@ SOUND_bricks_down
Definition: AudioPlayer.h:56
ArcomageGame_InputMSG
Definition: Arcomage.h:106
Rect::y
int y
Definition: Rect.h:5
Player1Name
char Player1Name[]
Definition: Arcomage.cpp:107
v2
GLfloat GLfloat GLfloat v2
Definition: SDL_opengl_glext.h:695
assets
AssetsManager * assets
Definition: AssetsManager.cpp:12
Player2Name
char Player2Name[]
Definition: Arcomage.cpp:106
Image::GetPixels
const void * GetPixels(IMAGE_FORMAT format)
Definition: Image.cpp:270
ArcomageGame::mouse_x
int mouse_x
Definition: Arcomage.h:136
ArcomageGame::field_0
char field_0
Definition: Arcomage.h:129
ViewingParams::bRedrawGameUI
int bRedrawGameUI
Definition: Viewport.h:74
SoundID
SoundID
Definition: AudioPlayer.h:10
shown_cards
AcromageCardOnTable shown_cards[10]
Definition: Arcomage.cpp:100
GameResultsApply
void GameResultsApply()
Definition: Arcomage.cpp:2801
pCards
ArcomageCard pCards[87]
Definition: ArcomageCards.cpp:3
pAudioPlayer
AudioPlayer * pAudioPlayer
Definition: AudioPlayer.cpp:20
Point
Definition: Point.h:3
rand_interval
int rand_interval(int min, int max)
Definition: Arcomage.cpp:3077
minimum_cards_at_hand
int minimum_cards_at_hand
Definition: Arcomage.cpp:130
ArcomageGame::bGameInProgress
char bGameInProgress
Definition: Arcomage.h:162
need_to_discard_card
char need_to_discard_card
Definition: Arcomage.cpp:143
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
SOUND_querry_down
@ SOUND_querry_down
Definition: AudioPlayer.h:62
played_card_id
int played_card_id
Definition: Arcomage.cpp:146
AcromageCardOnTable::hide_anim_pos
Point hide_anim_pos
Definition: Arcomage.h:88
Image::Release
bool Release()
Definition: Image.cpp:335
AcromageCardOnTable::uCardId
int uCardId
Definition: Arcomage.h:84
ArcomageGame::force_redraw_1
char force_redraw_1
Definition: Arcomage.h:158
am_effects_array
am_effects_struct am_effects_array[10]
Definition: Arcomage.cpp:101
AcromageCardOnTable::hide_anim_spd
sPoint hide_anim_spd
Definition: Arcomage.h:87
ArcomageGame::pPlayer1Name
char pPlayer1Name[32]
Definition: Arcomage.h:154
explosion_effect_struct::Clear
int Clear(char stop_init, char wipe)
Definition: Arcomage.cpp:258
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52