diff --git a/include/PR/gbi_extension.h b/include/PR/gbi_extension.h index 352385b36..9c80856de 100644 --- a/include/PR/gbi_extension.h +++ b/include/PR/gbi_extension.h @@ -1,9 +1,52 @@ #pragma once +// +// GFX COMMANDS FREE SLOTS +// +// The following op codes are free to use for G_ commands. +// For RSP commands, use incrementing numbers starting from 00. +// For RDP commands, use decrementing numbers starting from ff. +// Please update the following table when implementing a new command. +// +// RSP -> 09 0a 0b 0c 0d 0e 0f +// 10 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f +// 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f +// 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f +// 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f +// 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f +// 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f +// 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f +// 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f +// 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f +// a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af +// b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf +// c0 c1 c2 c3 c4 c5 c6 c7 +// d0 <- RDP +// +// + /////////////////////// // G_SETGEOMETRYMODE // /////////////////////// +// +// GEOMETRY MODES FREE FLAGS +// +// The following flags are free to use for geometry modes. +// Please remove the corresponding flag from the list below when implementing a new geometry mode. +// Note: geometry mode flags have only 24 bits, the 8 upper bits cannot be used. +// +// 0x00000002 +// 0x00000008 +// 0x00000010 +// 0x00000020 +// 0x00001000 +// 0x00002000 +// 0x00008000 +// 0x00080000 // G_TEXTURE_GEN_LINEAR, but not implemented +// 0x00100000 // G_LOD, but not implemented +// 0x00800000 // G_CLIPPING, but not implemented + #define G_LIGHT_MAP_EXT 0x00000800 #define G_LIGHTING_ENGINE_EXT 0x00004000 #define G_PACKED_NORMALS_EXT 0x00000080 @@ -97,10 +140,14 @@ #define gDPSetTextureClippingDjui(pkt, x1, y1, x2, y2) gSetClippingDjui(pkt, G_TEXCLIP_DJUI, x1, y1, x2, y2) #define gDPSetTextureOverrideDjui(pkt, texture, w, h, bitSize) gSetOverrideDjui(pkt, G_TEXOVERRIDE_DJUI, texture, w, h, bitSize) -//////////////////// -// RDP commands // -//////////////////// +///////////////// +// G_SETENVRGB // +///////////////// + #define G_SETENVRGB 0xd1 + +#define gDPSetEnvRGB(pkt, r, g, b) \ + DPRGBColor(pkt, G_SETENVRGB, r,g,b,255) #define gsDPSetEnvRGB(r, g, b) \ sDPRGBColor(G_SETENVRGB, r,g,b,255) @@ -129,9 +176,9 @@ ((2 * ((part) + 1)) + 1 + offset) \ }} -//////////////////// -//// G_MOVEWORD //// -//////////////////// +//////////////// +// G_MOVEWORD // +//////////////// #define G_MW_FX 0x00 /* replaces G_MW_MATRIX which is no longer supported */ #define G_MWO_FRESNEL 0x0C