view Arcomage.h @ 1251:7ef8ae7ce42a

Player::SetVariable cleanup - moved around some cases to group similar types together, some cases reordered according to enum values
author Grumpy7
date Tue, 11 Jun 2013 15:24:05 +0200
parents ae812777b1d4
children e161d8a5a529
line wrap: on
line source

#pragma once
#include "OSAPI.h"

#include "Texture.h"

#pragma pack(push, 1)
struct am_st1
{
  int field_0;
  int field_4;
};
#pragma pack(pop)

/*  401 */
#pragma pack(push, 1)
struct Acromage_st1
{
  int uCardId;
  int field_4;
  POINT field_8;
  int field_10_xplus;
  int field_14_y_plus;
  POINT field_18_point;
};
#pragma pack(pop)


/*  272 */
#pragma pack(push, 1)
struct ArcomageCard
{
  char pCardName[32];
  int slot;
  char field_24;
  char needed_quarry_level;
  char needed_magic_level;
  char needed_might_level;
  char needed_bricks;
  char needed_gems;
  char needed_beasts;
  char field_2B;
  int  field_2C;
  char field_30;
  char field_31;
  char field_32;
  char field_33;
  char field_34;
  char field_35;
  char field_36;
  char field_37;
  char field_38;
  char field_39;
  char field_3A;
  char field_3B;
  char field_3C;
  char field_3D;
  char field_3E;
  char field_3F;
  char field_40;
  char field_41;
  char field_42;
  char field_43;
  char field_44;
  char field_45;
  char field_46;
  char field_47;
  char field_48;
  char field_49;
  char field_4A;
  char field_4B;
  char field_4C;
  char field_4D;
  char field_4E;
  char field_4F;
  char field_50;
  char field_51;
  char field_52;
  char field_53;
  char field_54;
  char field_55;
  char field_56;
  char field_57;
  char field_58;
  char field_59;
  char field_5A;
  char field_5B;
  char field_5C;
  char field_5D;
  char field_5E;
  char field_5F;
  char field_60;
  char field_61;
  char field_62;
  char field_63;
  char field_64;
  char field_65;
  char field_66;
  char field_67;
  char field_68;
  char field_69;
  char field_6A;
  char field_6B;
};
#pragma pack(pop)




#pragma pack(push, 1)
struct ArcomagePlayer
{
  char pPlayerName[32];
  int IsHisTurn;
  int tower_height;
  int wall_height;
  int quarry_level;
  int magic_level;
  int zoo_level;
  int resource_bricks;
  int resource_gems;
  int resource_beasts;
  int cards_at_hand[10];
  am_st1 arr_6C[10];
};
#pragma pack(pop)



#pragma pack(push, 1)
struct ArcomageGame_stru1
{
  int field_0;
  int field_4;
  int field_8;
};
#pragma pack(pop)




#pragma pack(push, 1)
struct ArcomageGame
{
  ArcomageGame();

  static bool LoadBackground();
  static bool LoadSprites();
  static bool MsgLoop(int a1, ArcomageGame_stru1 *a2);
  static void PlaySound(unsigned int event_id);
  static void OnMouseClick(char right_left, bool bDown);
  static void OnMouseMove(POINT *pXY);
  static void GetCardRect(unsigned int uCardID, RECT *pCardRect);

  static void Loop();

  char field_0;
  char field_1;
  char field_2;
  char field_3;
  int field_4;
  ArcomageGame_stru1 stru1;
  tagMSG msg;
  int mouse_x;
  int mouse_y;
  char mouse_left;
  char field_39;
  char mouse_right;
  char field_3B;
  unsigned __int16 *pBackgroundPixels;
  unsigned __int16 *pSpritesPixels;
  unsigned __int16 *pBlit_Copy_pixels;
  struct GUIFont *pfntComic;//ptr_48;
  struct GUIFont *pfntArrus;//ptr_4C;
  int field_50;
  __int16 field_54;
  __int16 field_56;
  RGBTexture pGameBackground;
  RGBTexture pSprites;
  int event_timer_time;
  int uGameResult;
  int field_B0;
  char pPlayer1Name[32];
  char pPlayer2Name[32];
  char field_F4;
  char GameOver;
  char field_F6;
  char field_F7;
  char field_F8;
  char field_F9;
  char bGameInProgress;
};
#pragma pack(pop)




extern ArcomageGame *pArcomageGame;
extern ArcomageCard pCards[87];



#pragma pack(push, 1)
struct stru272_stru1
{
  int field_0;
  POINT field_4;
  int field_C;
  int field_10;
  int field_14;
  int field_18;
};
#pragma pack(pop)

/*  404 */
#pragma pack(push, 1)
struct stru272_stru2
{
  int field_0;
  int field_4;
  int field_8;
  int field_C;
  int field_10;
  int field_14;
  int field_18;
  float field_1Cf;
  int field_20;
  float field_24f;
  float field_28f;
  float field_2Cf;
  int field_30;
  int field_34;
  stru272_stru1* field_38;
};
#pragma pack(pop)


/*  270 */
#pragma pack(push, 1)
struct stru272_stru0         // ARCOMAGE stuff
{
  static void Ctor(stru272_stru0 *a1);
  int Dtor();
  int _40E01A(stru272_stru2* a2);
  int Empty(char a2, char a3);
  int _40E133();
  int _40E2A7();

  int signature;
  int field_4;
  int field_8;
  int field_C;
  int field_10;
  int field_14;
  int field_18;
  int field_1C;
  int field_20;
  int field_24;
  float field_28;
  float field_2C;
  float field_30;
  int field_34;
  int field_38;
  int field_3C;
  int field_40;
  int field_44;
  int field_48;
  int field_4C;
  int field_50;
  stru272_stru1 * field_54;
  char field_58;
  char field_59;
  char field_5A;
  char field_5B;
};
#pragma pack(pop)

#define DECK_SIZE 108

#pragma pack(push, 1)
struct ArcomageDeck
{
  char name[32];
  char cardsInUse[DECK_SIZE];
  int cards_IDs[DECK_SIZE];
};

#pragma pack(pop)

#pragma pack(push, 1)
struct stru272
{
  char field_0;
  char field_1;
  char _pad_2;
  char _pad_3;
  stru272_stru2 field_4;
  stru272_stru0 *field_40;
  stru272_stru1 field_44[150];
};
#pragma pack(pop)