Skip to content

Commit

Permalink
3DS: Remove 3dstool dependency
Browse files Browse the repository at this point in the history
This patch alters the way the .cia is build. It removes the need for 3dstool.

Instead of first generating a .romfs file using 3dstool, let makerom generate the romfs while building the .cia.

(cherry picked from commit 3cef5fa)
  • Loading branch information
MrHuu authored and bgK committed Nov 7, 2019
1 parent f89ecdc commit 3558a70
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 8 deletions.
9 changes: 2 additions & 7 deletions backends/platform/3ds/3ds.mk
Expand Up @@ -24,7 +24,6 @@ clean_3ds:
$(RM) $(TARGET).smdh
$(RM) $(TARGET).3dsx
$(RM) $(TARGET).bnr
$(RM) $(TARGET).romfs
$(RM) $(TARGET).cia
$(RM) -rf romfs
$(RM) -rf dist_3ds
Expand Down Expand Up @@ -58,12 +57,8 @@ $(TARGET).bnr: $(APP_BANNER_IMAGE) $(APP_BANNER_AUDIO)
@bannertool makebanner -o $@ -i $(APP_BANNER_IMAGE) -a $(APP_BANNER_AUDIO)
@echo built ... $(notdir $@)

$(TARGET).romfs: romfs
@3dstool -cvtf romfs $(TARGET).romfs --romfs-dir romfs
@echo built ... $(notdir $@)

$(TARGET).cia: $(EXECUTABLE) $(APP_RSF) $(TARGET).smdh $(TARGET).bnr $(TARGET).romfs
@makerom -f cia -target t -exefslogo -o $@ -elf $(EXECUTABLE) -rsf $(APP_RSF) -banner $(TARGET).bnr -icon $(TARGET).smdh -romfs $(TARGET).romfs
$(TARGET).cia: $(EXECUTABLE) $(APP_RSF) $(TARGET).smdh $(TARGET).bnr romfs
@makerom -f cia -target t -exefslogo -o $@ -elf $(EXECUTABLE) -rsf $(APP_RSF) -banner $(TARGET).bnr -icon $(TARGET).smdh -DAPP_ROMFS=romfs/
@echo built ... $(notdir $@)

dist_3ds: $(TARGET).cia $(TARGET).3dsx $(DIST_FILES_DOCS)
Expand Down
2 changes: 1 addition & 1 deletion backends/platform/3ds/README.md
Expand Up @@ -235,7 +235,7 @@ Additionally compile to specific formats to be used on the 3DS:
Assuming everything was successful, you'll be able to find the binary
files in the root of your scummvm folder.

Note: for the CIA format, you will need the '3dstool', 'makerom' and 'bannertool' tools which are
Note: for the CIA format, you will need the 'makerom' and 'bannertool' tools which are
not supplied with devkitPro.

4.3) Warning for build sizes
Expand Down
4 changes: 4 additions & 0 deletions backends/platform/3ds/app/scummvm.rsf
Expand Up @@ -7,6 +7,10 @@ TitleInfo:
Category : Application
UniqueId : 0xFF321

RomFs:
# Specifies the root path of the read only file system to include in the ROM.
RootPath : $(APP_ROMFS)

Option:
UseOnSD : true # true if App is to be installed to SD
FreeProductCode : true # Removes limitations on ProductCode
Expand Down

0 comments on commit 3558a70

Please sign in to comment.