ContentCooking
관련 소스 파일
Cooking 하기 전 주의사항
관련 ini 설정
[Core.System]
SeekFreePCPaths=..\..\UTGame\CookedPC
SeekFreePCExtensions=xxx // 이 녀석은 PC의 경우엔 관계없다. Console의 cooked packages의 확장자명으로 사용됨.
AlwaysCook Package 설정
ContentCooking시 빠지지 말아야 할 패키지들을 지정해두면 된다.
주로 초기 화면을 구성하는 레벨 패키지가 지정된다.
“Package= “는 반드시 map이 지정되어야 한다.
Cooking되길 희망하는 user created map을 지정해줘도 된다.
[Engine.PackagesToAlwaysCook]
+Package=EnvyEntry
+Package=UTFrontEnd
+Package=ExteelFrontEnd
+Package=MM-TrapFactory_Edit_3 // 내가 추가한 map
Startup Packages
초기 부트 중 오브젝트가 필요하거나 반드시 메모리에 있어야 할 패키지 지정.
예를 들어, ExteelFrontEnd 맵에서 IntroScene을 표시할 때 Exteel2_UI 패키지가 필요하다.
이 때 아래 두 가지 작업이 필요하다.
IntroScene은 부팅 초기에 필요한 패키지이므로 StartupPackages에 포함되어야 한다.
ExteelFrontEnd 맵에 반드시 필요한 패키지이므로 PackagesToForceCookPerMap에 반드시 map-package로 지정되어야 한다.
이 작업을 거치지 않은 채 cooking 하면 ExteelFrontEnd 맵에서 아무 UI가 작동하지 않게 된다.
+Package=FX_HitEffects
+Package=UI_Fonts
+Package=UI_Fonts_Final
+Package=Exteel2_UI // 이 패키지를 startup 패키지로 지정.
[Engine.PackagesToForceCookPerMap]
.Map=UTFrontEnd // 먼저 map 지정
.Map=ExteelFrontEnd
.Package=UI_Scenes_Mutators // 그 뒤에 cooking될 package 지정
.Package=UI_FrontEnd_Art
...
...
.Package=UI_Skins
+Package=Exteel2_UI // for ExteelFrontEnd
ContentCooking comandline argument 설정
UDN에는 FrontEnd 툴을 이용한 방법도 소개되어 있지만, 우선 커맨드라인으로 다음과 같이 작성한다.
다른 argument 설정과 마찬가지로 실행 파일명 뒤에 다음 arguments들을 붙여준다.
CookPages -platform=PC -full -languageforcooking=INT -cookallmaps
Cooked Content로 실행하기
UDN에 따르면, PC 버전은 Uncooked / Cooked / Mixed 형태로 바이너리 실행이 가능하다고 한다.
Cooked Content로 바이너리를 실행하고 싶다면, 실행시 다음 argument를 뒤에 붙여주면 된다.
간략한 테스트 결과
테스트 환경
오우 엄청난 시간 차이가 발생한다.