200 lines
2.9 KiB
C
200 lines
2.9 KiB
C
#ifndef _ARMNATIVE_H_
|
|
#define _ARMNATIVE_H_
|
|
|
|
#include "arm/pnodefs.h"
|
|
|
|
#ifndef __PALM_OS__
|
|
|
|
typedef UInt8 byte;
|
|
typedef UInt8 uint8;
|
|
typedef Int32 int32;
|
|
typedef UInt32 uint32;
|
|
typedef Int16 int16;
|
|
typedef UInt16 uint16;
|
|
typedef unsigned int uint;
|
|
|
|
#endif
|
|
|
|
typedef struct {
|
|
UInt32 funcID;
|
|
void *dataP;
|
|
} PnoType;
|
|
|
|
typedef UInt32 (PnoProc)(void *);
|
|
|
|
enum {
|
|
COMMON_COPYRECT = 0,
|
|
COMMON_WPORTRAIT,
|
|
COMMON_WLANDSCAPE,
|
|
// COMMON_SNDBUFFER
|
|
};
|
|
|
|
enum {
|
|
QUEEN_BLIT = 0
|
|
};
|
|
|
|
enum {
|
|
SCUMM_DRAWSTRIP = 0,
|
|
SCUMM_PROC3
|
|
};
|
|
|
|
enum {
|
|
SWORD1_SCREENDRAW = 0,
|
|
SWORD1_DRAWSPRITE,
|
|
SWORD1_FASTSHRINK,
|
|
SWORD1_RENDERPARALLAX,
|
|
SWORD1_DECOMPTONY,
|
|
SWORD1_DECOMPRLE7,
|
|
SWORD1_DECOMPRLE0
|
|
};
|
|
|
|
// types
|
|
typedef struct {
|
|
void *srcP;
|
|
void *dstP;
|
|
UInt32 length;
|
|
} ARMPa1SndType, *ARMPa1SndPtr;
|
|
|
|
typedef struct {
|
|
void *dst;
|
|
void *src;
|
|
} WideType;
|
|
|
|
typedef struct {
|
|
void *dst;
|
|
const void *buf;
|
|
UInt32 pitch, _offScreenPitch;
|
|
UInt32 w, h;
|
|
} CopyRectangleType;
|
|
|
|
typedef struct {
|
|
const byte *scaletable;
|
|
byte mask, shr;
|
|
byte repcolor;
|
|
byte replen;
|
|
int scaleXstep;
|
|
int x, y;
|
|
int scaleXindex, scaleYindex;
|
|
int skip_width;
|
|
byte *destptr;
|
|
const byte *mask_ptr;
|
|
int imgbufoffs;
|
|
} V1CodecType;
|
|
|
|
typedef struct {
|
|
const byte *scaletable;
|
|
int32 mask, shr;
|
|
int32 repcolor;
|
|
int32 replen;
|
|
int32 scaleXstep;
|
|
int32 x, y;
|
|
int32 scaleXindex, scaleYindex;
|
|
int skip_width;
|
|
byte *destptr;
|
|
const byte *mask_ptr;
|
|
} V1Type;
|
|
|
|
typedef struct {
|
|
void *v1; // struct v1 *
|
|
|
|
const byte *_srcptr;
|
|
int _height;
|
|
|
|
byte _scaleIndexX; // to be redefined, return it from the function
|
|
byte _scaleIndexY;
|
|
byte _scaleX;
|
|
byte _scaleY;
|
|
int32 _numStrips;
|
|
|
|
int _out_pitch;
|
|
int _out_w;
|
|
int _out_h;
|
|
|
|
byte *_shadow_table;
|
|
byte *_palette;
|
|
byte _shadow_mode;
|
|
} CostumeProc3Type;
|
|
|
|
typedef struct {
|
|
int width;
|
|
int height;
|
|
|
|
const byte *src;
|
|
byte *dst;
|
|
const byte *text;
|
|
|
|
int _vm_screenWidth;
|
|
uint16 vs_pitch;
|
|
uint16 _textSurface_pitch;
|
|
} DrawStripType;
|
|
|
|
// Queen
|
|
typedef struct {
|
|
uint8 *dstBuf;
|
|
const uint8 *srcBuf;
|
|
uint16 dstPitch;
|
|
uint16 srcPitch;
|
|
uint16 w;
|
|
uint16 h;
|
|
byte xflip;
|
|
byte masked;
|
|
} BlitType;
|
|
|
|
// Sword1
|
|
typedef struct {
|
|
uint8 *data;
|
|
uint32 *lineIndexes;
|
|
uint8 *_screenBuf;
|
|
uint16 _scrnSizeX;
|
|
uint16 scrnScrlX;
|
|
uint16 scrnScrlY;
|
|
uint16 paraScrlX;
|
|
uint16 paraScrlY;
|
|
uint16 scrnWidth;
|
|
uint16 scrnHeight;
|
|
} ParallaxType;
|
|
|
|
typedef struct {
|
|
uint8 *sprData;
|
|
uint8 *dest;
|
|
uint16 sprHeight;
|
|
uint16 sprWidth;
|
|
uint16 sprPitch;
|
|
uint16 _scrnSizeX;
|
|
} DrawSpriteType;
|
|
|
|
typedef struct {
|
|
uint8 *src;
|
|
uint8 *dest;
|
|
uint16 _scrnSizeX;
|
|
uint16 _scrnSizeY;
|
|
} DrawType;
|
|
|
|
typedef struct {
|
|
uint8 *src;
|
|
uint8 *dest;
|
|
uint32 width;
|
|
uint32 height;
|
|
uint32 scale;
|
|
} FastShrinkType;
|
|
|
|
typedef struct {
|
|
uint8 *src;
|
|
uint32 compSize;
|
|
uint8 *dest;
|
|
} CompressType;
|
|
|
|
typedef struct {
|
|
int32 samples;
|
|
int32 len;
|
|
int16 *buffer;
|
|
const byte *_ptr;
|
|
int32 is16Bit;
|
|
int32 isUnsigned;
|
|
int32 isLE;
|
|
} ReadBufferType;
|
|
|
|
// Warning : all the struct MUST be 4byte align and even
|
|
// from one member to another
|
|
|
|
#endif
|