Releases: ciplogic/fheroes2enh
Rebalanced (Free) Heroes 2
An important effort was to rebalance the gameplay of Heroes 2 and to feel more playable. This is done by work of community and it deserves to be played! The change is so big that it deserves a 1.1 release.
Play and enjoy it!
Battle Info
Long time overdue for a new release but this time is important.
You can know if a battle with a troop is hard or not based on your selected hero and the target troop hitpoint.
Described in this video:
https://youtu.be/HdA2HNAXojE
Life fixes
Fix life remaining
FreeHeroes2 Enhanced 1.0
This release includes everything I was expecting to be included in an "enhanced" version.
This change is as previous last changes deeper under the hood but less visible excluding few bug fixes (lightning bolt will not crash and vampire lord should revive properly).
As changes under the hood are concerned:
- most inheritance is done properly according to OOP principles, and it prefers composition over inheritance. In English what it means, is that in most cases, the data structures are defined to be defined as a combination of multiple data fields, instead of being defined as a category of categories. This change makes compilers to give both less warnings and make easier to understand most of sections of code related with iteration of items and such. The most important is breaking the relation of "Army" and "Monster", as "an army was a monster" instead of an army being defined as a monster. This made some code to be really almost impossible to debug related with damage, as the developer (aka me) had to look life and damage if it is multiplied or not with the number of units and similar.
- there were hundred of changes so that FreeHeroes 2 Enhanced compiles in C++ 14 and C++ 17 mode, especially as C++ 17 doesn't allow
std::bind
construct. In plain text it means that if in future (or in present) you want to compile to a newer compiler, let's say Visual Studio 2017 and you want to improve it by adding some C++ 17 specific functionality in your fork, now you can do it, as you can compile it - many changes were done to expose as possible (still there are thousands of places that this can be improved) to not use "int" or similar non-descriptive type, when code had the specific labeling.
Important note: FreeHeroes2 Enhanced did break file save functionality compared with FreeHeroes 2 "original" and it does not want to keep a binary compatible at major versions. FH2Enh as FH2 does not load original save files from the original GoG Heroes 2 game, but both versions will load maps and original assets.
Added Free Heroes 2 Launcher
This release added FH2Launcher and speeds up the Save/Load logic everywhere.
Please see the intro of feature set here:
https://youtu.be/Pfwfo3IEVfo
(I've said that the new binary is 2KB less on Windows, it is 10 KB less on Windows. For Mono on OS X/Linux, I am not sure if it was clearly heard: install also with Mono the WinForms package).
Maintenance release
Fixes and current (around April 25th) state of game
New Experimental UI
New UI, yay!
Tunning release
Many small fixes, especially on installer and avoiding leaks on FHeroes2
Added preload logic which should improve overall gameplay as it should avoid many "micro-stutters" at the cost of few tens of MB of memory used.
This approach would not work on Pentium 1 era computers, but today computers have many GB of memory.
FreeHeroes 2 Enhanced Installer
This release comes with an included a Windows installer (it is written in C#, and it can be extended to run on Mono to install on all other platforms).
See what is in this release:
https://youtu.be/A8KwfSmW0G4
Preparation version 0.9.5 (multipack)
This release is simply the adding packs for users which want to try do make sense with multiple archives.