Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Changelog v0.5.0 #1531

Merged
merged 1 commit into from
Oct 3, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 148 additions & 0 deletions doc/changelogs/engine/v0.5.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# [0.5.0] - 2023-10-03
All notable changes for version [0.5.0] are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) since release [0.4.0].

## Added
- New converter to create nyan modpacks
- Support conversion for all game releases:
- Age of Empires 1 (1997)
- Age of Empires 1: Definitive Edition
- Age of Empires 2 (1999)
- Age of Empires 2: HD Edition
- Age of Empires 2: Definitive Edition
- Star Wars Galactic Battlegrounds
- *Age of Empires 2 (Trial Version)* for demoing the engine
- Support for AoE1:DE and AoE2:DE graphic assets formats and documentation
- SLP v4.2 (converter)
- SMP
- SMX
- SLD
- Pattern files for decoding AoE graphic assets with imHex
- SLP
- SLD
- openage internal media formats documentation
- modpack definition
- sprite files (for animations)
- texture files (for spritesheet textures)
- palette files (for palette tables)
- terrain files (for terrain graphics)
- blendmask files (for terrain blending)
- blendtable files (for terrain blending)
- Instructions for using vscode IDE
- New engine subsystem implementations
- Presenter
- Input System
- Game Simulation
- Demos for showcasing new engine subsystems
- 5 new renderer demos
- 1 new presenter demo
- 1 new input system demo
- 2 new game simulation demos
- CI build status badges in README
- New dependencies
- toml11 (C++)
- include-what-you-use (CMake, optional)
- lz4 (Python)
- mako (Python)
- toml (Python)
- Type hints for Python code
- NixOS packaging
- Python log messages support lazy evaluation of strings
- Add Ubuntu to optional CI build pipeline
- Progress bar for converter media conversion
- Integrate new renderer subsystem
- Parsers for openage media formats
- Game entity rendering
- Terrain rendering (in 3D!)
- Camera
- Simulation clock
- New event-driven game simulation
- Simulation with event system
- generic game entities for objects in the game
- components for game entity attributes
- Idle
- Live
- Move
- Turn
- Activity
- CommandQueue
- Ownership
- Position
- systems for game logic
- idle
- move
- activity implementation for game entity control flow
- simulation event handlers
- spawn entity
- process command
- send command
- wait
- New input management
- low level input handling from Qt
- high-level controllers for processing inputs
- game simulation controller
- camera controller
- Coordinate system improvements
- new `scene` coordinate type for usage in renderer
- nyan API interface
- Documentation overhaul
- Documentation for new subsystems
- renderer
- GUI
- game simulation
- input system
- time management
- more guides
- running the engine
- optimizing code

## Changed

- Mark old game simulation implementation to legacy
- Update macOS build instructions
- Update dependencies
- Python >=3.9
- Cython >=0.29.32
- gcc >= 10
- clang >=10
- qt6 >= 6.2
- Use Github Actions v3
Copy link
Contributor

@simonsan simonsan Sep 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Use Github Actions v3
- Use Github actions/checkout v4

Should probably bump it directly to v4 before ;)

https://github.com/actions/checkout/tree/v4

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved this to #1550 :)

- Exported PNG files are created in-memory
- Replace `unlikely`/`likely` macros with C++20 attributes `[[unlikely]]`/`[[likely]]`
- Integrate new renderer subsystem
- Use presenter as main interface for graphical display
- GUI code using Qt6 and new renderer
- Coordinate system improvements
- deprecate unused coordinate types
- CoordManager (replaced by camera class)
- camgame_delta (replaced by camera class)
- camgame (replaced by camera class)
- deprecated forbidden coordinate transformations
- Update architecture documentation to reflect new engine architecture

## Removed

- Game simulation code generation from game data (replaced by nyan modpacks)
- Remove unusued dependencies
- jinja2
- pyreadline
- Integrate new renderer subsystem
- Remove dependencies to SDL2 in renderer
- Remove Qt->SDL keybinding transformation from input system
- Obsolete documentation
- milestones
- pathfinding

## Fixed

- macOS build on ARM architecture
- Python version detection for Python>=3.10
- Replace Python `distutils` with something that isn't deprecated
- Compatibility with Cython 3.0
- Fix a lot of horrible typos as usual

## Full commit log

https://github.com/SFTtech/openage/compare/v0.4.1...v0.5.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2023-09-07 04_42_09-Comparing v0 4 1 master · SFTtech_openage — Mozilla Firefox

:D

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Next one won't be as huge 😆

Loading