[Scummvm-cvs-logs] CVS: scummvm akos.h,NONE,1.1 gfx.h,NONE,1.1 boxes.h,1.1,1.2 scumm.h,1.95,1.96

James Brown ender at users.sourceforge.net
Thu Mar 21 19:32:01 CET 2002


Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv21263

Modified Files:
	boxes.h scumm.h 
Added Files:
	akos.h gfx.h 
Log Message:
Add gfx.h and akos.h



--- NEW FILE: akos.h ---
struct AkosHeader {
	byte x_1[2];
	byte flags;
	byte x_2;
	uint16 num_anims;
	uint16 x_3;
	uint16 codec;
} GCC_PACK;

struct AkosOffset {
	uint32 akcd;
	uint16 akci;
} GCC_PACK;

struct AkosCI {
	uint16 width,height;
	int16 rel_x, rel_y;
	int16 move_x, move_y;
} GCC_PACK;

struct AkosRenderer {
	CostumeData *cd;
	int x,y; /* where to draw costume */
	byte scale_x, scale_y; /* scaling */
	byte clipping; /* clip mask */
	bool charsetmask;
	byte shadow_mode;
	uint16 codec;
	bool mirror; /* draw actor mirrored */
	byte dirty_id;
	byte *outptr;
	uint outwidth, outheight;
	
	/* pointer to various parts of the costume resource */
	byte *akos;
	AkosHeader *akhd;
	
	/* current move offset */
	int move_x, move_y;
	/* movement of cel to decode */
	int move_x_cur, move_y_cur;
	/* width and height of cel to decode */
	int width,height;
	
	byte *srcptr;
	byte *shadow_table;

	struct {
		/* codec stuff */
		const byte *scaletable;
		byte mask,shl;
		bool doContinue;
		byte repcolor;
		byte replen;
		int scaleXstep;
		int x,y;
		int tmp_x, tmp_y;
		int y_pitch;
		int skip_width;
		byte *destptr;
		byte *mask_ptr;
		int imgbufoffs;
	} v1;

	/* put less used stuff at the bottom to optimize opcodes */
	int draw_top, draw_bottom;
	byte *akpl,*akci,*aksq;
	AkosOffset *akof;
	byte *akcd;

	byte palette[256];
};

enum AkosOpcodes{
	AKC_Return  = 0xC001,
	AKC_SetVar  = 0xC010,
	AKC_CmdQue3  = 0xC015,
	AKC_ComplexChan  = 0xC020,
	AKC_Jump  = 0xC030,
	AKC_JumpIfSet  = 0xC031,
	AKC_AddVar  = 0xC040,
	AKC_Ignore  = 0xC050,
	AKC_IncVar  = 0xC060,
	AKC_CmdQue3Quick  = 0xC061,
	AKC_SkipStart = 0xC070,
	AKC_SkipE  = 0xC070,
	AKC_SkipNE  = 0xC071,
	AKC_SkipL  = 0xC072,
	AKC_SkipLE  = 0xC073,
	AKC_SkipG  = 0xC074,
	AKC_SkipGE  = 0xC075,
	AKC_StartAnim  = 0xC080,
	AKC_StartVarAnim  = 0xC081,
	AKC_Random  = 0xC082,
	AKC_SetActorClip  = 0xC083,
	AKC_StartAnimInActor  = 0xC084,
	AKC_SetVarInActor  = 0xC085,
	AKC_HideActor  = 0xC086,
	AKC_SetDrawOffs  = 0xC087,
	AKC_JumpTable  = 0xC088,
	AKC_SoundStuff  = 0xC089,
	AKC_Flip  = 0xC08A,
	AKC_Cmd3  = 0xC08B,
	AKC_Ignore3  = 0xC08C,
	AKC_Ignore2  = 0xC08D,
	AKC_JumpStart = 0xC090,
	AKC_JumpE  = 0xC090,
	AKC_JumpNE  = 0xC091,
	AKC_JumpL  = 0xC092,
	AKC_JumpLE  = 0xC093,
	AKC_JumpG  = 0xC094,
	AKC_JumpGE  = 0xC095,
	AKC_ClearFlag  = 0xC09F
};


--- NEW FILE: gfx.h ---
enum VideoMode {		/* Video scalers */
	VIDEO_SCALE = 0,
	VIDEO_2XSAI = 1,
	VIDEO_SUPERSAI = 2,
	VIDEO_SUPEREAGLE = 3
};

enum {					/* Camera modes */
	CM_NORMAL = 1,
	CM_FOLLOW_ACTOR = 2,
	CM_PANNING = 3
};

struct CameraData {		/* Camera state data */
	ScummPoint _cur;
	ScummPoint _dest;
	ScummPoint _accel;
	ScummPoint _last;
	int _leftTrigger, _rightTrigger;
	byte _follows, _mode;
	bool _movingToActor;
};


struct VirtScreen {		/* Virtual screen areas */
	int number;
	uint16 unk1;
	uint16 topline;
	uint16 width,height;
	uint16 size;
	byte alloctwobuffers;
	byte scrollable;
	uint16 xstart;
	byte tdirty[40];
	byte bdirty[40];
	byte *screenPtr;
	byte *backBuf;
};

struct MouseCursor {	/* Mouse cursor */
	int8 hotspot_x, hotspot_y;
	byte colors[4];
	byte data[32];
};

struct ColorCycle {		/* Palette cycles */
	uint16 delay;
	uint16 counter;
	uint16 flags;
	byte start;
	byte end;
};

struct EnqueuedObject {		/* Objects to draw */
	uint16 a,b,c,d,e;
	int16 x,y;
	uint16 width,height;
	uint16 j,k,l;
};

struct BompHeader {			/* Bomp header */
	uint16 unk;
	uint16 width,height;
} GCC_PACK;

struct BompDrawData {		/* Bomp graphics data */
	byte *out;
	int outwidth, outheight;
	int x,y;
	byte scale_x, scale_y;
	byte *dataptr;
	int srcwidth, srcheight;
};

struct Gdi {
	Scumm *_vm;

	byte *_readPtr;
	uint _readOffs;

	int8 _cursorActive;

	int _numZBuffer;
	int _imgBufOffs[4];
	byte _disable_zbuffer;

	bool _useOrDecompress;
	byte _numLinesToProcess;
	byte _tempNumLines;
	byte _currentX;
	byte _hotspot_x;
	byte _hotspot_y;
	int16 _drawMouseX;
	int16 _drawMouseY;
	int16 _mask_top, _mask_bottom, _mask_right, _mask_left;
	byte _currentCursor;
	byte _mouseColors[4];
	byte _mouseColor;
	byte _mouseClipMask1, _mouseClipMask2, _mouseClipMask3;
	byte _mouseColorIndex;
	byte *_mouseMaskPtr;
	byte *_smap_ptr;
	byte *_backbuff_ptr;
	byte *_bgbak_ptr;
	byte *_mask_ptr;
	byte *_mask_ptr_dest;
	byte *_z_plane_ptr;

	byte _decomp_shr, _decomp_mask;
	byte _transparency;
	uint16 _vertStripNextInc;
	byte *_backupIsWhere;

	/* Bitmap decompressors */
	void decompressBitmap();
	void unkDecode1();
	void unkDecode2();
	void unkDecode3();
	void unkDecode4();
	void unkDecode5();
	void unkDecode6();
	void unkDecode7();
	void unkDecode8();
	void unkDecode9();
	void unkDecode10();
	void unkDecode11();

	void drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, int h, int stripnr, int numstrip, byte flag);
	void clearUpperMask();

	void disableZBuffer() { _disable_zbuffer++; }
	void enableZBuffer() { _disable_zbuffer--; }

	void draw8ColWithMasking();
	void clear8ColWithMasking();
	void clear8Col();
	void decompressMaskImgOr();
	void decompressMaskImg();

	void resetBackground(byte top, byte bottom, int strip);
	void drawStripToScreen(VirtScreen *vs, int x, int w, int t, int b);
	void updateDirtyScreen(VirtScreen *vs);

	enum DrawBitmapFlags {
		dbAllowMaskOr = 1,
		dbDrawMaskOnBoth = 2,
		dbClear = 4
	};
};

Index: boxes.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/boxes.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** boxes.h	21 Mar 2002 16:12:00 -0000	1.1
--- boxes.h	22 Mar 2002 03:30:57 -0000	1.2
***************
*** 32,40 ****
  } GCC_PACK;
  
- struct gate_location {
- 	int     x;
- 	int     y;
- };
- 
  struct AdjustBoxResult {	/* Result type of AdjustBox functions */
  	int16 x,y;
--- 32,35 ----

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.95
retrieving revision 1.96
diff -C2 -d -r1.95 -r1.96
*** scumm.h	21 Mar 2002 16:12:01 -0000	1.95
--- scumm.h	22 Mar 2002 03:30:57 -0000	1.96
***************
*** 21,34 ****
  
  #include "scummsys.h"
  #ifdef COMPRESSED_SOUND_FILE
  #include <mad.h>
  #endif
  
- #include "system.h"
- 
- #if defined(macintosh) && !defined(__APPLE__CW)
- 	#define Point SCUMM_Point
- #endif
- 
  #define SCUMMVM_VERSION "0.2.0 devel"
  #define SCUMMVM_CVS "031402"
--- 21,29 ----
  
  #include "scummsys.h"
+ #include "system.h"
  #ifdef COMPRESSED_SOUND_FILE
  #include <mad.h>
  #endif
  
  #define SCUMMVM_VERSION "0.2.0 devel"
  #define SCUMMVM_CVS "031402"
***************
*** 39,44 ****
  class Scumm;
  struct Actor;
! 
! #include "smush.h"
  
  typedef void (Scumm::*OpcodeProc)();
--- 34,39 ----
  class Scumm;
  struct Actor;
! struct ScummDebugger;
! struct Serializer;
  
  typedef void (Scumm::*OpcodeProc)();
***************
*** 56,61 ****
  };
  
- 
- 
  /* Script status type (slot.status) */
  enum {
--- 51,54 ----
***************
*** 102,130 ****
  } GCC_PACK;
  
- struct BompHeader {
- 	uint16 unk;
- 	uint16 width,height;
- } GCC_PACK;
- 
- struct AkosHeader {
- 	byte x_1[2];
- 	byte flags;
- 	byte x_2;
- 	uint16 num_anims;
- 	uint16 x_3;
- 	uint16 codec;
- } GCC_PACK;
- 
- struct AkosOffset {
- 	uint32 akcd;
- 	uint16 akci;
- } GCC_PACK;
- 
- struct AkosCI {
- 	uint16 width,height;
- 	int16 rel_x, rel_y;
- 	int16 move_x, move_y;
- } GCC_PACK;
- 
  struct CodeHeader {
  	union {
--- 95,98 ----
***************
*** 234,259 ****
  };
  
- struct EnqueuedObject {
- 	uint16 a,b,c,d,e;
- 	int16 x,y;
- 	uint16 width,height;
- 	uint16 j,k,l;
- };
- 
- struct VirtScreen {
- 	int number;
- 	uint16 unk1;
- 	uint16 topline;
- 	uint16 width,height;
- 	uint16 size;
- 	byte alloctwobuffers;
- 	byte scrollable;
- 	uint16 xstart;
- 	byte tdirty[40];
- 	byte bdirty[40];
- 	byte *screenPtr;
- 	byte *backBuf;
- };
- 
  struct ActorWalkData {
  	int16 destx,desty;
--- 202,205 ----
***************
*** 267,276 ****
  };
  
- struct MouseCursor {
- 	int8 hotspot_x, hotspot_y;
- 	byte colors[4];
- 	byte data[32];
- };
- 
  struct ScriptSlot {
  	uint32 offs;
--- 213,216 ----
***************
*** 330,340 ****
  };
  
- /* Camera Modes */
- enum {
- 	CM_NORMAL = 1,
- 	CM_FOLLOW_ACTOR = 2,
- 	CM_PANNING = 3
- };
- 
  enum {
  	MBS_LEFT_CLICK = 0x8000,
--- 270,273 ----
***************
*** 426,491 ****
  };
  
- struct AkosRenderer {
- 	CostumeData *cd;
- 	int x,y; /* where to draw costume */
- 	byte scale_x, scale_y; /* scaling */
- 	byte clipping; /* clip mask */
- 	bool charsetmask;
- 	byte shadow_mode;
- 	uint16 codec;
- 	bool mirror; /* draw actor mirrored */
- 	byte dirty_id;
- 	byte *outptr;
- 	uint outwidth, outheight;
- 	
- 	/* pointer to various parts of the costume resource */
- 	byte *akos;
- 	AkosHeader *akhd;
- 	
- 	/* current move offset */
- 	int move_x, move_y;
- 	/* movement of cel to decode */
- 	int move_x_cur, move_y_cur;
- 	/* width and height of cel to decode */
- 	int width,height;
- 	
- 	byte *srcptr;
- 	byte *shadow_table;
- 
- 	struct {
- 		/* codec stuff */
- 		const byte *scaletable;
- 		byte mask,shl;
- 		bool doContinue;
- 		byte repcolor;
- 		byte replen;
- 		int scaleXstep;
- 		int x,y;
- 		int tmp_x, tmp_y;
- 		int y_pitch;
- 		int skip_width;
- 		byte *destptr;
- 		byte *mask_ptr;
- 		int imgbufoffs;
- 	} v1;
- 
- 	/* put less used stuff at the bottom to optimize opcodes */
- 	int draw_top, draw_bottom;
- 	byte *akpl,*akci,*aksq;
- 	AkosOffset *akof;
- 	byte *akcd;
- 
- 	byte palette[256];
- };
- 
- struct BompDrawData {
- 	byte *out;
- 	int outwidth, outheight;
- 	int x,y;
- 	byte scale_x, scale_y;
- 	byte *dataptr;
- 	int srcwidth, srcheight;
- };
- 
  struct LoadedCostume {
  	byte *_ptr;
--- 359,362 ----
***************
*** 585,598 ****
  };
  
- struct CameraData {
- 	ScummPoint _cur;
- 	ScummPoint _dest;
- 	ScummPoint _accel;
- 	ScummPoint _last;
- 	int _leftTrigger, _rightTrigger;
- 	byte _follows, _mode;
- 	bool _movingToActor;
- };
- 
  #define ARRAY_HDR_SIZE 6
  struct ArrayHeader {
--- 456,459 ----
***************
*** 624,713 ****
  };
  
- struct ColorCycle {
- 	uint16 delay;
- 	uint16 counter;
- 	uint16 flags;
- 	byte start;
- 	byte end;
- };
- 
- struct Gdi {
- 	Scumm *_vm;
- 
- 	byte *_readPtr;
- 	uint _readOffs;
- 
- 	int8 _cursorActive;
- 
- 	int _numZBuffer;
- 	int _imgBufOffs[4];
- 	byte _disable_zbuffer;
- 
- 	bool _useOrDecompress;
- 	byte _numLinesToProcess;
- 	byte _tempNumLines;
- 	byte _currentX;
- 	byte _hotspot_x;
- 	byte _hotspot_y;
- 	int16 _drawMouseX;
- 	int16 _drawMouseY;
- 	int16 _mask_top, _mask_bottom, _mask_right, _mask_left;
- 	byte _currentCursor;
- 	byte _mouseColors[4];
- 	byte _mouseColor;
- 	byte _mouseClipMask1, _mouseClipMask2, _mouseClipMask3;
- 	byte _mouseColorIndex;
- 	byte *_mouseMaskPtr;
- 	byte *_smap_ptr;
- 	byte *_backbuff_ptr;
- 	byte *_bgbak_ptr;
- 	byte *_mask_ptr;
- 	byte *_mask_ptr_dest;
- 	byte *_z_plane_ptr;
- 
- 	byte _decomp_shr, _decomp_mask;
- 	byte _transparency;
- 	uint16 _vertStripNextInc;
- 	byte *_backupIsWhere;
- 	
- 	void unkDecode1();
- 	void unkDecode2();
- 	void unkDecode3();
- 	void unkDecode4();
- 	void unkDecode5();
- 	void unkDecode6();
- 	void unkDecode7();
-         void unkDecode8();
-         void unkDecode9();
-         void unkDecode10();
-         void unkDecode11();
- 
- 	void decompressBitmap();
- 
- 	void drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, int h, int stripnr, int numstrip, byte flag);
- 	void clearUpperMask();
- 
- 	void disableZBuffer() { _disable_zbuffer++; }
- 	void enableZBuffer() { _disable_zbuffer--; }
- 
- 	void draw8ColWithMasking();
- 	void clear8ColWithMasking();
- 	void clear8Col();
- 	void decompressMaskImgOr();
- 	void decompressMaskImg();
- 
- 	void resetBackground(byte top, byte bottom, int strip);
- 	void drawStripToScreen(VirtScreen *vs, int x, int w, int t, int b);
- 	void updateDirtyScreen(VirtScreen *vs);
- 
- 
- 	enum DrawBitmapFlags {
- 		dbAllowMaskOr = 1,
- 		dbDrawMaskOnBoth = 2,
- 		dbClear = 4
- 	};
- };
- 
- 
  enum GameId {
  	GID_TENTACLE = 1,
--- 485,488 ----
***************
*** 747,753 ****
  };
  
- struct ScummDebugger;
- struct Serializer;
- 
  enum WhereIsObject {
  	WIO_NOT_FOUND = -1,
--- 522,525 ----
***************
*** 764,776 ****
  };
  
! enum VideoMode {
! 	VIDEO_SCALE = 0,
! 	VIDEO_2XSAI = 1,
! 	VIDEO_SUPERSAI = 2,
! 	VIDEO_SUPEREAGLE = 3
! };
! 
  #include "boxes.h"
  #include "sound.h"
  class Scumm {
  public:
--- 536,545 ----
  };
  
! #include "gfx.h"
  #include "boxes.h"
  #include "sound.h"
+ #include "akos.h"
+ #include "smush.h"
+ 
  class Scumm {
  public:
***************
*** 1125,1130 ****
  	int getDistanceBetween(bool is_obj_1, int b, int c, bool is_obj_2, int e, int f);
  
- 
- 
  	/* Should be in akos class */
  	bool akos_drawCostume(AkosRenderer *ar);
--- 894,897 ----
***************
*** 1445,1454 ****
  
  	/* Walkbox / Navigation class */
! 	int _maxBoxVertexHeap;
! 	byte *_boxMatrixPtr4, *_boxMatrixPtr1, *_boxMatrixPtr3;
! 	int _boxPathVertexHeapIndex;
! 	int _boxMatrixItem;
  
! 	gate_location p[5];
  	int gate1ax, gate1ay, gate1bx, gate1by, gate2ax, gate2ay, gate2bx, gate2by;
  	uint16 _extraBoxFlags[65];
--- 1212,1219 ----
  
  	/* Walkbox / Navigation class */
! 	int _maxBoxVertexHeap, _boxPathVertexHeapIndex, _boxMatrixItem;
! 	byte *_boxMatrixPtr4, *_boxMatrixPtr1, *_boxMatrixPtr3;	
  
! 	ScummPoint p[5];	/* Gate locations */
  	int gate1ax, gate1ay, gate1bx, gate1by, gate2ax, gate2ay, gate2bx, gate2by;
  	uint16 _extraBoxFlags[65];
***************
*** 1487,1491 ****
  
  
- 
  	/* String class */
  	CharsetRenderer charset;
--- 1252,1255 ----
***************
*** 1899,1945 ****
  	byte VAR_DEFAULT_TALK_DELAY;
  	byte VAR_CHARSET_MASK;
- };
- 
- 
- enum AkosOpcodes{
- 	AKC_Return  = 0xC001,
- 	AKC_SetVar  = 0xC010,
- 	AKC_CmdQue3  = 0xC015,
- 	AKC_ComplexChan  = 0xC020,
- 	AKC_Jump  = 0xC030,
- 	AKC_JumpIfSet  = 0xC031,
- 	AKC_AddVar  = 0xC040,
- 	AKC_Ignore  = 0xC050,
- 	AKC_IncVar  = 0xC060,
- 	AKC_CmdQue3Quick  = 0xC061,
- 	AKC_SkipStart = 0xC070,
- 	AKC_SkipE  = 0xC070,
- 	AKC_SkipNE  = 0xC071,
- 	AKC_SkipL  = 0xC072,
- 	AKC_SkipLE  = 0xC073,
- 	AKC_SkipG  = 0xC074,
- 	AKC_SkipGE  = 0xC075,
- 	AKC_StartAnim  = 0xC080,
- 	AKC_StartVarAnim  = 0xC081,
- 	AKC_Random  = 0xC082,
- 	AKC_SetActorClip  = 0xC083,
- 	AKC_StartAnimInActor  = 0xC084,
- 	AKC_SetVarInActor  = 0xC085,
- 	AKC_HideActor  = 0xC086,
- 	AKC_SetDrawOffs  = 0xC087,
- 	AKC_JumpTable  = 0xC088,
- 	AKC_SoundStuff  = 0xC089,
- 	AKC_Flip  = 0xC08A,
- 	AKC_Cmd3  = 0xC08B,
- 	AKC_Ignore3  = 0xC08C,
- 	AKC_Ignore2  = 0xC08D,
- 	AKC_JumpStart = 0xC090,
- 	AKC_JumpE  = 0xC090,
- 	AKC_JumpNE  = 0xC091,
- 	AKC_JumpL  = 0xC092,
- 	AKC_JumpLE  = 0xC093,
- 	AKC_JumpG  = 0xC094,
- 	AKC_JumpGE  = 0xC095,
- 	AKC_ClearFlag  = 0xC09F
  };
  
--- 1663,1666 ----





More information about the Scummvm-git-logs mailing list