# Changelog

## Version 0.3.0 (2025-10-31)

Built a new set of scripts that can be more easily imported into different setups.
There the standalone scripts, which pretty much work out-of-the-box. 
And there are the advanded scripts, which have a dependency to one or more standalone scripts.

- [NEW] standalone/camara is a flexible camera object that allows different modes of following the player or fixating the screen (adapted from OLC PixelGameEngine).
- [NEW] standalone/geometry provides a few shapes as well as functions for overlapping, containing, and collision resolving (adapted from OLC PixelGameEngine).
- [NEW] standalone/multicolumn_list.py is a small function that computes indices for a list to-be-displayed with multiple columns
- [NEW] standalone/pixel_font provides access to a pixel font, including functions for drawing text.
- [NEW] standalone/scripting contains the ScriptProcessor, the Command interface and a few basic commands.
- [NEW] standalone/spatial provides a SpatialGrid implementation, SpatialHash and QuadTree are possible future extensions
- [NEW] standalone/sprite provides utilities for animated sprites and manages different graphic state types and direction types.
- [NEW] standalone/tiled_map contains everything that is required to import maps from Tiled including a few performance optimizations.
- [NEW] standalone/transformed_view is a renderer that handles offsets and zooming (adapted from OLC PixelGameEngine).
- [NEW] standalone/user_input provides utilities for easy usage of different keyboard and controller mappings
- [NEW] advanded/assets is an extension of the MapManager in the new tiled_map, which adds functions to load different types of assets.
- [NEW] advanced/scene contains a scene manager with different layers, effectively supporting split-screen multiplayer with different views for each player.
- [NEW] advanced/shape is a convenience class for geometry objects and can be used for collision handling.
- [NEW] advanced/shaped_sprite combines shapes with animated sprites, managing different shapes for different animation states.

## Version 0.2.6 (2025-06-25)

- [CHANGE] Optimized touch input positioning

## Version 0.2.5 (2025-06-22)

- [FIX] Repaired save files

## Version 0.2.4 (2025-05-01)

- [FIX] One ways showed weired behavior
- [FIX] The calculation of collision chunks was improved
- [CHANGE] Added another touch control scheme
- [NEW] Touch control systems are now defined in separate classes 

## Version 0.2.3 (2025-01-05)

- [CHANGE] Unified constructor of dynamics and subclasses
- [CHANGE] Unified usage of animated sprites
- [CHANGE] Items will now be created based on Tiled templates
- [CHANGE] Refactored engine and collision now to be part of the core submodule

## Version 0.2.2 (2024-10-27)

- [FIX] Close dialog command uses the wrong flag
- [FIX] ColorGate was not properly initialized

## Version 0.2.1 (2024-10-25)

- [FIX] Fixed touch screen controls (only single player/player 1)

## Version 0.2.0 (2024-10-24)

- [NEW] Multiplayer support
- [CHANGE] Mode engine replaces the scene engine with one extra layer of abstractions
- [NEW] Multiple ways to handle tile collisions depending on layers

## Version 0.1.5 (2024-04-27)

- [NEW] Added knockable flag

## Version 0.1.4 (2024-04-25)

- [NEW] Colors for display dialog can now be changed

## Version 0.1.3 (2024-04-24)

- [FIX] Looping over config flags caused a crash

## Version 0.1.2 (2024-04-24)

- [NEW] Updated runtime config to allow color remaps
- [CHANGE] Enabled a specific file path for the ini file

## Version 0.1.1 (2024-04-22)

- [CHANGE] Made pygame-ce an optional requirement.

## Version 0.1.0 (2024-04-13)

- [NEW] Finished extracting the features from avenight.

## Version 0.0.4 (2023-12-23)

- [NEW] Added scene engine and extended the scene class

## Version 0.0.3 (2023-12-21)

- [NEW] Added dynamics and sprites

## Version 0.0.2 (2023-12-21)

- [NEW] Added support for loading tiled maps

## Version 0.0.1 (2023-12-21)

- [NEW] Added base engine and minimal working example 