diff --git a/out/res/resources.d b/out/res/resources.d index e935d6f..0860bd3 100644 --- a/out/res/resources.d +++ b/out/res/resources.d @@ -2,4 +2,5 @@ out/res/resources.o: res/resources.res \ C:/Users/ttibb/Dev/SGDK-Game/res/background1.png \ C:/Users/ttibb/Dev/SGDK-Game/res/btwade_bg1_1.png \ C:/Users/ttibb/Dev/SGDK-Game/res/btwade_bg2_1.png \ +C:/Users/ttibb/Dev/SGDK-Game/res/BTW-TitleSign-merged.png \ C:/Users/ttibb/Dev/SGDK-Game/res/Sprites/BTW-1.png \ No newline at end of file diff --git a/out/res/resources.o b/out/res/resources.o index 57ef5ba..33ccd50 100644 Binary files a/out/res/resources.o and b/out/res/resources.o differ diff --git a/out/rom.bin b/out/rom.bin index 363b4cf..fda0594 100644 Binary files a/out/rom.bin and b/out/rom.bin differ diff --git a/out/rom.out b/out/rom.out index 3e188e6..e8bd1ed 100644 Binary files a/out/rom.out and b/out/rom.out differ diff --git a/out/src/Main.o b/out/src/Main.o index 2abad2c..e74c42b 100644 Binary files a/out/src/Main.o and b/out/src/Main.o differ diff --git a/out/src/title_screen.o b/out/src/title_screen.o index bd67702..4a425b0 100644 Binary files a/out/src/title_screen.o and b/out/src/title_screen.o differ diff --git a/out/symbol.txt b/out/symbol.txt index 81b4237..3465a16 100644 --- a/out/symbol.txt +++ b/out/symbol.txt @@ -4,11 +4,30 @@ 00000020 a bigTex1_palette_data_size 00000020 a font_pal_default_data_size 00000020 a sgdk_logo_palette_data_size +00000020 a titleSignSprite_palette_data_size 00000048 A _sdata +00000064 a titleSignSprite_animation0_frame5_tileset_data_size +00000064 a titleSignSprite_animation2_frame3_tileset_data_size +00000066 a titleSignSprite_animation0_frame0_tileset_data_size +00000068 a titleSignSprite_animation2_frame4_tileset_data_size +0000007a a titleSignSprite_animation2_frame2_tileset_data_size 00000080 a bg1_palette_data_size 00000080 a bgtest_palette_data_size +00000084 a titleSignSprite_animation2_frame1_tileset_data_size +00000096 a titleSignSprite_animation2_frame0_tileset_data_size +0000009c a titleSignSprite_animation2_frame5_tileset_data_size +000000a8 a titleSignSprite_animation1_frame1_tileset_data_size 000000ac A stop_xgm_size +000000b2 a titleSignSprite_animation1_frame5_tileset_data_size +000000ba a titleSignSprite_animation1_frame3_tileset_data_size +000000c4 a titleSignSprite_animation1_frame4_tileset_data_size +000000d2 a titleSignSprite_animation1_frame2_tileset_data_size +000000d6 a titleSignSprite_animation1_frame0_tileset_data_size +000000e8 a titleSignSprite_animation0_frame1_tileset_data_size +000000f4 a titleSignSprite_animation0_frame3_tileset_data_size +000000fa a titleSignSprite_animation0_frame2_tileset_data_size 00000100 T rom_header +0000011c a titleSignSprite_animation0_frame4_tileset_data_size 00000144 a bg1_tilemap_data_size 0000014c a fg1_tilemap_data_size 00000200 t _Entry_Point @@ -395,198 +414,273 @@ 00003b5c t VRAM_createRegion.constprop.0 00003bba t VRAM_alloc.constprop.0 00003c88 t SPR_defragVRAM -00003d32 t VDP_setTileMapDataEx.constprop.0 -00003e06 t releaseSprite.part.0.isra.0 -00003e6e t SPR_addSpriteEx.constprop.0 -00003fd8 t JOY_update -000044a0 t Z80_clear -00004562 t Z80_upload -0000467c t Z80_upload.constprop.0 -00004758 t Z80_upload.constprop.1 -00004834 t PAL_doFadeStep -0000484e t SPR_end -000048dc t SND_NULL_loadDriver -000049d4 t Z80_loadDriverInternal -00004ae4 t getAccess -00004c34 t setFMVolume -00004ccc t setPSGVolume -00004d64 t setMusicTempo.constprop.0 -00004dfa t setLoopNumber.constprop.0 -00004e48 t setTileMapDataRowEx.constprop.1 -00004f74 t VDP_drawText -000050d0 t setTileMapDataColumnEx.constprop.0 -00005224 t VDP_setTileMapDataRectEx.constprop.0 -0000559e t unpack.isra.0 -000055d4 t SPR_update -00005ddc t VDP_waitVBlank -00005f86 T BMP_doVBlankProcess -00005f90 T memset -00005faa t XGM2_loadDriver -0000612a t Z80_loadDriver -0000620c t Z80_init -00006272 t XGM2_stop -000062f8 t XGM2_pause -0000636a t SYS_doVBlankProcessEx.constprop.0.isra.0 -000068a8 t waitSubTick.part.0 -00006a66 t XGM_loadDriver -00006d14 t SND_DPCM2_loadDriver -00006ebc t SND_PCM_loadDriver -00007064 t SND_PCM4_loadDriver -00007214 t POOL_reset.constprop.0 -0000728a t SPR_initEx.constprop.0 -000073ee T memcpy -000073fe T VDP_setAutoInc -00007418 t DMA_doDmaFast -0000759e t DMA_doCPUCopyDirect -000076dc t DMA_transfer.isra.0 -00007868 t PAL_setPalette -00007890 t VDP_loadTileSet -0000798a t updateMapsAddress -00007a12 t VDP_setReg.constprop.0 -00007a2c t JOY_setSupport -00007a50 t JOY_reset -0000811c t VDP_resetScreen -0000836c t VDP_init -0000846e t internal_reset -000085b4 t VDP_drawImageEx.constprop.0.isra.0 -000086fc t main.isra.0 -00008bba T _start_entry -00008c80 T _reset_entry -00008c88 T XGM_doVBlankProcess -00008cf0 T MDDBG__SymbolDataPtr -00008cf4 t __ErrorHandler -00008cf4 t MDDBG__ErrorHandler -00008e1c t MDDBG__Error_IdleLoop -00008e36 t MDDBG__Error_InitConsole -00008e42 t MDDBG__Error_MaskStackBoundaries -00008eac t MDDBG__Error_DrawOffsetLocation -00008eb0 t MDDBG__Error_DrawOffsetLocation2 -00008eb6 t MDDBG__Error_DrawOffsetLocation__inj -00008f44 t MDDBG__ErrorHandler_SetupVDP -00008f7a t MDDBG__ErrorHandler_VDPConfig -00008f90 t MDDBG__ErrorHandler_VDPConfig_Nametables -00008fcc t MDDBG__ErrorHandler_ConsoleConfig_Initial -00008fd0 t MDDBG__ErrorHandler_ConsoleConfig_Shared -00009000 t MDDBG__Str_OffsetLocation_24bit -00009009 t MDDBG__Str_OffsetLocation_32bit -00009044 t MDDBG__Art1bpp_Font -0000933e t MDDBG__GetSymbolByOffset -00009658 t MDDBG__FormatString -00009732 t MDDBG__Console_Init -00009770 t MDDBG__Console_Reset -00009772 t MDDBG__Console_InitShared -000097bc t MDDBG__Console_SetPosAsXY_Stack -000097c2 t MDDBG__Console_SetPosAsXY -000097f6 t MDDBG__Console_GetPosAsXY -0000981c t MDDBG__Console_StartNewLine -0000984a t MDDBG__Console_SetBasePattern -00009866 t MDDBG__Console_SetWidth -00009884 t MDDBG__Console_WriteLine_WithPattern -00009886 t MDDBG__Console_WriteLine -0000988a t MDDBG__Console_Write -00009950 t MDDBG__Console_WriteLine_Formatted -00009954 t MDDBG__Console_Write_Formatted -00009984 t MDDBG__Decomp1bpp -000099a0 t MDDBG__KDebug_WriteLine_Formatted -000099a4 t MDDBG__KDebug_Write_Formatted -000099f8 t MDDBG__KDebug_FlushLine -00009a02 t MDDBG__KDebug_WriteLine -00009a06 t MDDBG__KDebug_Write -00009a34 t MDDBG__ErrorHandler_ConsoleOnly -00009a5a t MDDBG__ErrorHandler_ClearConsole -00009a84 t MDDBG__ErrorHandler_PauseConsole -00009abe t MDDBG__ErrorHandler_PagesController -00009b1e t MDDBG__VSync -00009b58 t MDDBG__ErrorHandler_ExtraDebuggerList -00009b64 t MDDBG__Debugger_AddressRegisters -00009bb0 t MDDBG__Debugger_Backtrace -00009c4e T _Bus_Error -00009c4e t MDDBG__BusError -00009c62 T _Address_Error -00009c62 t MDDBG__AddressError -00009c7a T _Illegal_Instruction -00009c7a t MDDBG__IllegalInstr -00009c98 T _Zero_Divide -00009c98 t MDDBG__ZeroDivide -00009cae T _Chk_Instruction -00009cae t MDDBG__ChkInstr -00009cc8 T _Trapv_Instruction -00009cc8 t MDDBG__TrapvInstr -00009ce4 T _Privilege_Violation -00009ce4 t MDDBG__PrivilegeViol -00009d02 T _Trace -00009d02 t MDDBG__Trace -00009d12 T _Line_1010_Emulation -00009d12 t MDDBG__Line1010Emu -00009d2e T _Line_1111_Emulation -00009d2e t MDDBG__Line1111Emu -00009d4a T _Error_Exception -00009d4a t MDDBG__ErrorExcept +00003d32 t SPR_addSpriteEx.constprop.0 +00003f5c t VDP_setTileMapDataEx.constprop.0 +00004030 t JOY_update +000044f8 t Z80_clear +000045ba t Z80_upload +000046d4 t Z80_upload.constprop.0 +000047b0 t Z80_upload.constprop.1 +0000488c t PAL_doFadeStep +000048a6 t SPR_end +00004934 t SND_NULL_loadDriver +00004a2c t Z80_loadDriverInternal +00004b3c t getAccess +00004c8c t setFMVolume +00004d24 t setPSGVolume +00004dbc t setMusicTempo.constprop.0 +00004e52 t setLoopNumber.constprop.0 +00004ea0 t setTileMapDataRowEx.constprop.1 +00004fcc t VDP_drawText +00005128 t setTileMapDataColumnEx.constprop.0 +0000527c t VDP_setTileMapDataRectEx.constprop.0 +000055f6 t unpack.isra.0 +0000562c t SPR_update +00005e34 t VDP_waitVBlank +00005fde T BMP_doVBlankProcess +00005fe8 T memset +00006002 t XGM2_loadDriver +00006182 t Z80_loadDriver +00006264 t Z80_init +000062ca t XGM2_stop +00006350 t XGM2_pause +000063c2 t SYS_doVBlankProcessEx.constprop.0.isra.0 +00006900 t waitSubTick.part.0 +00006abe t XGM_loadDriver +00006d6c t SND_DPCM2_loadDriver +00006f14 t SND_PCM_loadDriver +000070bc t SND_PCM4_loadDriver +0000726c t POOL_reset.constprop.0 +000072e2 t SPR_initEx.constprop.0 +00007446 T memcpy +00007456 T VDP_setAutoInc +00007470 t DMA_doDmaFast +000075f6 t DMA_doCPUCopyDirect +00007734 t DMA_transfer.isra.0 +000078c0 t PAL_setPalette +000078e8 t VDP_loadTileSet +000079e2 t updateMapsAddress +00007a6a t VDP_setReg.constprop.0 +00007a84 t JOY_setSupport +00007aa8 t JOY_reset +00008174 t VDP_resetScreen +000083c4 t VDP_init +000084c6 t internal_reset +0000860c t VDP_drawImageEx.constprop.0.isra.0 +00008754 t main.isra.0 +00008bc8 T _start_entry +00008c8e T _reset_entry +00008c96 T XGM_doVBlankProcess +00008cfc T MDDBG__SymbolDataPtr +00008d00 t __ErrorHandler +00008d00 t MDDBG__ErrorHandler +00008e28 t MDDBG__Error_IdleLoop +00008e42 t MDDBG__Error_InitConsole +00008e4e t MDDBG__Error_MaskStackBoundaries +00008eb8 t MDDBG__Error_DrawOffsetLocation +00008ebc t MDDBG__Error_DrawOffsetLocation2 +00008ec2 t MDDBG__Error_DrawOffsetLocation__inj +00008f50 t MDDBG__ErrorHandler_SetupVDP +00008f86 t MDDBG__ErrorHandler_VDPConfig +00008f9c t MDDBG__ErrorHandler_VDPConfig_Nametables +00008fd8 t MDDBG__ErrorHandler_ConsoleConfig_Initial +00008fdc t MDDBG__ErrorHandler_ConsoleConfig_Shared +0000900c t MDDBG__Str_OffsetLocation_24bit +00009015 t MDDBG__Str_OffsetLocation_32bit +00009050 t MDDBG__Art1bpp_Font +0000934a t MDDBG__GetSymbolByOffset +00009664 t MDDBG__FormatString +0000973e t MDDBG__Console_Init +0000977c t MDDBG__Console_Reset +0000977e t MDDBG__Console_InitShared +000097c8 t MDDBG__Console_SetPosAsXY_Stack +000097ce t MDDBG__Console_SetPosAsXY +00009802 t MDDBG__Console_GetPosAsXY +00009828 t MDDBG__Console_StartNewLine +00009856 t MDDBG__Console_SetBasePattern +00009872 t MDDBG__Console_SetWidth +00009890 t MDDBG__Console_WriteLine_WithPattern +00009892 t MDDBG__Console_WriteLine +00009896 t MDDBG__Console_Write +0000995c t MDDBG__Console_WriteLine_Formatted +00009960 t MDDBG__Console_Write_Formatted +00009990 t MDDBG__Decomp1bpp +000099ac t MDDBG__KDebug_WriteLine_Formatted +000099b0 t MDDBG__KDebug_Write_Formatted +00009a04 t MDDBG__KDebug_FlushLine +00009a0e t MDDBG__KDebug_WriteLine +00009a12 t MDDBG__KDebug_Write +00009a40 t MDDBG__ErrorHandler_ConsoleOnly +00009a66 t MDDBG__ErrorHandler_ClearConsole +00009a90 t MDDBG__ErrorHandler_PauseConsole +00009aca t MDDBG__ErrorHandler_PagesController +00009b2a t MDDBG__VSync +00009b64 t MDDBG__ErrorHandler_ExtraDebuggerList +00009b70 t MDDBG__Debugger_AddressRegisters +00009bbc t MDDBG__Debugger_Backtrace +00009c5a T _Bus_Error +00009c5a t MDDBG__BusError +00009c6e T _Address_Error +00009c6e t MDDBG__AddressError +00009c86 T _Illegal_Instruction +00009c86 t MDDBG__IllegalInstr +00009ca4 T _Zero_Divide +00009ca4 t MDDBG__ZeroDivide +00009cba T _Chk_Instruction +00009cba t MDDBG__ChkInstr +00009cd4 T _Trapv_Instruction +00009cd4 t MDDBG__TrapvInstr +00009cf0 T _Privilege_Violation +00009cf0 t MDDBG__PrivilegeViol +00009d0e T _Trace +00009d0e t MDDBG__Trace +00009d1e T _Line_1010_Emulation +00009d1e t MDDBG__Line1010Emu +00009d3a T _Line_1111_Emulation +00009d3a t MDDBG__Line1111Emu +00009d56 T _Error_Exception +00009d56 t MDDBG__ErrorExcept 00009e00 T smp_null 00009f00 T smp_null_dpcm 00009f80 T __mulsi3 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:442 00009f80 T __mulsi3_internal /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:442 -00009fa4 T __CTOR_LIST__ -00009fac T __CTOR_END__ -00009fac T __DTOR_LIST__ -00009fb4 T __DTOR_END__ -00009fb4 t bgtest_tileset -00009fbc t bgtest_tilemap -00009fc6 t bgtest_palette -00009fcc T bgtest -00009fd8 t bigTex1_palette -00009fde t bigTex1_animation0_frame0_tileset -00009fe6 t bigTex1_animation0_frame0 -0000a002 t bigTex1_animation0_frames -0000a006 t bigTex1_animation0 -0000a00c t bigTex1_animations -0000a010 T bigTex1 -0000a022 t bg1_tileset -0000a02a t bg1_tilemap -0000a034 t bg1_palette -0000a03a T bg1 -0000a046 t fg1_tileset -0000a04e t fg1_tilemap -0000a058 T fg1 -0000a0ea t tab_vol -0000b0ea t psgVolTable -0000b14e t fmVolTable -0000b1b2 t palette_blue -0000b1d2 t palette_green -0000b1f2 t palette_red -0000b212 t palette_grey -0000b232 t visibilityMask.0 -0000b254 t xlt.1 -0000b25c t xlt_all.0 -0000b26c t sgdk_logo_palette -0000b272 T sgdk_logo -0000b280 T font_default -0000b288 T font_pal_default -0000b28e T drv_null -0000b2c8 T drv_xgm -0000c9c8 T drv_dpcm2 -0000d7c8 T drv_pcm -0000e2f8 T drv_pcm4 -0000ed66 T drv_xgm2 -00010d68 T __INIT_SECTION__ -00010d6a T __FINI_SECTION__ -00010d6c T _etext -00010d6c t bgtest_palette_data -00010dec t bigTex1_palette_data -00010e0c t bg1_palette_data -00010e8c t sgdk_logo_palette_data -00010eac t font_pal_default_data -00010ecc T stop_xgm -00010f78 t font_default_data -000111da t sgdk_logo_data -00011614 t bgtest_tilemap_data -00011884 t bg1_tilemap_data -000119c8 t fg1_tilemap_data -00011b14 t bgtest_tileset_data -000124ca t bigTex1_animation0_frame0_tileset_data -0001274c t bg1_tileset_data -00012b70 t fg1_tileset_data -00013018 A _stext +00009fa4 T __modsi3 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:611 +00009fd4 T __udivsi3 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:469 +00009fd4 T __udivsi3_internal /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:469 +00009ffc t L3 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:486 +00009ffe t L4 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:487 +0000a02a t L5 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:508 +0000a02c t L6 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:510 +0000a030 T __divsi3 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:547 +0000a030 T __divsi3_internal /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:547 +0000a03e t L1 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:558 +0000a048 t L2 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:567 +0000a05a t L3 /home/runner/work/m68k-elf-gcc/m68k-elf-gcc/.build/HOST-i686-w64-mingw32/m68k-elf/src/gcc/libgcc/config/m68k/lb1sf68.S:576 +0000a060 T __CTOR_LIST__ +0000a068 T __CTOR_END__ +0000a068 T __DTOR_LIST__ +0000a070 T __DTOR_END__ +0000a070 t bgtest_tileset +0000a078 t bgtest_tilemap +0000a082 t bgtest_palette +0000a088 T bgtest +0000a094 t bigTex1_palette +0000a09a t bigTex1_animation0_frame0_tileset +0000a0a2 t bigTex1_animation0_frame0 +0000a0be t bigTex1_animation0_frames +0000a0c2 t bigTex1_animation0 +0000a0c8 t bigTex1_animations +0000a0cc T bigTex1 +0000a0de t bg1_tileset +0000a0e6 t bg1_tilemap +0000a0f0 t bg1_palette +0000a0f6 T bg1 +0000a102 t fg1_tileset +0000a10a t fg1_tilemap +0000a114 T fg1 +0000a120 t titleSignSprite_palette +0000a126 t titleSignSprite_animation0_frame0_tileset +0000a12e t titleSignSprite_animation0_frame0 +0000a13e t titleSignSprite_animation0_frame1_tileset +0000a146 t titleSignSprite_animation0_frame1 +0000a156 t titleSignSprite_animation0_frame2_tileset +0000a15e t titleSignSprite_animation0_frame2 +0000a16e t titleSignSprite_animation0_frame3_tileset +0000a176 t titleSignSprite_animation0_frame3 +0000a186 t titleSignSprite_animation0_frame4_tileset +0000a18e t titleSignSprite_animation0_frame4 +0000a19e t titleSignSprite_animation0_frame5_tileset +0000a1a6 t titleSignSprite_animation0_frame5 +0000a1b6 t titleSignSprite_animation0_frames +0000a1ce t titleSignSprite_animation0 +0000a1d4 t titleSignSprite_animation1_frame0_tileset +0000a1dc t titleSignSprite_animation1_frame0 +0000a1ec t titleSignSprite_animation1_frame1_tileset +0000a1f4 t titleSignSprite_animation1_frame1 +0000a204 t titleSignSprite_animation1_frame2_tileset +0000a20c t titleSignSprite_animation1_frame2 +0000a21c t titleSignSprite_animation1_frame3_tileset +0000a224 t titleSignSprite_animation1_frame3 +0000a234 t titleSignSprite_animation1_frame4_tileset +0000a23c t titleSignSprite_animation1_frame4 +0000a24c t titleSignSprite_animation1_frame5_tileset +0000a254 t titleSignSprite_animation1_frame5 +0000a264 t titleSignSprite_animation1_frames +0000a27c t titleSignSprite_animation1 +0000a282 t titleSignSprite_animation2_frame0_tileset +0000a28a t titleSignSprite_animation2_frame0 +0000a29a t titleSignSprite_animation2_frame1_tileset +0000a2a2 t titleSignSprite_animation2_frame1 +0000a2b2 t titleSignSprite_animation2_frame2_tileset +0000a2ba t titleSignSprite_animation2_frame2 +0000a2ca t titleSignSprite_animation2_frame3_tileset +0000a2d2 t titleSignSprite_animation2_frame3 +0000a2e2 t titleSignSprite_animation2_frame4_tileset +0000a2ea t titleSignSprite_animation2_frame4 +0000a2fa t titleSignSprite_animation2_frame5_tileset +0000a302 t titleSignSprite_animation2_frame5 +0000a312 t titleSignSprite_animation2_frames +0000a32a t titleSignSprite_animation2 +0000a330 t titleSignSprite_animations +0000a33c T titleSignSprite +0000a3d4 t tab_vol +0000b3d4 t psgVolTable +0000b438 t fmVolTable +0000b49c t palette_blue +0000b4bc t palette_green +0000b4dc t palette_red +0000b4fc t palette_grey +0000b51c t visibilityMask.0 +0000b53e t xlt.1 +0000b546 t xlt_all.0 +0000b556 t sgdk_logo_palette +0000b55c T sgdk_logo +0000b56a T font_default +0000b572 T font_pal_default +0000b578 T drv_null +0000b5b2 T drv_xgm +0000ccb2 T drv_dpcm2 +0000dab2 T drv_pcm +0000e5e2 T drv_pcm4 +0000f050 T drv_xgm2 +00011050 T __INIT_SECTION__ +00011052 T __FINI_SECTION__ +00011054 T _etext +00011054 t bgtest_palette_data +000110d4 t bigTex1_palette_data +000110f4 t bg1_palette_data +00011174 t titleSignSprite_palette_data +00011194 t sgdk_logo_palette_data +000111b4 t font_pal_default_data +000111d4 T stop_xgm +00011280 t font_default_data +000114e2 t sgdk_logo_data +0001191c t bgtest_tilemap_data +00011b8c t bg1_tilemap_data +00011cd0 t fg1_tilemap_data +00011e1c t bgtest_tileset_data +000127d2 t bigTex1_animation0_frame0_tileset_data +00012a54 t bg1_tileset_data +00012e78 t fg1_tileset_data +00013320 t titleSignSprite_animation0_frame0_tileset_data +00013386 t titleSignSprite_animation0_frame1_tileset_data +0001346e t titleSignSprite_animation0_frame2_tileset_data +00013568 t titleSignSprite_animation0_frame3_tileset_data +0001365c t titleSignSprite_animation0_frame4_tileset_data +00013778 t titleSignSprite_animation0_frame5_tileset_data +000137dc t titleSignSprite_animation1_frame0_tileset_data +000138b2 t titleSignSprite_animation1_frame1_tileset_data +0001395a t titleSignSprite_animation1_frame2_tileset_data +00013a2c t titleSignSprite_animation1_frame3_tileset_data +00013ae6 t titleSignSprite_animation1_frame4_tileset_data +00013baa t titleSignSprite_animation1_frame5_tileset_data +00013c5c t titleSignSprite_animation2_frame0_tileset_data +00013cf2 t titleSignSprite_animation2_frame1_tileset_data +00013d76 t titleSignSprite_animation2_frame2_tileset_data +00013df0 t titleSignSprite_animation2_frame3_tileset_data +00013e54 t titleSignSprite_animation2_frame4_tileset_data +00013ebc t titleSignSprite_animation2_frame5_tileset_data +00013f58 A _stext e0ff0000 d ind e0ff0004 D task_sr e0ff0006 D task_pc @@ -605,86 +699,89 @@ e0ff0064 B intLevelSave e0ff0066 B intTrace e0ff0068 B dmaQueues e0ff006c b state -e0ff006e b player_hflip +e0ff006e b start_pressed +e0ff006f b start_press_ready e0ff0070 b tile_scroll_array e0ff00a8 b scrollFrameDelayHalved e0ff00ac b scrollFrameDelay -e0ff00b0 b player_sprite -e0ff00b4 b player_y -e0ff00b8 b player_x -e0ff00bc b vscroll_update -e0ff00bd b hscroll_update -e0ff00be b fadePSGVol -e0ff00c0 b fadeFMVol -e0ff00c2 b fadeCount -e0ff00c4 b usedVDPSprite -e0ff00c6 b xgm2WaitTab -e0ff00ce b xgm2IdleTab -e0ff00d6 b xgmTempoCnt -e0ff00d8 b xgmWaitTab -e0ff0118 b xgmIdleTab -e0ff0158 b xgmTempoDef -e0ff015a b xgmTempo -e0ff015c b busProtectSignalAddress -e0ff015e b driverFlags -e0ff0160 b currentDriver -e0ff0162 b allocStack -e0ff02a2 b lastVTimer.0 -e0ff02a4 b text_plan -e0ff02a8 b text_basetile -e0ff02aa b lastVCnt -e0ff02ac b windowWidthSft -e0ff02ae b planeWidthSft -e0ff02b0 b windowWidth -e0ff02b2 b planeHeight -e0ff02b4 b planeWidth -e0ff02b6 b hscrl_addr -e0ff02b8 b bgb_addr -e0ff02ba b bga_addr -e0ff02bc b window_addr -e0ff02be b lastTick -e0ff02c2 b cpuFrameLoad -e0ff02c4 b frameLoadIndex -e0ff02c6 b frameLoads -e0ff02d6 b vblankCB -e0ff02da b flags -e0ff02dc b screenHeight -e0ff02de b screenWidth -e0ff02e0 b maps_addr -e0ff02e2 b slist_addr -e0ff02e4 b vdpSpriteCache -e0ff05e4 b spriteVramSize -e0ff05e8 b vram -e0ff05f4 b lastSprite -e0ff05f8 b firstSprite -e0ff05fc b spritesPool -e0ff0600 b fadeCounter -e0ff0602 b heap -e0ff0606 b free.lto_priv.0 -e0ff060a b randomSeedSet -e0ff060c b joyEventCB -e0ff0610 b retry -e0ff0611 b phase.lto_priv.1 -e0ff0614 b regValues -e0ff0627 b gun -e0ff0628 b extSet -e0ff062a b disableIntStack -e0ff062c b joyAxisY -e0ff063c b joyAxisX -e0ff064c b joyState -e0ff065c b joyType -e0ff0664 b portSupport -e0ff0666 b portType -e0ff0668 b gport -e0ff066a b flag -e0ff066c b maxTransferPerFrame -e0ff066e b queueSize -e0ff0670 b nextDataBuffer -e0ff0674 b queueTransferSize -e0ff0676 b queueIndexLimit -e0ff0678 b queueIndex -e0ff067a b dmaDataBuffer -e0ff067e b dataBufferSize -e0ff0680 b phase.lto_priv.0 -e0ff0682 B _bend +e0ff00b0 b title_sign_sprite_arr +e0ff00f8 b sign_y +e0ff00fc b sign_x +e0ff0100 b player_y +e0ff0104 b player_x +e0ff0108 b vscroll_update +e0ff0109 b hscroll_update +e0ff010a b fadePSGVol +e0ff010c b fadeFMVol +e0ff010e b fadeCount +e0ff0110 b usedVDPSprite +e0ff0112 b xgm2WaitTab +e0ff011a b xgm2IdleTab +e0ff0122 b xgmTempoCnt +e0ff0124 b xgmWaitTab +e0ff0164 b xgmIdleTab +e0ff01a4 b xgmTempoDef +e0ff01a6 b xgmTempo +e0ff01a8 b busProtectSignalAddress +e0ff01aa b driverFlags +e0ff01ac b currentDriver +e0ff01ae b allocStack +e0ff02ee b lastVTimer.0 +e0ff02f0 b text_plan +e0ff02f4 b text_basetile +e0ff02f6 b lastVCnt +e0ff02f8 b windowWidthSft +e0ff02fa b planeWidthSft +e0ff02fc b windowWidth +e0ff02fe b planeHeight +e0ff0300 b planeWidth +e0ff0302 b hscrl_addr +e0ff0304 b bgb_addr +e0ff0306 b bga_addr +e0ff0308 b window_addr +e0ff030a b lastTick +e0ff030e b cpuFrameLoad +e0ff0310 b frameLoadIndex +e0ff0312 b frameLoads +e0ff0322 b vblankCB +e0ff0326 b flags +e0ff0328 b screenHeight +e0ff032a b screenWidth +e0ff032c b maps_addr +e0ff032e b slist_addr +e0ff0330 b vdpSpriteCache +e0ff0630 b spriteVramSize +e0ff0634 b vram +e0ff0640 b lastSprite +e0ff0644 b firstSprite +e0ff0648 b spritesPool +e0ff064c b fadeCounter +e0ff064e b heap +e0ff0652 b free.lto_priv.0 +e0ff0656 b randomSeedSet +e0ff0658 b joyEventCB +e0ff065c b retry +e0ff065d b phase.lto_priv.1 +e0ff0660 b regValues +e0ff0673 b gun +e0ff0674 b extSet +e0ff0676 b disableIntStack +e0ff0678 b joyAxisY +e0ff0688 b joyAxisX +e0ff0698 b joyState +e0ff06a8 b joyType +e0ff06b0 b portSupport +e0ff06b2 b portType +e0ff06b4 b gport +e0ff06b6 b flag +e0ff06b8 b maxTransferPerFrame +e0ff06ba b queueSize +e0ff06bc b nextDataBuffer +e0ff06c0 b queueTransferSize +e0ff06c2 b queueIndexLimit +e0ff06c4 b queueIndex +e0ff06c6 b dmaDataBuffer +e0ff06ca b dataBufferSize +e0ff06cc b phase.lto_priv.0 +e0ff06ce B _bend e1000000 A __stack diff --git a/res/resources.h b/res/resources.h index f4ee747..38da8b9 100644 --- a/res/resources.h +++ b/res/resources.h @@ -7,5 +7,6 @@ extern const Image bgtest; extern const SpriteDefinition bigTex1; extern const Image bg1; extern const Image fg1; +extern const SpriteDefinition titleSignSprite; #endif // _RES_RESOURCES_H_ diff --git a/res/resources.res b/res/resources.res index eb79401..e7f86a5 100644 --- a/res/resources.res +++ b/res/resources.res @@ -1,4 +1,5 @@ IMAGE bgtest "background1.png" BEST ALL SPRITE bigTex1 "Sprites\BTW-1.png" 8 8 FAST IMAGE bg1 "btwade_bg1_1.png" BEST ALL -IMAGE fg1 "btwade_bg2_1.png" BEST ALL \ No newline at end of file +IMAGE fg1 "btwade_bg2_1.png" BEST ALL +SPRITE titleSignSprite "BTW-TitleSign-merged.png" 4 4 FAST \ No newline at end of file diff --git a/src/title_screen.c b/src/title_screen.c index 19e9310..de16218 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -5,14 +5,25 @@ u16 ind = TILE_USER_INDEX; -Sprite* player_sprite; +//Sprite* player_sprite; +Sprite* title_sign_sprite_arr [18] = {NULL}; +// Sprite* title_sign_sprite_1; +// Sprite* title_sign_sprite_2; +// Sprite* title_sign_sprite_3; +// Sprite* title_sign_sprite_4; +// Sprite* title_sign_sprite_5; int player_x; int player_y; +int sign_x; +int sign_y; + int scrollFrameDelay = 0; int scrollFrameDelayHalved = 0; bool player_hflip; +bool start_pressed = false; +bool start_press_ready = false; s16 tile_scroll_array [28] = { @@ -27,14 +38,49 @@ s16 tile_scroll_array [28] = { extern void init_title_screen () { player_x = 50; player_y = 50; + sign_x = 60; + sign_y = -120; SPR_init(); PAL_setPalette(PAL0, bg1.palette->data, DMA); PAL_setPalette(PAL1,fg1.palette->data,DMA); - PAL_setPalette(PAL2, bigTex1.palette->data, DMA); - player_sprite = SPR_addSprite(&bigTex1, 0,0, TILE_ATTR(PAL2,false,false,false)); + PAL_setPalette(PAL2, titleSignSprite.palette->data, DMA); +//--------- initializing sprites, probably a better way to do this (Loops) but who cares for now tbh----------------- + for(int i = 0; i < 18; i++){ + title_sign_sprite_arr[i] = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + if (i < 6) + { + title_sign_sprite_arr[i]-> frameInd += i; + } + else if (i < 12) + { + SPR_setAnim(title_sign_sprite_arr[i],1); + title_sign_sprite_arr[i]-> frameInd += (i-6); + } + else { + SPR_setAnim(title_sign_sprite_arr[i],2); + title_sign_sprite_arr[i]-> frameInd += (i-12); + } + + } + + // title_sign_sprite_0 = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + // title_sign_sprite_1 = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + // title_sign_sprite_2 = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + // title_sign_sprite_3 = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + // title_sign_sprite_4 = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + // title_sign_sprite_5 = SPR_addSprite(&titleSignSprite, 0,0, TILE_ATTR(PAL2,false,false,false)); + + // title_sign_sprite_1->frameInd ++; + // title_sign_sprite_2->frameInd +=2; + // title_sign_sprite_3->frameInd +=3; + // title_sign_sprite_4->frameInd +=4; + // title_sign_sprite_5->frameInd +=5; + +// -------------------------------------------------------------------------------------------------------------------- + VDP_drawImageEx(BG_B, &bg1,TILE_ATTR_FULL(PAL0, false, false, false, ind), 0, -4, false, true); ind += bg1.tileset->numTile; @@ -60,15 +106,20 @@ static void handleInputs(){ if (value & BUTTON_DOWN){ player_y += 1; } + if (value & BUTTON_START) + { + start_pressed = true; + } } extern void update_title_screen(){ + +// -----------------Parallax BG ---------------------------- if (scrollFrameDelay > 1){ scrollFrameDelay = 0; - if (scrollFrameDelayHalved >1){ //0.25 scroll speed tile_scroll_array[15] -=1; @@ -79,10 +130,8 @@ extern void update_title_screen(){ //reset this timer scrollFrameDelayHalved = 0; } - // 0.5 scroll speed - tile_scroll_array[20] -=1; - + tile_scroll_array[20] -=1; // effectively 1.5 scroll speed. tile_scroll_array[22] -=1; @@ -102,15 +151,44 @@ extern void update_title_screen(){ VDP_setHorizontalScrollTile(BG_A, 0, tile_scroll_array, 28, DMA_QUEUE); scrollFrameDelay ++; - + + // -------------------Sign Dropdown----------------------------------------------- + if (sign_y < 20) sign_y +=2; + else start_press_ready = true; + + if (start_press_ready && start_pressed && sign_x > -190) sign_x -=3; handleInputs(); } extern void draw_title_screen(){ - SPR_setPosition(player_sprite, player_x,player_y); - SPR_setHFlip(player_sprite, player_hflip); - SPR_update(); + + for(int i =0; i < 18; i++){ + + int draw_sign_x = sign_x + (i % 6) *32; + int draw_sign_y = sign_y; + if (i >5) + { + draw_sign_y += 32; + } + if (i >11) + { + draw_sign_y += 32; + } + + + SPR_setPosition(title_sign_sprite_arr[i], draw_sign_x , draw_sign_y); + } + + // SPR_setPosition(title_sign_sprite_1, sign_x+32,sign_y); + // SPR_setPosition(title_sign_sprite_2, sign_x+64,sign_y); + // SPR_setPosition(title_sign_sprite_3, sign_x+96,sign_y); + // SPR_setPosition(title_sign_sprite_4, sign_x+128,sign_y); + // SPR_setPosition(title_sign_sprite_5, sign_x+160,sign_y); + + // SPR_setPosition(player_sprite, player_x,player_y); + // SPR_setHFlip(player_sprite, player_hflip); + SPR_update(); } \ No newline at end of file