mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-18 04:52:03 +00:00
Fix some more GCC warnings, mark some bugs based on GCC warnings (#2309)
* Fix some more GCC warnings, mark some bugs based on GCC warnings * Weird formatting * Suggested changes * More weird indentation I guess * UNREACHABLE() macro, add missing NORETURNs to fault_n64.c * AVOID_UB for PAL path in z_file_nameset.c * Remove comments about return types * Remove temp no longer needed
This commit is contained in:
parent
6199634ffb
commit
3f703a39d9
39 changed files with 156 additions and 83 deletions
|
@ -64,7 +64,7 @@ void FileSelect_SetKeyboardVtx(GameState* thisx) {
|
|||
phi_s1 = 0x26;
|
||||
|
||||
#if OOT_NTSC
|
||||
for (phi_t2 = 0, phi_s2 = 0, phi_t3 = 0; phi_s2 < 5; phi_s2++) {
|
||||
for (phi_s2 = 0, phi_t3 = 0; phi_s2 < 5; phi_s2++) {
|
||||
for (phi_t0 = -0x60, phi_t1 = 0; phi_t1 < 13; phi_t1++, phi_t3 += 4) {
|
||||
this->keyboardVtx[phi_t3].v.ob[0] = this->keyboardVtx[phi_t3 + 2].v.ob[0] = phi_t0;
|
||||
this->keyboardVtx[phi_t3 + 1].v.ob[0] = this->keyboardVtx[phi_t3 + 3].v.ob[0] = phi_t0 + 12;
|
||||
|
@ -1747,13 +1747,21 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) {
|
|||
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
|
||||
}
|
||||
|
||||
#ifndef AVOID_UB
|
||||
//! @bug Mistakenly using sOptionsMenuHeaders instead of sOptionsMenuSettings for the height.
|
||||
//! This is also an OOB read that happens to access the height of the first two elements in
|
||||
//! sOptionsMenuSettings, and since all heights are 16, it works out anyway.
|
||||
#define sOptionsMenuSettingsBug sOptionsMenuHeaders
|
||||
#else
|
||||
// Avoid UB: Use the correct array for the heights to avoid reading out of bounds memory that may not
|
||||
// happen to work out nicely.
|
||||
#define sOptionsMenuSettingsBug sOptionsMenuSettings
|
||||
#endif
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, sOptionsMenuSettings[i].texture[gSaveContext.language], G_IM_FMT_IA,
|
||||
G_IM_SIZ_8b, OPTIONS_MENU_TEXTURE_WIDTH(sOptionsMenuSettings[i]),
|
||||
OPTIONS_MENU_TEXTURE_HEIGHT(sOptionsMenuHeaders[i]), 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
OPTIONS_MENU_TEXTURE_HEIGHT(sOptionsMenuSettingsBug[i]), 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
#undef sOptionsMenuSettingsBug
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, vtx, vtx + 2, vtx + 3, vtx + 1, 0);
|
||||
}
|
||||
#else
|
||||
|
@ -1786,10 +1794,21 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) {
|
|||
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
|
||||
}
|
||||
|
||||
#ifndef AVOID_UB
|
||||
//! @bug Mistakenly using sOptionsMenuHeaders instead of sOptionsMenuSettings for the height.
|
||||
//! This is also an OOB read that happens to access the height of up to the first three elements
|
||||
//! in sOptionsMenuSettings, and since all heights are 16, it works out anyway.
|
||||
#define sOptionsMenuSettingsBug sOptionsMenuHeaders
|
||||
#else
|
||||
// Avoid UB: Use the correct array for the heights to avoid reading out of bounds memory that may not
|
||||
// happen to work out nicely.
|
||||
#define sOptionsMenuSettingsBug sOptionsMenuSettings
|
||||
#endif
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, sOptionsMenuSettings[i].texture[gSaveContext.language], G_IM_FMT_IA,
|
||||
G_IM_SIZ_8b, sZTargetSettingWidths[j][gSaveContext.language],
|
||||
OPTIONS_MENU_TEXTURE_HEIGHT(sOptionsMenuHeaders[i]), 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
OPTIONS_MENU_TEXTURE_HEIGHT(sOptionsMenuSettingsBug[i]), 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
#undef sOptionsMenuSettingsBug
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, vtx, vtx + 2, vtx + 3, vtx + 1, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue