Skip to content

Commit 7b2c91d

Browse files
committed
+ create_pkg
1 parent 35667ae commit 7b2c91d

File tree

110 files changed

+1093
-402
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+1093
-402
lines changed

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
build/
2-
tests/*/*.bin
3-
tests/*/*.pkg
4-
tests/*/*.gp4
5-
tests/*/sce_sys/*.sfo
2+
**.bin
3+
**.pkg
4+
**.gp4
5+
**.sfo
66
.*
77
!.github
88
!.vscode

CMakeLists.txt

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,6 @@ include(ExternalProject)
1010

1111
project(integration_tests_super NONE)
1212

13-
# # Get toolchain before project
14-
if(NOT DEFINED ENV{OO_PS4_TOOLCHAIN})
15-
message(STATUS "Downloading openOrbis")
16-
FetchContent_Declare(
17-
openorbis
18-
URL https://github.com/ps4emulation/OpenOrbis-PS4-Toolchain/releases/download/0.5.4-2/v0.5.4-2.tar.gz
19-
URL_HASH SHA256=85cc12f388d06268873401ad80b42e2a059468063156180491c60821c0ff6568 # optional, hash of zip
20-
)
21-
FetchContent_MakeAvailable(openorbis)
22-
23-
set(OO_PS4_TOOLCHAIN ${openorbis_SOURCE_DIR}/PS4Toolchain)
24-
else()
25-
STRING(REGEX REPLACE "\\\\" "/" OO_PS4_TOOLCHAIN "$ENV{OO_PS4_TOOLCHAIN}")
26-
endif()
27-
2813
# # project
2914
ExternalProject_Add(
3015
integration_tests

OpenOrbis-tc.cmake

Lines changed: 114 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,17 @@ if(NOT DEFINED ENV{OO_PS4_TOOLCHAIN})
22
if(DEFINED OO_PS4_TOOLCHAIN)
33
set(ENV{OO_PS4_TOOLCHAIN} ${OO_PS4_TOOLCHAIN})
44
else()
5-
message(FATAL_ERROR "Missing OpenOrbis toolchain environment variable!")
5+
# # Get toolchain before project
6+
message(STATUS "Downloading openOrbis")
7+
FetchContent_Declare(
8+
openorbis
9+
URL https://github.com/ps4emulation/OpenOrbis-PS4-Toolchain/releases/download/0.5.4-2/v0.5.4-2.tar.gz
10+
URL_HASH SHA256=85cc12f388d06268873401ad80b42e2a059468063156180491c60821c0ff6568 # optional, hash of zip
11+
)
12+
FetchContent_MakeAvailable(openorbis)
13+
14+
set(OO_PS4_TOOLCHAIN ${openorbis_SOURCE_DIR}/PS4Toolchain)
15+
set(ENV{OO_PS4_TOOLCHAIN} ${OO_PS4_TOOLCHAIN})
616
endif()
717
endif()
818

@@ -36,21 +46,21 @@ else()
3646
endif()
3747

3848
function(OpenOrbisPackage_PreProject)
39-
if(TARGET ${PKG_TITLE_ID})
40-
message(FATAL_ERROR "Test name collision detected: ${PKG_TITLE_ID}.")
41-
endif()
49+
if(TARGET ${PKG_TITLE_ID})
50+
message(FATAL_ERROR "Test name collision detected: ${PKG_TITLE_ID}.")
51+
endif()
4252
endfunction()
4353

44-
function(OpenOrbisPackage_PostProject)
45-
set_target_properties(${PKG_TITLE_ID} PROPERTIES OUTPUT_NAME "eboot" SUFFIX ".elf" PREFIX "")
54+
function(OpenOrbisPackage_PostProject path_bin)
55+
set_target_properties(${PKG_TITLE_ID} PROPERTIES OUTPUT_NAME "eboot" SUFFIX ".elf" PREFIX "")
4656

47-
if(CMAKE_HOST_WIN32)
48-
set(ORBIS_BIN_PATH ${OO_PS4_TOOLCHAIN}/bin/windows)
49-
elseif(CMAKE_HOST_LINUX)
50-
set(ORBIS_BIN_PATH ${OO_PS4_TOOLCHAIN}/bin/linux)
51-
else()
52-
message(FATAL_ERROR "Unsupported OS")
53-
endif()
57+
if(CMAKE_HOST_WIN32)
58+
set(ORBIS_BIN_PATH ${OO_PS4_TOOLCHAIN}/bin/windows)
59+
elseif(CMAKE_HOST_LINUX)
60+
set(ORBIS_BIN_PATH ${OO_PS4_TOOLCHAIN}/bin/linux)
61+
else()
62+
message(FATAL_ERROR "Unsupported OS")
63+
endif()
5464

5565
if(OO_PS4_NOPKG)
5666
set(PKG_SHOULDBUILD "nopkg")
@@ -60,15 +70,41 @@ function(OpenOrbisPackage_PostProject)
6070

6171
math(EXPR OO_FWVER "${PKG_SYSVER} * 65536")
6272

63-
# Create eboot.bin from generated elf file
64-
add_custom_command(TARGET ${PKG_TITLE_ID} POST_BUILD COMMAND
65-
${CMAKE_COMMAND} -E env "OO_PS4_TOOLCHAIN=${OO_PS4_TOOLCHAIN}"
66-
${ORBIS_BIN_PATH}/create-fself -in "${CMAKE_CURRENT_BINARY_DIR}/eboot.elf"
67-
--out "${CMAKE_CURRENT_BINARY_DIR}/eboot.oelf" --eboot "${CMAKE_CURRENT_SOURCE_DIR}/eboot.bin" --paid 0x3800000000000011 --sdkver "${PKG_SYSVER}" --fwversion "${OO_FWVER}"
68-
)
69-
70-
# Create param.sfo and pkg file
71-
if(CMAKE_HOST_WIN32)
73+
# Create eboot.bin from generated elf file
74+
add_custom_command(TARGET ${PKG_TITLE_ID} POST_BUILD COMMAND
75+
${CMAKE_COMMAND} -E env "OO_PS4_TOOLCHAIN=${OO_PS4_TOOLCHAIN}"
76+
${ORBIS_BIN_PATH}/create-fself -in ${path_eboot} "${path_bin}/eboot.elf"
77+
--out "${path_bin}/eboot.oelf" --eboot "${path_bin}/eboot.bin" --paid 0x3800000000000011 --sdkver "${PKG_SYSVER}" --fwversion "${OO_FWVER}"
78+
)
79+
get_filename_component(CURRENT_FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
80+
set(install_dir "${CMAKE_INSTALL_PREFIX}/${CURRENT_FOLDER_NAME}/${PKG_TITLE_ID}")
81+
82+
# install
83+
install(FILES ${path_bin}/eboot.bin
84+
DESTINATION "${install_dir}"
85+
)
86+
87+
install(DIRECTORY
88+
${CMAKE_SOURCE_DIR}/app_data/sce_sys
89+
DESTINATION "${install_dir}"
90+
)
91+
92+
install(DIRECTORY
93+
${CMAKE_SOURCE_DIR}/app_data/sce_module
94+
DESTINATION "${install_dir}"
95+
)
96+
97+
install(DIRECTORY
98+
${CMAKE_CURRENT_SOURCE_DIR}/assets
99+
DESTINATION "${install_dir}"
100+
)
101+
102+
install(FILES ${path_bin}/param.sfo
103+
DESTINATION "${install_dir}/sce_sys"
104+
)
105+
106+
# Create param.sfo
107+
if(CMAKE_HOST_WIN32)
72108
string(REPLACE "^" "^^" ESCAPED_PKG_TITLE "${PKG_TITLE}")
73109
string(REPLACE "&" "^&" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
74110
string(REPLACE "|" "^|" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
@@ -84,22 +120,33 @@ function(OpenOrbisPackage_PostProject)
84120
string(REPLACE "\n" "^n" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
85121
string(REPLACE " " "^ " ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
86122

87-
add_custom_command(TARGET ${PKG_TITLE_ID} POST_BUILD
88-
COMMAND ${CMAKE_COMMAND} -E env "OO_PS4_TOOLCHAIN=${OO_PS4_TOOLCHAIN}"
89-
cmd /c ${INTEST_SOURCE_ROOT}/package.bat
90-
"${ESCAPED_PKG_TITLE}"
91-
"${PKG_VERSION}"
92-
"${PKG_TITLE_ID}"
93-
"${PKG_CONTENT_ID}"
94-
"${PKG_DOWNLOADSIZE}"
95-
"${PKG_SYSVER}"
96-
"${PKG_ATTRIBS1}"
97-
"${PKG_ATTRIBS2}"
98-
"${PKG_SHOULDBUILD}"
99-
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
100-
COMMENT "Running package.bat..."
101-
)
102-
elseif(CMAKE_HOST_LINUX)
123+
add_custom_command(TARGET ${PKG_TITLE_ID} POST_BUILD
124+
COMMAND ${CMAKE_COMMAND} -E env "OO_PS4_TOOLCHAIN=${OO_PS4_TOOLCHAIN}"
125+
cmd /c ${INTEST_SOURCE_ROOT}/patch_param.bat
126+
"${ESCAPED_PKG_TITLE}"
127+
"${PKG_VERSION}"
128+
"${PKG_TITLE_ID}"
129+
"${PKG_CONTENT_ID}"
130+
"${PKG_DOWNLOADSIZE}"
131+
"${PKG_SYSVER}"
132+
"${PKG_ATTRIBS1}"
133+
"${PKG_ATTRIBS2}"
134+
"${PKG_SHOULDBUILD}"
135+
WORKING_DIRECTORY "${path_bin}"
136+
COMMENT "Patching param.sfo..."
137+
)
138+
139+
if(NOT OO_PS4_NOPKG)
140+
# create pkg
141+
install(CODE "
142+
execute_process(
143+
COMMAND \"${INTEST_SOURCE_ROOT}/package.bat\" \"${PKG_CONTENT_ID}\" \"${OO_PS4_TOOLCHAIN}\"
144+
WORKING_DIRECTORY \"${install_dir}\"
145+
)
146+
message(STATUS \"Creating GP4 file\")
147+
")
148+
endif()
149+
elseif(CMAKE_HOST_LINUX)
103150
string(REPLACE "\t" "\\t" ESCAPED_PKG_TITLE "${PKG_TITLE}")
104151
string(REPLACE "\"" "\\\"" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
105152
string(REPLACE "'" "\\'" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
@@ -124,48 +171,33 @@ function(OpenOrbisPackage_PostProject)
124171
string(REPLACE "~" "\\~" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
125172
string(REPLACE "\n" "\\n" ESCAPED_PKG_TITLE "${ESCAPED_PKG_TITLE}")
126173

127-
add_custom_command(TARGET ${PKG_TITLE_ID} POST_BUILD
128-
COMMAND ${CMAKE_COMMAND} -E env "OO_PS4_TOOLCHAIN=${OO_PS4_TOOLCHAIN}"
129-
"${INTEST_SOURCE_ROOT}/package.sh"
130-
"${ESCAPED_PKG_TITLE}"
131-
"${PKG_VERSION}"
132-
"${PKG_TITLE_ID}"
133-
"${PKG_CONTENT_ID}"
134-
"${PKG_DOWNLOADSIZE}"
135-
"${PKG_SYSVER}"
136-
"${PKG_ATTRIBS1}"
137-
"${PKG_ATTRIBS2}"
138-
"${PKG_SHOULDBUILD}"
139-
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
140-
COMMENT "Running package.sh..."
141-
)
142-
else()
143-
message(FATAL_ERROR "Unsupported OS")
144-
endif()
145-
146-
get_filename_component(CURRENT_FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
147-
148-
if(NOT OO_PS4_NOPKG)
149-
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_CONTENT_ID}.pkg
150-
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CURRENT_FOLDER_NAME})
151-
endif()
152-
153-
# install
154-
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/eboot.bin
155-
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CURRENT_FOLDER_NAME})
156-
157-
install(DIRECTORY
158-
${CMAKE_CURRENT_SOURCE_DIR}/sce_sys
159-
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CURRENT_FOLDER_NAME}
160-
)
161-
162-
install(DIRECTORY
163-
${CMAKE_CURRENT_SOURCE_DIR}/sce_module
164-
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CURRENT_FOLDER_NAME}
165-
)
166-
167-
install(DIRECTORY
168-
${CMAKE_CURRENT_SOURCE_DIR}/assets
169-
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CURRENT_FOLDER_NAME}
170-
)
174+
add_custom_command(TARGET ${PKG_TITLE_ID} POST_BUILD
175+
COMMAND ${CMAKE_COMMAND} -E env "OO_PS4_TOOLCHAIN=${OO_PS4_TOOLCHAIN}"
176+
"${INTEST_SOURCE_ROOT}/patch_param.sh"
177+
"${ESCAPED_PKG_TITLE}"
178+
"${PKG_VERSION}"
179+
"${PKG_TITLE_ID}"
180+
"${PKG_CONTENT_ID}"
181+
"${PKG_DOWNLOADSIZE}"
182+
"${PKG_SYSVER}"
183+
"${PKG_ATTRIBS1}"
184+
"${PKG_ATTRIBS2}"
185+
"${PKG_SHOULDBUILD}"
186+
WORKING_DIRECTORY "${path_bin}"
187+
COMMENT "Patching param.sfo..."
188+
)
189+
190+
if(NOT OO_PS4_NOPKG)
191+
# create pkg
192+
install(CODE "
193+
execute_process(
194+
COMMAND \"${INTEST_SOURCE_ROOT}/package.sh\" \"${PKG_CONTENT_ID}\" \"${OO_PS4_TOOLCHAIN}\"
195+
WORKING_DIRECTORY \"${install_dir}\"
196+
)
197+
message(STATUS \"Creating GP4 file\")
198+
")
199+
endif()
200+
else()
201+
message(FATAL_ERROR "Unsupported OS")
202+
endif()
171203
endfunction()

package.bat

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,4 @@
1-
@echo off
2-
SETLOCAL EnableDelayedExpansion
3-
4-
if "%OO_PS4_TOOLCHAIN%"=="" (
5-
echo "Toolchain is not set"
6-
exit /b 1
7-
)
8-
9-
Rem Package information
10-
set PKG_TITLE=%1
11-
set PKG_VERSION=%2
12-
set PKG_TITLE_ID=%3
13-
set PKG_CONTENT_ID=%4
14-
set PKG_DOWNLOADSIZE=%5
15-
set PKG_SYSVER=%6
16-
set PKG_ATTRIBS1=%7
17-
set PKG_ATTRIBS2=%8
18-
set PKG_SHOULDBUILD=%9
19-
20-
Rem Create param.sfo
21-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_new sce_sys/param.sfo
22-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo APP_TYPE --type Integer --maxsize 4 --value 1
23-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo APP_VER --type Utf8 --maxsize 8 --value %PKG_VERSION%
24-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo ATTRIBUTE --type Integer --maxsize 4 --value %PKG_ATTRIBS1%
25-
if NOT "%PKG_ATTRIBS2%"=="0" %OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo ATTRIBUTE2 --type Integer --maxsize 4 --value %PKG_ATTRIBS2%
26-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo CATEGORY --type Utf8 --maxsize 4 --value "gd"
27-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo CONTENT_ID --type Utf8 --maxsize 48 --value %PKG_CONTENT_ID%
28-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo DOWNLOAD_DATA_SIZE --type Integer --maxsize 4 --value %PKG_DOWNLOADSIZE%
29-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo SYSTEM_VER --type Integer --maxsize 4 --value %PKG_SYSVER%
30-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo TITLE --type Utf8 --maxsize 128 --value %PKG_TITLE%
31-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo TITLE_ID --type Utf8 --maxsize 12 --value %PKG_TITLE_ID%
32-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry sce_sys/param.sfo VERSION --type Utf8 --maxsize 8 --value %PKG_VERSION%
33-
34-
if "%PKG_SHOULDBUILD%"=="nopkg" exit /b 0
1+
set PKG_CONTENT_ID=%1
352

363
Rem Get a list of assets for packaging
374
set module_files=
@@ -56,4 +23,4 @@ Rem Create gp4
5623
%OO_PS4_TOOLCHAIN%\bin\windows\create-gp4.exe -out pkg.gp4 --content-id=%PKG_CONTENT_ID% --files "eboot.bin sce_sys/about/right.sprx sce_sys/param.sfo sce_sys/icon0.png %module_files% %asset_audio_files% %asset_fonts_files% %asset_images_files% %asset_misc_files% %asset_videos_files%"
5724

5825
Rem Create pkg
59-
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe pkg_build pkg.gp4 .
26+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe pkg_build pkg.gp4 .

package.sh

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,5 @@
1-
#!/bin/bash
2-
3-
if [[ "$OO_PS4_TOOLCHAIN" == "" ]]; then
4-
echo "No OO_PS4_TOOLCHAIN is set";
5-
exit 1;
6-
fi
7-
8-
PKG_TITLE="$1"
9-
PKG_VERSION="$2"
10-
PKG_TITLE_ID="$3"
11-
PKG_CONTENT_ID="$4"
12-
PKG_DOWNLOADSIZE="$5"
13-
PKG_SYSVER="$6"
14-
PKG_ATTRIBS1="$7"
15-
PKG_ATTRIBS2="$8"
16-
PKG_SHOULDBUILD="$9"
17-
18-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_new sce_sys/param.sfo
19-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo APP_TYPE --type Integer --maxsize 4 --value 1
20-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo APP_VER --type Utf8 --maxsize 8 --value "$PKG_VERSION"
21-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo ATTRIBUTE --type Integer --maxsize 4 --value $PKG_ATTRIBS1
22-
if [[ "$PKG_ATTRIBS2" != "0" ]]; then
23-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo ATTRIBUTE2 --type Integer --maxsize 4 --value $PKG_ATTRIBS2
24-
fi
25-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo CATEGORY --type Utf8 --maxsize 4 --value "gd"
26-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo CONTENT_ID --type Utf8 --maxsize 48 --value "$PKG_CONTENT_ID"
27-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo DOWNLOAD_DATA_SIZE --type Integer --maxsize 4 --value $PKG_DOWNLOADSIZE
28-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo SYSTEM_VER --type Integer --maxsize 4 --value $PKG_SYSVER
29-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo TITLE --type Utf8 --maxsize 128 --value "$PKG_TITLE"
30-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo TITLE_ID --type Utf8 --maxsize 12 --value "$PKG_TITLE_ID"
31-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core sfo_setentry sce_sys/param.sfo VERSION --type Utf8 --maxsize 8 --value "$PKG_VERSION"
32-
33-
if [[ "$PKG_SHOULDBUILD" == "nopkg" ]]; then
34-
exit 0;
35-
fi
1+
PKG_CONTENT_ID="$1"
2+
OO_PS4_TOOLCHAIN="$2"
363

374
FILES=$(find assets/ -type f -printf '%p ')
385
FILES="$FILES$(find sce_module/ -type f -name '*.prx' -printf '%p ')"
@@ -41,4 +8,4 @@ FILES="$FILES$(find sce_module/ -type f -name '*.prx' -printf '%p ')"
418
$OO_PS4_TOOLCHAIN/bin/linux/create-gp4 -out pkg.gp4 --content-id="$PKG_CONTENT_ID" --files "eboot.bin sce_sys/about/right.sprx sce_sys/param.sfo sce_sys/icon0.png $FILES"
429

4310
# Create pkg
44-
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core pkg_build pkg.gp4 .
11+
$OO_PS4_TOOLCHAIN/bin/linux/PkgTool.Core pkg_build pkg.gp4 .

patch_param.bat

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@echo off
2+
SETLOCAL EnableDelayedExpansion
3+
4+
if "%OO_PS4_TOOLCHAIN%"=="" (
5+
echo "Toolchain is not set"
6+
exit /b 1
7+
)
8+
9+
Rem Package information
10+
set PKG_TITLE=%1
11+
set PKG_VERSION=%2
12+
set PKG_TITLE_ID=%3
13+
set PKG_CONTENT_ID=%4
14+
set PKG_DOWNLOADSIZE=%5
15+
set PKG_SYSVER=%6
16+
set PKG_ATTRIBS1=%7
17+
set PKG_ATTRIBS2=%8
18+
set PKG_SHOULDBUILD=%9
19+
20+
Rem Create param.sfo
21+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_new param.sfo
22+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo APP_TYPE --type Integer --maxsize 4 --value 1
23+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo APP_VER --type Utf8 --maxsize 8 --value %PKG_VERSION%
24+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo ATTRIBUTE --type Integer --maxsize 4 --value %PKG_ATTRIBS1%
25+
if NOT "%PKG_ATTRIBS2%"=="0" %OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo ATTRIBUTE2 --type Integer --maxsize 4 --value %PKG_ATTRIBS2%
26+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo CATEGORY --type Utf8 --maxsize 4 --value "gd"
27+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo CONTENT_ID --type Utf8 --maxsize 48 --value %PKG_CONTENT_ID%
28+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo DOWNLOAD_DATA_SIZE --type Integer --maxsize 4 --value %PKG_DOWNLOADSIZE%
29+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo SYSTEM_VER --type Integer --maxsize 4 --value %PKG_SYSVER%
30+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo TITLE --type Utf8 --maxsize 128 --value %PKG_TITLE%
31+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo TITLE_ID --type Utf8 --maxsize 12 --value %PKG_TITLE_ID%
32+
%OO_PS4_TOOLCHAIN%\bin\windows\PkgTool.Core.exe sfo_setentry param.sfo VERSION --type Utf8 --maxsize 8 --value %PKG_VERSION%

0 commit comments

Comments
 (0)