mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-08-11 19:08:57 -04:00
Match & link dvderr.c
This commit is contained in:
@@ -7,7 +7,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#define GX_CLAMP 0
|
||||
#define GX_REPEAT 1
|
||||
#define GX_MIRROR 2
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+30
-3
@@ -1,15 +1,42 @@
|
||||
#ifndef DVDERR_H
|
||||
#define DVDERR_H
|
||||
|
||||
/* dvderr lives in dol, so dvderr.c is at src/dvderr.c */
|
||||
|
||||
#include "types.h"
|
||||
#include "PR/mbi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern BOOL dvderr_draw();
|
||||
enum dvderr_state {
|
||||
DVDERR_NONE = -1,
|
||||
|
||||
DVDERR_COVER_OPEN = 0,
|
||||
DVDERR_NO_DISK,
|
||||
DVDERR_WRONG_DISK,
|
||||
DVDERR_RETRY,
|
||||
DVDERR_FATAL,
|
||||
|
||||
DVDERR_NUM
|
||||
};
|
||||
|
||||
typedef void (*DVDERR_DRAW_PROC)();
|
||||
|
||||
/* sizeof(dvderr_work) == 0x3F8 */
|
||||
typedef struct dvderr_work_s {
|
||||
/* 0x000 */ Gfx gfx[100]; // display list buffer
|
||||
/* 0x320 */ Gfx* gfx_p; // current display list buffer write pointer
|
||||
/* 0x328 */ Mtx ortho; // orthographic matrix
|
||||
/* 0x368 */ Mtx projection; // projection matrix
|
||||
/* 0x3A8 */ Mtx modelview; // modelview matrix
|
||||
/* 0x3E8 */ f32 scale; // scale for modelview matrix
|
||||
|
||||
/* 0x3EC */ DVDERR_DRAW_PROC draw_proc; // current draw routine
|
||||
/* 0x3F0 */ int now_error; // current dvd error
|
||||
/* 0x3F4 */ int next_error; // next dvd error
|
||||
} dvderr_work;
|
||||
|
||||
extern int dvderr_draw();
|
||||
extern void dvderr_init();
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -447,7 +447,7 @@ do { \
|
||||
#define gsDPSetTextureImage_Dolphin(fmt, siz, h, w, img) \
|
||||
{{ \
|
||||
_SHIFTL(G_SETTIMG, 24, 8) | _SHIFTL(fmt, 21, 3) | _SHIFTL(siz, 19, 2) | _SHIFTL(1, 18, 1) | \
|
||||
_SHIFTL((h/4)-1, 10, 8) | _SHIFTL((w-1), 0, 10), img \
|
||||
_SHIFTL((h/4)-1, 10, 8) | _SHIFTL((w-1), 0, 10), (unsigned int)img \
|
||||
}}
|
||||
|
||||
#define gsDPSetTile_Dolphin(d_fmt, tile, tlut_name, wrap_s, wrap_t, shift_s, shift_t) \
|
||||
@@ -531,14 +531,14 @@ do { \
|
||||
|
||||
#define gsSPNTriangles_5b(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) \
|
||||
{{ \
|
||||
(unsigned long long)((gsSPNTriangleData1(v9, v10, v11) << 49) | (gsSPNTriangleData1(v6, v7, v8) << 34) | \
|
||||
(gsSPNTriangleData1(v3, v4, v5) << 19) | (gsSPNTriangleData1(v0, v1, v2) << 4)) | G_VTX_MODE_5bit \
|
||||
_SHIFTL(gsSPNTriangleData1(v9, v10, v11, 0), 17, 15) | _SHIFTL(gsSPNTriangleData1(v6, v7, v8, 0), 2, 15) | _SHIFTL(_SHIFTR(gsSPNTriangleData1(v3, v4, v5, 0), 13, 2), 0, 2), \
|
||||
_SHIFTL(gsSPNTriangleData1(v3, v4, v5, 0), 19, 13) | _SHIFTL(gsSPNTriangleData1(v0, v1, v2, 0), 4, 15) | _SHIFTL(G_VTX_MODE_5bit, 0, 1) \
|
||||
}}
|
||||
|
||||
#define gsSPNTrianglesInit_5b(n, v0, v1, v2, v3, v4, v5, v6, v7, v8) \
|
||||
{{ \
|
||||
_SHIFTL(G_TRIN_INDEPEND, 24, 8) | _SHIFTL(n-1, 17, 7) | _SHIFTL(gsSPNTriangleData1(v6, v7, v8, 0), 2, 15) | _SHIFTL(_SHIFTR(gsSPNTriangleData1(v3, v4, v5, 0), 2, 13), 0, 2), \
|
||||
_SHIFTL(gsSPNTriangleData1(v3, v4, v5, 0), 19, 13) | _SHIFTL(gsSPNTriangleData1(v0, v1, v2, 0), 4, 15) | _SHIFTL(G_VTX_MODE_5bit, 0, 1) \
|
||||
_SHIFTL(G_TRIN_INDEPEND, 24, 8) | _SHIFTL(n-1, 17, 7) | _SHIFTL(gsSPNTriangleData1(v6, v7, v8, 0), 2, 15) | _SHIFTL(_SHIFTR(gsSPNTriangleData1(v3, v4, v5, 0), 13, 2), 0, 2), \
|
||||
_SHIFTL(gsSPNTriangleData1(v3, v4, v5, 0), 19, 13) | _SHIFTL(gsSPNTriangleData1(v0, v1, v2, 0), 4, 15) | _SHIFTL(G_VTX_MODE_5bit, 0, 1) \
|
||||
}}
|
||||
|
||||
#define gsSPNTriangles_7b(v0, v1, v2, v3, v4, v5, v6, v7, v8) \
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "types.h"
|
||||
#include "dolphin/os/OSTime.h"
|
||||
#include "dolphin/os/OSCache.h"
|
||||
#include "libultra/gu.h"
|
||||
|
||||
#define N64_SCREEN_HEIGHT 240
|
||||
#define N64_SCREEN_WIDTH 320
|
||||
|
||||
@@ -62,4 +62,6 @@ typedef u32 unknown;
|
||||
/* Fully opaque, 5 bits per color channel */ (0x8000 | ((((argb8) >> 16) & 0xF8) << 7) | ((((argb8) >> 8) & 0xF8) << 2) | (((argb8) & 0xFF) >> 3)) : \
|
||||
/* 3 bits of transparency, 4 bits per color channel */ (((((argb8) >> 24) & 0xE0) << 7) | ((((argb8) >> 16) & 0xF0) << 4) | (((argb8) >> 8) & 0xF0) | (((argb8) & 0xF0) >> 4))))
|
||||
|
||||
#define GPACK_RGB5A3(r, g, b, a) ARGB8_to_RGB5A3((((a) & 0xFF) << 24) | (((r) & 0xFF) << 16) | (((g) & 0xFF) << 8) | ((b) & 0xFF))
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user