Compare commits

...

2 Commits

Author SHA1 Message Date
be46574c3e updated title screen 2026-05-16 15:39:52 -05:00
e8428b0d7e moved to different file 2026-05-15 23:23:16 -05:00
14 changed files with 630 additions and 470 deletions

13
inc/title_screen.h Normal file
View File

@@ -0,0 +1,13 @@
#include <genesis.h>
#ifndef TITLE_SCREEN_H_
#define TITLE_SCREEN_H_
extern Sprite* player_sprite;
extern s16 tile_scroll_array [];
extern void init_title_screen();
extern void update_title_screen();
extern void draw_title_screen();
#endif // TITLE_SCREEN_H

View File

@@ -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/background1.png \
C:/Users/ttibb/Dev/SGDK-Game/res/btwade_bg1_1.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/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 C:/Users/ttibb/Dev/SGDK-Game/res/Sprites/BTW-1.png

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -17,4 +17,4 @@ out/src/Main.o: src/Main.c c:/SGDK/inc/genesis.h c:/SGDK/inc/types.h \
c:/SGDK/inc/task_cst.h c:/SGDK/inc/ext/flash-save/flash.h \ c:/SGDK/inc/task_cst.h c:/SGDK/inc/ext/flash-save/flash.h \
c:/SGDK/inc/types.h c:/SGDK/inc/ext/flash-save/saveman.h \ c:/SGDK/inc/types.h c:/SGDK/inc/ext/flash-save/saveman.h \
c:/SGDK/inc/ext/console.h c:/SGDK/inc/config.h c:/SGDK/inc/string.h \ c:/SGDK/inc/ext/console.h c:/SGDK/inc/config.h c:/SGDK/inc/string.h \
c:/SGDK/inc/maths.h c:/SGDK/inc/dma.h res/resources.h c:/SGDK/inc/maths.h c:/SGDK/inc/dma.h res/resources.h inc/title_screen.h

Binary file not shown.

21
out/src/title_screen.d Normal file
View File

@@ -0,0 +1,21 @@
out/src/title_screen.o: src/title_screen.c c:/SGDK/inc/genesis.h \
c:/SGDK/inc/types.h c:/SGDK/inc/config.h c:/SGDK/inc/asm.h \
c:/SGDK/inc/sys.h c:/SGDK/inc/sram.h c:/SGDK/inc/mapper.h \
c:/SGDK/inc/memory.h c:/SGDK/inc/memory_base.h c:/SGDK/inc/tools.h \
c:/SGDK/inc/bmp.h c:/SGDK/inc/maths.h c:/SGDK/inc/vdp.h \
c:/SGDK/inc/pal.h c:/SGDK/inc/dma.h c:/SGDK/inc/vdp_tile.h \
c:/SGDK/inc/vdp_bg.h c:/SGDK/inc/map.h c:/SGDK/inc/pool.h \
c:/SGDK/inc/object.h c:/SGDK/inc/font.h c:/SGDK/res/libres.h \
c:/SGDK/inc/string.h c:/SGDK/inc/tab_cnv.h c:/SGDK/inc/maths3D.h \
c:/SGDK/inc/vdp_spr.h c:/SGDK/inc/vdp_pal.h c:/SGDK/inc/vram.h \
c:/SGDK/inc/sprite_eng.h c:/SGDK/inc/sprite_eng_legacy.h \
c:/SGDK/inc/z80_ctrl.h c:/SGDK/inc/ym2612.h c:/SGDK/inc/psg.h \
c:/SGDK/inc/snd/sound.h c:/SGDK/inc/snd/xgm.h c:/SGDK/inc/snd/xgm2.h \
c:/SGDK/inc/snd/smp_null.h c:/SGDK/inc/snd/smp_null_dpcm.h \
c:/SGDK/inc/snd/pcm/snd_pcm.h c:/SGDK/inc/snd/pcm/snd_dpcm2.h \
c:/SGDK/inc/snd/pcm/snd_pcm4.h c:/SGDK/inc/joy.h c:/SGDK/inc/timer.h \
c:/SGDK/inc/task.h c:/SGDK/inc/task_cst.h \
c:/SGDK/inc/ext/flash-save/flash.h c:/SGDK/inc/types.h \
c:/SGDK/inc/ext/flash-save/saveman.h c:/SGDK/inc/ext/console.h \
c:/SGDK/inc/config.h c:/SGDK/inc/string.h c:/SGDK/inc/maths.h \
c:/SGDK/inc/dma.h res/resources.h inc/title_screen.h

BIN
out/src/title_screen.o Normal file

Binary file not shown.

View File

@@ -4,11 +4,30 @@
00000020 a bigTex1_palette_data_size 00000020 a bigTex1_palette_data_size
00000020 a font_pal_default_data_size 00000020 a font_pal_default_data_size
00000020 a sgdk_logo_palette_data_size 00000020 a sgdk_logo_palette_data_size
00000044 A _sdata 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 bg1_palette_data_size
00000080 a bgtest_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 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 00000100 T rom_header
0000011c a titleSignSprite_animation0_frame4_tileset_data_size
00000144 a bg1_tilemap_data_size 00000144 a bg1_tilemap_data_size
0000014c a fg1_tilemap_data_size 0000014c a fg1_tilemap_data_size
00000200 t _Entry_Point 00000200 t _Entry_Point
@@ -395,295 +414,374 @@
00003b5c t VRAM_createRegion.constprop.0 00003b5c t VRAM_createRegion.constprop.0
00003bba t VRAM_alloc.constprop.0 00003bba t VRAM_alloc.constprop.0
00003c88 t SPR_defragVRAM 00003c88 t SPR_defragVRAM
00003d32 t VDP_setTileMapDataEx.constprop.0 00003d32 t SPR_addSpriteEx.constprop.0
00003e06 t releaseSprite.part.0.isra.0 00003f5c t VDP_setTileMapDataEx.constprop.0
00003e6e t SPR_addSpriteEx.constprop.0 00004030 t JOY_update
00003fd8 t JOY_update 000044f8 t Z80_clear
000044a0 t Z80_clear 000045ba t Z80_upload
00004562 t Z80_upload 000046d4 t Z80_upload.constprop.0
0000467c t Z80_upload.constprop.0 000047b0 t Z80_upload.constprop.1
00004758 t Z80_upload.constprop.1 0000488c t PAL_doFadeStep
00004834 t PAL_doFadeStep 000048a6 t SPR_end
0000484e t SPR_end 00004934 t SND_NULL_loadDriver
000048dc t SND_NULL_loadDriver 00004a2c t Z80_loadDriverInternal
000049d4 t Z80_loadDriverInternal 00004b3c t getAccess
00004ae4 t getAccess 00004c8c t setFMVolume
00004c34 t setFMVolume 00004d24 t setPSGVolume
00004ccc t setPSGVolume 00004dbc t setMusicTempo.constprop.0
00004d64 t setMusicTempo.constprop.0 00004e52 t setLoopNumber.constprop.0
00004dfa t setLoopNumber.constprop.0 00004ea0 t setTileMapDataRowEx.constprop.1
00004e48 t setTileMapDataRowEx.constprop.1 00004fcc t VDP_drawText
00004f74 t VDP_drawText 00005128 t setTileMapDataColumnEx.constprop.0
000050d0 t setTileMapDataColumnEx.constprop.0 0000527c t VDP_setTileMapDataRectEx.constprop.0
00005224 t VDP_setTileMapDataRectEx.constprop.0 000055f6 t unpack.isra.0
0000559e t unpack.isra.0 0000562c t SPR_update
000055d4 t SPR_update 00005e34 t VDP_waitVBlank
00005ddc t VDP_waitVBlank 00005fde T BMP_doVBlankProcess
00005f86 T BMP_doVBlankProcess 00005fe8 T memset
00005f90 T memset 00006002 t XGM2_loadDriver
00005faa t XGM2_loadDriver 00006182 t Z80_loadDriver
0000612a t Z80_loadDriver 00006264 t Z80_init
0000620c t Z80_init 000062ca t XGM2_stop
00006272 t XGM2_stop 00006350 t XGM2_pause
000062f8 t XGM2_pause 000063c2 t SYS_doVBlankProcessEx.constprop.0.isra.0
0000636a t SYS_doVBlankProcessEx.constprop.0.isra.0 00006900 t waitSubTick.part.0
000068a8 t waitSubTick.part.0 00006abe t XGM_loadDriver
00006a66 t XGM_loadDriver 00006d6c t SND_DPCM2_loadDriver
00006d14 t SND_DPCM2_loadDriver 00006f14 t SND_PCM_loadDriver
00006ebc t SND_PCM_loadDriver 000070bc t SND_PCM4_loadDriver
00007064 t SND_PCM4_loadDriver 0000726c t POOL_reset.constprop.0
00007214 t POOL_reset.constprop.0 000072e2 t SPR_initEx.constprop.0
0000728a t SPR_initEx.constprop.0 00007446 T memcpy
000073ee T memcpy 00007456 T VDP_setAutoInc
000073fe T VDP_setAutoInc 00007470 t DMA_doDmaFast
00007418 t DMA_doDmaFast 000075f6 t DMA_doCPUCopyDirect
0000759e t DMA_doCPUCopyDirect 00007734 t DMA_transfer.isra.0
000076dc t DMA_transfer.isra.0 000078c0 t PAL_setPalette
00007868 t PAL_setPalette 000078e8 t VDP_loadTileSet
00007890 t VDP_loadTileSet 000079e2 t updateMapsAddress
0000798a t updateMapsAddress 00007a6a t VDP_setReg.constprop.0
00007a12 t VDP_setReg.constprop.0 00007a84 t JOY_setSupport
00007a2c t JOY_setSupport 00007aa8 t JOY_reset
00007a50 t JOY_reset 00008174 t VDP_resetScreen
0000811c t VDP_resetScreen 000083c4 t VDP_init
0000836c t VDP_init 000084c6 t internal_reset
0000846e t internal_reset 0000860c t VDP_drawImageEx.constprop.0.isra.0
000085b4 t VDP_drawImageEx.constprop.0.isra.0 00008754 t main.isra.0
000086fc t main.isra.0 00008bc8 T _start_entry
00008c04 T _start_entry 00008c8e T _reset_entry
00008cca T _reset_entry 00008c96 T XGM_doVBlankProcess
00008cd2 T XGM_doVBlankProcess 00008cfc T MDDBG__SymbolDataPtr
00008d38 T MDDBG__SymbolDataPtr 00008d00 t __ErrorHandler
00008d3c t __ErrorHandler 00008d00 t MDDBG__ErrorHandler
00008d3c t MDDBG__ErrorHandler 00008e28 t MDDBG__Error_IdleLoop
00008e64 t MDDBG__Error_IdleLoop 00008e42 t MDDBG__Error_InitConsole
00008e7e t MDDBG__Error_InitConsole 00008e4e t MDDBG__Error_MaskStackBoundaries
00008e8a t MDDBG__Error_MaskStackBoundaries 00008eb8 t MDDBG__Error_DrawOffsetLocation
00008ef4 t MDDBG__Error_DrawOffsetLocation 00008ebc t MDDBG__Error_DrawOffsetLocation2
00008ef8 t MDDBG__Error_DrawOffsetLocation2 00008ec2 t MDDBG__Error_DrawOffsetLocation__inj
00008efe t MDDBG__Error_DrawOffsetLocation__inj 00008f50 t MDDBG__ErrorHandler_SetupVDP
00008f8c t MDDBG__ErrorHandler_SetupVDP 00008f86 t MDDBG__ErrorHandler_VDPConfig
00008fc2 t MDDBG__ErrorHandler_VDPConfig 00008f9c t MDDBG__ErrorHandler_VDPConfig_Nametables
00008fd8 t MDDBG__ErrorHandler_VDPConfig_Nametables 00008fd8 t MDDBG__ErrorHandler_ConsoleConfig_Initial
00009014 t MDDBG__ErrorHandler_ConsoleConfig_Initial 00008fdc t MDDBG__ErrorHandler_ConsoleConfig_Shared
00009018 t MDDBG__ErrorHandler_ConsoleConfig_Shared 0000900c t MDDBG__Str_OffsetLocation_24bit
00009048 t MDDBG__Str_OffsetLocation_24bit 00009015 t MDDBG__Str_OffsetLocation_32bit
00009051 t MDDBG__Str_OffsetLocation_32bit 00009050 t MDDBG__Art1bpp_Font
0000908c t MDDBG__Art1bpp_Font 0000934a t MDDBG__GetSymbolByOffset
00009386 t MDDBG__GetSymbolByOffset 00009664 t MDDBG__FormatString
000096a0 t MDDBG__FormatString 0000973e t MDDBG__Console_Init
0000977a t MDDBG__Console_Init 0000977c t MDDBG__Console_Reset
000097b8 t MDDBG__Console_Reset 0000977e t MDDBG__Console_InitShared
000097ba t MDDBG__Console_InitShared 000097c8 t MDDBG__Console_SetPosAsXY_Stack
00009804 t MDDBG__Console_SetPosAsXY_Stack 000097ce t MDDBG__Console_SetPosAsXY
0000980a t MDDBG__Console_SetPosAsXY 00009802 t MDDBG__Console_GetPosAsXY
0000983e t MDDBG__Console_GetPosAsXY 00009828 t MDDBG__Console_StartNewLine
00009864 t MDDBG__Console_StartNewLine 00009856 t MDDBG__Console_SetBasePattern
00009892 t MDDBG__Console_SetBasePattern 00009872 t MDDBG__Console_SetWidth
000098ae t MDDBG__Console_SetWidth 00009890 t MDDBG__Console_WriteLine_WithPattern
000098cc t MDDBG__Console_WriteLine_WithPattern 00009892 t MDDBG__Console_WriteLine
000098ce t MDDBG__Console_WriteLine 00009896 t MDDBG__Console_Write
000098d2 t MDDBG__Console_Write 0000995c t MDDBG__Console_WriteLine_Formatted
00009998 t MDDBG__Console_WriteLine_Formatted 00009960 t MDDBG__Console_Write_Formatted
0000999c t MDDBG__Console_Write_Formatted 00009990 t MDDBG__Decomp1bpp
000099cc t MDDBG__Decomp1bpp 000099ac t MDDBG__KDebug_WriteLine_Formatted
000099e8 t MDDBG__KDebug_WriteLine_Formatted 000099b0 t MDDBG__KDebug_Write_Formatted
000099ec t MDDBG__KDebug_Write_Formatted 00009a04 t MDDBG__KDebug_FlushLine
00009a40 t MDDBG__KDebug_FlushLine 00009a0e t MDDBG__KDebug_WriteLine
00009a4a t MDDBG__KDebug_WriteLine 00009a12 t MDDBG__KDebug_Write
00009a4e t MDDBG__KDebug_Write 00009a40 t MDDBG__ErrorHandler_ConsoleOnly
00009a7c t MDDBG__ErrorHandler_ConsoleOnly 00009a66 t MDDBG__ErrorHandler_ClearConsole
00009aa2 t MDDBG__ErrorHandler_ClearConsole 00009a90 t MDDBG__ErrorHandler_PauseConsole
00009acc t MDDBG__ErrorHandler_PauseConsole 00009aca t MDDBG__ErrorHandler_PagesController
00009b06 t MDDBG__ErrorHandler_PagesController 00009b2a t MDDBG__VSync
00009b66 t MDDBG__VSync 00009b64 t MDDBG__ErrorHandler_ExtraDebuggerList
00009ba0 t MDDBG__ErrorHandler_ExtraDebuggerList 00009b70 t MDDBG__Debugger_AddressRegisters
00009bac t MDDBG__Debugger_AddressRegisters 00009bbc t MDDBG__Debugger_Backtrace
00009bf8 t MDDBG__Debugger_Backtrace 00009c5a T _Bus_Error
00009c96 T _Bus_Error 00009c5a t MDDBG__BusError
00009c96 t MDDBG__BusError 00009c6e T _Address_Error
00009caa T _Address_Error 00009c6e t MDDBG__AddressError
00009caa t MDDBG__AddressError 00009c86 T _Illegal_Instruction
00009cc2 T _Illegal_Instruction 00009c86 t MDDBG__IllegalInstr
00009cc2 t MDDBG__IllegalInstr 00009ca4 T _Zero_Divide
00009ce0 T _Zero_Divide 00009ca4 t MDDBG__ZeroDivide
00009ce0 t MDDBG__ZeroDivide 00009cba T _Chk_Instruction
00009cf6 T _Chk_Instruction 00009cba t MDDBG__ChkInstr
00009cf6 t MDDBG__ChkInstr 00009cd4 T _Trapv_Instruction
00009d10 T _Trapv_Instruction 00009cd4 t MDDBG__TrapvInstr
00009d10 t MDDBG__TrapvInstr 00009cf0 T _Privilege_Violation
00009d2c T _Privilege_Violation 00009cf0 t MDDBG__PrivilegeViol
00009d2c t MDDBG__PrivilegeViol 00009d0e T _Trace
00009d4a T _Trace 00009d0e t MDDBG__Trace
00009d4a t MDDBG__Trace 00009d1e T _Line_1010_Emulation
00009d5a T _Line_1010_Emulation 00009d1e t MDDBG__Line1010Emu
00009d5a t MDDBG__Line1010Emu 00009d3a T _Line_1111_Emulation
00009d76 T _Line_1111_Emulation 00009d3a t MDDBG__Line1111Emu
00009d76 t MDDBG__Line1111Emu 00009d56 T _Error_Exception
00009d92 T _Error_Exception 00009d56 t MDDBG__ErrorExcept
00009d92 t MDDBG__ErrorExcept
00009e00 T smp_null 00009e00 T smp_null
00009f00 T smp_null_dpcm 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 /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 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__ 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
00009fac T __CTOR_END__ 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
00009fac T __DTOR_LIST__ 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
00009fb4 T __DTOR_END__ 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
00009fb4 t bgtest_tileset 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
00009fbc t bgtest_tilemap 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
00009fc6 t bgtest_palette 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
00009fcc T bgtest 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
00009fd8 t bigTex1_palette 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
00009fde t bigTex1_animation0_frame0_tileset 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
00009fe6 t bigTex1_animation0_frame0 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
0000a002 t bigTex1_animation0_frames 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
0000a006 t bigTex1_animation0 0000a060 T __CTOR_LIST__
0000a00c t bigTex1_animations 0000a068 T __CTOR_END__
0000a010 T bigTex1 0000a068 T __DTOR_LIST__
0000a022 t bg1_tileset 0000a070 T __DTOR_END__
0000a02a t bg1_tilemap 0000a070 t bgtest_tileset
0000a034 t bg1_palette 0000a078 t bgtest_tilemap
0000a03a T bg1 0000a082 t bgtest_palette
0000a046 t fg1_tileset 0000a088 T bgtest
0000a04e t fg1_tilemap 0000a094 t bigTex1_palette
0000a058 T fg1 0000a09a t bigTex1_animation0_frame0_tileset
0000a0ea t tab_vol 0000a0a2 t bigTex1_animation0_frame0
0000b0ea t psgVolTable 0000a0be t bigTex1_animation0_frames
0000b14e t fmVolTable 0000a0c2 t bigTex1_animation0
0000b1b2 t palette_blue 0000a0c8 t bigTex1_animations
0000b1d2 t palette_green 0000a0cc T bigTex1
0000b1f2 t palette_red 0000a0de t bg1_tileset
0000b212 t palette_grey 0000a0e6 t bg1_tilemap
0000b232 t visibilityMask.0 0000a0f0 t bg1_palette
0000b254 t xlt.1 0000a0f6 T bg1
0000b25c t xlt_all.0 0000a102 t fg1_tileset
0000b26c t sgdk_logo_palette 0000a10a t fg1_tilemap
0000b272 T sgdk_logo 0000a114 T fg1
0000b280 T font_default 0000a120 t titleSignSprite_palette
0000b288 T font_pal_default 0000a126 t titleSignSprite_animation0_frame0_tileset
0000b28e T drv_null 0000a12e t titleSignSprite_animation0_frame0
0000b2c8 T drv_xgm 0000a13e t titleSignSprite_animation0_frame1_tileset
0000c9c8 T drv_dpcm2 0000a146 t titleSignSprite_animation0_frame1
0000d7c8 T drv_pcm 0000a156 t titleSignSprite_animation0_frame2_tileset
0000e2f8 T drv_pcm4 0000a15e t titleSignSprite_animation0_frame2
0000ed66 T drv_xgm2 0000a16e t titleSignSprite_animation0_frame3_tileset
00010d68 T __INIT_SECTION__ 0000a176 t titleSignSprite_animation0_frame3
00010d6a T __FINI_SECTION__ 0000a186 t titleSignSprite_animation0_frame4_tileset
00010d6c T _etext 0000a18e t titleSignSprite_animation0_frame4
00010d6c t bgtest_palette_data 0000a19e t titleSignSprite_animation0_frame5_tileset
00010dec t bigTex1_palette_data 0000a1a6 t titleSignSprite_animation0_frame5
00010e0c t bg1_palette_data 0000a1b6 t titleSignSprite_animation0_frames
00010e8c t sgdk_logo_palette_data 0000a1ce t titleSignSprite_animation0
00010eac t font_pal_default_data 0000a1d4 t titleSignSprite_animation1_frame0_tileset
00010ecc T stop_xgm 0000a1dc t titleSignSprite_animation1_frame0
00010f78 t font_default_data 0000a1ec t titleSignSprite_animation1_frame1_tileset
000111da t sgdk_logo_data 0000a1f4 t titleSignSprite_animation1_frame1
00011614 t bgtest_tilemap_data 0000a204 t titleSignSprite_animation1_frame2_tileset
00011884 t bg1_tilemap_data 0000a20c t titleSignSprite_animation1_frame2
000119c8 t fg1_tilemap_data 0000a21c t titleSignSprite_animation1_frame3_tileset
00011b14 t bgtest_tileset_data 0000a224 t titleSignSprite_animation1_frame3
000124ca t bigTex1_animation0_frame0_tileset_data 0000a234 t titleSignSprite_animation1_frame4_tileset
0001274c t bg1_tileset_data 0000a23c t titleSignSprite_animation1_frame4
00012b70 t fg1_tileset_data 0000a24c t titleSignSprite_animation1_frame5_tileset
00013018 A _stext 0000a254 t titleSignSprite_animation1_frame5
e0ff0000 D task_sr 0000a264 t titleSignSprite_animation1_frames
e0ff0002 D task_pc 0000a27c t titleSignSprite_animation1
e0ff0006 D task_regs 0000a282 t titleSignSprite_animation2_frame0_tileset
e0ff0042 D task_lock 0000a28a t titleSignSprite_animation2_frame0
e0ff0044 D _edata 0000a29a t titleSignSprite_animation2_frame1_tileset
e0ff0044 B _start 0000a2a2 t titleSignSprite_animation2_frame1
e0ff0044 B bmp_buffer_write 0000a2b2 t titleSignSprite_animation2_frame2_tileset
e0ff0048 B VBlankProcess 0000a2ba t titleSignSprite_animation2_frame2
e0ff004a B hintCaller 0000a2ca t titleSignSprite_animation2_frame3_tileset
e0ff0050 B vintCB 0000a2d2 t titleSignSprite_animation2_frame3
e0ff0054 B intCB 0000a2e2 t titleSignSprite_animation2_frame4_tileset
e0ff0058 B vtimer 0000a2ea t titleSignSprite_animation2_frame4
e0ff005c B eintCB 0000a2fa t titleSignSprite_animation2_frame5_tileset
e0ff0060 B intLevelSave 0000a302 t titleSignSprite_animation2_frame5
e0ff0062 B intTrace 0000a312 t titleSignSprite_animation2_frames
e0ff0064 B dmaQueues 0000a32a t titleSignSprite_animation2
e0ff0068 b state 0000a330 t titleSignSprite_animations
e0ff006a b tile_scroll_array 0000a33c T titleSignSprite
e0ff00a2 b scrollFrameDelayHalved 0000a3d4 t tab_vol
e0ff00a6 b scrollFrameDelay 0000b3d4 t psgVolTable
e0ff00aa b player_hflip 0000b438 t fmVolTable
e0ff00ac b player 0000b49c t palette_blue
e0ff00b0 b player_y 0000b4bc t palette_green
e0ff00b4 b player_x 0000b4dc t palette_red
e0ff00b8 b vscroll_update 0000b4fc t palette_grey
e0ff00b9 b hscroll_update 0000b51c t visibilityMask.0
e0ff00ba b fadePSGVol 0000b53e t xlt.1
e0ff00bc b fadeFMVol 0000b546 t xlt_all.0
e0ff00be b fadeCount 0000b556 t sgdk_logo_palette
e0ff00c0 b usedVDPSprite 0000b55c T sgdk_logo
e0ff00c2 b xgm2WaitTab 0000b56a T font_default
e0ff00ca b xgm2IdleTab 0000b572 T font_pal_default
e0ff00d2 b xgmTempoCnt 0000b578 T drv_null
e0ff00d4 b xgmWaitTab 0000b5b2 T drv_xgm
e0ff0114 b xgmIdleTab 0000ccb2 T drv_dpcm2
e0ff0154 b xgmTempoDef 0000dab2 T drv_pcm
e0ff0156 b xgmTempo 0000e5e2 T drv_pcm4
e0ff0158 b busProtectSignalAddress 0000f050 T drv_xgm2
e0ff015a b driverFlags 00011050 T __INIT_SECTION__
e0ff015c b currentDriver 00011052 T __FINI_SECTION__
e0ff015e b allocStack 00011054 T _etext
e0ff029e b lastVTimer.0 00011054 t bgtest_palette_data
e0ff02a0 b text_plan 000110d4 t bigTex1_palette_data
e0ff02a4 b text_basetile 000110f4 t bg1_palette_data
e0ff02a6 b lastVCnt 00011174 t titleSignSprite_palette_data
e0ff02a8 b windowWidthSft 00011194 t sgdk_logo_palette_data
e0ff02aa b planeWidthSft 000111b4 t font_pal_default_data
e0ff02ac b windowWidth 000111d4 T stop_xgm
e0ff02ae b planeHeight 00011280 t font_default_data
e0ff02b0 b planeWidth 000114e2 t sgdk_logo_data
e0ff02b2 b hscrl_addr 0001191c t bgtest_tilemap_data
e0ff02b4 b bgb_addr 00011b8c t bg1_tilemap_data
e0ff02b6 b bga_addr 00011cd0 t fg1_tilemap_data
e0ff02b8 b window_addr 00011e1c t bgtest_tileset_data
e0ff02ba b lastTick 000127d2 t bigTex1_animation0_frame0_tileset_data
e0ff02be b cpuFrameLoad 00012a54 t bg1_tileset_data
e0ff02c0 b frameLoadIndex 00012e78 t fg1_tileset_data
e0ff02c2 b frameLoads 00013320 t titleSignSprite_animation0_frame0_tileset_data
e0ff02d2 b vblankCB 00013386 t titleSignSprite_animation0_frame1_tileset_data
e0ff02d6 b flags 0001346e t titleSignSprite_animation0_frame2_tileset_data
e0ff02d8 b screenHeight 00013568 t titleSignSprite_animation0_frame3_tileset_data
e0ff02da b screenWidth 0001365c t titleSignSprite_animation0_frame4_tileset_data
e0ff02dc b maps_addr 00013778 t titleSignSprite_animation0_frame5_tileset_data
e0ff02de b slist_addr 000137dc t titleSignSprite_animation1_frame0_tileset_data
e0ff02e0 b vdpSpriteCache 000138b2 t titleSignSprite_animation1_frame1_tileset_data
e0ff05e0 b spriteVramSize 0001395a t titleSignSprite_animation1_frame2_tileset_data
e0ff05e4 b vram 00013a2c t titleSignSprite_animation1_frame3_tileset_data
e0ff05f0 b lastSprite 00013ae6 t titleSignSprite_animation1_frame4_tileset_data
e0ff05f4 b firstSprite 00013baa t titleSignSprite_animation1_frame5_tileset_data
e0ff05f8 b spritesPool 00013c5c t titleSignSprite_animation2_frame0_tileset_data
e0ff05fc b fadeCounter 00013cf2 t titleSignSprite_animation2_frame1_tileset_data
e0ff05fe b heap 00013d76 t titleSignSprite_animation2_frame2_tileset_data
e0ff0602 b free.lto_priv.0 00013df0 t titleSignSprite_animation2_frame3_tileset_data
e0ff0606 b randomSeedSet 00013e54 t titleSignSprite_animation2_frame4_tileset_data
e0ff0608 b joyEventCB 00013ebc t titleSignSprite_animation2_frame5_tileset_data
e0ff060c b retry 00013f58 A _stext
e0ff060d b phase.lto_priv.1 e0ff0000 d ind
e0ff0610 b regValues e0ff0004 D task_sr
e0ff0623 b gun e0ff0006 D task_pc
e0ff0624 b extSet e0ff000a D task_regs
e0ff0626 b disableIntStack e0ff0046 D task_lock
e0ff0628 b joyAxisY e0ff0048 D _edata
e0ff0638 b joyAxisX e0ff0048 B _start
e0ff0648 b joyState e0ff0048 B bmp_buffer_write
e0ff0658 b joyType e0ff004c B VBlankProcess
e0ff0660 b portSupport e0ff004e B hintCaller
e0ff0662 b portType e0ff0054 B vintCB
e0ff0664 b gport e0ff0058 B intCB
e0ff0666 b flag e0ff005c B vtimer
e0ff0668 b maxTransferPerFrame e0ff0060 B eintCB
e0ff066a b queueSize e0ff0064 B intLevelSave
e0ff066c b nextDataBuffer e0ff0066 B intTrace
e0ff0670 b queueTransferSize e0ff0068 B dmaQueues
e0ff0672 b queueIndexLimit e0ff006c b state
e0ff0674 b queueIndex e0ff006e b start_pressed
e0ff0676 b dmaDataBuffer e0ff006f b start_press_ready
e0ff067a b dataBufferSize e0ff0070 b tile_scroll_array
e0ff067c b phase.lto_priv.0 e0ff00a8 b scrollFrameDelayHalved
e0ff067e B _bend e0ff00ac b scrollFrameDelay
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 e1000000 A __stack

View File

@@ -7,5 +7,6 @@ extern const Image bgtest;
extern const SpriteDefinition bigTex1; extern const SpriteDefinition bigTex1;
extern const Image bg1; extern const Image bg1;
extern const Image fg1; extern const Image fg1;
extern const SpriteDefinition titleSignSprite;
#endif // _RES_RESOURCES_H_ #endif // _RES_RESOURCES_H_

View File

@@ -2,3 +2,4 @@ IMAGE bgtest "background1.png" BEST ALL
SPRITE bigTex1 "Sprites\BTW-1.png" 8 8 FAST SPRITE bigTex1 "Sprites\BTW-1.png" 8 8 FAST
IMAGE bg1 "btwade_bg1_1.png" BEST ALL IMAGE bg1 "btwade_bg1_1.png" BEST ALL
IMAGE fg1 "btwade_bg2_1.png" BEST ALL IMAGE fg1 "btwade_bg2_1.png" BEST ALL
SPRITE titleSignSprite "BTW-TitleSign-merged.png" 4 4 FAST

View File

@@ -1,161 +1,31 @@
#include <genesis.h> #include <genesis.h>
#include <resources.h> #include <resources.h>
#include "title_screen.h"
char debugString[80];
char* buttonString;
char* clearString = " ";
Sprite* player;
int player_x;
int player_y;
bool player_hflip;
int scrollFrameDelay = 0;
int scrollFrameDelayHalved = 0;
s16 tile_scroll_array [28] = {
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0
};
void myJoyHandler( u16 joy, u16 changed, u16 state)
{
strcpy(debugString, "");
if (joy == JOY_1)
{
if (JOY_getJoypadType(JOY_1) == JOY_TYPE_PAD6 )
{
buttonString = "6 Button Connected";
}
else if (JOY_getJoypadType(JOY_1) == JOY_TYPE_PAD3)
{
buttonString = "3 Button Connected";
}
else
{
buttonString = "Controller Not Found";
}
if (state & BUTTON_START)
{
strcat(debugString, " Start ");
}
if (state & BUTTON_A)
{
strcat(debugString, " A ");
}
if (state & BUTTON_B)
{
strcat(debugString, " B ");
}
if (state & BUTTON_C)
{
strcat(debugString, " C ");
}
if(state & BUTTON_X){
strcat(debugString, " X ");
}
if(state & BUTTON_Y){
strcat(debugString, " Y ");
}
if(state & BUTTON_Z){
strcat(debugString, " Z ");
}
if(state & BUTTON_DOWN){
player_y += 1;
}
if(state & BUTTON_UP){
player_y -= 1;
}
if(state & BUTTON_LEFT){
player_x -= 1;
player_hflip = false;
}
if(state & BUTTON_RIGHT){
player_x += 1;
player_hflip = true;
}
if ((strlen(debugString) == 0)){
strcpy(debugString, "None");
}
}
}
static void handleInputs(){
u16 value = JOY_readJoypad(JOY_1);
if (value & BUTTON_RIGHT){
player_x += 1;
player_hflip = true;
}
if (value & BUTTON_LEFT){
player_x -= 1;
player_hflip = false;
}
if (value & BUTTON_UP){
player_y -= 1;
}
if (value & BUTTON_DOWN){
player_y += 1;
}
}
int main(bool hard) int main(bool hard)
{ {
player_x = 50;
player_y = 50;
JOY_init(); JOY_init();
//JOY_setEventHandler( &myJoyHandler); //JOY_setEventHandler( &myJoyHandler);
u16 ind = TILE_USER_INDEX;
SPR_init();
PAL_setPalette(PAL0, bg1.palette->data, DMA);
PAL_setPalette(PAL1,fg1.palette->data,DMA);
PAL_setPalette(PAL2, bigTex1.palette->data, DMA);
player = SPR_addSprite(&bigTex1, 0,0, TILE_ATTR(PAL2,false,false,false));
VDP_drawImageEx(BG_B, &bg1,TILE_ATTR_FULL(PAL0, false, false, false, ind), 0, -4, false, true);
ind += bg1.tileset->numTile;
VDP_drawImageEx(BG_A, &fg1,TILE_ATTR_FULL(PAL1, false, false, false, ind), 0, -4, false, true);
ind += fg1.tileset->numTile;
VDP_setScrollingMode(HSCROLL_TILE,VSCROLL_PLANE);
init_title_screen();
while(TRUE) while(TRUE)
{ {
handleInputs();
//VDP_drawImageEx(BG_B, &bg1,TILE_ATTR_FULL(PAL0, false, false, false, ind), 0, 0, false, true); //VDP_drawImageEx(BG_B, &bg1,TILE_ATTR_FULL(PAL0, false, false, false, ind), 0, 0, false, true);
SPR_setPosition(player, player_x,player_y);
SPR_setHFlip(player, player_hflip); update_title_screen();
SPR_update();
draw_title_screen();
// read input // read input
// move sprite // move sprite
@@ -163,45 +33,6 @@ int main(bool hard)
// draw current screen (logo, start screen, settings, game, gameover, credits...) // draw current screen (logo, start screen, settings, game, gameover, credits...)
if (scrollFrameDelay > 1){
scrollFrameDelay = 0;
if (scrollFrameDelayHalved >1){
//0.25 scroll speed
tile_scroll_array[15] -=1;
tile_scroll_array[16] -=1;
tile_scroll_array[17] -=1;
tile_scroll_array[18] -=1;
tile_scroll_array[19] -=1;
//reset this timer
scrollFrameDelayHalved = 0;
}
// 0.5 scroll speed
tile_scroll_array[20] -=1;
// effectively 1.5 scroll speed.
tile_scroll_array[22] -=1;
// 2.5
tile_scroll_array[25] -=1;
scrollFrameDelayHalved ++;
}
tile_scroll_array[21] -=1;
tile_scroll_array[22] -=1; //1.5
tile_scroll_array[23] -=2;
tile_scroll_array[24] -=2;
tile_scroll_array[25] -=2; // 2.5
tile_scroll_array[26] -=3;
tile_scroll_array[27] -=3;
VDP_setHorizontalScrollTile(BG_A, 0, tile_scroll_array, 28, DMA_QUEUE);
scrollFrameDelay ++;
// wait for screen refresh and do all SGDK VBlank tasks // wait for screen refresh and do all SGDK VBlank tasks

194
src/title_screen.c Normal file
View File

@@ -0,0 +1,194 @@
#include <genesis.h>
#include <resources.h>
#include "title_screen.h"
u16 ind = TILE_USER_INDEX;
//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] = {
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0
};
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, 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;
VDP_drawImageEx(BG_A, &fg1,TILE_ATTR_FULL(PAL1, false, false, false, ind), 0, -4, false, true);
ind += fg1.tileset->numTile;
VDP_setScrollingMode(HSCROLL_TILE,VSCROLL_PLANE);
}
static void handleInputs(){
u16 value = JOY_readJoypad(JOY_1);
if (value & BUTTON_RIGHT){
player_x += 1;
player_hflip = true;
}
if (value & BUTTON_LEFT){
player_x -= 1;
player_hflip = false;
}
if (value & BUTTON_UP){
player_y -= 1;
}
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;
tile_scroll_array[16] -=1;
tile_scroll_array[17] -=1;
tile_scroll_array[18] -=1;
tile_scroll_array[19] -=1;
//reset this timer
scrollFrameDelayHalved = 0;
}
// 0.5 scroll speed
tile_scroll_array[20] -=1;
// effectively 1.5 scroll speed.
tile_scroll_array[22] -=1;
// 2.5
tile_scroll_array[25] -=1;
scrollFrameDelayHalved ++;
}
tile_scroll_array[21] -=1;
tile_scroll_array[22] -=1; //1.5
tile_scroll_array[23] -=2;
tile_scroll_array[24] -=2;
tile_scroll_array[25] -=2; // 2.5
tile_scroll_array[26] -=3;
tile_scroll_array[27] -=3;
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(){
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();
}