Class reference
PCKPacker
Inherits RefCounted
Creates packages that can be loaded into a running project.
Description
The PCKPacker is used to create packages that can be loaded into a running project using ProjectSettings.load_resource_pack().
var packer = PCKPacker.new()
packer.pck_start("test.pck")
packer.add_file("res://text.txt", "text.txt")
packer.flush()
var packer = new PckPacker();
packer.PckStart("test.pck");
packer.AddFile("res://text.txt", "text.txt");
packer.Flush();
The above PCKPacker creates package test.pck, then adds a file named text.txt at the root of the package. Note: PCK is Redot's own pack file format. To create ZIP archives that can be read by any program, use ZIPPacker instead.
Methods
int add_file(String target_path, String source_path, bool encrypt = false)
int add_file(String target_path, String source_path, bool encrypt = false)Adds the source_path file to the current PCK package at the target_path internal path. The res:// prefix for target_path is optional and stripped internally. File content is immediately written to the PCK.
int add_file_removal(String target_path)
int add_file_removal(String target_path)Registers a file removal of the target_path internal path to the PCK. This is mainly used for patches. If the file at this path has been loaded from a previous PCK, it will be removed. The res:// prefix for target_path is optional and stripped internally.
int flush(bool verbose = false)
int flush(bool verbose = false)Writes the file directory and closes the PCK. If verbose is true, a list of files added will be printed to the console for easier debugging. Note: PCKPacker will automatically flush when it's freed, which happens when it goes out of scope or when it gets assigned with null. In C# the reference must be disposed after use, either with the using statement or by calling the Dispose method directly.
int pck_start(String pck_path, int alignment = 32, String key = "0000000000000000000000000000000000000000000000000000000000000000", bool encrypt_directory = false)
int pck_start(String pck_path, int alignment = 32, String key = "0000000000000000000000000000000000000000000000000000000000000000", bool encrypt_directory = false)Creates a new PCK file at the file path pck_path. The .pck file extension isn't added automatically, so it should be part of pck_path (even though it's not required).