Skip to content

Commit

Permalink
project: prepare release v1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
lmichaelis committed Oct 9, 2022
1 parent e409e3f commit e5f46de
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 10 deletions.
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.10)
include(CheckIncludeFiles)
project(phoenix)
project(phoenix VERSION 1.0.0)

set(CMAKE_CXX_STANDARD 17)
set(PHOENIX_LOG_LEVEL 3 CACHE STRING "The logging level to use for phoenix. Set to 4, 3, 2, or 1 for DEBUG, INFO, WARN or ERROR respectively")
Expand Down Expand Up @@ -119,7 +119,8 @@ set_target_properties(phoenix
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
VERSION ${PROJECT_VERSION})

# when building tests, create a test executable and load it into CTest
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
Expand Down
19 changes: 19 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# changelog

This file contains all changes made to _phoenix_ in reverse order, meaning the newest change is listed first. This
file is updated whenever a new version of _phoenix_ is released. More information about how versioning works can be
found in [readme.md](readme.md#versioning).

---

## v1.0.0 – Initial release

After about a year of development, _phoenix_ released version `1.0.0` in October 2022. After replacing
[Try/ZenLib](https://github.com/Try/ZenLib) which was forked from [ataulien/ZenLib](https://github.com/ataulien/ZenLib)
in the _Gothic_ engine re-implementation [OpenGothic](https://github.com/Try/OpenGothic) and a bit more than 500
commits, _phoenix_ has finally reached a point at which I would consider it to be stable enough to make a full release.

Thanks to everyone who helped test the implementation in [OpenGothic#271](https://github.com/Try/OpenGothic/pull/271).
I want to especially thank [@Try](https://github.com/Try) for allowing me to integrate into
[OpenGothic](https://github.com/Try/OpenGothic)! It really helped motivate me to keep working on _phoenix_ and to make
it better!
32 changes: 24 additions & 8 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@
![License](https://img.shields.io/github/license/lmichaelis/phoenix?label=License&color=important)
![C++](https://img.shields.io/static/v1?label=C%2B%2B&message=17&color=informational)
![Platforms](https://img.shields.io/static/v1?label=Supports&message=GCC%20|%20Clang%20|%20MSVC%20|%20Apple%20Clang&color=blueviolet)
![Version](https://img.shields.io/github/v/tag/lmichaelis/phoenix?label=Version&sort=semver)

**🐲 This repository is currently frozen in preparation for _phoenix'_ 1.0 release. Only bugs and incorrect behavior
will be addressed until then. Expect this freeze to last
until [OpenGothic#271](https://github.com/Try/OpenGothic/pull/271)
is merged.**
**🐲 Here be dragons! _phoenix_ is still changing a lot and might break your code if you choose to update.
See [versioning](#versioning) for details.**

The _phoenix_ project aims to re-implement file formats used by the _ZenGin_ made
by [Piranha Bytes](https://www.piranha-bytes.com/)
Expand All @@ -23,8 +22,9 @@ _phoenix_ includes **parsers and basic datastructures** for most file formats us
type-safe **VM for _Daedalus_ scripts** and supporting infrastructure like _Gothic II_ class definitions. Tools for
inspecting and converting _ZenGin_ files can be found in [phoenix studio](https://github.com/lmichaelis/phoenix-studio).

## contributing
If you'd like to contribute, please read [contributing](contributing.md) first.
To get started, take a look in the [📖 Wiki](https://github.com/lmichaelis/phoenix/wiki). Don't hesitate to open a
discussion thread over in [Discussions](https://github.com/lmichaelis/phoenix/discussions) if you have a question or
need help. Please open an issue for any bug you encounter!

## supported file formats
Currently, the following file formats are supported.
Expand All @@ -47,7 +47,12 @@ Currently, the following file formats are supported.
| Model Script Binary | `.MSB` | Contains model animation script data and associated hierarchy and mesh information (binary form) | `model_script` |
| Virtual Disk | `.VDF` | Contains a directory structure containing multiple files; similar to [tar](https://en.wikipedia.org/wiki/Tar_(computing)). | `vdf_file` |

## contributing

If you'd like to contribute, please read [contributing](contributing.md) first.

## building

_phoenix_ is currently only tested on Linux and while Windows _should_ be supported you might run into issues. If so,
feel free to create an issue or open a merge request. You will need

Expand Down Expand Up @@ -234,10 +239,21 @@ int main(int, char**) {
```

For more examples on how to use _phoenix_, take a look into the
[`examples`](https://github.com/lmichaelis/phoenix/tree/main/examples) and
[`tools`](https://github.com/lmichaelis/phoenix/tree/main/tools) directories. A working example of using the VM can be
[`examples`](https://github.com/lmichaelis/phoenix/tree/main/examples) directory and
[`phoenix-studio`](https://github.com/lmichaelis/phoenix-studio) repository. A working example of using the VM can be
found in [`examples/run_interpreter.cc`](https://github.com/lmichaelis/phoenix/blob/main/examples/run_interpreter.cc).

## versioning

_phoenix_ uses [semantic versioning](https://semver.org/). Before updating _phoenix_ in your application, make sure
that you are aware of potential breaking changes to the API. A detailed log of changes can be found in
[changelog.md](changelog.md) as well as the releases section of the GitHub repository page.

The `main` branch is used for _phoenix_ development and contains potentially breaking changes without any kind of
warning. Each minor version of _phoenix_ will get its own branch (e.g. `v1.0`). Within these branches API stability is
guaranteed and patches will be merged into them as required. Patches will be backported to the last minor as well (i.e.
if `v1.3.4` is a bugfix-release, its contents will be backported to `v1.2.*` but not `v1.1.*` or any previous version).

## licensing

While the source code of _phoenix_ is licensed under the [MIT license](license.md), the
Expand Down

0 comments on commit e5f46de

Please sign in to comment.