summaryrefslogtreecommitdiff
path: root/src/intro_credits_graphics.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/intro_credits_graphics.c')
-rwxr-xr-xsrc/intro_credits_graphics.c532
1 files changed, 0 insertions, 532 deletions
diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c
deleted file mode 100755
index cd0589af8..000000000
--- a/src/intro_credits_graphics.c
+++ /dev/null
@@ -1,532 +0,0 @@
-#include "global.h"
-#include "gba/m4a_internal.h"
-#include "intro.h"
-#include "data2.h"
-#include "decompress.h"
-#include "hall_of_fame.h"
-#include "intro_credits_graphics.h"
-#include "libgncmultiboot.h"
-#include "link.h"
-#include "m4a.h"
-#include "main.h"
-#include "new_game.h"
-#include "palette.h"
-#include "rng.h"
-#include "save.h"
-#include "songs.h"
-#include "sound.h"
-#include "species.h"
-#include "task.h"
-#include "title_screen.h"
-#include "trig.h"
-#include "unknown_task.h"
-
-// define register constants for the inline asm
-asm(".include \"constants/gba_constants.inc\"\n");
-
-struct UnknownStruct1
-{
- u8 var0_0:4;
- u8 var0_4:2;
- u8 var0_6:2;
- u8 var1;
- u8 var2;
- u8 var3;
- u16 var4;
-};
-
-extern u8 gUnknown_0841225C;
-extern u8 gUnknown_084126DC;
-extern u8 gUnknown_084121FC;
-extern u8 gUnknown_084128D8;
-extern u8 gUnknown_08412EB4;
-extern u8 gUnknown_08412818;
-extern u8 gUnknown_08413184;
-extern u8 gUnknown_08413340;
-extern u8 gUnknown_084139C8;
-extern u8 gUnknown_08413300;
-extern u8 gUnknown_08413CCC;
-
-extern const struct SpriteTemplate gSpriteTemplate_8416B3C;
-const extern struct CompressedSpriteSheet gUnknown_08416B54;
-const extern struct CompressedSpriteSheet gUnknown_08416BDC;
-
-extern u16 gUnknown_02039358;
-extern s16 gUnknown_0203935A;
-extern s16 gUnknown_0203935C;
-extern u8 gReservedSpritePaletteCount;
-
-void sub_8149248();
-void sub_8149264();
-
-void load_intro_part2_graphics(u8 a)
-{
- LZ77UnCompVram(&gUnknown_0841225C, (void *)(VRAM + 0x4000));
- LZ77UnCompVram(&gUnknown_084126DC, (void *)(VRAM + 0x7800));
- LoadPalette(&gUnknown_084121FC, 240, 32);
- switch (a)
- {
- case 0:
- default:
- LZ77UnCompVram(&gUnknown_084128D8, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_08412EB4, (void *)(VRAM + 0x3000));
- LoadPalette(&gUnknown_08412818, 0, 96);
- LoadCompressedObjectPic(&gUnknown_08416B54);
- LoadPalette(&gUnknown_08413184, 256, 32);
- sub_8149248();
- break;
- case 1:
- LZ77UnCompVram(&gUnknown_08413340, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_084139C8, (void *)(VRAM + 0x3000));
- LoadPalette(&gUnknown_08413300, 0, 32);
- LoadCompressedObjectPic(&gUnknown_08416BDC);
- LoadPalette(&gUnknown_08413CCC, 256, 32);
- sub_8149264();
- break;
- }
- gUnknown_0203935C = 0;
- gReservedSpritePaletteCount = 8;
-}
-
-void sub_8148C78(u8 a)
-{
- if (a == 1)
- {
- REG_BG3CNT = 0x603;
- REG_BG2CNT = 0x702;
- REG_BG1CNT = 0xF05;
- REG_DISPCNT = 0x1E40;
- }
- else
- {
- REG_BG3CNT = 0x603;
- REG_BG2CNT = 0x702;
- REG_BG1CNT = 0xF05;
- REG_DISPCNT = 0x1E40;
- }
-}
-
-extern u8 gUnknown_084131C4;
-extern u8 gUnknown_084131A4;
-extern u8 gUnknown_0841221C;
-extern u8 gUnknown_08412878;
-extern u8 gUnknown_08413320;
-extern u8 gUnknown_0841223C;
-extern u8 gUnknown_08413E78;
-extern u8 gUnknown_08414084;
-extern u8 gUnknown_08413E38;
-const extern struct CompressedSpriteSheet gUnknown_08416C70;
-extern u8 gUnknown_08414064;
-extern struct UnknownStruct1 gUnknown_08416B94;
-extern struct UnknownStruct1 gUnknown_08416C10;
-extern struct UnknownStruct1 gUnknown_08416C8C;
-const extern union AnimCmd *const gSpriteAnimTable_8416B84;
-const extern union AnimCmd *const gSpriteAnimTable_8416C04;
-const extern union AnimCmd *const gSpriteAnimTable_8416C88;
-const extern struct SpriteTemplate gSpriteTemplate_8416CDC;
-const extern struct SpriteTemplate gSpriteTemplate_Brendan;
-const extern struct SpriteTemplate gSpriteTemplate_8416CF4;
-const extern struct SpriteTemplate gSpriteTemplate_May;
-const extern struct SpriteTemplate gSpriteTemplate_8416D7C;
-const extern struct SpriteTemplate gSpriteTemplate_8416D94;
-
-void sub_8149280();
-
-void sub_8148CB0(u8 a)
-{
- LZ77UnCompVram(&gUnknown_0841225C, (void *)(VRAM + 0x4000));
- LZ77UnCompVram(&gUnknown_084126DC, (void *)(VRAM + 0x7800));
- switch (a)
- {
- case 0:
- default:
- LoadPalette(&gUnknown_084121FC, 240, 32);
- LZ77UnCompVram(&gUnknown_084128D8, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_08412EB4, (void *)(VRAM + 0x3000));
- LoadPalette(&gUnknown_08412818, 0, 96);
- LoadCompressedObjectPic(&gUnknown_08416B54);
- LZ77UnCompVram(&gUnknown_084131C4, (void *)(VRAM + 0x10000));
- LoadPalette(&gUnknown_08413184, 256, 32);
- sub_8149248();
- break;
- case 1:
- LoadPalette(&gUnknown_0841221C, 240, 32);
- LZ77UnCompVram(&gUnknown_084128D8, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_08412EB4, (void *)(VRAM + 0x3000));
- LoadPalette(&gUnknown_08412878, 0, 96);
- LoadCompressedObjectPic(&gUnknown_08416B54);
- LZ77UnCompVram(&gUnknown_084131C4, (void *)(VRAM + 0x10000));
- LoadPalette(&gUnknown_084131A4, 256, 32);
- sub_8149248();
- break;
- case 2:
- case 3:
- LoadPalette(&gUnknown_0841221C, 240, 32);
- LZ77UnCompVram(&gUnknown_08413340, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_084139C8, (void *)(VRAM + 0x3000));
- LoadPalette(&gUnknown_08413320, 0, 32);
- LoadCompressedObjectPic(&gUnknown_08416BDC);
- LoadPalette(&gUnknown_08413320, 256, 32);
- sub_8149264();
- break;
- case 4:
- LoadPalette(&gUnknown_0841223C, 240, 32);
- LZ77UnCompVram(&gUnknown_08413E78, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_08414084, (void *)(VRAM + 0x3000));
- LoadPalette(&gUnknown_08413E38, 0, 64);
- LoadCompressedObjectPic(&gUnknown_08416C70);
- LoadPalette(&gUnknown_08414064, 256, 32);
- sub_8149280();
- break;
- }
- gReservedSpritePaletteCount = 8;
- gUnknown_0203935C = 0;
-}
-
-void sub_8148E90(u8 a)
-{
- REG_BG3CNT = 0x603;
- REG_BG2CNT = 0x702;
- REG_BG1CNT = 0xF05;
- REG_DISPCNT = 0x1F40;
-}
-
-u8 sub_8148EC0(u8 a, u16 b, u16 c, u16 d)
-{
- u8 taskId = CreateTask(&sub_8148F3C, 0);
-
- gTasks[taskId].data[0] = a;
- gTasks[taskId].data[1] = b;
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3] = 0;
- gTasks[taskId].data[4] = c;
- gTasks[taskId].data[5] = 0;
- gTasks[taskId].data[6] = 0;
- gTasks[taskId].data[7] = d;
- gTasks[taskId].data[8] = 8;
- gTasks[taskId].data[9] = 0;
- sub_8148F3C(taskId);
- return taskId;
-}
-
-#ifdef NONMATCHING
-void sub_8148F3C(u8 taskId)
-{
- register u32 r4 asm("r4");
- s32 r2;
-
- r4 = (u16)gTasks[taskId].data[1] << 16;
- if (r4 != 0)
- {
- r2 = (gTasks[taskId].data[2] << 16) + (u16)gTasks[taskId].data[3] - (r4 >> 12);
- gTasks[taskId].data[2] = r2 >> 16;
- gTasks[taskId].data[3] = r2;
- REG_BG1HOFS = gTasks[taskId].data[2];
- REG_BG1VOFS = gUnknown_0203935A + gUnknown_02039358;
- }
-
- r4 = (u16)gTasks[taskId].data[4] << 16;
- if (r4 != 0)
- {
- r2 = (gTasks[taskId].data[5] << 16) + (u16)gTasks[taskId].data[6] - (r4 >> 12);
- gTasks[taskId].data[5] = r2 >> 16;
- gTasks[taskId].data[3] = r2;
- REG_BG2HOFS = gTasks[taskId].data[5];
- if (gTasks[taskId].data[0] != 0)
- REG_BG2VOFS = gUnknown_0203935A + gUnknown_02039358;
- else
- REG_BG2VOFS = gUnknown_02039358;
- }
-
- r4 = (u16)gTasks[taskId].data[7] << 16;
- if (r4 != 0)
- {
- r2 = (gTasks[taskId].data[8] << 16) + (u16)gTasks[taskId].data[9] - (r4 >> 12);;
- gTasks[taskId].data[8] = r2 >> 16;
- gTasks[taskId].data[9] = r2;
- REG_BG3HOFS = gTasks[taskId].data[8];
- REG_BG3VOFS = gUnknown_02039358;
- }
-}
-#else
-__attribute__((naked))
-void sub_8148F3C(u8 taskId)
-{
- asm(".syntax unified\n\
- push {r4-r6,lr}\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- ldr r1, _08148FB4 @ =gTasks\n\
- lsls r0, r5, 2\n\
- adds r0, r5\n\
- lsls r0, 3\n\
- adds r3, r0, r1\n\
- ldrh r0, [r3, 0xA]\n\
- lsls r4, r0, 16\n\
- adds r6, r1, 0\n\
- cmp r4, 0\n\
- beq _08148F7C\n\
- movs r1, 0xC\n\
- ldrsh r0, [r3, r1]\n\
- lsls r0, 16\n\
- ldrh r1, [r3, 0xE]\n\
- adds r2, r0, r1\n\
- lsrs r0, r4, 12\n\
- subs r2, r0\n\
- asrs r1, r2, 16\n\
- strh r1, [r3, 0xC]\n\
- strh r2, [r3, 0xE]\n\
- ldr r0, _08148FB8 @ =REG_BG1HOFS\n\
- strh r1, [r0]\n\
- ldr r2, _08148FBC @ =REG_BG1VOFS\n\
- ldr r1, _08148FC0 @ =gUnknown_02039358\n\
- ldr r0, _08148FC4 @ =gUnknown_0203935A\n\
- ldrh r0, [r0]\n\
- ldrh r1, [r1]\n\
- adds r0, r1\n\
- strh r0, [r2]\n\
-_08148F7C:\n\
- ldrh r0, [r3, 0x10]\n\
- lsls r4, r0, 16\n\
- cmp r4, 0\n\
- beq _08148FD8\n\
- movs r1, 0x12\n\
- ldrsh r0, [r3, r1]\n\
- lsls r0, 16\n\
- ldrh r1, [r3, 0x14]\n\
- adds r2, r0, r1\n\
- lsrs r0, r4, 12\n\
- subs r2, r0\n\
- asrs r1, r2, 16\n\
- strh r1, [r3, 0x12]\n\
- strh r2, [r3, 0x14]\n\
- ldr r0, _08148FC8 @ =REG_BG2HOFS\n\
- strh r1, [r0]\n\
- movs r1, 0x8\n\
- ldrsh r0, [r3, r1]\n\
- cmp r0, 0\n\
- beq _08148FD0\n\
- ldr r2, _08148FCC @ =REG_BG2VOFS\n\
- ldr r1, _08148FC0 @ =gUnknown_02039358\n\
- ldr r0, _08148FC4 @ =gUnknown_0203935A\n\
- ldrh r0, [r0]\n\
- ldrh r1, [r1]\n\
- adds r0, r1\n\
- strh r0, [r2]\n\
- b _08148FD8\n\
- .align 2, 0\n\
-_08148FB4: .4byte gTasks\n\
-_08148FB8: .4byte REG_BG1HOFS\n\
-_08148FBC: .4byte REG_BG1VOFS\n\
-_08148FC0: .4byte gUnknown_02039358\n\
-_08148FC4: .4byte gUnknown_0203935A\n\
-_08148FC8: .4byte REG_BG2HOFS\n\
-_08148FCC: .4byte REG_BG2VOFS\n\
-_08148FD0:\n\
- ldr r0, _08149010 @ =REG_BG2VOFS\n\
- ldr r1, _08149014 @ =gUnknown_02039358\n\
- ldrh r1, [r1]\n\
- strh r1, [r0]\n\
-_08148FD8:\n\
- lsls r0, r5, 2\n\
- adds r0, r5\n\
- lsls r0, 3\n\
- adds r3, r0, r6\n\
- ldrh r0, [r3, 0x16]\n\
- lsls r4, r0, 16\n\
- cmp r4, 0\n\
- beq _08149008\n\
- movs r1, 0x18\n\
- ldrsh r0, [r3, r1]\n\
- lsls r0, 16\n\
- ldrh r1, [r3, 0x1A]\n\
- adds r2, r0, r1\n\
- lsrs r0, r4, 12\n\
- subs r2, r0\n\
- asrs r1, r2, 16\n\
- strh r1, [r3, 0x18]\n\
- strh r2, [r3, 0x1A]\n\
- ldr r0, _08149018 @ =REG_BG3HOFS\n\
- strh r1, [r0]\n\
- ldr r1, _0814901C @ =REG_BG3VOFS\n\
- ldr r0, _08149014 @ =gUnknown_02039358\n\
- ldrh r0, [r0]\n\
- strh r0, [r1]\n\
-_08149008:\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_08149010: .4byte REG_BG2VOFS\n\
-_08149014: .4byte gUnknown_02039358\n\
-_08149018: .4byte REG_BG3HOFS\n\
-_0814901C: .4byte REG_BG3VOFS\n\
- .syntax divided\n");
-}
-#endif
-
-void sub_8149020(u8 mode)
-{
- u16 var1;
- u16 var2;
- switch (mode)
- {
- case 0:
- default:
- /* stuff */
- if (gMain.vblankCounter1 & 3 || gPaletteFade.active)
- break;
- if (gMain.vblankCounter1 & 4)
- {
- var1 = gPlttBufferUnfaded[9];
- var2 = gPlttBufferUnfaded[10];
- }
- else
- {
- var1 = gPlttBufferUnfaded[10];
- var2 = gPlttBufferUnfaded[9];
- }
- LoadPalette(&var1, 9, 2);
- LoadPalette(&var2, 10, 2);
- break;
- case 2:
- if (gMain.vblankCounter1 & 3 || gPaletteFade.active)
- break;
- if (gMain.vblankCounter1 & 4)
- {
- var1 = 0x3D27;
- var2 = 0x295;
- }
- else
- {
- var1 = 0x31C;
- var2 = 0x3D27;
- }
- LoadPalette(&var1, 12, 2);
- LoadPalette(&var2, 13, 2);
- break;
- case 1:
- break;
- }
-}
-
-void sub_814910C(struct Sprite *sprite)
-{
- if (gUnknown_0203935C)
- {
- DestroySprite(sprite);
- }
- else
- {
- s32 var = ((sprite->pos1.x << 16) | (u16)sprite->data2) + (u16)sprite->data1;
- sprite->pos1.x = var >> 16;
- sprite->data2 = var;
- if (sprite->pos1.x > 255) sprite->pos1.x = 0xFFE0;
- if (sprite->data0)
- {
- sprite->pos2.y = -(gUnknown_02039358 + gUnknown_0203935A);
- }
- else
- {
- sprite->pos2.y = -gUnknown_02039358;
- }
- }
-}
-
-void sub_8149174(u8 a, struct UnknownStruct1 *b, const union AnimCmd *const *c, u8 d)
-{
- u8 i;
-
- for(i = 0; i < d; i++)
- {
- u8 sprite = CreateSprite(&gSpriteTemplate_8416B3C, b[i].var1, b[i].var2, b[i].var3);
- CalcCenterToCornerVec(&gSprites[sprite], b[i].var0_4, b[i].var0_6, 0);
- gSprites[sprite].oam.priority = 3;
- gSprites[sprite].oam.shape = b[i].var0_4;
- gSprites[sprite].oam.size = b[i].var0_6;
- gSprites[sprite].oam.paletteNum = 0;
- gSprites[sprite].anims = c;
- StartSpriteAnim(&gSprites[sprite], b[i].var0_0);
- gSprites[sprite].data0 = a;
- gSprites[sprite].data1 = b[i].var4;
- gSprites[sprite].data2 = 0;
- }
-}
-
-void sub_8149248()
-{
- sub_8149174(0, &gUnknown_08416B94, &gSpriteAnimTable_8416B84, 9);
-}
-
-void sub_8149264()
-{
- sub_8149174(1, &gUnknown_08416C10, &gSpriteAnimTable_8416C04, 12);
-}
-
-void sub_8149280()
-{
- sub_8149174(1, &gUnknown_08416C8C, &gSpriteAnimTable_8416C88, 6);
-}
-
-void nullsub_82()
-{
-}
-
-void sub_81492A0(struct Sprite* sprite)
-{
- sprite->invisible = gSprites[sprite->data0].invisible;
- sprite->pos1.x = gSprites[sprite->data0].pos1.x;
- sprite->pos1.y = gSprites[sprite->data0].pos1.y + 8;
- sprite->pos2.x = gSprites[sprite->data0].pos2.x;
- sprite->pos2.y = gSprites[sprite->data0].pos2.y;
-}
-
-
-
-u8 intro_create_brendan_sprite(s16 a, s16 b)
-{
- u8 sprite = CreateSprite(&gSpriteTemplate_8416CDC, a, b, 0);
- u8 brendan = CreateSprite(&gSpriteTemplate_Brendan, a, b + 8, 1);
- gSprites[brendan].data0 = sprite;
- return sprite;
-}
-
-u8 intro_create_may_sprite(s16 a, s16 b)
-{
- u8 sprite = CreateSprite(&gSpriteTemplate_8416CF4, a, b, 0);
- u8 may = CreateSprite(&gSpriteTemplate_May, a, b + 8, 1);
- gSprites[may].data0 = sprite;
- return sprite;
-}
-
-void nullsub_83()
-{
-}
-
-void sub_81493C4(struct Sprite* sprite)
-{
- sprite->invisible = gSprites[sprite->data0].invisible;
- sprite->pos1.y = gSprites[sprite->data0].pos1.y;
- sprite->pos2.x = gSprites[sprite->data0].pos2.x;
- sprite->pos2.y = gSprites[sprite->data0].pos2.y;
-}
-
-u8 intro_create_latios_sprite(s16 a, s16 b)
-{
- u8 sprite = CreateSprite(&gSpriteTemplate_8416D7C, a - 32, b, 2);
- u8 latios = CreateSprite(&gSpriteTemplate_8416D7C, a + 32, b, 2);
- gSprites[latios].data0 = sprite;
- StartSpriteAnim(&gSprites[latios], 1);
- gSprites[latios].callback = &sub_81493C4;
- return sprite;
-}
-
-u8 intro_create_latias_sprite(s16 a, s16 b)
-{
- u8 sprite = CreateSprite(&gSpriteTemplate_8416D94, a - 32, b, 2);
- u8 latios = CreateSprite(&gSpriteTemplate_8416D94, a + 32, b, 2);
- gSprites[latios].data0 = sprite;
- StartSpriteAnim(&gSprites[latios], 1);
- gSprites[latios].callback = &sub_81493C4;
- return sprite;
-}