Skip to content

Commit 8864a55

Browse files
committed
Added libntfs support and changed the progress format
- added libntfs support via (https://github.com/Maschell/libntfs-wiiu). When dumping to a ntfs device creating the hash will be disabled because of crashes. - updated dynamic libs (and added them as a submodule) - added logging
1 parent 17fa15e commit 8864a55

File tree

11 files changed

+759
-52
lines changed

11 files changed

+759
-52
lines changed

.gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*.o
2+
*.elf
3+
*.d
4+
build/.map
5+
payload/*
6+
arm_kernel/arm_kernel.bin
7+
arm_kernel/arm_kernel_bin.h
8+
arm_user/arm_user.bin
9+
arm_user/arm_user_bin.h
10+
odmhook/odmhook.bin
11+
odmhook/odmhook_bin.h
12+
wupserver/wupserver.bin
13+
wupserver/wupserver_bin.h

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "src/dynamic_libs"]
2+
path = src/dynamic_libs
3+
url = https://github.com/Maschell/dynamic_libs

Makefile

+10-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ SOURCES := src \
3636
src/fs \
3737
src/system \
3838
src/utils \
39-
src/polarssl
39+
src/polarssl \
40+
src/utils
4041
DATA :=
4142

4243
INCLUDES := src include payload
@@ -45,9 +46,9 @@ INCLUDES := src include payload
4546
# options for code generation
4647
#---------------------------------------------------------------------------------
4748
CFLAGS := -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
48-
-O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
49+
-D__wiiu__ -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing -D_GNU_SOURCE $(INCLUDE)
4950
CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
50-
-O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
51+
-D__wiiu__ -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing -D_GNU_SOURCE $(INCLUDE)
5152
ASFLAGS := -mregnames
5253
LDFLAGS := -nostartfiles -Wl,-Map,$(notdir $@).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,malloc_usable_size,-wrap,_malloc_r,-wrap,_free_r,-wrap,_realloc_r,-wrap,_calloc_r,-wrap,_memalign_r,-wrap,_malloc_usable_size_r,-wrap,valloc,-wrap,_valloc_r,-wrap,_pvalloc_r,--gc-sections
5354

@@ -57,14 +58,15 @@ MAKEFLAGS += --no-print-directory
5758
#---------------------------------------------------------------------------------
5859
# any extra libraries we wish to link with the project
5960
#---------------------------------------------------------------------------------
60-
LIBS := -lfat -liosuhax
61+
LIBS := -lm -lgcc -lfat -lntfs -liosuhax
6162

6263
#---------------------------------------------------------------------------------
6364
# list of directories containing libraries, this must be the top level containing
6465
# include and lib
6566
#---------------------------------------------------------------------------------
6667
LIBDIRS := $(CURDIR) \
67-
$(DEVKITPPC)/lib
68+
$(DEVKITPPC)/lib \
69+
$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2
6870

6971
#---------------------------------------------------------------------------------
7072
# no real need to edit anything past this point unless you need to add additional
@@ -105,14 +107,15 @@ export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
105107
#---------------------------------------------------------------------------------
106108
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
107109
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
110+
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2 \
108111
-I$(CURDIR)/$(BUILD) -I$(LIBOGC_INC) \
109-
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2
112+
110113

111114
#---------------------------------------------------------------------------------
112115
# build a list of library paths
113116
#---------------------------------------------------------------------------------
114117
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
115-
-L$(LIBOGC_LIB) -L$(PORTLIBS)/lib
118+
-L$(PORTLIBS)/lib
116119

117120
export OUTPUT := $(CURDIR)/$(TARGET)
118121
.PHONY: $(BUILD) clean install

README.md

+16-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
# wudump
22
dump raw images from a wiiu game disc
33
# Usage
4-
Download and run the .elf from homebrew launcher with a fat32 sd card/usb device inserted that has at least 23.3gb free.
5-
The files will be dumped in 2gb parts, you will have to merge them yourself afterwards if you need the full game.wud.
4+
Download and run the .elf from homebrew launcher with a fat32 sd card/usb device or NTFS usb device inserted that has at least 23.3gb free.
5+
On fat32 devices the files will be dumped in 2gb parts, you will have to merge them yourself afterwards if you need the full game.wud. On NTFS devices it will be dumped into a single file.
6+
67
A full dump can take a little over one and a half hours.
7-
After it has been dumped the wud parts, common.key and game.key will be in a "wudump" folder on your sd card/usb device, to get the full game.wud you will have to merge them.
8+
After it has been dumped the wud, common.key and game.key will be in a "wudump" folder on your sd card/usb device.
9+
10+
## Merging the wud parts on FAT32 devices.
11+
This step is not needed, when the file was dumped to a ntfs device.
12+
13+
To get the full game.wud with FAT32 devices you will have to merge them.
814
If you are on windows you can use something like this for example to merge them into a game.wud on a "wudump" folder on your C drive from a cmd in the sd/usb folder:
915
```
1016
copy /b game_part1.wud + game_part2.wud + game_part3.wud + game_part4.wud + game_part5.wud + game_part6.wud + game_part7.wud + game_part8.wud + game_part9.wud + game_part10.wud + game_part11.wud + game_part12.wud C:\wudump\game.wud
1117
```
1218

19+
## wud2app
1320
If you would just like to install your game using wupinstaller then grab wud2app:
1421
https://github.com/FIX94/wud2app/releases
1522
If you dont want to merge all .wud files you can put wud2app into a folder on your pc and run it from a cmd with the wudump folder path as argument, for example if the sd/usb folder happens to be in "P:\wudump\WUP-P-TEST" on windows you can just run wud2app like:
@@ -23,3 +30,9 @@ wud2app common.key game.key game.wud
2330
Make sure to copy the common.key and game.key into that folder as well if you use that method.
2431

2532
The folder it creates can just be installed by wupinstaller.
33+
34+
# Build
35+
For building you need:
36+
- [libfat](https://github.com/aliaspider/libfat/)
37+
- [libiosuhax](https://github.com/dimok789/libiosuhax) (Build WITHOUT the WUT flag set.)
38+
- [libntfs](https://github.com/Maschell/libntfs-wiiu) (Build with make wiiu-install)

include/stdint.h

-15
This file was deleted.

src/dynamic_libs

Submodule dynamic_libs added at 451c406

0 commit comments

Comments
 (0)