ROM Hack [Tutorial] Edit the HomeMenu

  • Thread starter Thread starter Asia81
  • Start date Start date
  • Views Views 189,834
  • Replies Replies 1,195
  • Likes Likes 62
I really wnt the same color.
What color code did you use?
And how did you changge the color of the button?
Can't find where the color is stored
Light Purple: DE A3 E8
Medium Purple: 54 3B 73
Dark Purple: 2B 1B 33

Sleep:
Background IN: 46 46 46
Background Glow: 3C 3C 3C
Background Line: 23 23 2D

Button Font: 32 32 32
Button Base: EB EB EB
I am simply decompressing them with the same name, edit them and recompress them.
Using the attached LZ(de)compressor and just using drag and drop on the batch files.
(The batch files are not meant to support multiple files)
I rewrote them and now they support multple files:
Code:
@echo off
Title LZ11 Compressor
cd /d %~dp0
if [%1]==[] goto error
CLS
echo LZ Compressionlog [%date:~0%] > LZ.log
echo ============================== >> LZ.log
:compress
for %%F in (%*) do (
   Title LZ11 Compressor [%%~nxF]
   LZ -c lz11 %%F %%~nF.lz
   cls
   if exist "%%~nF.lz" (
   del %%F
   move %%~nF.lz %%F
   echo [%time:~0,8%] %%~nxF compressed! >> LZ.log
   ) else (
   echo [%time:~0,8%] %%~nxF couldn't be compressed >> LZ.log
   )
   cls
)
echo [%time:~0,8%] Finished >> LZ.log
echo ============================== >> LZ.log
goto end
:error
echo Please drag your file here
pause
:end
Code:
@echo off
Title LZ11 Decompressor
cd /d %~dp0
if [%1]==[] goto error
CLS
echo LZ Compressionlog [%date:~0%] > LZ.log
echo ============================== >> LZ.log
:compress
for %%F in (%*) do (
   Title LZ11 Compressor [%%~nxF]
   LZ -d %%F %%~nF.lz
   cls
   if exist "%%~nF.lz" (
   del %%F
   move %%~nF.lz %%F
   echo [%time:~0,8%] %%~nxF decompressed! >> LZ.log
   ) else (
   echo [%time:~0,8%] %%~nxF couldn't be decompressed >> LZ.log
   )
   cls
)
echo [%time:~0,8%] Finished >> LZ.log
echo ============================== >> LZ.log
goto end
:error
echo Please drag your file here
pause
:end
Instead of printing everything to the window it will create a LZ.log file in which you can see if everything worked correctly.
The cmd window would just be filled to death otherwise.
 
Last edited by TheDeKay,
Maybe parts of the files are also copyrighted content.
Well. I don't think they can copyright a bunch of strings. Plus he would only provide his heavily manipulated versions.
And just from those you can't build a cia. You need the default menu and rebuild it with the patched LZ files to get a cia.
Which he wouldn't provide. So the patch files by itself are "worthless".

Or you would upload it on that iso site.
 
Humm for some reason I can't manage to edit the "internet" buttons color, I can find the colors in hud_LZ.bin but edting them results in nothing. :unsure:
I hope they aren't hardcoded in the code.
 
Light Purple: DE A3 E8
Medium Purple: 54 3B 73
Dark Purple: 2B 1B 33

Sleep:
Background IN: 46 46 46
Background Glow: 3C 3C 3C
Background Line: 23 23 2D

Button Font: 32 32 32
Button Base: EB EB EB

I rewrote them and now they support multple files:
Code:
@echo off
Title LZ11 Compressor
cd /d %~dp0
if [%1]==[] goto error
CLS
echo LZ Compressionlog [%date:~0%] > LZ.log
echo ============================== >> LZ.log
:compress
for %%F in (%*) do (
   Title LZ11 Compressor [%%~nxF]
   LZ -c lz11 %%F %%~nxF.tmp
   cls
   if exist "%%~nxF.tmp" (
   del %%F
   move %%~nxF.tmp %%F
   echo [%time:~0,8%] %%~nxF compressed! >> LZ.log
   ) else (
   echo [%time:~0,8%] %%~nxF couldn't be compressed >> LZ.log
   )
   cls
)
echo [%time:~0,8%] Finished >> LZ.log
echo ============================== >> LZ.log
goto end
:error
echo Please drag your file here
pause
:end
Code:
@echo off
Title LZ11 Decompressor
cd /d %~dp0
cd ..
if [%1]==[] goto error
CLS
echo LZ Compressionlog [%date:~0%] > LZ.log
echo ============================== >> LZ.log
:compress
for %%F in (%*) do (
   Title LZ11 Compressor [%%~nxF]
   LZ -d %%F %%~nxF.tmp
   cls
   if exist "%%~nxF.tmp" (
   del %%F
   move %%~nxF.tmp %%F
   echo [%time:~0,8%] %%~nxF decompressed! >> LZ.log
   ) else (
   echo [%time:~0,8%] %%~nxF couldn't be decompressed >> LZ.log
   )
   cls
)
echo [%time:~0,8%] Finished >> LZ.log
echo ============================== >> LZ.log
goto end
:error
echo Please drag your file here
pause
:end
Instead of printing everything to the window it will create a LZ.log file in which you can see if everything worked correctly.
The cmd window would just be filled to death otherwise.
Would it be more easy to combine the two scripts into a single bat file?
 
Would it be more easy to combine the two scripts into a single bat file?
Well you obviously could. But then there is 2 options.
Drag files on there and then choose compressing or decompressing.
OR drag files on there it decompresses them, then pauses and lets you do your edits and then you press a key so you break the pause and it will recompress them all again.
If combining I'd go with the second option. But I think having them in 2 files makes it faster to use. All preference I guess.

You could also write one big script and integrate everything.
As drop your cia on the batch which will then extract ExeFS and RomFS and automaticly decompress all files.
Then it pauses so it gives you time to do your edits. And after you are done you press a Key and it will recompress all files and then build a cia.
And then you could also make it autocopy it into the D9GAME Folder of your SD card if you want to be that crazy.

Or you request inputs.

But it would be a waste of time to decompress and recompress all files, because you just edit some of them.
 
  • Like
Reactions: Zan'
Well you obviously could. But then there is 2 options.
Drag files on there and then choose compressing or decompressing.
OR drag files on there it decompresses them, then pauses and lets you do your edits and then you press a key so you break the pause and it will recompress them all again.
If combining I'd go with the second option. But I think having them in 2 files makes it faster to use. All preference I guess.

You could also write one big script and integrate everything.
As drop your cia on the batch which will then extract ExeFS and RomFS and automaticly decompress all files.
Then it pauses so it gives you time to do your edits. And after you are done you press a Key and it will recompress all files and then build a cia.
And then you could also make it autocopy it into the D9GAME Folder of your SD card if you want to be that crazy.

Or you request inputs.

But it would be a waste of time to decompress and recompress all files, because you just edit some of them.
Gonna look into it but maybe a goto start at the end of the script
 
I managed to change a layer location :

1462050315-hni-0009.jpg


Still trying to change internet's button color...
 
I managed to change a layer location :

1462050315-hni-0009.jpg


Still trying to change internet's button color...
I did that earlier as well. The structure is pretty much the same on these things.
But I start to believe the Internet thing is a graphic. I couldn't find it either.
 
  • Like
Reactions: Zan'
You could also write one big script and integrate everything.
As drop your cia on the batch which will then extract ExeFS and RomFS and automaticly decompress all files.
Then it pauses so it gives you time to do your edits. And after you are done you press a Key and it will recompress all files and then build a cia.
And then you could also make it autocopy it into the D9GAME Folder of your SD card if you want to be that crazy.
Good idea, but it would be like a v2 of the first pack but copying into the D9GAME folder would be a small issue, since that not all sd cards have the same drive letter
 
Last edited by Ordim3n,
  • Like
Reactions: Zan'
I did that earlier as well. The structure is pretty much the same on these things.
But I start to believe the Internet thing is a graphic. I couldn't find it either.

Well the color is not in a bclim file, so either it's hardcoded, or it's simply elsewhere.
 
  • Like
Reactions: TheDeKay
maybe doing something simple as starting the batch file in a folder with all the compressed files needed to be decompressed and then pause, and when all of the edits are done, press any button for recompressing the files (Something like the second option)
 
Last edited by Ordim3n,
How do you guys change the colors? I opened the bin file with a hex editor but what next?
 
Well you obviously could. But then there is 2 options.
Drag files on there and then choose compressing or decompressing.
OR drag files on there it decompresses them, then pauses and lets you do your edits and then you press a key so you break the pause and it will recompress them all again.
If combining I'd go with the second option. But I think having them in 2 files makes it faster to use. All preference I guess.

You could also write one big script and integrate everything.
As drop your cia on the batch which will then extract ExeFS and RomFS and automaticly decompress all files.
Then it pauses so it gives you time to do your edits. And after you are done you press a Key and it will recompress all files and then build a cia.
And then you could also make it autocopy it into the D9GAME Folder of your SD card if you want to be that crazy.

Or you request inputs.

But it would be a waste of time to decompress and recompress all files, because you just edit some of them.
Is something like that good?
Code:
@echo off
echo Welcome to the combined LZ11 compressor/decompressor by Ordim3n (Original scripts by TheDeKay from gbatemp)
set /p choice=Do you want to skip to the Compressor[Y/N]:
if %choice% equ Y goto compress
if %choice% equ y goto compress
Title LZ11 Decompressor
cd /d %~dp0
cd ..
if [%1]==[] goto error
CLS
echo LZ Compressionlog [%date:~0%] > LZ.log
echo ============================== >> LZ.log
:compress
for %%F in (%*) do (
   Title LZ11 Compressor [%%~nxF]
   LZ -d %%F %%~nF.lz
   cls
   if exist "%%~nF.lz" (
   del %%F
   move %%~nF.lz %%F
   echo [%time:~0,8%] %%~nxF decompressed! >> LZ.log
   ) else (
   echo [%time:~0,8%] %%~nxF couldn't be decompressed >> LZ.log
   )
   cls
)
echo [%time:~0,8%] Finished >> LZ.log
echo ============================== >> LZ.log
goto end
:error
echo Please drag your file here
pause
:end
pause
:compressor
Title LZ11 Compressor
cd /d %~dp0
if [%1]==[] goto error
CLS
echo LZ Compressionlog [%date:~0%] > LZ.log
echo ============================== >> LZ.log
:compress
for %%F in (%*) do (
   Title LZ11 Compressor [%%~nxF]
   LZ -c lz11 %%F %%~nF.lz
   cls
   if exist "%%~nF.lz" (
   del %%F
   move %%~nF.lz %%F
   echo [%time:~0,8%] %%~nxF compressed! >> LZ.log
   ) else (
   echo [%time:~0,8%] %%~nxF couldn't be compressed >> LZ.log
   )
   cls
)
echo [%time:~0,8%] Finished >> LZ.log
echo ============================== >> LZ.log
goto end
:error
echo Please drag your file here
pause
:end
btw, i haven't tested it yet
 
Last edited by Ordim3n,
maybe doing something simple as starting the batch file in a folder with all the compressed files needed to be decompressed and then pause, and when all of the edits are done, press any button for recompressing the files (Something like the second option)
Easy to do. Take the code @TheDeKay wrote and start with the compression then put
Code:
Echo Do your edits now. Press any key to recompress.
Pause>nul
Followed by the compression code.
And instead of
for %%F in (%*) do
use
for %%F in (*.bin) do

And remove the
If [%1]==[] goto error
At the beginning.

This will decompress all files in the folder of the batch and then pause and recompress.
 

Site & Scene News

Popular threads in this forum