World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Класс Keyboard

#include <Keyboard.h>

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

 Keyboard ()
 
bool WasKeyPressed (int vKey)
 
void ProcessInputActions ()
 
bool IsShiftHeld ()
 
void EnterCriticalSection ()
 

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

static bool IsKeyBeingHeld (int vKey)
 

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

void(*** vdestructor_ptr )(Keyboard *, bool)
 
unsigned int bUsingAsynKeyboard
 

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

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

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

◆ Keyboard()

Keyboard::Keyboard ( )
inline

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

78 : bUsingAsynKeyboard(false) {}

Методы

◆ WasKeyPressed()

bool Keyboard::WasKeyPressed ( int  vKey)

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

327  {
328  return (GetAsyncKeyState(vKey) & 1) != 0;
329 }

Перекрестные ссылки GetAsyncKeyState().

Используется в Engine::_44F07B() и ProcessInputActions().

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

◆ IsKeyBeingHeld()

bool Keyboard::IsKeyBeingHeld ( int  vKey)
static

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

322  {
323  return (GetAsyncKeyState(vKey) & 0x8001) != 0;
324 }

Перекрестные ссылки GetAsyncKeyState().

Используется в Engine::_44F07B(), Application::Game::OnPressSpace() и ProcessInputActions().

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

◆ ProcessInputActions()

void Keyboard::ProcessInputActions ( )

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

332  {
333  char v4; // al@9
334  // unsigned __int16 v9; // ax@102
335  // int spell_price; // eax@103
336  PartyAction partyAction; // [sp-14h] [bp-1Ch]@20
337  InputAction inputAction; // [sp+0h] [bp-8h]@7
338 
339  if (!engine->config->always_run) {
340  if (this->IsShiftHeld())
342  else
344  } else {
345  if (this->IsShiftHeld())
347  else
349  }
350 
351  // pParty->uFlags2 |= PARTY_FLAGS_2_RUNNING;
352 
353  if (pEventTimer->bPaused) { // game paused
354  for (uint i = 0; i < 30; ++i) {
355  inputAction = (InputAction)i;
357  v4 = WasKeyPressed(
358  pKeyActionMap->pVirtualKeyCodesMapping[inputAction]);
359  else
360  v4 = IsKeyBeingHeld(
361  pKeyActionMap->pVirtualKeyCodesMapping[inputAction]);
362 
363  if (v4) {
364  if (inputAction == INPUT_EventTrigger) {
366  pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Game_Action, 0, 0);
367  continue;
368  }
370  /*v15 = pMessageQueue_50CBD0->uNumMessages;
371  if (pMessageQueue_50CBD0->uNumMessages) {
372  v15 = 0;
373  if (pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].field_8) {
374  v15 = 1;
375  pMessageQueue_50CBD0->uNumMessages = 0;
376  pMessageQueue_50CBD0->pMessages[v15].eType = UIMSG_Escape;
377  pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0;
378  *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0;
379  ++pMessageQueue_50CBD0->uNumMessages;
380  continue;
381  }
382  pMessageQueue_50CBD0->uNumMessages = 0;
383 
384  }*/
385  // pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0);
386  }
387  }
388  }
389  }
390  }
391  if (!pEventTimer->bPaused) { // game running
392  for (uint i = 0; i < 30; ++i) {
393  inputAction = (InputAction)i;
395  v4 = this->WasKeyPressed(pKeyActionMap->pVirtualKeyCodesMapping[inputAction]);
396  else
397  v4 = this->IsKeyBeingHeld(pKeyActionMap->pVirtualKeyCodesMapping[inputAction]);
398  if (v4) {
399  switch (inputAction) {
400  case INPUT_MoveForward:
402  if (!pParty->bTurnBasedModeOn) {
404  partyAction = PARTY_RunForward;
405  else
406  partyAction = PARTY_WalkForward;
407  pPartyActionQueue->Add(partyAction);
408  break;
409  }
410  if (pTurnEngine->turn_stage != TE_WAIT &&
415  partyAction = PARTY_RunForward;
416  else
417  partyAction = PARTY_WalkForward;
418  pPartyActionQueue->Add(partyAction);
419  break;
420  }
421  break;
422  case INPUT_MoveBackwards:
424  if (!pParty->bTurnBasedModeOn) {
425  if (pParty->uFlags2 & 2)
426  partyAction = PARTY_RunBackward;
427  else
428  partyAction = PARTY_WalkBackward;
429  pPartyActionQueue->Add(partyAction);
430  break;
431  }
432  if (pTurnEngine->turn_stage != TE_WAIT &&
436  if (pParty->uFlags2 & 2)
437  partyAction = PARTY_RunBackward;
438  else
439  partyAction = PARTY_WalkBackward;
440  pPartyActionQueue->Add(partyAction);
441  break;
442  }
443  break;
444  case INPUT_StrafeLeft:
446  if (!pParty->bTurnBasedModeOn) {
447  partyAction = PARTY_StrafeLeft;
448  pPartyActionQueue->Add(partyAction);
449  break;
450  }
451  if (pTurnEngine->turn_stage == TE_WAIT ||
454  break;
456  partyAction = PARTY_StrafeLeft;
457  pPartyActionQueue->Add(partyAction);
458  break;
459  case INPUT_StrafeRight:
461  if (!pParty->bTurnBasedModeOn) {
462  partyAction = PARTY_StrafeRight;
463  pPartyActionQueue->Add(partyAction);
464  break;
465  }
466  if (pTurnEngine->turn_stage == TE_WAIT ||
469  break;
471  partyAction = PARTY_StrafeRight;
472  pPartyActionQueue->Add(partyAction);
473  break;
474  case INPUT_TurnLeft:
476  if (GetAsyncKeyState(VK_CONTROL)) { // strafing
477  if (pParty->bTurnBasedModeOn) {
478  if (pTurnEngine->turn_stage == TE_WAIT ||
481  break;
483  }
484  partyAction = PARTY_StrafeLeft;
485  } else {
486  if (pParty->uFlags2 & 2)
487  partyAction = PARTY_FastTurnLeft;
488  else
489  partyAction = PARTY_TurnLeft;
490  }
491  pPartyActionQueue->Add(partyAction);
494  pWeather->OnPlayerTurn(10);
495  break;
496  case INPUT_TurnRight:
498  if (GetAsyncKeyState(VK_CONTROL)) { // strafing
499  if (pParty->bTurnBasedModeOn) {
500  if (pTurnEngine->turn_stage == TE_WAIT ||
503  break;
505  }
506  partyAction = PARTY_StrafeRight;
507  } else {
508  if (pParty->uFlags2 & 2)
509  partyAction = PARTY_FastTurnRight;
510  else
511  partyAction = PARTY_TurnRight;
512  }
513  pPartyActionQueue->Add(partyAction);
516  pWeather->OnPlayerTurn(-10);
517  break;
518  case INPUT_Jump:
521  break;
522  partyAction = (PartyAction)12;
523  pPartyActionQueue->Add(partyAction);
524  break;
525  case INPUT_Yell:
527  pParty->Yell();
529  0);
530  }
531  break;
532  case INPUT_Pass:
534  if (pParty->bTurnBasedModeOn &&
537  break;
538  }
539  if (uActiveCharacter) {
540  if (!pPlayers[uActiveCharacter]->uTimeToRecovery) {
541  if (!pParty->bTurnBasedModeOn)
542  pPlayers[uActiveCharacter]->SetRecoveryTime(
543  (signed __int64)(flt_6BE3A4_debug_recmod1 *
544  (double)pPlayers[uActiveCharacter]->GetAttackRecoveryTime(false) *
545  2.133333333333333));
548  }
549  }
550  break;
551  case INPUT_Combat: // if press ENTER
553  if (pParty->bTurnBasedModeOn) {
555  PID_TYPE(
557  OBJECT_Player) {
558  pParty->bTurnBasedModeOn = false;
559  pTurnEngine->End(true);
560  }
561  } else {
562  pTurnEngine->Start();
563  pParty->bTurnBasedModeOn = true;
564  }
565  }
566  break;
567  case INPUT_CastReady: {
571  break;
572  }
573  if (!uActiveCharacter) break;
574 
575  uchar quickSpellNumber = pPlayers[uActiveCharacter]->uQuickSpell;
576  int skill_level = pPlayers[uActiveCharacter]->GetActualSkillMastery(PLAYER_SKILL_TYPE(quickSpellNumber / 11 + 12));
577 
578  int uRequiredMana = 0;
579  if (!engine->config->debug_all_magic)
580  uRequiredMana = pSpellDatas[quickSpellNumber].mana_per_skill[skill_level - 1];
581 
582  bool enoughMana = (pPlayers[uActiveCharacter]->sMana >= uRequiredMana);
583 
584  if (!pPlayers[uActiveCharacter]->uQuickSpell ||
585  engine->IsUnderwater() || !enoughMana) {
587  pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Attack, 0, 0);
588  break;
589  } else {
590  pMessageQueue_50C9E8->AddGUIMessage(UIMSG_CastQuickSpell, 0, 0);
591  }
592  } break;
593  case INPUT_Attack:
597  break;
598  }
599  pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Attack, 0, 0);
600  break;
601  case INPUT_EventTrigger:
603  pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Game_Action, 0, 0);
604  break;
605  }
608  pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0);
609  }
610  break;
611  case INPUT_CharCycle:
613 
614  pMessageQueue_50C9E8->AddGUIMessage(UIMSG_CycleCharacters, 0, 0);
615  break;
616  case INPUT_LookUp:
617  if (pEventTimer->bPaused) break;
618  partyAction = (PartyAction)7;
619  pPartyActionQueue->Add(partyAction);
620  break;
621  case INPUT_CenterView:
622  if (pEventTimer->bPaused) break;
623  partyAction = (PartyAction)9;
624  pPartyActionQueue->Add(partyAction);
625  break;
626  case INPUT_LookDown:
627  if (pEventTimer->bPaused) break;
628  partyAction = (PartyAction)8;
629  pPartyActionQueue->Add(partyAction);
630  break;
631  case INPUT_FlyUp:
633  partyAction = (PartyAction)13;
634  pPartyActionQueue->Add(partyAction);
635  break;
636  case INPUT_Land:
638  partyAction = (PartyAction)15;
639  pPartyActionQueue->Add(partyAction);
640  break;
641  case INPUT_FlyDown:
643  partyAction = (PartyAction)14;
644  pPartyActionQueue->Add(partyAction);
645  }
646  break;
647  case INPUT_ZoomIn:
648  pMessageQueue_50C9E8->AddGUIMessage(UIMSG_ClickZoomOutBtn, 0, 0);
649  break;
650  case INPUT_ZoomOut:
651  pMessageQueue_50C9E8->AddGUIMessage(UIMSG_ClickZoomInBtn, 0, 0);
652  break;
653  case INPUT_AlwaysRun:
654  engine->ToggleAlwaysRun();
655  break;
656  default:
657  break;
658  }
659  }
660  }
661  }
662 }

Перекрестные ссылки ActionQueue::Add(), stru262_TurnBased::ApplyPlayerAction(), Timer::bPaused, Weather::bRenderSnow, Party::bTurnBasedModeOn, CastSpellInfoHelpers::Cancel_Spell_Cast_In_Progress(), GUIMessageQueue::Clear(), current_screen_type, stru262_TurnBased::End(), engine, stru262_TurnBased::field_18, flt_6BE3A4_debug_recmod1, GetAsyncKeyState(), INPUT_AlwaysRun, INPUT_Attack, INPUT_CastReady, INPUT_CenterView, INPUT_CharCycle, INPUT_Combat, INPUT_EventTrigger, INPUT_FlyDown, INPUT_FlyUp, INPUT_Jump, INPUT_Land, INPUT_LookDown, INPUT_LookUp, INPUT_MoveBackwards, INPUT_MoveForward, INPUT_Pass, INPUT_StrafeLeft, INPUT_StrafeRight, INPUT_TurnLeft, INPUT_TurnRight, INPUT_Yell, INPUT_ZoomIn, INPUT_ZoomOut, IsKeyBeingHeld(), IsShiftHeld(), LEVEL_Outdoor, OBJECT_Player, Weather::OnPlayerTurn(), PARTY_FastTurnLeft, PARTY_FastTurnRight, PARTY_FLAGS_2_RUNNING, PARTY_RunBackward, PARTY_RunForward, PARTY_StrafeLeft, PARTY_StrafeRight, PARTY_TurnLeft, PARTY_TurnRight, PARTY_WalkBackward, PARTY_WalkForward, pEventTimer, pKeyActionMap, pMessageQueue_50C9E8, pMessageQueue_50CBD0, pParty, pPartyActionQueue, pPlayers, stru262_TurnBased::pQueue, pSpellDatas, KeyboardActionMapping::pToggleTypes, pTurnEngine, KeyboardActionMapping::pVirtualKeyCodesMapping, pWeather, SCREEN_BRANCHLESS_NPC_DIALOG, SCREEN_CHEST, SCREEN_GAME, SCREEN_NPC_DIALOGUE, SCREEN_SPELL_BOOK, SPEECH_Yell, stru262_TurnBased::Start(), TE_ATTACK, TE_FLAG_8, TE_MOVEMENT, TE_WAIT, TOGGLE_OneTimePress, stru262_TurnBased::turn_stage, stru262_TurnBased::uActionPointsLeft, uActiveCharacter, uCurrentlyLoadedLevelType, Party::uFlags2, UIMSG_Attack, UIMSG_CastQuickSpell, UIMSG_ClickZoomInBtn, UIMSG_ClickZoomOutBtn, UIMSG_CycleCharacters, UIMSG_Escape, UIMSG_Game_Action, TurnBased_QueueElem::uPackedID, uRequiredMana, WasKeyPressed() и Party::Yell().

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

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

◆ IsShiftHeld()

bool Keyboard::IsShiftHeld ( )

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

317  {
318  return (GetAsyncKeyState(VK_SHIFT) & 0x8001) != 0;
319 }

Перекрестные ссылки GetAsyncKeyState().

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

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

◆ EnterCriticalSection()

void Keyboard::EnterCriticalSection ( )

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

◆ vdestructor_ptr

void(*** Keyboard::vdestructor_ptr) (Keyboard *, bool)

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

◆ bUsingAsynKeyboard

unsigned int Keyboard::bUsingAsynKeyboard

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


Объявления и описания членов классов находятся в файлах:
TE_MOVEMENT
@ TE_MOVEMENT
Definition: TurnEngine.h:22
TE_ATTACK
@ TE_ATTACK
Definition: TurnEngine.h:21
INPUT_StrafeLeft
@ INPUT_StrafeLeft
Definition: Keyboard.h:33
INPUT_CharCycle
@ INPUT_CharCycle
Definition: Keyboard.h:17
UIMSG_Escape
@ UIMSG_Escape
Definition: GUIWindow.h:96
UIMSG_CycleCharacters
@ UIMSG_CycleCharacters
Definition: GUIWindow.h:143
PARTY_StrafeLeft
@ PARTY_StrafeLeft
Definition: Party.h:98
INPUT_LookDown
@ INPUT_LookDown
Definition: Keyboard.h:26
Weather::bRenderSnow
bool bRenderSnow
Definition: Weather.h:18
INPUT_CenterView
@ INPUT_CenterView
Definition: Keyboard.h:27
CURRENT_SCREEN::SCREEN_CHEST
@ SCREEN_CHEST
INPUT_ZoomOut
@ INPUT_ZoomOut
Definition: Keyboard.h:29
CURRENT_SCREEN::SCREEN_SPELL_BOOK
@ SCREEN_SPELL_BOOK
UIMSG_ClickZoomInBtn
@ UIMSG_ClickZoomInBtn
Definition: GUIWindow.h:191
engine
std::shared_ptr< Engine > engine
Definition: Engine.cpp:130
stru262_TurnBased::ApplyPlayerAction
void ApplyPlayerAction()
Definition: TurnEngine.cpp:101
INPUT_MoveBackwards
@ INPUT_MoveBackwards
Definition: Keyboard.h:6
Timer::bPaused
unsigned int bPaused
Definition: Time.h:127
INPUT_TurnLeft
@ INPUT_TurnLeft
Definition: Keyboard.h:7
PARTY_WalkForward
@ PARTY_WalkForward
Definition: Party.h:100
INPUT_MoveForward
@ INPUT_MoveForward
Definition: Keyboard.h:5
pPlayers
NZIArray< struct Player *, 5 > pPlayers
Definition: Player.cpp:46
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
pTurnEngine
struct stru262_TurnBased * pTurnEngine
Definition: TurnEngine.cpp:21
Keyboard::IsShiftHeld
bool IsShiftHeld()
Definition: Keyboard.cpp:317
GetAsyncKeyState
int GetAsyncKeyState(int vKey)
Definition: Keyboard.cpp:8
INPUT_Combat
@ INPUT_Combat
Definition: Keyboard.h:11
INPUT_ZoomIn
@ INPUT_ZoomIn
Definition: Keyboard.h:28
INPUT_FlyUp
@ INPUT_FlyUp
Definition: Keyboard.h:30
Party::Yell
void Yell()
Definition: Party.cpp:598
TE_FLAG_8
@ TE_FLAG_8
Definition: TurnEngine.h:7
UIMSG_CastQuickSpell
@ UIMSG_CastQuickSpell
Definition: GUIWindow.h:29
pWeather
Weather * pWeather
Definition: Weather.cpp:8
TurnBased_QueueElem::uPackedID
int uPackedID
Definition: TurnEngine.h:34
CURRENT_SCREEN::SCREEN_BRANCHLESS_NPC_DIALOG
@ SCREEN_BRANCHLESS_NPC_DIALOG
pParty
Party * pParty
Definition: Party.cpp:30
pMessageQueue_50C9E8
struct GUIMessageQueue * pMessageQueue_50C9E8
Definition: GUIWindow.cpp:87
SPEECH_Yell
@ SPEECH_Yell
Definition: Player.h:111
KeyToggleType::TOGGLE_OneTimePress
@ TOGGLE_OneTimePress
Keyboard::WasKeyPressed
bool WasKeyPressed(int vKey)
Definition: Keyboard.cpp:327
INPUT_AlwaysRun
@ INPUT_AlwaysRun
Definition: Keyboard.h:24
INPUT_Jump
@ INPUT_Jump
Definition: Keyboard.h:10
PLAYER_SKILL_TYPE
PLAYER_SKILL_TYPE
Definition: Player.h:170
PARTY_FastTurnRight
@ PARTY_FastTurnRight
Definition: Party.h:114
uchar
unsigned char uchar
Definition: MM7.h:44
INPUT_TurnRight
@ INPUT_TurnRight
Definition: Keyboard.h:8
PARTY_TurnRight
@ PARTY_TurnRight
Definition: Party.h:97
PARTY_RunBackward
@ PARTY_RunBackward
Definition: Party.h:112
pSpellDatas
std::array< SpellData, 100 > pSpellDatas
Definition: Spells.cpp:170
stru262_TurnBased::pQueue
TurnBased_QueueElem pQueue[530]
Definition: TurnEngine.h:82
stru262_TurnBased::Start
void Start()
Definition: TurnEngine.cpp:108
INPUT_Yell
@ INPUT_Yell
Definition: Keyboard.h:9
stru262_TurnBased::End
void End(bool bPlaySound)
Definition: TurnEngine.cpp:220
INPUT_StrafeRight
@ INPUT_StrafeRight
Definition: Keyboard.h:34
LEVEL_Outdoor
@ LEVEL_Outdoor
Definition: Indoor.h:287
pPartyActionQueue
struct ActionQueue * pPartyActionQueue
Definition: Party.cpp:32
KeyboardActionMapping::pVirtualKeyCodesMapping
unsigned int pVirtualKeyCodesMapping[30]
Definition: Keyboard.h:63
PartyAction
PartyAction
Definition: Party.h:94
TE_WAIT
@ TE_WAIT
Definition: TurnEngine.h:20
INPUT_FlyDown
@ INPUT_FlyDown
Definition: Keyboard.h:31
ActionQueue::Add
void Add(PartyAction action)
Definition: Party.cpp:125
INPUT_CastReady
@ INPUT_CastReady
Definition: Keyboard.h:12
PARTY_FLAGS_2_RUNNING
@ PARTY_FLAGS_2_RUNNING
Definition: Party.h:66
INPUT_Pass
@ INPUT_Pass
Definition: Keyboard.h:16
PARTY_TurnLeft
@ PARTY_TurnLeft
Definition: Party.h:96
INPUT_Land
@ INPUT_Land
Definition: Keyboard.h:32
OBJECT_Player
@ OBJECT_Player
Definition: Actor.h:68
Party::bTurnBasedModeOn
bool bTurnBasedModeOn
Definition: Party.h:305
CURRENT_SCREEN::SCREEN_GAME
@ SCREEN_GAME
Keyboard::bUsingAsynKeyboard
unsigned int bUsingAsynKeyboard
Definition: Keyboard.h:86
Weather::OnPlayerTurn
bool OnPlayerTurn(int dangle)
Definition: Weather.cpp:56
CURRENT_SCREEN::SCREEN_NPC_DIALOGUE
@ SCREEN_NPC_DIALOGUE
uRequiredMana
unsigned int uRequiredMana
Definition: mm7_data.cpp:516
pKeyActionMap
struct KeyboardActionMapping * pKeyActionMap
Definition: Keyboard.cpp:35
flt_6BE3A4_debug_recmod1
float flt_6BE3A4_debug_recmod1
Definition: mm7_data.cpp:716
uint
unsigned int uint
Definition: MM7.h:4
uActiveCharacter
unsigned int uActiveCharacter
Definition: mm7_data.cpp:555
UIMSG_Attack
@ UIMSG_Attack
Definition: GUIWindow.h:27
UIMSG_Game_Action
@ UIMSG_Game_Action
Definition: GUIWindow.h:193
uCurrentlyLoadedLevelType
LEVEL_TYPE uCurrentlyLoadedLevelType
Definition: Indoor.cpp:52
InputAction
InputAction
Definition: Keyboard.h:4
INPUT_EventTrigger
@ INPUT_EventTrigger
Definition: Keyboard.h:14
INPUT_LookUp
@ INPUT_LookUp
Definition: Keyboard.h:25
Keyboard::IsKeyBeingHeld
static bool IsKeyBeingHeld(int vKey)
Definition: Keyboard.cpp:322
INPUT_Attack
@ INPUT_Attack
Definition: Keyboard.h:13
GUIMessageQueue::Clear
void Clear()
Definition: GUIWindow.cpp:169
KeyboardActionMapping::pToggleTypes
KeyToggleType pToggleTypes[30]
Definition: Keyboard.h:64
pMessageQueue_50CBD0
struct GUIMessageQueue * pMessageQueue_50CBD0
Definition: GUIWindow.cpp:86
CastSpellInfoHelpers::Cancel_Spell_Cast_In_Progress
void Cancel_Spell_Cast_In_Progress()
Definition: CastSpellInfo.cpp:4350
Party::uFlags2
int uFlags2
Definition: Party.h:307
PARTY_WalkBackward
@ PARTY_WalkBackward
Definition: Party.h:101
PARTY_FastTurnLeft
@ PARTY_FastTurnLeft
Definition: Party.h:113
stru262_TurnBased::field_18
int field_18
Definition: TurnEngine.h:80
stru262_TurnBased::turn_stage
int turn_stage
Definition: TurnEngine.h:75
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
PARTY_RunForward
@ PARTY_RunForward
Definition: Party.h:111
UIMSG_ClickZoomOutBtn
@ UIMSG_ClickZoomOutBtn
Definition: GUIWindow.h:190
PARTY_StrafeRight
@ PARTY_StrafeRight
Definition: Party.h:99
stru262_TurnBased::uActionPointsLeft
int uActionPointsLeft
Definition: TurnEngine.h:79