Mercurial > mm7
annotate Sprites.h @ 1939:027ed24b8017
m
author | Ritor1 |
---|---|
date | Thu, 24 Oct 2013 15:28:33 +0600 |
parents | 35c1e4ff6ba7 |
children | 7c10dfb6d802 |
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 |
1828
35c1e4ff6ba7
party_finds_gold to Party::PartyFindsGold, cleaned up, moved Level/Decoration.h reference out of Indoor.h
Grumpy7
parents:
1477
diff
changeset
|
42 class SpriteFrame: public SpriteFrame_mm6 |
1477
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
43 { |
1828
35c1e4ff6ba7
party_finds_gold to Party::PartyFindsGold, cleaned up, moved Level/Decoration.h reference out of Indoor.h
Grumpy7
parents:
1477
diff
changeset
|
44 public: |
1017 | 45 __int16 uAnimLength; |
46 __int16 _pad; | |
0 | 47 }; |
48 #pragma pack(pop) | |
49 | |
50 /* 43 */ | |
51 #pragma pack(push, 1) | |
52 struct SpriteFrameTable | |
53 { | |
1017 | 54 //----- (0044D4BA) -------------------------------------------------------- |
55 inline SpriteFrameTable() | |
56 { | |
57 uNumSpriteFrames = 0; | |
58 pSpriteSFrames = nullptr; | |
59 pSpritePFrames = nullptr; | |
60 pSpriteEFrames = nullptr; | |
61 } | |
62 void ToFile(); | |
1477
7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents:
1103
diff
changeset
|
63 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8); |
1017 | 64 bool FromFileTxt(const char *Args); |
65 void ReleaseSFrames(); | |
66 void ResetSomeSpriteFlags(); | |
67 void InitializeSprite(signed int uSpriteID); | |
68 signed int FastFindSprite(char *pSpriteName); | |
69 int BinarySearch(const char *pSpriteName); | |
70 SpriteFrame *GetFrame(unsigned int uSpriteID, unsigned int uTime); | |
71 SpriteFrame *GetFrameBy_x(unsigned int uSpriteID, signed int a3); | |
0 | 72 |
1017 | 73 signed int uNumSpriteFrames; |
74 unsigned int uNumEFrames;//field_4; | |
75 int unused_field; //field_8 | |
1103 | 76 SpriteFrame *pSpriteSFrames; //0c |
77 SpriteFrame **pSpritePFrames; //10h | |
1017 | 78 __int16 *pSpriteEFrames; //14h |
0 | 79 }; |
80 #pragma pack(pop) | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 extern struct SpriteFrameTable *pSpriteFrameTable; |