finished GTE Coprrocessor normal clip vod

This commit is contained in:
2025-10-11 03:03:40 -04:00
parent afc0e1a818
commit 7c607e82ab
7 changed files with 99 additions and 32 deletions
+5 -4
View File
@@ -53,11 +53,12 @@ enum { false = 0, true = 1, true_overflow, };
#define farray_len(array) (SSIZE)sizeof(array) / size_of( typeof((array)[0]))
#define farray_init(type, ...) (type[]){__VA_ARGS__}
#define def_farray_impl(_type, _len) _type A ## _len ## _ ## _type[_len]
#define def_farray_sym(_type, _len) A ## _len ## _ ## _type
#define def_farray_impl(_type, _len) _type def_farray_sym(_type, _len)[_len]; typedef def_ptr_set(def_farray_sym(_type, _len))
#define def_farray(type, len) def_farray_impl(type, len)
#define def_enum(underlying_type, symbol) underlying_type symbol; enum symbol
#define def_struct(symbol) struct symbol symbol; struct symbol
#define def_union(symbol) union symbol symbol; union symbol
#define def_enum(underlying_type, symbol) underlying_type def_tset(symbol); enum symbol
#define def_struct(symbol) struct symbol def_tset(symbol); struct symbol
#define def_union(symbol) union symbol def_tset(symbol); union symbol
#define def_proc(symbol) symbol
#define opt_args(symbol, ...) &(symbol){__VA_ARGS__}
#define ret_type(type) type
+1 -1
View File
@@ -74,7 +74,7 @@ typedef def_enum(U4, gp_Commands) {
#define gp_SetArea_BottomRight (gcmd_SetDrawArea_BotRight << gcmd_offset)
typedef def_struct(RGB8) { B1 r; B1 g; B1 b; };
#define rgba8(r, g, b) (RGB8){ r, g, b }
#define rgb8(r, g, b) (RGB8){ r, g, b }
typedef B1 gp_Pixel16[1];
typedef B1 gp_Pixel24[3];
+4 -1
View File
@@ -7,6 +7,7 @@
#define max(A, B) (((A) > (B)) ? (A) : (B))
#define clamp_bot(X, B) max(X, B)
typedef def_farray(U4, 2);
typedef def_farray(S2, 2);
typedef def_farray(S2, 3);
typedef def_farray(S4, 2);
@@ -27,4 +28,6 @@ typedef def_struct(Rect_S4) { S4 x; S4 y; S4 width; S4 height; };
typedef def_struct(M3_S2) { A3A3_S2 m; A3_S4 t; };
#define v2s2(x, y) (V2_S2){ x, y }
#define v2s2(x,y) (V2_S2){x,y}
#define v3s2(x,y,z) (V3_S2){x,y,z}
#define v3s4(x,y,z) (V3_S4){x,y,z}