From d526edda8e2e8665bb4dae3dea845c55e0d2dec1 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Wed, 29 Jun 2022 14:32:15 +0300 Subject: [PATCH] Match LoadSwapGFX --- asm/non_matching/vram/LoadSwapGFX.inc | 91 --------------------------- src/vram.c | 10 +-- 2 files changed, 3 insertions(+), 98 deletions(-) delete mode 100644 asm/non_matching/vram/LoadSwapGFX.inc diff --git a/asm/non_matching/vram/LoadSwapGFX.inc b/asm/non_matching/vram/LoadSwapGFX.inc deleted file mode 100644 index c0b5b146..00000000 --- a/asm/non_matching/vram/LoadSwapGFX.inc +++ /dev/null @@ -1,91 +0,0 @@ - .syntax unified -.ifdef EU - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - cmp r4, #0 - bne _080AD79C - adds r0, r5, #0 - bl FindFreeGFXSlots - adds r4, r0, #0 - cmp r4, #0 - beq _080AD7C4 -_080AD79C: - ldr r0, _080AD7D0 @ =gGFXSlots - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #4] - lsls r0, r0, #0x1c - lsrs r2, r0, #0x1c - cmp r2, #6 - beq _080AD7BC - adds r0, r4, #0 - movs r1, #0 - adds r2, r5, #0 - bl ReserveGFXSlots - movs r2, #5 -_080AD7BC: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080AE0C8 -_080AD7C4: - adds r0, r4, #0 - cmp r0, #0 - beq _080AD7CC - movs r0, #1 -_080AD7CC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AD7D0: .4byte gGFXSlots -.else - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - cmp r4, #0 - bne _080AE030 - adds r0, r5, #0 - bl FindFreeGFXSlots - adds r4, r0, #0 - cmp r4, #0 - bne _080AE030 - bl CleanUpGFXSlots - adds r0, r5, #0 - bl FindFreeGFXSlots - adds r4, r0, #0 - cmp r4, #0 - beq _080AE058 -_080AE030: - ldr r0, _080AE064 @ =gGFXSlots - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #4] - lsls r0, r0, #0x1c - lsrs r2, r0, #0x1c - cmp r2, #6 - beq _080AE050 - adds r0, r4, #0 - movs r1, #0 - adds r2, r5, #0 - bl ReserveGFXSlots - movs r2, #5 -_080AE050: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080AE0C8 -_080AE058: - adds r0, r4, #0 - cmp r0, #0 - beq _080AE060 - movs r0, #1 -_080AE060: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AE064: .4byte gGFXSlots -.endif - .syntax divided diff --git a/src/vram.c b/src/vram.c index 77a4f325..db97416f 100644 --- a/src/vram.c +++ b/src/vram.c @@ -167,13 +167,13 @@ bool32 LoadFixedGFX(Entity* entity, u32 gfxIndex) { } // If slotIndex != 0 the gfx loaded starting from that slot, else in the first fitting free one. -NONMATCH("asm/non_matching/vram/LoadSwapGFX.inc", u32 LoadSwapGFX(Entity* entity, u32 count, u32 slotIndex)) { +bool32 LoadSwapGFX(Entity* entity, u32 count, u32 slotIndex) { u32 status; if ((slotIndex == 0) && (slotIndex = FindFreeGFXSlots(count), slotIndex == 0)) { #ifndef EU CleanUpGFXSlots(); -#endif slotIndex = FindFreeGFXSlots(count); +#endif if (slotIndex == 0) { goto _080AE058; } @@ -185,12 +185,8 @@ NONMATCH("asm/non_matching/vram/LoadSwapGFX.inc", u32 LoadSwapGFX(Entity* entity } sub_080AE0C8(slotIndex, entity, status); _080AE058: - if (slotIndex != 0) { - slotIndex = 1; - } - return slotIndex; + return slotIndex != 0; } -END_NONMATCH void UnloadGFXSlots(Entity* param_1) { u32 slotIndex;