Menu

FHeroes2 "Enhanced"

LordCip
2017-11-24
2018-05-19
  • LordCip

    LordCip - 2017-11-24

    Hi, first of all I want to thank to the long time maintainer of FHeroes 2.

    Improvements already:
    1. CMake based build (meaning that if you want to use anything but makefiles, you are free to do so). Let's say Xcode
    2. C++ 11 code-base
    3. Few UI tweaks, more to follow: you can upgrade units if you have resources with one click. Buing buildings is also with one click. It feels a bit alien initially, but it is very addictive after
    4. The drawing of lines is with antialiasing

    Targets:
    1. support either only SDL1 or SDL2, having one target (very likely: "desktop only") will make development more focused. Today SDL1 works best and enabling SDL2 makes the drawing to be really messy.
    2. make new binaries: I can support OS X and Linux. Help me build it on Windows
    3. Smoothen the UI, even if it means breaking some Heroes 2 "identical UI" idea: Yes/No to be bottom right
    4. Modernize the code: some bugs are just because the code is not ussing correctly binding functions of std::bind. Using C++ 11 constructs may be help at least to point these errors out. Making code modern makes it easier to be imported in an IDE and get good code completion (like in Visual Studio if you are using it, or CLion, or XCode)
    5. Long term target: make possible to have quick battle combat or replay.
    6. Remove tools like extraction tool

    Code is on Github:
    https://github.com/ciplogic/fheroes2enh

    Open issues (maybe a person can step in and help here):
    1. help me build it on Windows. CMake experience is a bit required, but feel free to ask for help from me at least how to build it initially
    2. help into bundling: can you give to me free of charge maps? I personally own Heroes 2, but I would love to be real maps which are bundled as part of package. If you can build on Windows I can help making InnoSetup installer

    NB. I'm not a C++ developer by trade, so I did try my best to make the code readable for me. Feel free to review and fix some code as pull-requests on GitHub

     
  • Taras

    Taras - 2017-12-01

    Nice idea, but why would you remove SDL2 renderer..? It was working pretty well on some platforms. And while some love CMake, removal of Makefiles seems questionable too..

     
  • LordCip

    LordCip - 2017-12-04

    @Taras, I will answer you point by point:

    • I will support just one renderer as if it is me. If let's assume that SDL2 renderer works on let's say all desktop platforms, I will support SDL2, otherwise, SDL1. The reason is practical: I'm just one monkey at just one type-writer. If you think you can support SDL2 instead of SDL1, please contribute and we will drop SDL1. So just feel free to contribute to any area and you will also get all my help around.

    • Removing of Makefiles makes sense for two reasons: I'm not a C++ developer and everywhere I looked, people target typically CMake today. And the second reason is that CMake generates native projects including makefiles on Linux. Run: "cmake ." and will generate a Makefile on Linux (if I recall right). If not, definitely: "cmake . -g" ... But the point of CMake is to allow more modern tools to work with. (I work with CLion, but some people work with XCode on a Mac). If CMake doesn't generate the Makefile you want, or you want to support a platform that doesn't work so well with these Makefiles (namely Windows doesn't generate now a Makefile, and even it would generate, probably it wouldn't build, as VS would not know how to make that project).

     
  • LordCip

    LordCip - 2017-12-13

    This is how it feels/runs (you have to build it from Git):
    https://youtu.be/AmPKviRAPB4

     
  • LordCip

    LordCip - 2017-12-22

    Version 0.9 - Quick combat is here. Few UI tweaks and not only :)

    Sadly the original versioning doesn't have increments smaler than 0.1, otherwise, it would be version 0.8 something.

    https://www.youtube.com/watch?v=cP2Gq2lv4JE

     
  • LordCip

    LordCip - 2018-05-19

    Performance and a Heroes 2 Launcher are created (sadly it runs for now only on Windows or on Linux with Mono) are now included.

     

Log in to post a comment.