diff options
author | Max Horn | 2002-07-16 18:26:42 +0000 |
---|---|---|
committer | Max Horn | 2002-07-16 18:26:42 +0000 |
commit | 6d3c8cbe6ec98f4ab681c865594a4a6082a05bb8 (patch) | |
tree | 04f7220dfa3d28eb98121d4d41c0878ab7c068a3 | |
parent | 824b14270c66d0bff570127e74a6d7b69991ceeb (diff) | |
download | scummvm-rg350-6d3c8cbe6ec98f4ab681c865594a4a6082a05bb8.tar.gz scummvm-rg350-6d3c8cbe6ec98f4ab681c865594a4a6082a05bb8.tar.bz2 scummvm-rg350-6d3c8cbe6ec98f4ab681c865594a4a6082a05bb8.zip |
oops forgot this file :-)
svn-id: r4576
-rw-r--r-- | costume.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/costume.h b/costume.h new file mode 100644 index 0000000000..8039231a8e --- /dev/null +++ b/costume.h @@ -0,0 +1,107 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2002 The ScummVM project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + */ + +#ifndef COSTUME_H +#define COSTUME_H + + +class LoadedCostume { +protected: + Scumm *_vm; + +public: + byte *_ptr; + byte *_dataptr; + byte _numColors; + + LoadedCostume(Scumm *vm) : _vm(vm), _ptr(0), _dataptr(0), _numColors(0) {} + + void loadCostume(int id); + byte increaseAnims(Actor *a); + +protected: + byte increaseAnim(Actor *a, int slot); +}; + + +class CostumeRenderer { +protected: + Scumm *_vm; + + LoadedCostume _loaded; + +public: + byte *_shadow_table; + + byte *_frameptr; + byte *_srcptr; + byte *_bgbak_ptr, *_backbuff_ptr, *_mask_ptr, *_mask_ptr_dest; + int _actorX, _actorY; + byte _zbuf; + uint _scaleX, _scaleY; + int _xmove, _ymove; + bool _mirror; + byte _maskval; + byte _shrval; + byte _width2; + int _width; + byte _height2; + int _height; + int _xpos, _ypos; + + uint _outheight; + int _scaleIndexXStep; + int _scaleIndexYStep; + byte _scaleIndexX; /* must wrap at 256 */ + byte _scaleIndexY, _scaleIndexYTop; + int _left, _right; + int _dir2; + int _top, _bottom; + int _ypostop; + int _ypitch; + byte _docontinue; + int _imgbufoffs; + byte _repcolor; + byte _replen; + byte _palette[32]; + byte _transEffect[0x100]; + + void proc6(); + void proc5(); + void proc4(); + void proc3(); + void proc2(); + void proc1(); + void proc_special(Actor *a, byte mask); + byte mainRoutine(Actor *a, int slot, int frame); + void ignorePakCols(int num); + + byte drawOneSlot(Actor *a, int slot); + byte drawCostume(Actor *a); + + void setPalette(byte *palette); + void setFacing(uint16 facing); + void setCostume(int costume); + +public: + CostumeRenderer(Scumm *vm) : _vm(vm), _loaded(vm) {} +}; + +#endif |