mirror of
https://github.com/YohannDR/mzm.git
synced 2024-10-07 02:23:20 +00:00
Match FileSelectDisplaySaveFileMiscInfo
This commit is contained in:
parent
fc95e40967
commit
c7ea471404
@ -2,7 +2,7 @@
|
||||
|
||||
This is a work in progress decompilation of Metroid - Zero Mission.
|
||||
|
||||
2665/2721 functions decompiled (97.94%, 56 left)
|
||||
2666/2721 functions decompiled (97.98%, 55 left)
|
||||
|
||||
0x35b9ac/0x76b014 bytes of data not in blobs (45.27%, 0x40f668 left)
|
||||
|
||||
|
@ -3872,14 +3872,17 @@ void FileSelectDisplaySaveFileTimer(u8 file)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 7cf98 | 118 | Displays the misc. info of a file (difficulty, area, time attack)
|
||||
*
|
||||
* @param pFile Save file info pointer
|
||||
* @param file Save file number
|
||||
*/
|
||||
void FileSelectDisplaySaveFileMiscInfo(struct SaveFileInfo* pFile, u8 file)
|
||||
{
|
||||
// https://decomp.me/scratch/mFmb0
|
||||
|
||||
u16 baseTile;
|
||||
u32 offset;
|
||||
s32 offset;
|
||||
u16* dst;
|
||||
u16* tmp;
|
||||
u16 tile;
|
||||
s32 i;
|
||||
|
||||
@ -3893,11 +3896,14 @@ void FileSelectDisplaySaveFileMiscInfo(struct SaveFileInfo* pFile, u8 file)
|
||||
return;
|
||||
|
||||
i = pFile->timeAttack;
|
||||
baseTile = i ? 6 << 12 : 5 << 12;
|
||||
if (i)
|
||||
tile = 6 << 12;
|
||||
else
|
||||
tile = 5 << 12;
|
||||
baseTile = tile;
|
||||
|
||||
tmp = (u16*)sEwramPointer;
|
||||
tmp = &tmp[offset];
|
||||
dst = &tmp[(0x800 + 0xCC) / 2];
|
||||
dst = FILE_SELECT_EWRAM.menuTilemap;
|
||||
dst = &dst[offset + 102];
|
||||
|
||||
if ((pFile->exists || pFile->introPlayed) && pFile->corruptionFlag == 0)
|
||||
{
|
||||
@ -3919,9 +3925,8 @@ void FileSelectDisplaySaveFileMiscInfo(struct SaveFileInfo* pFile, u8 file)
|
||||
}
|
||||
}
|
||||
|
||||
tmp = (u16*)sEwramPointer;
|
||||
tmp = &tmp[offset];
|
||||
dst = &tmp[(0x800 + 0x12C) / 2];
|
||||
dst = FILE_SELECT_EWRAM.menuTilemap;
|
||||
dst = &dst[offset + 150];
|
||||
|
||||
if (pFile->currentArea >= ARRAY_SIZE(sSaveFileAreasId))
|
||||
i = -1;
|
||||
|
10
src/sprite.c
10
src/sprite.c
@ -762,7 +762,7 @@ void SpriteLoadSpriteset(void)
|
||||
s32 ctrl_1;
|
||||
s32 ctrl_2;
|
||||
|
||||
for (i = 0; i < 15; i++)
|
||||
for (i = 0; i < MAX_AMOUNT_OF_SPRITE_TYPES; i++)
|
||||
{
|
||||
gSpritesetSpritesID[i] = PSPRITE_UNUSED16;
|
||||
gSpritesetGfxSlots[i] = 0;
|
||||
@ -778,7 +778,7 @@ void SpriteLoadSpriteset(void)
|
||||
spriteset = 0;
|
||||
}
|
||||
|
||||
for (j = 0, i = 0; i < 15; i++)
|
||||
for (j = 0, i = 0; i < MAX_AMOUNT_OF_SPRITE_TYPES; i++)
|
||||
{
|
||||
spriteID = sSpritesetPointers[spriteset][j * 2 + 0];
|
||||
gfxSlot = sSpritesetPointers[spriteset][j * 2 + 1];
|
||||
@ -789,7 +789,7 @@ void SpriteLoadSpriteset(void)
|
||||
break;
|
||||
|
||||
gSpritesetSpritesID[i] = spriteID;
|
||||
gSpritesetGfxSlots[i] = gfxSlot & 7;
|
||||
gSpritesetGfxSlots[i] = MOD_AND(gfxSlot, 8);
|
||||
|
||||
if (gfxSlot == prevGfxSlot)
|
||||
continue;
|
||||
@ -800,12 +800,12 @@ void SpriteLoadSpriteset(void)
|
||||
|
||||
spriteID -= 0x10;
|
||||
|
||||
LZ77UncompVRAM(sSpritesGraphicsPointers[spriteID], VRAM_BASE + 0x14000 + (gfxSlot * 2048));
|
||||
LZ77UncompVRAM(sSpritesGraphicsPointers[spriteID], VRAM_BASE + 0x14000 + gfxSlot * 2048);
|
||||
|
||||
ctrl_1 = ((u8*)sSpritesGraphicsPointers[spriteID])[1];
|
||||
ctrl_2 = ((u8*)sSpritesGraphicsPointers[spriteID])[2] << 8;
|
||||
DMA_SET(3, sSpritesPalettePointers[spriteID], PALRAM_BASE + 0x300 + gfxSlot * 32,
|
||||
(DMA_ENABLE << 16) | (ctrl_1 | ctrl_2) / 2048 << 4);
|
||||
C_32_2_16(DMA_ENABLE, (ctrl_1 | ctrl_2) / 2048 << 4));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user