22 #ifndef MACS2_AMIGA_DECODE_H 23 #define MACS2_AMIGA_DECODE_H 25 #include "common/array.h" 26 #include "common/scummsys.h" 44 uint32 scriptOffset = 0;
45 uint32 stringOffset = 0;
46 uint32 slotOffsets[21];
47 uint32 extraOffset = 0;
48 uint32 bodyOffset = 12;
52 for (uint i = 0; i < 21; i++)
53 slotOffsets[i] = 0xFFFFFFFF;
58 uint16 frameCount = 0;
62 uint16 repeatCounter = 0;
64 uint16 headerHint = 0;
65 uint32 pixelOffset = 0;
66 uint32 headerSize = 0;
70 bool parseAmigaMxoo(
const byte *mxoo, uint32 mxooSize,
AmigaMxooInfo &out);
71 bool inspectAmigaAnimSlot(
const byte *mxoo, uint32 mxooSize, uint32 bodyRelativeOffset,
AmigaAnimSlotInfo &out);
74 bool decodeAmigaPlanarFrame(
const byte *planar, uint16 width, uint16 height, uint16 frameIndex,
81 bool convertAmigaAnimSlotToDosBlob(
const byte *mxoo, uint32 mxooSize, uint32 bodyRelativeOffset,
91 bool extractAmigaStringBlock(
const byte *mxoo, uint32 mxooSize,
Common::Array<byte> &outStrings);
94 bool convertAmigaSimpleSpriteToDosBlob(
const byte *mxoo, uint32 mxooSize,
Common::Array<byte> &outBlob);
103 bool convertAmigaPortraitAtlasToDosBlob(
const byte *mxoo, uint32 mxooSize, uint32 bodyRelativeExtraOffset,
108 kAmigaSceneScreenSize = 54432,
109 kAmigaSceneCopperOffset = 0xBB80,
110 kAmigaSceneCopperSize = 0x1920,
111 kAmigaScenePlaneBytes = 8000
114 kAmigaSceneWidth = 320,
115 kAmigaSceneHeight = 200,
116 kAmigaScenePlanes = 6
131 bool decodeAmigaMxmmSceneBackground(
const byte *mxmm, uint32 mxmmSize,
133 byte outPaletteRgb[768],
134 uint &outColorCount);
150 bool extractAmigaMxmmSceneScript(
const byte *mxmm, uint32 mxmmSize,
169 bool extractAmigaMxmmSceneWalkParams(
const byte *mxmm, uint32 mxmmSize,
170 uint16 &outWalkDepthThresholdY,
171 uint16 &outWalkDepthScaleFactor,
172 uint16 &outWalkBaseSpeedPct,
173 uint16 &outScenePaletteMode,
174 uint16 &outPaletteDarkenPercent);
187 byte adjacent[4] = {0, 0, 0, 0};
188 uint16 numConnections = 0;
197 bool extractAmigaMxmmScenePathfinding(
const byte *mxmm, uint32 mxmmSize,
198 uint16 &outNumPoints,
208 bool extractAmigaMxmmSceneMaps(
const byte *mxmm, uint32 mxmmSize,
219 bool extractAmigaMxmmSceneHotspotColors(
const byte *mxmm, uint32 mxmmSize,
220 uint16 &outNumHotspots,
230 bool extractAmigaMxmmMxccHotspotMap(
const byte *mxmm, uint32 mxmmSize,
237 bool amigaMxmmHasMxaaOverlay(
const byte *mxmm, uint32 mxmmSize);
266 bool extractAmigaMxosPcm(
const byte *mxos, uint32 mxosSize,
Common::Array<byte> &outPcm, uint16 &outRateHz);
270 #endif // MACS2_AMIGA_DECODE_H Definition: amiga_decode.h:243
Definition: amiga_decode.h:184
Definition: amiga_decode.h:43
Definition: amiga_decode.h:57
Definition: actionbar.h:31