-
-
Notifications
You must be signed in to change notification settings - Fork 40
/
Copy pathchangelog.engine.txt
168 lines (157 loc) · 11.5 KB
/
changelog.engine.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
0.3.4-dev
- Default audio output format has been changed into float32 to improve the quality and prevent any possible clipping distortions
- Find episodes and single-levels in both user-side and application-side worlds directory
- Added the support for custom WOPL bank files at libADLMIDI synthesizer
- Added the support for custom WOPN bank files at libOPNMIDI synthesizer
- Added the support for the FluidSynth at MixerX library
- Fixed the phone storage recognition on some devices
0.3.3-dev
- Fixed crash on missing player animation sequence
- Added support for Android platform
- Added protection from a too high framespeed which may appear due incorrect v-sync settings in video driver settings
- Fixed incorrect animation setup after height change via user's NPC.txt configs
- Added Data() class into Lua API to store any custom data in game save
- Fixed incorrect utf8 processing of translation data
- Fixed unstable glypth length value in message box with mixed TTF and raster fonts
- Added French translation by NathanBnm
- New icons by Tails608
- Added ability for the proper detection of custom resources on case sensitive file systems
0.3.2
- Fixed incorrect management of custom config files caused missing of them
- Fixed bug of the "move denied" sound on world map
- Added ability to switch playable character from pause menu of world map
- Fixed player and NPC stumbling at the top corner of slopes
0.3.1
- LuaJIT now is working on macOS!
- Using of updated SDL Mixer X
- Fixed the date filenames generation for screenshots and recorded GIF movies
- Repaired TTF fallback support
- Added support for more than one TTF font loaded in one time
- Fixed inability to use hot-placing from the Editor's IPC
- Added support for custom config side animation sequence for BGO, Terrain tiles, Sceneries, Paths and level entrance points
- Improved sizable blocks rendering algorithm: now it supports customizable fixed-size border width (both common and for each side indididually)
- Fixed font manager font ID processing
- Sizable blocks now supports an animated textures
- Fixed message box texture border width support
- Added support for bitblit mask fallback (using default PNG to regenerate the missing mask)
- Added attackArea lua function to playable character which allows players to have melee attacks
- Added an experimental ability to customize in-game resolution by config pack from the engine.ini file
0.3.0
- Fixed some NPC-AI API properties
- Added GIF recorder (working everywhere, by F11 key press)
- Fixed rendering of lua-rendered stuff hidden by message boxes
- Added support of Z-Index for image and text rendering from lua code
- Config pack selection dialog has been reorganized into a scene (that allows using a joystick in it, making screenshots from it and even recording GIFs from it!). It's one of the steps to reducing Qt usage on the engine side. Target is using QCoreApplication only to reduce the size of engine's static build.
- Font manager has been improved and fixed
- Special pause menu for the level testing mode with ability to restart the level!
- Don't close IPC-ran level on restarting
- Added interpreting of "Spawned NPCs" and "Destroyed Blocks" special layers: deactivate all spawned NPCs and turn all "destroyed" blocks into their initial states
- Qt has been removed from dependencies for PGE Engine, for now, PGE Engine has: SDL2 only
- Font Manager was been reworked for direct usage of FreeType library instead of QFont
- Added an ability to skip the long path opening animation by hit of the pause key on the world map
- Accuracy of the path opener has been improved and added support for debugging rendering for it on the world map
- Added a smooth camera following to opening path cells on the world map
- Fixed the blinking of the playable character while it showed on multiple cameras
- Fixed a bug which caused appearance of self in the list of contacted objects which causes very unexpected result
- All frame delay values in all INI files are renamed from "framespeed" and "frame-speed" into "frame-delay". Old values kept as aliases. Except "framespeed" now has 1/65 unit while others have millisecond unit.
- Added an absolute Z-Value redefinition for BGOs in the INI configuration
- Custom item INI files no more requiring to have the section declaration at begin
- Fixed troubles related to HighDPI screens support: mouse cursor accuracy and rendering (worst case was reproduced on macOS with Retina screen)
- Use a subfolder of default screenshot folder on macOS operating systems
- Added support for true multi-layering backgrounds
0.2.6
- Improved testing of the renderers supports to avoid accidental running of the unsupported renderer
- Added software renderer support for video cards which do not support OpenGL
- Added ability to manually choice a renderer (by --render-gl3, --render-gl2 or by --render-sw arguments)
- Added graphical API to load external graphic files with lua scripts
- Added Paths functions to get full path to media folders
- Added event to draw HUD with binding of the camera metrics and player state
- Added binding to playOnceAnimation for playable character API
- Added support for more advanced effects for lua API
- Fixed sprite warping for NPCs, now there is correctly going from warp generators with any sizes of sprites
- Fixed inter-processing on Mac OS X and no more requires manual event processing to accept IPC messages
- All debug keys (such as 1, 2, 3, 4, 5, 7, 8, 9, 0 and F5, F6, F7, F8) are now disabled by default and can be re-enabled with "takesecretkeychain" cheat command
- Fixed path-opener wired vision bug on the world map
- Enabled ability to spawn effects on the world map (one effect is spawning a smoke when level or path enabling)
- Fixed exit code management in the path opener processor
- Implemented full support for custom config files for all elements: block-*.ini, background-*.ini, tile-*.ini, scene-*.ini, path-*.ini, level-*.ini
- Fully implemented support of split configurations for level backgrounds, blocks, BGOs, NPCs, terrain tiles, sceneries, paths and level tiles
- Resolved a visibility management of the layers and transforming between blocks and NPCs
- Fixed auto-scroll processing (crush, camera moving after playable character's death)
0.2.5.1
- Fixed custom folder confusion caused with dot-contained file names
- Added more physical environment zones types include air chambers for underwater sections
- Added separated support of portal and instant warps: instant warp will do same as in SMBX, portal warp will teleport character with keeping of kinetic energy
- Added support for entering event for warps
- Added support of two-way directed warps
- Added support of Cannon Exit warps
- Better and stable inter-processing with editor based on stdin/stdout!1
- Added a support of character filter blocks and character switch blocks!
- Better speed-adding physics
- Layer motion engine has been implemented!
- Bit better slopes support
- Player Lua API has been implemented! It provides a programming of playable character events
- Improved onHarm/onKill events on NPC-AI
- Added new NPC-AI events, functions, and variables
- Added a support of collision toggling from lua
- Added ability to use OpenGL 2 if not possible to use OpenGL 3 (also with support of compatibility with video cards which are not supported non-power of two textures)
- Fixed TTF fonts renderer
0.2.5
- Fixed crash on NPC placement with inter-processing
- Sprite in real-time placing mode will be aligned to center of mouse rather left-top corner
- Background color of screen padding no is always black
- Fixed a detection of libraries paths (such as "platforms") while dynamically built PGE Apps are locating in the folder with non-ASCII path
- Player now can attack multiple NPC's at one stomp
- Player now can safely walk from ridable NPC's without jumps
- Removed workaround disables hurting of player while it flying up because player finally can safely stomp healthy NPC's
- Added experimental translator to have able to retranslated engine too
- Optimized memory usage and increased performance
- Now PGE Engine uses FreeImage library to load graphics
- Finally resolved troubles with a lazily-made graphics, all masked-gif based graphics are merging via bit-blit algorithm
0.2.4
- Working paths system on the world map! Now there are closed at episode start, but opens on level passes.
- Fixed bug with auto-spawning of "game over" question on non-zero exit codes
- Fixed missed font-ID grabbing for live counter on the world map
- Small reorganization of cheat codes:
- illparkwhereiwant instead of "i" key
- redigitiscool to spawn dummy message box
- iwishexitas X to exit from a level with a specific exit code
- Contact Detector for NPC-AI (detects elements which are contacted to self NPC and returns pointer to them)
- Added ability to spawn other NPC's from NPC-AI scripts
- Working projectile generators!
- Fixed bug with down directed NPC spawn from blocks
- Experimental in-game render of placing elements
- All non-protected NPC's will burn in lava
0.2.3.1
- Small update of File Library
- Support for "health" tag inside npc-*.txt custom configs
- Added support of emulated FM Synth MIDI playback based on ADLMIDI. Also added support of loopStart/loopEnd tags in MIDI files
0.2.3.0
- Text Input dialog box has been completely implemented
- Cheating features are been moved into cheat environment and can be used only after typing of special commands by "~" key clicking
- Playable character can be harmed by dangerous surfaces and will die in lava
- Experimental support of slopes
- Player can talk with NPC's
- better work of collisions, but some things are still experimental
- better V-Sync control
0.2.2.4-alpha (First entry of engine change-log)
- Experimental engine part which provides ability play SMBX-compatible levels and episodes with their configuration packages. Provides a partial implementation of the SMBX64 standard which wasn't finished yet. Partial implementation of NPC-AI with an ability to code NPC's in LUA.
- Physics are completely replaced with own coded physical engine
- Working NPC-AI system with support NPC's coded in the Lua
- Exits works!
- Kill effects [are not works perfect, need a lot of work, but there are works fine]
- Added generators!
- The player can climb on NPC-based climbable walls, not only on the BGO-based!
- Fixed a lot of bugs
- NPC's finally can be spawned from blocks where there are was included!
- Added support for the layers and basic events! [layers: show, hide, toggle; message box; play SFX; trigger another event; auto-scroll speed, changing of limit boundaries per section, toggling section background, toggling section music, other event actions are not implemented yet]. Working event triggers: block destroy, hit, empty-layer; NPC died, activated, empty layer [talk is not implemented yet!]
- Fixed random crash caused by lua activation event when camera caught a corpse of NPC
- Fixed slow performance caused by bad time delay function
- Player finally can ride on NPC's heads [anyway, is not finished yet]
- Basic Detectors API for NPC-AI which giving able to catch objects came to specific area
- Fixed bug with super-fast game loop
- Stomp-able NPC's are can be stomped!
- Work with a speed summing part of physical engine gives the ability to stay and ride on the moving objects
- Fixed imperfection with auto-closing of message box while "run" or "jump" key are holding
- Episode/Level lists are no more freezing engine!
- Working auto scrolling of sections has been implemented! (Unlike SMBX, auto-scroll internally is an option of specific section which will work anyway, even you entered into this section from a side, you will get auto-scrolling in this section)