[release] v1.3.0 #96
Closed
lmichaelis
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Version 1.3 re-brands "phoenix" as "ZenKit" to avoid confusion with PhoenixTales' Game
of the same name. Basically all APIs have gotten a new look with more appropriate names and a replacement for
phoenix::buffer
has been introduced. The build system has also been changed and requires manual intervention whenupdating to the new version. A migration guide is available at https://zk.gothickit.dev/library/misc/v1.2-to-v1.3/.
Here are the changes not related to the renamed API.
Breaking Changes
The
phoenix
CMake target has been renamed tozenkit
and the following changes have been made in relation to thatchange:
PHOENIX_BUILD_EXAMPLES
toZK_BUILD_EXAMPLES
PHOENIX_BUILD_TESTS
toZK_BUILD_TESTS
PHOENIX_BUILD_SHARED
toZK_BUILD_SHARED
PHOENIX_INSTALL
toZK_ENABLE_INSTALL
PHOENIX_DISABLE_SANIZIZERS
toZK_ENABLE_ASAN
(Danger: The meaning of this variable has been reversed)phoenix::vdf_file
has been fully removed. Migrate tozenkit::Vfs
!phoenix::way_net::waypoint
has been removedphoenix::archive_reader::read_raw_bytes
has been removed in favour ofphoenix::archive_reader::read_raw_bytes(size_t)
phoenix::model_script::parse_binary
has been removed in favour ofphoenix::model_script::parse
phoenix::vobs::camera_lock_mode
has been removed in favour ofphoenix::vobs::sprite_alignment
phoenix::vob::camera_alignment
has been removed in favour ofphoenix::vob::sprite_camera_facing_mode
phoenix::symbol::{get,set}_{string,int,float}
now take a raw pointer as context.phoenix::cs_camera::frames
has been split intotrajectory_frames
andtarget_frames
Other breaking changes:
DaedalusSymbol
now take regular pointers for the context (instead ofshared_ptr
)DaedalusScript::enumerate_instances_by_name
now only enumeratesconst
instancesFeatures
vobs::npc
now have names thanks to a patch by @JucanAndreiDanielc_menu_item_frame::frame_pos{x,y}
andc_menu_item_flags::hor_selectable
in the Daedalus support libraryphoenix::buffer
:zenkit::Read
andzenkit::Write
phoenix::mesh
now comes with a new API for retrieving raw, un-triangulated polygons from the mesh dataDaedalusInstance
bound typesobject references and is capable of parsing objects automatically using the new
ReadArchive::read_object
API.WriteArchive
API for creating ZenGin Archives using ZenKitsave
for various object types, including the VOb-tree. These objects can now beloaded, modified and then saved again using ZenKit only. The objects are:
VirtualObject
and its descendants,CutsceneLibrary
,Font
,Mesh
,ModelHierarchy
,Texture
,Vfs
,MultiResolutionMesh
,ModelMesh
,Model
,World
Write
implemented to write to a given file system pathDaedalusVm
instanceDaedalusVm::print_stack_trace
now reports global state information as wellSaveGame
support drastically. Save games can now be fully parsed and also created usingZenKit
alone.TextureBuilder
for creating new textures from scratchDaedalusSymbol&
as a parameter (instead of just a name)Bugfixes
nullptr
-dereference inVfs::mount_disk
register_default_external
Vfs
DaedalusVm::register_default_external
DaedalusVm
andDaedalusScript
Misc
zk.gothickit.dev, and it has been mirrored to the
Gothic Modding Community (GMC)'s page.
mio
has been dropped and replaced by a custom, simpler memory mapping implementation (zenkit::Mmap
)Mesh
parsing for some Windows systems by up to 15xDeprecations
phoenix
namespace. Migrate to their analogs in thezenkit
namespace instead! Also see the migration guideThis discussion was created from the release [release] v1.3.0.
Beta Was this translation helpful? Give feedback.
All reactions