removed some compiler warnings that indicate potential undefined behaviour

This commit is contained in:
mariob92
2024-09-20 20:06:24 +02:00
parent fbe20325c2
commit 4405a7c2ce
13 changed files with 33 additions and 27 deletions

View File

@@ -104,7 +104,7 @@ static int _rarezip_uncompress(u8 **srcPtr, u8 **dstPtr, struct huft * arg2){
int result; int result;
result = _rarezip_inflate(*srcPtr, *dstPtr, arg2); result = _rarezip_inflate(*srcPtr, *dstPtr, arg2);
*dstPtr = *dstPtr + D_8027BF1C; *dstPtr = *dstPtr + D_8027BF1C;
*dstPtr = ((u32)*dstPtr & 0xF) ? ((u32)*dstPtr & -0x10) + 0x10: *dstPtr; *dstPtr = ((u32)*dstPtr & 0xF) ? (u8 *) ((u32)*dstPtr & -0x10) + 0x10: *dstPtr;
*srcPtr = *srcPtr + D_8027BF18 + COMP_HEADER_SIZE; *srcPtr = *srcPtr + D_8027BF18 + COMP_HEADER_SIZE;
return result; return result;
} }

View File

@@ -484,7 +484,11 @@ void func_80247560(void){
D_80280684 = 0; D_80280684 = 0;
D_80280680 = 0; D_80280680 = 0;
tmp_v0 = D_8027EF40; tmp_v0 = D_8027EF40;
while((u32)tmp_v0 % 0x10){((u32)tmp_v0)++;}
while ((u32) tmp_v0 % 0x10) {
tmp_v0 = (u64 *) ((u32) tmp_v0 + 1);
}
D_80275950.t.yield_data_ptr = tmp_v0; D_80275950.t.yield_data_ptr = tmp_v0;
osCreateThread(&D_80280428, 5, func_802473B4, NULL, &D_8027FC28[2048], 60); osCreateThread(&D_80280428, 5, func_802473B4, NULL, &D_8027FC28[2048], 60);
osStartThread(&D_80280428); osStartThread(&D_80280428);

View File

@@ -139,8 +139,8 @@ void memcpy(void * dst, void *src, int size){
while(size > 0){ while(size > 0){
*(u8*)dst = *(u8*)src; *(u8*)dst = *(u8*)src;
size--; size--;
((u8*)dst)++; dst = (u8 *) dst + 1;
((u8*)src)++; src = (u8 *) src + 1;
} }
} }
@@ -148,8 +148,8 @@ void wmemcpy(void * dst, void *src, int size){
while(size > 0){ while(size > 0){
*(u32*)dst = *(u32*)src; *(u32*)dst = *(u32*)src;
size -= 4; size -= 4;
((u32*)dst)++; dst = (u32 *) dst + 1;
((u32*)src)++; src = (u32 *) src + 1;
} }
} }

View File

@@ -59,7 +59,7 @@ enum core2_41FB0_e{
CORE2_41FB0_C_BGS_HUT_JIGGY, CORE2_41FB0_C_BGS_HUT_JIGGY,
CORE2_41FB0_E_YUMYUM_EGG = 0xe, CORE2_41FB0_E_YUMYUM_EGG = 0xe,
CORE2_41FB0_F_YUMYUM_RED_FEATHER, CORE2_41FB0_F_YUMYUM_RED_FEATHER
}; };

View File

@@ -245,8 +245,8 @@ void func_80319214(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
} }
bool func_803192A4(enum ff_question_type_e q_type, s32 q_indx, s32 arg2) { bool func_803192A4(enum ff_question_type_e q_type, s32 q_indx, s32 arg2) {
#define NEXT(iter) (*(((char *)(iter))++)) //#define NEXT(iter) (*(((char *)(iter))++))
#define SKIP(iter,n) (((char *)(iter)) += (n)) //#define SKIP(iter,n) (((char *)(iter)) += (n))
char *char_iter; char *char_iter;
s32 temp_s0; s32 temp_s0;
s32 temp_s2; s32 temp_s2;
@@ -272,9 +272,9 @@ bool func_803192A4(enum ff_question_type_e q_type, s32 q_indx, s32 arg2) {
D_803830E0->unkC = (QuizQuestionBin *) assetcache_get(temp_s0); D_803830E0->unkC = (QuizQuestionBin *) assetcache_get(temp_s0);
} }
char_iter = D_803830E0->unkC; char_iter = D_803830E0->unkC;
sp58 = NEXT(char_iter); sp58 = *(char_iter++); // NEXT
sp54 = NEXT(char_iter); sp54 = *(char_iter++); // NEXT
sp50 = NEXT(char_iter); sp50 = *(char_iter++); // NEXT
sp4C = ((sp54 >= 2) ? func_80318F60(q_type, q_indx, arg2) : 0) + 1; sp4C = ((sp54 >= 2) ? func_80318F60(q_type, q_indx, arg2) : 0) + 1;
if (((sp50 == 0) || (func_80318FB4(q_type) != 0)) != 0) { if (((sp50 == 0) || (func_80318FB4(q_type) != 0)) != 0) {
do { do {
@@ -290,11 +290,11 @@ bool func_803192A4(enum ff_question_type_e q_type, s32 q_indx, s32 arg2) {
} while (sp44 == sp48); } while (sp44 == sp48);
} }
SKIP(char_iter, 2*func_8031B5B0()); char_iter += 2*func_8031B5B0(); // SKIP
phi_v1 = NEXT(char_iter); phi_v1 = *(char_iter++); // NEXT
phi_v1 += (NEXT(char_iter) << 8); phi_v1 += (*(char_iter++) << 8);
char_iter = (s32)D_803830E0->unkC + phi_v1; char_iter = (s32)D_803830E0->unkC + phi_v1;
str_cnt = NEXT(char_iter); str_cnt = *(char_iter++); // NEXT
for(phi_a1 = 0; phi_a1 < 4; phi_a1++){ for(phi_a1 = 0; phi_a1 < 4; phi_a1++){
D_803830E0->unk18[phi_a1] = 0; D_803830E0->unk18[phi_a1] = 0;
@@ -302,8 +302,8 @@ bool func_803192A4(enum ff_question_type_e q_type, s32 q_indx, s32 arg2) {
for(phi_a1 = 0; phi_a1 < str_cnt; phi_a1++){ for(phi_a1 = 0; phi_a1 < str_cnt; phi_a1++){
temp_v0_3 = NEXT(char_iter); temp_v0_3 = *(char_iter++); // NEXT
str_size = NEXT(char_iter); str_size = *(char_iter++); // NEXT
temp_v0_3 -= 0x80; temp_v0_3 -= 0x80;
@@ -322,10 +322,10 @@ bool func_803192A4(enum ff_question_type_e q_type, s32 q_indx, s32 arg2) {
D_803830E0->unk34.unk0[sp60][D_803830E0->unk18[sp60]++] = char_iter; D_803830E0->unk34.unk0[sp60][D_803830E0->unk18[sp60]++] = char_iter;
} }
SKIP(char_iter, str_size); char_iter += str_size; // SKIP
} }
#undef NEXT //#undef NEXT
#undef SKIP //#undef SKIP
return TRUE; return TRUE;
} }

View File

@@ -19,7 +19,7 @@ enum minigame_e {
enum chminigame_state_e { enum chminigame_state_e {
MINIGAME_STATE_1_INTRODUCE_GAME = 1, MINIGAME_STATE_1_INTRODUCE_GAME = 1,
MINIGAME_STATE_2_IN_PROGESS, MINIGAME_STATE_2_IN_PROGESS,
MINIGAME_STATE_3_RETURN_TO_FF, MINIGAME_STATE_3_RETURN_TO_FF
}; };
/* .data */ /* .data */

View File

@@ -40,6 +40,7 @@ extern void func_803382E4(s32);
extern void func_8033687C(Gfx **); extern void func_8033687C(Gfx **);
extern void func_80335D30(Gfx **); extern void func_80335D30(Gfx **);
extern void func_80344138(s32, s32, s32, f32[3], f32[3], Gfx **, Mtx **); extern void func_80344138(s32, s32, s32, f32[3], f32[3], Gfx **, Mtx **);
extern BKVertexList *vtxList_clone(BKVertexList *vtxList);
typedef struct { typedef struct {
f32 unk0[3]; f32 unk0[3];

View File

@@ -32,6 +32,7 @@ extern void func_8030A2D0(Gfx **, Mtx **, Vtx **, f32[3], f32[3], f32, s32, Cube
s32 func_8032D9C0(Cube*, Prop*); s32 func_8032D9C0(Cube*, Prop*);
void func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3); void func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3);
void func_80332B2C(ActorMarker * arg0); void func_80332B2C(ActorMarker * arg0);
BKSprite *func_8030A55C(s32 arg0);
typedef union{ typedef union{
struct{ struct{

View File

@@ -33,7 +33,7 @@ extern void func_8034F248(void *arg0);
extern void func_8034F568(void *arg0); extern void func_8034F568(void *arg0);
enum mesh_xform_e{ enum mesh_xform_e{
MESH_XFORM_3_WATER = 3, MESH_XFORM_3_WATER = 3
}; };
typedef struct struct_1D_s{ typedef struct struct_1D_s{

View File

@@ -30,7 +30,7 @@ enum parade_state_e {
PARADE_STATE_5_WAIT_ON_NAME, PARADE_STATE_5_WAIT_ON_NAME,
PARADE_STATE_6_NAME_DISAPPEAR, PARADE_STATE_6_NAME_DISAPPEAR,
PARADE_STATE_7_GOTO_NEXT, PARADE_STATE_7_GOTO_NEXT,
PARADE_STATE_8_END, PARADE_STATE_8_END
}; };
/* .data */ /* .data */

View File

@@ -30,7 +30,7 @@ typedef enum {
TRANSITION_ID_12_CIRCLE_IN_EXTRA_SLOW, TRANSITION_ID_12_CIRCLE_IN_EXTRA_SLOW,
TRANSITION_ID_13_CIRCLE_OUT_EXTRA_SLOW, TRANSITION_ID_13_CIRCLE_OUT_EXTRA_SLOW,
TRANSITION_ID_14_CIRCLE_IN_SUPER_SLOW, TRANSITION_ID_14_CIRCLE_IN_SUPER_SLOW,
TRANSITION_ID_15_CIRCLE_OUT_SUPER_SLOW, TRANSITION_ID_15_CIRCLE_OUT_SUPER_SLOW
} TransitionId; } TransitionId;
typedef enum { typedef enum {

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
void levelSpecificFlags_set(arg0, arg1); void levelSpecificFlags_set(s32 index, s32 val);
//levelSpecificFlags //levelSpecificFlags
/* .bss */ /* .bss */

View File

@@ -45,7 +45,7 @@ u32 func_800005C0(u8* in, u8* out, struct huft *arg2){
u32 func_80000618(u8 **inPtr, u8 **outPtr, struct huft *arg2){ u32 func_80000618(u8 **inPtr, u8 **outPtr, struct huft *arg2){
u32 size = func_800005C0(*inPtr, *outPtr, arg2); u32 size = func_800005C0(*inPtr, *outPtr, arg2);
*outPtr += wp; *outPtr += wp;
*outPtr = ((u32)(*outPtr) & 0xF) ? ((u32)(*outPtr) & ~0xF) + 0x10 : *outPtr; *outPtr = ((u32)(*outPtr) & 0xF) ? (u8 *) ((u32)(*outPtr) & ~0xF) + 0x10 : *outPtr;
*inPtr += inptr + 6; *inPtr += inptr + 6;
return size; return size;
} }