Fix multiple classes being inappropriately zero-initialized via JKR_NEW* (#70)

This might also fix #71 and #72.
This commit is contained in:
Max Roncace
2026-03-13 02:50:06 -04:00
parent 2d430eb9a1
commit 9fff8d45a1
25 changed files with 73 additions and 73 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
static const char l_arcName[] = "Always";
int dkWpillar_c::create() {
JKR_NEW_ARGS (this) dkWpillar_c();
JKR_NEW_ARGS (this) dkWpillar_c;
int roomNo;
u8 envrOverride;
+2 -2
View File
@@ -1229,7 +1229,7 @@ void dKyr_housi_move() {
void dKyr_snow_init() {
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
g_env_light.mpSnowPacket = JKR_NEW_ARGS (32) dKankyo_snow_Packet();
g_env_light.mpSnowPacket = JKR_NEW_ARGS (32) dKankyo_snow_Packet;
if (g_env_light.mpSnowPacket == NULL) {
return;
@@ -1523,7 +1523,7 @@ void dKyr_snow_move() {
void dKyr_star_init() {
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
g_env_light.mpStarPacket = JKR_NEW_ARGS (32) dKankyo_star_Packet();
g_env_light.mpStarPacket = JKR_NEW_ARGS (32) dKankyo_star_Packet;
if (g_env_light.mpStarPacket == NULL) {
return;
+9 -9
View File
@@ -433,8 +433,8 @@ static void wether_move_sun() {
switch (g_env_light.mSunInitialized) {
case FALSE:
if (sunVisible && dKy_darkworld_check() != true) {
g_env_light.mpSunPacket = JKR_NEW_ARGS (0x20) dKankyo_sun_Packet();
g_env_light.mpSunLenzPacket = JKR_NEW_ARGS (0x20) dKankyo_sunlenz_Packet();
g_env_light.mpSunPacket = JKR_NEW_ARGS (0x20) dKankyo_sun_Packet;
g_env_light.mpSunLenzPacket = JKR_NEW_ARGS (0x20) dKankyo_sunlenz_Packet;
if (g_env_light.mpSunPacket != NULL && g_env_light.mpSunLenzPacket != NULL) {
g_env_light.mpSunPacket->mpResMoon = (u8*)dComIfG_getStageRes("F_moon.bti");
g_env_light.mpSunPacket->mpResMoon_A = (u8*)dComIfG_getStageRes("F_moon_A.bti");
@@ -516,7 +516,7 @@ static void wether_move_rain() {
switch (g_env_light.mRainInitialized) {
case FALSE:
if (g_env_light.raincnt > 3) {
g_env_light.mpRainPacket = JKR_NEW_ARGS (32) dKankyo_rain_Packet();
g_env_light.mpRainPacket = JKR_NEW_ARGS (32) dKankyo_rain_Packet;
if (g_env_light.mpRainPacket != NULL) {
dKyr_rain_init();
@@ -705,7 +705,7 @@ static void wether_move_housi() {
switch (g_env_light.mHousiInitialized) {
case FALSE:
if (g_env_light.mHousiCount != 0) {
g_env_light.mpHousiPacket = JKR_NEW_ARGS (32) dKankyo_housi_Packet();
g_env_light.mpHousiPacket = JKR_NEW_ARGS (32) dKankyo_housi_Packet;
if (g_env_light.mpHousiPacket != NULL) {
if (dKy_darkworld_check() == true) {
@@ -764,7 +764,7 @@ static void wether_move_odour() {
switch (g_env_light.mOdourData.mOdourPacketStatus) {
case 0:
if (g_env_light.mOdourData.field_0xf21 != 0) {
g_env_light.mOdourData.mpOdourPacket = JKR_NEW_ARGS (32) dKankyo_odour_Packet();
g_env_light.mOdourData.mpOdourPacket = JKR_NEW_ARGS (32) dKankyo_odour_Packet;
if (g_env_light.mOdourData.mpOdourPacket != NULL) {
g_env_light.mOdourData.mpOdourPacket->mpResTex = (u8*)dComIfG_getObjectRes("Always", 0x53);
@@ -798,7 +798,7 @@ static void wether_move_moya() {
switch (g_env_light.mCloudInitialized) {
case 0:
if (g_env_light.mMoyaCount != 0) {
g_env_light.mpCloudPacket = JKR_NEW_ARGS (32) dKankyo_cloud_Packet();
g_env_light.mpCloudPacket = JKR_NEW_ARGS (32) dKankyo_cloud_Packet;
if (g_env_light.mpCloudPacket != NULL) {
g_env_light.mpCloudPacket->mpResTex = (u8*)dComIfG_getObjectRes("Always", 0x53);
@@ -884,7 +884,7 @@ static void wether_move_vrkumo() {
switch (g_env_light.mVrkumoStatus) {
case 0:
if (g_env_light.mVrkumoCount != 0) {
g_env_light.mpVrkumoPacket = JKR_NEW_ARGS (0x20) dKankyo_vrkumo_Packet();
g_env_light.mpVrkumoPacket = JKR_NEW_ARGS (0x20) dKankyo_vrkumo_Packet;
if (g_env_light.mpVrkumoPacket == NULL) {
return;
}
@@ -964,7 +964,7 @@ static void wether_move_mud() {
switch (g_env_light.mMudInitialized) {
case 0:
if (g_env_light.field_0x1048 != 0) {
g_env_light.mpMudPacket = JKR_NEW_ARGS (32) dKankyo_mud_Packet();
g_env_light.mpMudPacket = JKR_NEW_ARGS (32) dKankyo_mud_Packet;
if (g_env_light.mpMudPacket != NULL) {
dKyr_mud_init();
@@ -990,7 +990,7 @@ static void wether_move_evil() {
switch (g_env_light.mEvilInitialized & 0xF) {
case 0:
if (g_env_light.field_0x1054 != 0) {
g_env_light.mpEvilPacket = JKR_NEW_ARGS (32) dKankyo_evil_Packet();
g_env_light.mpEvilPacket = JKR_NEW_ARGS (32) dKankyo_evil_Packet;
if (g_env_light.mpEvilPacket != NULL) {
dKyr_evil_init();
+1 -1
View File
@@ -152,7 +152,7 @@ int dThunder_c::create() {
f32 var_r28;
f32 var_r27;
JKR_NEW_ARGS (this) dThunder_c();
JKR_NEW_ARGS (this) dThunder_c;
J3DModelData* modelData;
if (cM_rndF(1.0f) < 0.5f) {
+1 -1
View File
@@ -662,7 +662,7 @@ void dMenu_FmapMap_c::setTexture(u16 i_width, u16 i_height, u16 param_2, u16 par
int size = GXGetTexBufferSize(i_width, i_height, GX_TF_C8, 0, 0);
mMapImage_p = JKR_NEW_ARRAY_ARGS(u8, size, 0x20);
init(mMapImage_p, i_width, i_height, param_2, param_3);
mResTIMG = JKR_NEW_ARGS (0x20) ResTIMG();
mResTIMG = JKR_NEW_ARGS (0x20) ResTIMG;
makeResTIMG(mResTIMG, i_width, i_height, mMapImage_p, (u8*)m_palette, 0x1b);
}
+1 -1
View File
@@ -234,7 +234,7 @@ static int dOvlpFd2_Delete(dOvlpFd2_c* i_this) {
}
static int dOvlpFd2_Create(void* i_this) {
JKR_NEW_ARGS (i_this) dOvlpFd2_c();
JKR_NEW_ARGS (i_this) dOvlpFd2_c;
return cPhs_COMPLEATE_e;
}
+1 -1
View File
@@ -252,7 +252,7 @@ static int dOvlpFd3_Delete(dOvlpFd3_c* i_this) {
}
static int dOvlpFd3_Create(void* i_this) {
JKR_NEW_ARGS (i_this) dOvlpFd3_c();
JKR_NEW_ARGS (i_this) dOvlpFd3_c;
return cPhs_COMPLEATE_e;
}
+1 -1
View File
@@ -1454,7 +1454,7 @@ void dScnLogo_c::dvdDataLoad() {
static int dScnLogo_Create(scene_class* i_this) {
DuskLog.debug("[DIAG] dScnLogo_Create: entry i_this={}", (void*)i_this);
return (JKR_NEW_ARGS (i_this) dScnLogo_c())->create();
return (JKR_NEW_ARGS (i_this) dScnLogo_c)->create();
}
static int dScnLogo_Execute(dScnLogo_c* i_this) {
+1 -1
View File
@@ -408,7 +408,7 @@ static int dScnName_Delete(dScnName_c* i_this) {
}
static int dScnName_Create(scene_class* i_this) {
JKR_NEW_ARGS (i_this) dScnName_c();
JKR_NEW_ARGS (i_this) dScnName_c;
return static_cast<dScnName_c*>(i_this)->create();
}