mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 22:44:30 +00:00
Fix misc 21 (#1573)
* Make `sNew` in (unused) `code_800FC620.c` a string It is passed as a filename to `__osMallocDebug` so should be a nul-terminated string, not a char[3] missing an explicit \0 * Fix gcc warning in `JpegDecoder_ParseNextSymbol` about SLL on negative value -1U is an unsigned value, aka 0xFFFFFFFF I keep -1 because it seems that's what a jpeg standard has too References: https://stackoverflow.com/questions/40508958/shifting-a-negative-signed-value-is-undefined https://www.w3.org/Graphics/JPEG/itu-t81.pdf (page 105, figure F.12) * Small cleanup * Fix few mistakes (thanks gcc warnings) * Add `@bug` in file select settings draw code, using the wrong array * format * format main * rename arg for a happy formatter * Move important function call out of a printf
This commit is contained in:
parent
dc323052c3
commit
4c75260097
14 changed files with 47 additions and 39 deletions
|
@ -13,7 +13,7 @@ typedef struct InitFunc {
|
|||
// .data
|
||||
void* sInitFuncs = NULL;
|
||||
|
||||
char sNew[] = { 'n', 'e', 'w' };
|
||||
char sNew[] = "new";
|
||||
|
||||
char D_80134488[0x18] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00,
|
||||
|
@ -100,7 +100,7 @@ void func_800FCB34(void) {
|
|||
initFunc = (InitFunc*)((s32)initFunc + nextOffset);
|
||||
|
||||
if (initFunc->func != NULL) {
|
||||
(*initFunc->func)();
|
||||
initFunc->func();
|
||||
}
|
||||
|
||||
nextOffset = initFunc->nextOffset;
|
||||
|
|
|
@ -154,7 +154,7 @@ s32 JpegDecoder_ParseNextSymbol(JpegHuffmanTable* hTable, s16* outCoeff, s8* out
|
|||
if (sym) {
|
||||
*outCoeff = JpegDecoder_ReadBits(sym);
|
||||
if (*outCoeff < (1 << (sym - 1))) {
|
||||
*outCoeff += (-1 << sym) + 1;
|
||||
*outCoeff += (-1U << sym) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1447,6 +1447,7 @@ void Play_InitScene(PlayState* this, s32 spawn) {
|
|||
|
||||
void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
|
||||
SceneTableEntry* scene = &gSceneTable[sceneId];
|
||||
u32 size;
|
||||
|
||||
scene->unk_13 = 0;
|
||||
this->loadedScene = scene;
|
||||
|
@ -1463,7 +1464,9 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
|
|||
|
||||
Play_InitScene(this, spawn);
|
||||
|
||||
osSyncPrintf("ROOM SIZE=%fK\n", func_80096FE8(this, &this->roomCtx) / 1024.0f);
|
||||
size = func_80096FE8(this, &this->roomCtx);
|
||||
|
||||
osSyncPrintf("ROOM SIZE=%fK\n", size / 1024.0f);
|
||||
}
|
||||
|
||||
void Play_GetScreenPos(PlayState* this, Vec3f* src, Vec3f* dest) {
|
||||
|
|
|
@ -1061,7 +1061,7 @@ s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx**
|
|||
// Note: The increment would not be done for the root limb, even if it had a non-NULL `dList`.
|
||||
// So if the root limb had a non-NULL `dList` (which is not the case in vanilla),
|
||||
// an out-of-bounds write to `bodyPartsPos` would occur.
|
||||
sCurBodyPartPos = &this->bodyPartsPos[-1];
|
||||
sCurBodyPartPos = &this->bodyPartsPos[0] - 1;
|
||||
|
||||
if (!LINK_IS_ADULT) {
|
||||
if (!(this->skelAnime.moveFlags & ANIM_FLAG_PLAYER_2) || (this->skelAnime.moveFlags & ANIM_FLAG_0)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue