annotate Sprites.h @ 2263:3d644efae786

some more items.cpp init bugfixing
author Grumpy7
date Sat, 08 Mar 2014 17:53:38 +0100
parents 35c1e4ff6ba7
children 7c10dfb6d802
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2
Ritor1
parents:
diff changeset
3
Ritor1
parents:
diff changeset
4 /* 18 */
Ritor1
parents:
diff changeset
5 #pragma pack(push, 1)
1103
db395ce89ede struct/class incostintency
Grumpy7
parents: 1017
diff changeset
6 class Sprite //28h
0
Ritor1
parents:
diff changeset
7 {
1103
db395ce89ede struct/class incostintency
Grumpy7
parents: 1017
diff changeset
8 public:
1017
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
9 void Release();
0
Ritor1
parents:
diff changeset
10
1017
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
11 const char *pName; //0
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
12 int uPaletteID; //4
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
13 struct IDirectDrawSurface4 *pTextureSurface; //8
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
14 struct IDirect3DTexture2 *pTexture; //ch
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
15 int uAreaX; //10h
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
16 int uAreaY; //14h
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
17 int uBufferWidth; //18h
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
18 int uBufferHeight; //1ch
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
19 int uAreaWidth; //20h
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
20 int uAreaHeight; //24h
0
Ritor1
parents:
diff changeset
21 };
Ritor1
parents:
diff changeset
22 #pragma pack(pop)
Ritor1
parents:
diff changeset
23
Ritor1
parents:
diff changeset
24
Ritor1
parents:
diff changeset
25 /* 42 */
Ritor1
parents:
diff changeset
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
Ritor1
parents:
diff changeset
28 {
1017
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
29 char pIconName[12];
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
30 char pTextureName[12]; //c
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
31 __int16 pHwSpriteIDs[8]; //18h
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
32 int scale; //28h
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
33 int uFlags; //2c
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
34 __int16 uGlowRadius; //30
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
35 __int16 uPaletteID; //32
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
36 __int16 uPaletteIndex;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
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
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
45 __int16 uAnimLength;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
46 __int16 _pad;
0
Ritor1
parents:
diff changeset
47 };
Ritor1
parents:
diff changeset
48 #pragma pack(pop)
Ritor1
parents:
diff changeset
49
Ritor1
parents:
diff changeset
50 /* 43 */
Ritor1
parents:
diff changeset
51 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
52 struct SpriteFrameTable
Ritor1
parents:
diff changeset
53 {
1017
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
54 //----- (0044D4BA) --------------------------------------------------------
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
55 inline SpriteFrameTable()
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
56 {
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
57 uNumSpriteFrames = 0;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
58 pSpriteSFrames = nullptr;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
59 pSpritePFrames = nullptr;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
60 pSpriteEFrames = nullptr;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
61 }
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
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
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
64 bool FromFileTxt(const char *Args);
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
65 void ReleaseSFrames();
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
66 void ResetSomeSpriteFlags();
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
67 void InitializeSprite(signed int uSpriteID);
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
68 signed int FastFindSprite(char *pSpriteName);
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
69 int BinarySearch(const char *pSpriteName);
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
70 SpriteFrame *GetFrame(unsigned int uSpriteID, unsigned int uTime);
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
71 SpriteFrame *GetFrameBy_x(unsigned int uSpriteID, signed int a3);
0
Ritor1
parents:
diff changeset
72
1017
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
73 signed int uNumSpriteFrames;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
74 unsigned int uNumEFrames;//field_4;
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
75 int unused_field; //field_8
1103
db395ce89ede struct/class incostintency
Grumpy7
parents: 1017
diff changeset
76 SpriteFrame *pSpriteSFrames; //0c
db395ce89ede struct/class incostintency
Grumpy7
parents: 1017
diff changeset
77 SpriteFrame **pSpritePFrames; //10h
1017
af20650a052f SpriteFrameTable search simplified
Grumpy7
parents: 670
diff changeset
78 __int16 *pSpriteEFrames; //14h
0
Ritor1
parents:
diff changeset
79 };
Ritor1
parents:
diff changeset
80 #pragma pack(pop)
Ritor1
parents:
diff changeset
81
Ritor1
parents:
diff changeset
82
Ritor1
parents:
diff changeset
83
Ritor1
parents:
diff changeset
84
Ritor1
parents:
diff changeset
85
Ritor1
parents:
diff changeset
86
Ritor1
parents:
diff changeset
87 extern struct SpriteFrameTable *pSpriteFrameTable;