Mercurial > mm7
annotate Sprites.h @ 1549:5a3afcaa6717
Player::CalculateMeleeDamageTo removed labels, ifdowhile patterns changed to for cycles, magic numbers to enum values, fixing gibbet being only undead slaying
author | Grumpy7 |
---|---|
date | Sat, 07 Sep 2013 09:16:55 +0200 |
parents | 7ef4b64f6329 |
children | 35c1e4ff6ba7 |
rev | line source |
---|---|
0 | 1 #pragma once |
2 | |
3 | |
4 /* 18 */ | |
5 #pragma pack(push, 1) | |
1103 | 6 class Sprite //28h |
0 | 7 { |
1103 | 8 public: |
1017 | 9 void Release(); |
0 | 10 |
1017 | 11 const char *pName; //0 |
12 int uPaletteID; //4 | |
13 struct IDirectDrawSurface4 *pTextureSurface; //8 | |
14 struct IDirect3DTexture2 *pTexture; //ch | |
15 int uAreaX; //10h | |
16 int uAreaY; //14h | |
17 int uBufferWidth; //18h | |
18 int uBufferHeight; //1ch | |
19 int uAreaWidth; //20h | |
20 int uAreaHeight; //24h | |
0 | 21 }; |
22 #pragma pack(pop) | |
23 | |
24 | |
25 /* 42 */ | |
26 #pragma pack(push, 1) | |
1477
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
27 struct SpriteFrame_mm6 |
0 | 28 { |
1017 | 29 char pIconName[12]; |
30 char pTextureName[12]; //c | |
31 __int16 pHwSpriteIDs[8]; //18h | |
32 int scale; //28h | |
33 int uFlags; //2c | |
34 __int16 uGlowRadius; //30 | |
35 __int16 uPaletteID; //32 | |
36 __int16 uPaletteIndex; | |
37 __int16 uAnimTime; | |
1477
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
38 //__int16 uAnimLength; |
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
39 //__int16 _pad; |
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
40 }; |
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
41 |
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
42 struct SpriteFrame: SpriteFrame_mm6 |
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
43 { |
1017 | 44 __int16 uAnimLength; |
45 __int16 _pad; | |
0 | 46 }; |
47 #pragma pack(pop) | |
48 | |
49 /* 43 */ | |
50 #pragma pack(push, 1) | |
51 struct SpriteFrameTable | |
52 { | |
1017 | 53 //----- (0044D4BA) -------------------------------------------------------- |
54 inline SpriteFrameTable() | |
55 { | |
56 uNumSpriteFrames = 0; | |
57 pSpriteSFrames = nullptr; | |
58 pSpritePFrames = nullptr; | |
59 pSpriteEFrames = nullptr; | |
60 } | |
61 void ToFile(); | |
1477
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
62 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8); |
1017 | 63 bool FromFileTxt(const char *Args); |
64 void ReleaseSFrames(); | |
65 void ResetSomeSpriteFlags(); | |
66 void InitializeSprite(signed int uSpriteID); | |
67 signed int FastFindSprite(char *pSpriteName); | |
68 int BinarySearch(const char *pSpriteName); | |
69 SpriteFrame *GetFrame(unsigned int uSpriteID, unsigned int uTime); | |
70 SpriteFrame *GetFrameBy_x(unsigned int uSpriteID, signed int a3); | |
0 | 71 |
1017 | 72 signed int uNumSpriteFrames; |
73 unsigned int uNumEFrames;//field_4; | |
74 int unused_field; //field_8 | |
1103 | 75 SpriteFrame *pSpriteSFrames; //0c |
76 SpriteFrame **pSpritePFrames; //10h | |
1017 | 77 __int16 *pSpriteEFrames; //14h |
0 | 78 }; |
79 #pragma pack(pop) | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 extern struct SpriteFrameTable *pSpriteFrameTable; |