X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=source%2Frice_gles%2Fsrc%2FRSP_S2DEX.h;fp=source%2Frice_gles%2Fsrc%2FRSP_S2DEX.h;h=8acd904269cdfc5c3be1e5462ed56441fc1164e4;hb=d07c171fa694cae985ad7045f9ce2b2f1a5699b4;hp=0000000000000000000000000000000000000000;hpb=ca22e7b76883b946060a6b40bb8709c1981e1cf6;p=mupen64plus-pandora.git diff --git a/source/rice_gles/src/RSP_S2DEX.h b/source/rice_gles/src/RSP_S2DEX.h new file mode 100644 index 0000000..8acd904 --- /dev/null +++ b/source/rice_gles/src/RSP_S2DEX.h @@ -0,0 +1,204 @@ +/* +Copyright (C) 2002 Rice1964 + +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. + +*/ + +#ifndef _RSP_S2DEX_H_ +#define _RSP_S2DEX_H_ + +#define S2DEX_BG_1CYC 0x01 +#define S2DEX_BG_COPY 0x02 +#define S2DEX_OBJ_RECTANGLE 0x03 +#define S2DEX_OBJ_SPRITE 0x04 +#define S2DEX_OBJ_MOVEMEM 0x05 +#define S2DEX_SELECT_DL 0xb0 +#define S2DEX_OBJ_RENDERMODE 0xb1 +#define S2DEX_OBJ_RECTANGLE_R 0xb2 +#define S2DEX_OBJ_LOADTXTR 0xc1 +#define S2DEX_OBJ_LDTX_SPRITE 0xc2 +#define S2DEX_OBJ_LDTX_RECT 0xc3 +#define S2DEX_OBJ_LDTX_RECT_R 0xc4 +#define S2DEX_RDPHALF_0 0xe4 + +#define S2DEX_OBJLT_TXTRBLOCK 0x00001033 +#define S2DEX_OBJLT_TXTRTILE 0x00fc1034 +#define S2DEX_OBJLT_TLUT 0x00000030 +#define S2DEX_BGLT_LOADBLOCK 0x0033 +#define S2DEX_BGLT_LOADTILE 0xfff4 + +typedef struct { //Intel format + uint32 type; + uint32 image; + + uint16 tsize; + uint16 tmem; + + uint16 sid; + uint16 tline; + + uint32 flag; + uint32 mask; +} uObjTxtrBlock; + +typedef struct { //Intel Format + uint32 type; + uint32 image; + + uint16 twidth; + uint16 tmem; + + uint16 sid; + uint16 theight; + + uint32 flag; + uint32 mask; +} uObjTxtrTile; // 24 bytes + +typedef struct { // Intel Format + uint32 type; + uint32 image; + + uint16 pnum; + uint16 phead; + + uint16 sid; + uint16 zero; + + uint32 flag; + uint32 mask; +} uObjTxtrTLUT; + +typedef union { + uObjTxtrBlock block; + uObjTxtrTile tile; + uObjTxtrTLUT tlut; +} uObjTxtr; + +typedef struct { // Intel format + uint16 scaleW; + short objX; + + uint16 paddingX; + uint16 imageW; + + uint16 scaleH; + short objY; + + uint16 paddingY; + uint16 imageH; + + uint16 imageAdrs; + uint16 imageStride; + + uint8 imageFlags; + uint8 imagePal; + uint8 imageSiz; + uint8 imageFmt; +} uObjSprite; + + +typedef struct { + uObjTxtr txtr; + uObjSprite sprite; +} uObjTxSprite; /* 48 bytes */ + +typedef struct { // Intel format + s32 A, B, C, D; + + short Y; + short X; + + uint16 BaseScaleY; + uint16 BaseScaleX; +} uObjMtx; + +typedef struct { + float A, B, C, D; + float X; + float Y; + float BaseScaleX; + float BaseScaleY; +} uObjMtxReal; + +typedef struct { //Intel format + short Y; + short X; + uint16 BaseScaleY; + uint16 BaseScaleX; +} uObjSubMtx; + +typedef struct { // Intel Format + uint16 imageW; + uint16 imageX; + + uint16 frameW; + short frameX; + + uint16 imageH; + uint16 imageY; + + uint16 frameH; + short frameY; + + uint32 imagePtr; + + uint8 imageSiz; + uint8 imageFmt; + uint16 imageLoad; + + uint16 imageFlip; + uint16 imagePal; + + uint16 tmemH; + uint16 tmemW; + uint16 tmemLoadTH; + uint16 tmemLoadSH; + uint16 tmemSize; + uint16 tmemSizeW; +} uObjBg; + +typedef struct { // Intel Format + uint16 imageW; + uint16 imageX; + + uint16 frameW; + short frameX; + + uint16 imageH; + uint16 imageY; + + uint16 frameH; + short frameY; + + uint32 imagePtr; + + uint8 imageSiz; + uint8 imageFmt; + uint16 imageLoad; + + uint16 imageFlip; + uint16 imagePal; + + uint16 scaleH; + uint16 scaleW; + + s32 imageYorig; + uint8 padding[4]; +} uObjScaleBg; + +#endif +