Skip to content

Commit 059b782

Browse files
committed
chore(*): release 1.2.0
1 parent a348a38 commit 059b782

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

changelog.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,55 @@ found in [readme.md](readme.md#versioning).
66

77
---
88

9+
## v1.2.0
10+
11+
Update 1.2 introduces a host of new features, mostly for the VM, to support modding frameworks like Ikarus and LeGo.
12+
There are also many bugfixes, which mostly address issues with games files provided by mods. Notably, there is one
13+
small breaking change which only affects users who have been manually passing `include_polygons` to `mesh::parse()` ,
14+
as described below.
15+
16+
### Breaking Changes
17+
* [33f6f6da] For performance reasons, `mesh::parse()` now takes a vector of ints instead of an `unordered_set`. Thanks, @Try!
18+
19+
### Features
20+
* [69f1df07] You can now call script functions manually, pushing values onto the stack as required, by using
21+
`vm::unsafe_call()`. This addition was made for compatibility with the [C interface](https://github.com/GothicKit/phoenix-shared-interface).
22+
* [637b8888] You can now register a custom default external function for manually handling the stack. This addition was
23+
made for compatibility with the [C interface](https://github.com/GothicKit/phoenix-shared-interface).
24+
* [78a1c828] Added a new implementation of the VFS in the form of `Vfs`. This will fully replace the old `vdf_file`
25+
implementation in *phoenix 2.0*.
26+
* [5230465d] Meshes can now be parsed without passing `include_polygons`.
27+
* [bbec4cc1,f46144fa] Added named constants for Gothic 1/2 specific enum values in `npc_type`.
28+
* [e481bcae] The VM now supports overriding functions in a way which will not push a call stack frame ("naked functions"). Thanks, @Try!
29+
* [e481bcae] The VM can now report accesses of specific symbols by calling a registered callback. This is required for
30+
supporting the Ikarus modding framework as well as debugging support. Thanks, @Try!
31+
* [13c929b6] Daedalus function parameters for externals can now be explicitly passed using a new `func` type,
32+
instead of a plain `int`.
33+
* [a348a389] The VM now supports two new instance types, `opaque_instance` and `transient_instance`, which can be used
34+
to support modding frameworks like Ikarus. Thanks, @Try!
35+
36+
### Bugfixes
37+
* [2c2a099c] `vm::call_function()` now properly compiles when building a shared library.
38+
* [b4af7ed0] The `camera_trajectory` enum now contains the correct enum value for `camera_trajectory::object`.
39+
* [fee2dd16] Added support for semicolons in model script source files.
40+
* [ed37464c] The buffer now no longer segfaults when loading empty files.
41+
* [68714dfa] When reading a line at EOF, the buffer no longer throws an exception, but rather returns the empty string.
42+
* [356647d8] `light_preset` and `light` VObs now correctly support greyscale color transitions.
43+
* [3fe0f7be] Parsing of model scripts now features improved compatibility for modded installations.
44+
* [0e7e507d] For compatibility with mods, values of Daedalus string symbols are now parsed using a special algorithm
45+
to avoid data corruption.
46+
* [9e8458ed,7e447c3e,bcb47c1b] The Vfs now correctly handles trailing whitespace in node names.
47+
48+
### Misc
49+
* [4ac598e8] `texture`s can now be copied and moved.
50+
* [1d6a3b7a] `script`s can now be copied and moved.
51+
* [19ab9ac2] Buffer exception constructors are now public.
52+
* [d6566d5d,bee00d13] VM stack traces are now printed using the logger.
53+
* [3b6825b7] The element count of `c_item::{text, count}` has been extracted as a constant. Thanks, @JucanAndreiDaniel!
54+
55+
### Deprecations
56+
* [78a1c828] Deprecated the old VFS implementation in `vdfs.hh`.
57+
958
## v1.1.1
1059

1160
This update again brings many bugfixes and smaller improvements in addition to updates to the documentation.

0 commit comments

Comments
 (0)