You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: changelog.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,55 @@ found in [readme.md](readme.md#versioning).
6
6
7
7
---
8
8
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
+
9
58
## v1.1.1
10
59
11
60
This update again brings many bugfixes and smaller improvements in addition to updates to the documentation.
0 commit comments