diff options
| author | spicyjpeg <thatspicyjpeg@gmail.com> | 2022-12-18 16:30:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-18 16:30:02 +0100 |
| commit | b12b716a9e54c4f1892795a136d6ffeb088ff001 (patch) | |
| tree | 5888e4a77b207f24ccd9ad148d1c74e9c33400e9 /libpsn00b/include/psxgpu.h | |
| parent | 77306e187ef1a7ad5d3508ae9acb38edc5b68255 (diff) | |
| parent | a3359c0e7d85bf4752cda3b00892ecd5ef691077 (diff) | |
| download | psn00bsdk-b12b716a9e54c4f1892795a136d6ffeb088ff001.tar.gz | |
Merge pull request #68 from spicyjpeg/bugfix
Bugfixes, psxcd rewrite, psxgpu and CMake tweaks (v0.22)
Diffstat (limited to 'libpsn00b/include/psxgpu.h')
| -rw-r--r-- | libpsn00b/include/psxgpu.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/libpsn00b/include/psxgpu.h b/libpsn00b/include/psxgpu.h index 68e3bff..26e560f 100644 --- a/libpsn00b/include/psxgpu.h +++ b/libpsn00b/include/psxgpu.h @@ -39,6 +39,11 @@ typedef enum _GPU_VideoMode { #define setTPage(p, tp, abr, x, y) ((p)->tpage = getTPage(tp, abr, x, y)) #define setClut(p, x, y) ((p)->clut = getClut(x, y)) +#define setColor0(p, rgb) (((P_COLOR *) &((p)->r0))->color = (rgb)) +#define setColor1(p, rgb) (((P_COLOR *) &((p)->r1))->color = (rgb)) +#define setColor2(p, rgb) (((P_COLOR *) &((p)->r2))->color = (rgb)) +#define setColor3(p, rgb) (((P_COLOR *) &((p)->r3))->color = (rgb)) + #define setRGB0(p, r, g, b) ((p)->r0 = (r), (p)->g0 = (g), (p)->b0 = (b)) #define setRGB1(p, r, g, b) ((p)->r1 = (r), (p)->g1 = (g), (p)->b1 = (b)) #define setRGB2(p, r, g, b) ((p)->r2 = (r), (p)->g2 = (g), (p)->b2 = (b)) @@ -198,9 +203,15 @@ typedef enum _GPU_VideoMode { typedef struct _P_TAG { uint32_t addr:24; uint32_t len:8; - uint8_t r, g, b, code; + uint32_t color:24; + uint32_t code:8; } P_TAG; +typedef struct _P_COLOR { + uint32_t color:24; + uint32_t pad:8; +} P_COLOR; + typedef struct _POLY_F3 { uint32_t tag; uint8_t r0, g0, b0, code; @@ -402,7 +413,7 @@ typedef struct _SPRT_FIXED SPRT_16; typedef struct _DR_ENV { uint32_t tag; - uint32_t code[15]; + uint32_t code[8]; } DR_ENV; typedef struct _DR_AREA { @@ -525,10 +536,10 @@ void *DrawSyncCallback(void (*func)(void)); int LoadImage(const RECT *rect, const uint32_t *data); int StoreImage(const RECT *rect, uint32_t *data); -int MoveImage(const RECT *rect, int x, int y); +//int MoveImage(const RECT *rect, int x, int y); void LoadImage2(const RECT *rect, const uint32_t *data); void StoreImage2(const RECT *rect, uint32_t *data); -void MoveImage2(const RECT *rect, int x, int y); +//void MoveImage2(const RECT *rect, int x, int y); void ClearOTagR(uint32_t *ot, size_t length); void ClearOTag(uint32_t *ot, size_t length); |
