Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer

This commit is contained in:
gymnast86
2026-07-15 01:08:32 -07:00
243 changed files with 2746 additions and 1741 deletions
+1 -1
View File
@@ -57,12 +57,12 @@
#include "dusk/settings.h"
#include "res/Object/Alink.h"
#include <cstring>
#include <dusk/string.hpp>
#include "dusk/cosmetics/color_utils.hpp"
#include "dusk/randomizer/game/flags.h"
#include "dusk/randomizer/game/stages.h"
#include "dusk/randomizer/game/tools.h"
#endif
#include <helpers/string.hpp>
static int daAlink_Create(fopAc_ac_c* i_this);
static int daAlink_Delete(daAlink_c* i_this);
+1 -1
View File
@@ -8,7 +8,7 @@
#include "d/actor/d_a_alink.h"
#include "d/d_com_inf_game.h"
#include "d/d_k_wmark.h"
#include "dusk/gx_helper.h"
#include "helpers/gx_helper.h"
DUSK_GAME_DATA const EffParamProc daAlink_c::m_fEffParamProc[] = {
&daAlink_c::setEffectFrontRollParam,
+1 -1
View File
@@ -13,7 +13,7 @@
#include "d/actor/d_a_bg_obj.h"
#include "d/actor/d_a_set_bgobj.h"
#include "d/d_s_play.h"
#include "dusk/string.hpp"
#include "helpers/string.hpp"
static const char* getBmdName(int param_0, int param_1) {
static char l_bmdName[16];
+1 -1
View File
@@ -18,7 +18,7 @@
#endif
#ifndef __MWERKS__
#include "dusk/math.h"
#include "helpers/math.h"
#endif
static BOOL daMirror_c_createHeap(fopAc_ac_c* i_this) {
+1 -10
View File
@@ -29,7 +29,7 @@
#include "JSystem/JAudio2/JASCriticalSection.h"
#if TARGET_PC
#include "dusk/gx_helper.h"
#include "helpers/gx_helper.h"
#include "dusk/os.h"
#include "dusk/layout.hpp"
#if MOVIE_SUPPORT
@@ -4592,12 +4592,3 @@ DUSK_PROFILE actor_process_profile_definition DUSK_CONST g_profile_MOVIE_PLAYER
};
AUDIO_INSTANCES;
#if TARGET_PC
void dusk::MoviePlayerShutdown() {
// We need to cleanly shut down the threads to avoid crashes on shutdown.
if (daMP_c::m_myObj) {
daMP_c::m_myObj->daMP_c_Finish();
}
}
#endif
+1 -1
View File
@@ -15,7 +15,7 @@
#include "Z2AudioLib/Z2Instances.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
static DUSK_CONSTEXPR int l_bmdData[4][2] = {
{14, 1}, {26, 2},
+1 -1
View File
@@ -11,7 +11,7 @@
#include "d/actor/d_a_e_ym.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
enum saru_TW_RES_File_ID {
/* BMDR */
+1 -1
View File
@@ -8,7 +8,7 @@
#include "d/actor/d_a_npc_shop0.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
static int createHeapCallBack(fopAc_ac_c* i_this) {
return static_cast<daNpc_Shop0_c*>(i_this)->createHeap();
+1 -1
View File
@@ -10,10 +10,10 @@
#include <cstring>
#if TARGET_PC
#include "dusk/string.hpp"
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/randomizer/game/tools.h"
#endif
#include "helpers/string.hpp"
static DUSK_CONSTEXPR daNpc_GetParam1 l_bmdData[3] = {
{3, 1},
+1 -1
View File
@@ -21,10 +21,10 @@
#include <cstring>
#if TARGET_PC
#include "dusk/string.hpp"
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/randomizer/game/verify_item_functions.h"
#endif
#include "helpers/string.hpp"
#if DEBUG
class daNpc_ykW_HIO_c : public mDoHIO_entry_c {
+1 -1
View File
@@ -12,7 +12,7 @@
#include "d/d_cc_uty.h"
#include "d/d_com_inf_actor.h"
#include "d/d_com_inf_game.h"
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#if DEBUG
#include "d/d_debug_viewer.h"
#endif
+1 -1
View File
@@ -13,7 +13,7 @@
#include "d/d_cc_uty.h"
#ifndef __MWERKS__
#include "dusk/math.h"
#include "helpers/math.h"
#endif
#if DEBUG
+1 -1
View File
@@ -9,7 +9,7 @@
#include <types.h>
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_msg.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "f_op/f_op_actor_mng.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
static DUSK_CONST char* l_evtNameList[] = {
NULL,
+1 -1
View File
@@ -11,7 +11,7 @@
#include "d/d_debug_viewer.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
static int createHeapCallBack(fopAc_ac_c* i_this) {
daTag_Msg_c* msg = (daTag_Msg_c*)i_this;
+11 -11
View File
@@ -19,7 +19,7 @@ static u8* l_J_Ohana00_64TEX_get() { static u8 buf[0x800]; static bool _ = (dusk
// from d_grass.inc
static MtxP get_model_mtx(Mtx modelMtx, Mtx storage);
static void transform_positions(
const dusk::batch::LeafTemplate& tpl, const Vec* posArray, const Mtx mtx, Vec* xfPos);
const batch::LeafTemplate& tpl, const Vec* posArray, const Mtx mtx, Vec* xfPos);
static void split_batch(u32& emitted, u32 vtxCount);
#else
#include "assets/l_J_Ohana00_64TEX.h"
@@ -595,11 +595,11 @@ dFlower_packet_c::dFlower_packet_c() {
l_J_Ohana01_64128_0419TEX__width + 1, l_J_Ohana01_64128_0419TEX__height + 1, GX_TF_CMPR, GX_MIRROR, GX_MIRROR, GX_FALSE
);
dusk::batch::decode_leaf_template(l_J_hana00DL, 0x140, mTplHana00);
dusk::batch::decode_leaf_template(l_J_hana00_cDL, 0xC0, mTplHana00Cut);
dusk::batch::decode_leaf_template(l_J_hana01DL, 0x120, mTplHana01);
dusk::batch::decode_leaf_template(l_J_hana01_c_00DL, 0xC0, mTplHana01Cut00);
dusk::batch::decode_leaf_template(l_J_hana01_c_01DL, 0x120, mTplHana01Cut);
batch::decode_leaf_template(l_J_hana00DL, 0x140, mTplHana00);
batch::decode_leaf_template(l_J_hana00_cDL, 0xC0, mTplHana00Cut);
batch::decode_leaf_template(l_J_hana01DL, 0x120, mTplHana01);
batch::decode_leaf_template(l_J_hana01_c_00DL, 0xC0, mTplHana01Cut00);
batch::decode_leaf_template(l_J_hana01_c_01DL, 0x120, mTplHana01Cut);
#endif
m_deleteRoom = &dFlower_packet_c::deleteRoom;
@@ -757,9 +757,9 @@ static GXColor hana01_amb_color(int idx, const dKy_tevstr_c* tevstr) {
return amb;
}
static void flower_emit(const dusk::batch::LeafTemplate& tpl, const Vec* xformedPos, GXColor amb) {
static void flower_emit(const batch::LeafTemplate& tpl, const Vec* xformedPos, GXColor amb) {
for (u32 i = 0; i < tpl.vtxCount; i++) {
const dusk::batch::LeafTemplate::Vtx& v = tpl.vtx[i];
const batch::LeafTemplate::Vtx& v = tpl.vtx[i];
const Vec& p = xformedPos[v.pos];
GXPosition3f32(p.x, p.y, p.z);
GXNormal1x8(v.nrm);
@@ -852,7 +852,7 @@ void dFlower_packet_c::draw() {
for (int bucket = 0; bucket < 2; bucket++) {
const bool cut = bucket != 0;
const dusk::batch::LeafTemplate& tpl = cut ? mTplHana00Cut : mTplHana00;
const batch::LeafTemplate& tpl = cut ? mTplHana00Cut : mTplHana00;
bool open = false;
u32 emitted = 0;
@@ -931,10 +931,10 @@ void dFlower_packet_c::draw() {
GXLoadPosMtxImm(identity, GX_PNMTX0);
GXLoadNrmMtxImm(j3dSys.getViewMtx(), 0);
const dusk::batch::LeafTemplate* const buckets[3] = {
const batch::LeafTemplate* const buckets[3] = {
&mTplHana01, &mTplHana01Cut00, &mTplHana01Cut};
for (int bucket = 0; bucket < 3; bucket++) {
const dusk::batch::LeafTemplate& tpl = *buckets[bucket];
const batch::LeafTemplate& tpl = *buckets[bucket];
bool open = false;
u32 emitted = 0;
+7 -7
View File
@@ -513,9 +513,9 @@ dGrass_packet_c::dGrass_packet_c() {
field_0x1d714 = 0;
#if TARGET_PC
dusk::batch::decode_leaf_template(mp_Mkusa_9q_DL, m_Mkusa_9q_DL_size, mTplKusa9q);
dusk::batch::decode_leaf_template(mp_Mkusa_9q_cDL, m_Mkusa_9q_cDL_size, mTplKusa9qCut);
dusk::batch::decode_leaf_template(l_M_TenGusaDL, 0xC0, mTplTengusa);
batch::decode_leaf_template(mp_Mkusa_9q_DL, m_Mkusa_9q_DL_size, mTplKusa9q);
batch::decode_leaf_template(mp_Mkusa_9q_cDL, m_Mkusa_9q_cDL_size, mTplKusa9qCut);
batch::decode_leaf_template(l_M_TenGusaDL, 0xC0, mTplTengusa);
#endif
OS_REPORT("草群メモリ=%f\n", 117.7734375f);
@@ -533,7 +533,7 @@ static MtxP get_model_mtx(Mtx modelMtx, Mtx storage) {
}
static void transform_positions(
const dusk::batch::LeafTemplate& tpl, const Vec* posArray, const Mtx mtx, Vec* xfPos) {
const batch::LeafTemplate& tpl, const Vec* posArray, const Mtx mtx, Vec* xfPos) {
for (u32 i = 0; i < tpl.posRefCount; i++) {
const u8 idx = tpl.posRefs[i];
MTXMultVec(mtx, &posArray[idx], &xfPos[idx]);
@@ -609,10 +609,10 @@ static GXColor blade_amb_color(const dGrass_data_c* blade, const dKy_tevstr_c* t
return amb;
}
static void blade_emit(const dusk::batch::LeafTemplate& tpl, const Vec* xformedPos,
static void blade_emit(const batch::LeafTemplate& tpl, const Vec* xformedPos,
const GXColor* colors, GXColor amb) {
for (u32 i = 0; i < tpl.vtxCount; i++) {
const dusk::batch::LeafTemplate::Vtx& v = tpl.vtx[i];
const batch::LeafTemplate::Vtx& v = tpl.vtx[i];
const Vec& p = xformedPos[v.pos];
GXPosition3f32(p.x, p.y, p.z);
GXNormal1x8(v.nrm);
@@ -765,7 +765,7 @@ void dGrass_packet_c::draw() {
for (int bucket = 0; bucket < 4; bucket++) {
const bool kusaTex = bucket < 2;
const bool cut = (bucket & 1) != 0;
const dusk::batch::LeafTemplate& tpl =
const batch::LeafTemplate& tpl =
cut ? mTplKusa9qCut : (kusaTex ? mTplKusa9q : mTplTengusa);
bool open = false;
+1 -1
View File
@@ -8,7 +8,7 @@
#include "JSystem/JKernel/JKRSolidHeap.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
void dBgp_c::material_c::draw() {
material_c* material = this;
+1 -1
View File
@@ -15,7 +15,7 @@
#include "d/d_bg_s_capt_poly.h"
#if TARGET_PC
#include "dusk/offset_ptr.h"
#include "helpers/offset_ptr.h"
#include "dusk/settings.h"
#endif
+19 -2
View File
@@ -26,8 +26,10 @@
#include <cstdio>
#include <cstring>
#include "helpers/string.hpp"
#if TARGET_PC
#include "dusk/string.hpp"
#include "dusk/settings.h"
#include "dusk/logging.h"
#include "dusk/randomizer/game/tools.h"
#include "dusk/randomizer/game/stages.h"
@@ -35,7 +37,6 @@
#include "dusk/randomizer/game/randomizer_context.hpp"
#endif
void dComIfG_play_c::ct() {
mWindowNum = 0;
mParticle = NULL;
@@ -3727,3 +3728,19 @@ u8 dComIfGs_staffroll_next_go_check() {
DUSK_GAME_DATA GXColor g_whiteColor = {255, 255, 255, 255};
DUSK_GAME_DATA GXColor g_saftyWhiteColor = {160, 160, 160, 255};
#if TARGET_PC
void dComIfGd_drawXluListInvisible() {
ZoneScoped;
if (!dusk::getSettings().game.disableWaterRefraction) {
g_dComIfG_gameInfo.drawlist.drawXluListInvisible();
}
}
void dComIfGd_drawOpaListInvisible() {
ZoneScoped;
if (!dusk::getSettings().game.disableWaterRefraction) {
g_dComIfG_gameInfo.drawlist.drawOpaListInvisible();
}
}
#endif
-3
View File
@@ -1,10 +1,7 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "d/dolzel.h" // IWYU pragma: keep
#include "d/d_cursor_mng.h"
#include "../../libs/JSystem/include/JSystem/JKernel/JKRHeap.h"
#include "d/d_com_inf_game.h"
dCsr_mng_c* dCsr_mng_c::m_myObj;
+1 -1
View File
@@ -20,7 +20,7 @@
#include "absl/container/flat_hash_map.h"
#include "client/TracyScoped.hpp"
#include "dusk/frame_interpolation.h"
#include "dusk/gx_helper.h"
#include "helpers/gx_helper.h"
#include "dusk/logging.h"
static const void* getInterpKey(const void* base, int idx) {
+1 -1
View File
@@ -13,7 +13,7 @@
#include "d/actor/d_a_alink.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#ifdef __MWERKS__
#define LOAD_4BYTE_STRING_LITERAL(x) (*(u32*)(x))
+1 -1
View File
@@ -15,8 +15,8 @@
#if TARGET_PC
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/string.hpp"
#endif
#include "helpers/string.hpp"
namespace {
static u8 event_debug_evnt() {
+2 -1
View File
@@ -17,10 +17,11 @@
#if TARGET_PC
#include "dusk/randomizer/game/verify_item_functions.h"
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/string.hpp"
#endif
#include "helpers/string.hpp"
#if DEBUG
static dEvM_HIO_c l_HIO;
#endif
+3 -3
View File
@@ -14,7 +14,7 @@
#include <cstdio>
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#include "dusk/version.hpp"
dFile_info_c::dFile_info_c(JKRArchive* i_archive, u8 param_1) {
@@ -122,12 +122,12 @@ int dFile_info_c::setSaveData(dSv_save_c* i_savedata, BOOL i_validChksum, u8 i_d
if (!curFileSeedHash.empty()) {
// Overwrite "Save time" text with "Randomizer"
auto saveTimeText = (J2DTextBox*)mFileInfo.Scr->search(MULTI_CHAR('f_s_t_02'));
dusk::SafeStringCopy(saveTimeText->getStringPtr(), "Randomizer");
SafeStringCopy(saveTimeText->getStringPtr(), "Randomizer");
saveTimeText->setHBinding(J2DTextBoxHBinding::HBIND_LEFT);
// Overwrite the "Total play time" text with the seed hash
auto playTimeText = (J2DTextBox*)mFileInfo.Scr->search(MULTI_CHAR('f_p_t_02'));
dusk::SafeStringCopy(playTimeText->getStringPtr(), curFileSeedHash.c_str());
SafeStringCopy(playTimeText->getStringPtr(), curFileSeedHash.c_str());
// Give the text double the space on the menu incase the seed hash is long
playTimeText->setHBinding(J2DTextBoxHBinding::HBIND_LEFT);
+1 -1
View File
@@ -27,10 +27,10 @@
#include "dusk/config.hpp"
#include "dusk/menu_pointer.h"
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/string.hpp"
#include "dusk/ui/modal.hpp"
#include "dusk/ui/rando_config.hpp"
#include "dusk/ui/ui.hpp"
#include "helpers/string.hpp"
namespace {
constexpr u8 pointer_target(u8 group, u8 index) noexcept {
+1 -1
View File
@@ -15,9 +15,9 @@
#include <cstring>
#if TARGET_PC
#include "dusk/gx_helper.h"
#include "dusk/randomizer/game/randomizer_context.hpp"
#endif
#include "helpers/gx_helper.h"
class dGov_HIO_c : public mDoHIO_entry_c {
public:
+1 -1
View File
@@ -14,7 +14,7 @@
#include "m_Do/m_Do_controller_pad.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
// Need 0xC bytes of padding with no symbol between dMenu_Calibration_c::__vtable and the end of
// .data
+5 -1
View File
@@ -26,7 +26,11 @@
#include "m_Do/m_Do_graphic.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#if TARGET_PC
#include "dusk/frame_interpolation.h"
#endif
#if (PLATFORM_WII || PLATFORM_SHIELD)
#define POINTER_OPT dComIfGs_getOptPointer()
+1 -1
View File
@@ -16,7 +16,7 @@
#include "m_Do/m_Do_graphic.h"
#include <cstring>
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#include "dusk/version.hpp"
typedef void (dMenu_Fishing_c::*initFunc)();
+6 -2
View File
@@ -21,10 +21,14 @@
#include "d/d_msg_object.h"
#include "d/d_msg_scrn_explain.h"
#include "d/d_stage.h"
#include "dusk/memory.h"
#include "dusk/string.hpp"
#include "helpers/string.hpp"
#include "f_op/f_op_msg_mng.h"
#if TARGET_PC
#include "dusk/frame_interpolation.h"
#include "dusk/memory.h"
#endif
static dMf_HIO_c g_fmHIO;
static dMenu_Fmap_c::process init_process[30] = {
+1
View File
@@ -29,6 +29,7 @@
#include <cstdio>
#if TARGET_PC
#include "dusk/frame_interpolation.h"
#include "dusk/game_clock.h"
#include "dusk/menu_pointer.h"
#include "dusk/settings.h"
+1 -1
View File
@@ -17,9 +17,9 @@
#if TARGET_PC
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/string.hpp"
#include "battery/embed.hpp"
#endif
#include "helpers/string.hpp"
enum ITEMICON_RES_FILE_ID {
ITEMICON_BTI_ARI_MESU_00=0x3,
+3 -4
View File
@@ -18,11 +18,10 @@
#include "d/d_pane_class.h"
#include "dusk/frame_interpolation.h"
#include <cstring>
#if TARGET_PC
#include "dusk/string.hpp"
#endif
#include "dusk/string.hpp"
#if TARGET_PC
#include "helpers/string.hpp"
#endif
#if VERSION == VERSION_GCN_JPN
#define STR_BUF_LEN 528
+4
View File
@@ -5,6 +5,10 @@
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "d/d_com_inf_game.h"
#if TARGET_PC
#include "dusk/frame_interpolation.h"
#endif
void dMdl_c::draw() {
j3dSys.setVtxPos(mpModelData->getVtxPosArray(), mpModelData->getVtxNum());
j3dSys.setVtxNrm(mpModelData->getVtxNrmArray(), mpModelData->getNrmNum());
+5 -1
View File
@@ -26,8 +26,12 @@
#include "m_Do/m_Do_lib.h"
#include "tracy/Tracy.hpp"
#if TARGET_PC
#include "dusk/frame_interpolation.h"
#endif
#ifndef __MWERKS__
#include "dusk/math.h"
#include "helpers/math.h"
#endif
#if DEBUG
+2 -2
View File
@@ -41,8 +41,8 @@
#include "dusk/settings.h"
#include <f_ap/f_ap_game.h>
#include "dusk/string.hpp"
#define strcpy dusk::SafeStringCopy
#include "helpers/string.hpp"
#define strcpy SafeStringCopy
#endif
static u8 dSv_item_rename(u8 i_itemNo) {
+4 -2
View File
@@ -25,11 +25,13 @@
#if TARGET_PC
#include "dusk/logging.h"
#include "dusk/string.hpp"
#include "dusk/randomizer/game/randomizer_context.hpp"
#include "dusk/randomizer/game/flags.h"
#include "dusk/randomizer/game/stages.h"
#include "dusk/randomizer/game/tools.h"
#endif
#include "helpers/string.hpp"
#if TARGET_PC
#include <format>
#include <fmt/ranges.h>
#endif
@@ -162,7 +164,7 @@ void dStage_startStage_c::set(const char* i_Name, s8 i_RoomNo, s16 i_Point, s8 i
#if TARGET_PC
// UB fix.
if (mName != i_Name) {
dusk::SafeStringCopy(mName, i_Name);
SafeStringCopy(mName, i_Name);
}
#else
strcpy(mName, i_Name);