diff --git a/.FE7_Installer.event b/.FE7_Installer.event index 3cd14bcd..5a640ce1 100644 --- a/.FE7_Installer.event +++ b/.FE7_Installer.event @@ -19,6 +19,7 @@ EndOfText: #ifdef VeslyBuildfile +ORG 0x1030000 #include "gfx/Installer.event" MESSAGE Graphics end at currentoffset #endif diff --git a/EventAssembler/none b/EventAssembler/none new file mode 100644 index 00000000..9b9f6720 Binary files /dev/null and b/EventAssembler/none differ diff --git a/MAKE_fe7cache.cmd b/MAKE_animscache.cmd similarity index 86% rename from MAKE_fe7cache.cmd rename to MAKE_animscache.cmd index 25960c75..b6e2e9db 100644 --- a/MAKE_fe7cache.cmd +++ b/MAKE_animscache.cmd @@ -6,11 +6,11 @@ @rem defining buildfile config -set "source_rom=%~dp0fe7.gba" +set "source_rom=%~dp0norom.gba" set "main_event=%~dp0RomBuildfileCache.event" -set "target_rom=%~dp0fe7cache.gba" +set "target_rom=%~dp0anims.dmp" set "target_sym=%~dp0fe7cache.sym" @rem defining tools @@ -38,11 +38,7 @@ echo Assembling cd "%base_dir%EventAssembler" ColorzCore A FE7 "-output:%target_rom%" "-input:%main_event%" --nocash-sym - -echo: -echo Generating sym file - -echo: | ( "%symcombo%" "%target_sym%" "%target_sym%" "fe7.sym" ) +@rem call "MAKE_copyintoanimscache.cmd" noPause echo: echo Done! diff --git a/MAKE_copyintoanimscache.cmd b/MAKE_copyintoanimscache.cmd new file mode 100644 index 00000000..ebf4c969 --- /dev/null +++ b/MAKE_copyintoanimscache.cmd @@ -0,0 +1,31 @@ +@echo off +:: Paths +set INPUT_FILE=anims.dmp +set OUTPUT_FILE=animscache.dmp +set OFFSET=0x1030000 + +copy "%INPUT_FILE%" "%OUTPUT_FILE%" + +:: Convert OFFSET from hex to decimal +for /f "tokens=1 delims=" %%i in ('powershell -command "[convert]::ToInt64('%OFFSET%',16)"') do set DEC_OFFSET=%%i + +:: Set an optimized block size (e.g., 1/16th of a MB = 65536 bytes) +set BLOCK_SIZE=65536 + +:: Calculate the number of blocks to skip +set /a SKIP_BLOCKS=%DEC_OFFSET% / %BLOCK_SIZE% + +echo Truncating %OUTPUT_FILE% to start at offset %OFFSET% (decimal: %DEC_OFFSET%), using block size %BLOCK_SIZE%... + +:: Use dd with larger block size +dd if=%OUTPUT_FILE% of=tmp_%OUTPUT_FILE% bs=%BLOCK_SIZE% skip=%SKIP_BLOCKS% + +if %ERRORLEVEL%==0 ( + echo Truncation successful. Replacing original file... + move /y tmp_%OUTPUT_FILE% %OUTPUT_FILE% + echo %OUTPUT_FILE% has been updated. +) else ( + echo Truncation failed. + del tmp_%OUTPUT_FILE% +) +pause diff --git a/MAKE_fe7.cmd b/MAKE_fe7.cmd index 6b7af6c6..6f24422b 100644 --- a/MAKE_fe7.cmd +++ b/MAKE_fe7.cmd @@ -6,7 +6,7 @@ @rem defining buildfile config -set "source_rom=%~dp0fe7cache.gba" +set "source_rom=%~dp0fe7.gba" set "main_event=%~dp0RomBuildfile.event" diff --git a/RomBuildfileCache.event b/RomBuildfileCache.event index 926984aa..a5d422ea 100644 --- a/RomBuildfileCache.event +++ b/RomBuildfileCache.event @@ -19,6 +19,7 @@ #define MAKE_CACHE_ROM #ifdef VeslyBuildfile ORG CURRENTOFFSET + 0x30000 // 0.2mb for text + // ORG 0 #include "gfx/Anims/Installer.event" #endif @@ -29,8 +30,8 @@ -ALIGN 32 -WORD 0 0 0 0 0 0 0 0 +// ALIGN 32 +// WORD 0 0 0 0 0 0 0 0 diff --git a/anims.dmp b/anims.dmp new file mode 100644 index 00000000..eb8329b5 Binary files /dev/null and b/anims.dmp differ diff --git a/animscache.dmp b/animscache.dmp new file mode 100644 index 00000000..c88970af Binary files /dev/null and b/animscache.dmp differ diff --git a/gfx/Anims/Installer.event b/gfx/Anims/Installer.event index 432c0b5f..654e0981 100644 --- a/gfx/Anims/Installer.event +++ b/gfx/Anims/Installer.event @@ -2,16 +2,64 @@ // #define MAKE_CACHE_ROM -MESSAGE CURRENTOFFSET + MESSAGE "Installing Animations" +ALIGN 0x10000 +NewAnimTable: +MESSAGE CURRENTOFFSET #ifdef MAKE_CACHE_ROM #include "Internals.event" #include "GeneratedInstaller.event" #else -ORG $600000 + CURRENTOFFSET +// ORG $600000 + CURRENTOFFSET +#incbin "../../animscache.dmp" #endif MESSAGE CURRENTOFFSET +#ifndef MAKE_CACHE_ROM + + +PUSH + +#ifdef _FE6_ +ORG $4B0F8 +POIN NewAnimTable +ORG $4BB4C +POIN NewAnimTable +ORG $4BBD8 +POIN NewAnimTable +ORG $4BD38 +POIN NewAnimTable +#endif + +#ifdef _FE7_ +ORG $541F4 +POIN NewAnimTable +ORG $54AE8 +POIN NewAnimTable +ORG $54B78 +POIN NewAnimTable +ORG $54D00 +POIN NewAnimTable +#endif + +#ifdef _FE8_ +ORG $59BD8 +POIN NewAnimTable +ORG $5A600 +POIN NewAnimTable +ORG $5A694 +POIN NewAnimTable +ORG $5A82C +POIN NewAnimTable +ORG $6F6A8 +POIN NewAnimTable +ORG $70940 +POIN NewAnimTable +ORG $70A60 +POIN NewAnimTable +#endif // fe8 +POP #define WepTypeAnim(Animation, typeID) "{ Label: ; ORG Label + (typeID * 4); BYTE typeID 0x01 ; SHORT Animation; ORG Label; }" @@ -59,4 +107,4 @@ weaponAnimEnd - +#endif diff --git a/gfx/Anims/Internals.event b/gfx/Anims/Internals.event index c74d224f..1d18ca93 100644 --- a/gfx/Anims/Internals.event +++ b/gfx/Anims/Internals.event @@ -5,49 +5,6 @@ #define AnimTableSize 512 -PUSH - -#ifdef _FE6_ -ORG $4B0F8 -POIN NewAnimTable -ORG $4BB4C -POIN NewAnimTable -ORG $4BBD8 -POIN NewAnimTable -ORG $4BD38 -POIN NewAnimTable -#endif - -#ifdef _FE7_ -ORG $541F4 -POIN NewAnimTable -ORG $54AE8 -POIN NewAnimTable -ORG $54B78 -POIN NewAnimTable -ORG $54D00 -POIN NewAnimTable -#endif - -#ifdef _FE8_ -ORG $59BD8 -POIN NewAnimTable -ORG $5A600 -POIN NewAnimTable -ORG $5A694 -POIN NewAnimTable -ORG $5A82C -POIN NewAnimTable -ORG $6F6A8 -POIN NewAnimTable -ORG $70940 -POIN NewAnimTable -ORG $70A60 -POIN NewAnimTable -#endif // fe8 - -POP - #ifdef _FE6_ #define DefaultAnimEntry "BYTE 0x61 0x72 0x6D 0x6D 0x5F 0x73 0x70 0x31 0x00 0x00 0x00 0x00;POIN 0x6A5074 0x6A4D84 0x6A47F4 0x6A424C 0x6A41E8; " #endif // fe6 @@ -65,8 +22,7 @@ POP #define DefAnim512 "DefAnim256 DefAnim256" -ALIGN 4 -NewAnimTable: + DefAnim512 ORG NewAnimTable diff --git a/new_anims.dmp b/new_anims.dmp new file mode 100644 index 00000000..c88970af Binary files /dev/null and b/new_anims.dmp differ