Must be on a 4-byte alignment
| 60 | |
| 61 | // Must be on a 4-byte alignment |
| 62 | class CImage |
| 63 | { |
| 64 | public: |
| 65 | void updateGraphicData(); |
| 66 | void drawImage(); |
| 67 | |
| 68 | grpFrame *getCurrentFrame() const; |
| 69 | BW::Position getPosition() const; |
| 70 | |
| 71 | /*0x00*/ CImage* prev; |
| 72 | /*0x04*/ CImage* next; |
| 73 | /*0x08*/ u16 imageID; // officially "uwNo" |
| 74 | /*0x0A*/ u8 paletteType; /* officially "ubRLE" |
| 75 | RLE_NORMAL = 0 |
| 76 | RLE_CLOAK = 5 |
| 77 | RLE_CLOAKED = 6 |
| 78 | RLE_DECLOAK = 7 |
| 79 | RLE_EFFECT = 9 |
| 80 | RLE_SHADOW = 10 (official) |
| 81 | RLE_HPFLOATDRAW = 11 (official) |
| 82 | RLE_WARP_IN = 12 |
| 83 | RLE_OUTLINE = 13 |
| 84 | RLE_PLAYER_SIDE = 14 (official) |
| 85 | RLE_SHIFT = 16 |
| 86 | RLE_FIRE = 17 |
| 87 | */ |
| 88 | /*0x0B*/ u8 direction; |
| 89 | /*0x0C*/ u16 flags; |
| 90 | /* 0x0001 - Redraw |
| 91 | 0x0002 - Flipped/Mirrored |
| 92 | 0x0004 - |
| 93 | 0x0008 - Has rotation frames |
| 94 | 0x0010 - |
| 95 | 0x0020 - Clickable |
| 96 | 0x0040 - Hidden/Invisible (don't draw) |
| 97 | 0x0080 - |
| 98 | 0x0100 - |
| 99 | 0x0200 - |
| 100 | 0x0400 - |
| 101 | 0x0800 - |
| 102 | 0x1000 - |
| 103 | 0x2000 - |
| 104 | 0x4000 - |
| 105 | 0x8000 - |
| 106 | */ |
| 107 | /*0x0E*/ s8 horizontalOffset; |
| 108 | /*0x0F*/ s8 verticalOffset; |
| 109 | /*0x10*/ u16 iscriptHeader; |
| 110 | /*0x12*/ u16 iscriptOffset; |
| 111 | /*0x14*/ u16 unknown_14; |
| 112 | /*0x16*/ Anims::Enum anim; |
| 113 | /*0x17*/ u8 sleep; // iscript sleep time |
| 114 | /*0x18*/ u16 frameSet; |
| 115 | /*0x1A*/ u16 frameIndex; |
| 116 | /*0x1C*/ BW::Position mapPosition; |
| 117 | /*0x20*/ BW::Position screenPosition; |
| 118 | /*0x24*/ rect grpBounds; // Bounds for GRP frame, only different from normal when part of graphic is out of bounds. |
| 119 | /*0x2C*/ grpHead* GRPFile; |
nothing calls this directly
no outgoing calls
no test coverage detected