From b8f69e82dd2ff4718a884cc4b6dd62c59e647055 Mon Sep 17 00:00:00 2001 From: gymnast86 Date: Thu, 25 Jun 2026 08:57:34 -0700 Subject: [PATCH] add shadow crystal icon --- CMakeLists.txt | 2 ++ src/d/d_menu_ring.cpp | 7 ++----- src/d/d_meter2_info.cpp | 8 ++++++++ .../assets/textures/shadow_crystal.bti | Bin 0 -> 1976 bytes src/dusk/randomizer/randomizer.cmake | 1 + 5 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 src/dusk/randomizer/assets/textures/shadow_crystal.bti diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a3054a410..aa04dec7bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -525,6 +525,8 @@ endif () # Add embedded data to target file(GLOB_RECURSE RANDOMIZER_DATA "src/dusk/randomizer/generator/data/*") +file(GLOB_RECURSE RANDOMIZER_ASSETS "src/dusk/randomizer/assets/*") +list(APPEND RANDOMIZER_DATA ${RANDOMIZER_ASSETS}) set(RANDO_ROOT_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}) foreach (RANDOMIZER_FILE IN LISTS RANDOMIZER_DATA) diff --git a/src/d/d_menu_ring.cpp b/src/d/d_menu_ring.cpp index 15de2949c0..d223268cb6 100644 --- a/src/d/d_menu_ring.cpp +++ b/src/d/d_menu_ring.cpp @@ -28,16 +28,13 @@ #include #include -#if TARGET_PC -#include "dusk/randomizer/game/verify_item_functions.h" -#include "dusk/randomizer/game/tools.h" -#endif - #if TARGET_PC #include "dusk/game_clock.h" #include "dusk/menu_pointer.h" #include "dusk/settings.h" #include "dusk/ui/touch_controls.hpp" +#include "dusk/randomizer/game/verify_item_functions.h" +#include "dusk/randomizer/game/tools.h" #endif typedef void (dMenu_Ring_c::*initFunc)(); diff --git a/src/d/d_meter2_info.cpp b/src/d/d_meter2_info.cpp index 63e22056f5..6a8d656666 100644 --- a/src/d/d_meter2_info.cpp +++ b/src/d/d_meter2_info.cpp @@ -15,7 +15,10 @@ #include +#if TARGET_PC #include "dusk/string.hpp" +#include "battery/embed.hpp" +#endif enum ITEMICON_RES_FILE_ID { ITEMICON_BTI_ARI_MESU_00=0x3, @@ -815,6 +818,11 @@ int dMeter2Info_c::readItemTexture(u8 i_itemNo, void* i_texBuf1, J2DPicture* i_p } else if ((itemType == ItemType_POU_FIRE || itemType == ItemType_FAIRY || itemType == ItemType_BEE_CHILD || itemType == ItemType_WORM) && i_texBuf3 == NULL) { u32 size = JKRReadIdxResource(i_texBuf1, 0xC00, get2ndTexture(itemType), dComIfGp_getItemIconArchive()); JUT_ASSERT(1222, size != 0); +#if TARGET_PC + } else if (randomizer_IsActive() && i_itemNo == dItemNo_Randomizer_MAGIC_LV1_e) { + auto shadowCrystalBti = b::embed(); + std::memcpy(i_texBuf1, shadowCrystalBti.data(), shadowCrystalBti.size()); +#endif } else { u32 size; if (param_9 >= 0) { diff --git a/src/dusk/randomizer/assets/textures/shadow_crystal.bti b/src/dusk/randomizer/assets/textures/shadow_crystal.bti new file mode 100644 index 0000000000000000000000000000000000000000..c6c4dd636bee95302869a503309773aa5257808f GIT binary patch literal 1976 zcmb_d&u<$=6rSCAYtMS#uCudQd)+3E-PmywViVdxL;2C91!CI%0X>35r1A&gvr!WX zRYmj=q;iWyddM+S4@KfoPy6U>dEfiK zdGFb^*#ui;%(B@P#)=I_%d+TCZy0N&&;RRT>BtnD11BgHLAY7y#5SA6F`EQT0!jA% zKS0R=iGt`n@Cnl+N_`XJ{25(LCKcBdcW6YiAeRb5J2GQa(vQ zS5EvI2u%SHzg;VgmP*WaT(9Ujtme9;4cHWy)we6sfv`ItD#bZUf!HDO%>eOD;Yvj) zT4!HBapv42c>eUbQ-7lyPt@O1I2Uy)O@)#!D(5qmm|&n~v&41N%1oF&O9r1muWN}M zu2XJQx!5Bl>q!`Ph*pZlWkDD&w0)F;kfJrIROlJ&mMF`nY+EKonCFIL1wB?A?bVo7YWNvOg=&7xGIzp&(C zyc_{~Am3@X>+ild)@q-OB9BsP#*~w$ZQS z(lT|Iqs7gfva>oQ=hLsK9?Aaz<4awEoeo{b7&ZG!A2A9rl=^;=I!sTNe9)NdrnBk0 zG|UmcoHxh3?vEf@>y!6nBKo?VoDvNes-Oa+TvHG z*dJ^x-)ijiudZ$vZvSxm`t)Gq&X8?xt*w4@BOa_>_-uXSU~#aud-ur}8*X1)-QWDR z^;6^E)M4ZC=H}OHd%y6#!r|((6fgC{qy z|J;8z+*^6@Xn1L-@brV5KYn@T+Yk5I=kD<7oiFxg_8 C|G+i? literal 0 HcmV?d00001 diff --git a/src/dusk/randomizer/randomizer.cmake b/src/dusk/randomizer/randomizer.cmake index a6296edece..3bf7a4e111 100644 --- a/src/dusk/randomizer/randomizer.cmake +++ b/src/dusk/randomizer/randomizer.cmake @@ -7,6 +7,7 @@ set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDOMIZER_ONLY=${RANDOMIZER_ONLY} RANDO_SAVE_PATH="${RANDO_SAVE_PATH}" RANDO_DATA_PATH="src/dusk/randomizer/generator/data/" + RANDO_ASSETS_PATH="src/dusk/randomizer/assets/" RANDO_LOGIC_TESTS_PATH="${CMAKE_SOURCE_DIR}/src/dusk/randomizer/generator/data/tests/logic") if(RANDO_ERROR_LOG)