From 6393e2ff71e0083eb194c50b71fe274eb7a068f2 Mon Sep 17 00:00:00 2001 From: Weston Salinas Date: Thu, 4 May 2023 22:10:52 -0500 Subject: [PATCH] Simply Added center Reticle - adds center reticle to HUD - made asset myself lol Fixes #110 --- assets/images/center_reticle.png | Bin 0 -> 1329 bytes assets/materials/hud.skm.yaml | 20 ++++++++++++++++++++ src/scene/hud.c | 14 ++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 assets/images/center_reticle.png diff --git a/assets/images/center_reticle.png b/assets/images/center_reticle.png new file mode 100644 index 0000000000000000000000000000000000000000..81f195bb961290d5ecc09c8234fcfdcc5277ebf1 GIT binary patch literal 1329 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rIkMU~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)MBDvkVy;?zWdemK0<0q^XgyjHs^QccpuOc)LeWcklT44G7#Y^nlaV4x1!5pRhHFLZp;4A zbJ26QX3gFD{$#v_-V5#1G0RQ6M8r0-a4Lyh33L=Sd$i^Cl86%*DlZ+kfAmYWNb||6 zhKb3HrWq4r?SIJsdABxnj!%W>LluFl!a4nh3(CbaOl6+`zEK#Z?(ji!$0h53QNlBR zs_eaZagqCh2WAC@cP~z{eNeAAT((p}cVPs}z4I?-e>!kM_rm^XU)R?5U1nGC z-s^RrfxX>fjmyo~cJJT4es_Dn>DzyQ8PY6@7B%f(zY-WNoCO|{#S9F3${@^GvDCf{ zD9B#o>Fdh=oRyVP!eVm477d_~WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk> zpEv^pv$Us+V~B<*qX6^!KR`Xh6#W1He~|bL?h;JKfV&Xxqycxy;BY|ZFTPJ*kz!9l OuJLsBb6Mw<&;$TfXzhyt literal 0 HcmV?d00001 diff --git a/assets/materials/hud.skm.yaml b/assets/materials/hud.skm.yaml index 50f1929..b91befe 100644 --- a/assets/materials/hud.skm.yaml +++ b/assets/materials/hud.skm.yaml @@ -18,6 +18,26 @@ materials: g: 255 b: 255 a: 255 + + center_reticle: + gDPSetTile: + filename: "../images/center_reticle.png" + siz: G_IM_SIZ_8b + fmt: G_IM_FMT_I + gDPSetRenderMode: G_RM_XLU_SURF + gDPSetCombineMode: + color: ["0", "0", "0", "PRIMITIVE"] + alpha: ["0", "0", "0", "TEXEL0"] + gSPGeometryMode: + clear: [G_ZBUFFER] + gDPSetTexturePersp: G_TP_NONE + gDPSetTextureLUT: G_TT_NONE + gDPSetTextureFilter: G_TF_POINT + gDPSetPrimColor: + r: 255 + g: 255 + b: 255 + a: 255 death_overlay: gDPSetRenderMode: G_RM_XLU_SURF diff --git a/src/scene/hud.c b/src/scene/hud.c index e38078a..54ea325 100644 --- a/src/scene/hud.c +++ b/src/scene/hud.c @@ -21,6 +21,11 @@ #define HUD_LOWER_X ((SCREEN_WD - HUD_OUTER_WIDTH + (HUD_OUTER_OFFSET_X << 1)) << 1) #define HUD_LOWER_Y ((SCREEN_HT - HUD_OUTER_HEIGHT + (HUD_OUTER_OFFSET_Y << 1)) << 1) +#define RETICLE_XMIN ((SCREEN_WD - (8 << 1)) << 1) +#define RETICLE_YMIN ((SCREEN_HT - (8 << 1)) << 1) +#define RETICLE_WIDTH 16 +#define RETICLE_HEIGHT 16 + void hudRender(struct RenderState* renderState, struct Player* player, int last_portal_idx_shot, int looked_wall_portalable_0, int looked_wall_portalable_1) { if (player->flags & PlayerIsDead) { gSPDisplayList(renderState->dl++, hud_death_overlay); @@ -102,4 +107,13 @@ void hudRender(struct RenderState* renderState, struct Player* player, int last_ G_TX_RENDERTILE, position_of_portal_indicator << 5, 0 << 5, 1 << 10, 1 << 10); } } + + // center reticle is drawn over top everything + gSPDisplayList(renderState->dl++, hud_material_list[CENTER_RETICLE_INDEX]); + gDPSetPrimColor(renderState->dl++, 255, 255, 210, 210, 210, 255); + gSPTextureRectangle(renderState->dl++, + RETICLE_XMIN, RETICLE_YMIN, + RETICLE_XMIN + (RETICLE_WIDTH << 2), RETICLE_YMIN + (RETICLE_HEIGHT << 2), + G_TX_RENDERTILE, 0 << 5, 0 << 5, 1 << 10, 1 << 10); + } \ No newline at end of file