Menu

How to contribute

2021-10-26
2021-12-14
  • Timo Bögner

    Timo Bögner - 2021-10-26

    Hi all, I would like to contribute to this great project and start with fixing some small bugs (like e.g. the starting credits bug). I'm not sure, what is the best way to do that. Is it still creating and sending a patch like mentioned in the "Getting the source code" page? Also I wonder, if the code of the new alpha versions is commited, since the newest commit is of April 2021. Would it be possible to commit the newest version?

     
    • Stefan van der Wel

      Hye i just committed most of the changes I made. I just setup a friend in visual studio 2019 (took about 2 hours to get the environment to build because I couldn't remember the SDL2 build configuration steps). I am happy to help you get setup with your own full compil and am also happy for you to work off the latest code base and send through commits that I can review. What's on the page was written years ago by someone else. I'd probably just test your changes build and make sense then can commit to master.

      I'm keen to get a new release out (last one was dec 2016) given the movie is here! I can't remember how we did the full install build as I was doing it with another now inactive dev Richie.

       
  • Timo Bögner

    Timo Bögner - 2021-11-08

    Hi Stefan,
    i am working under Ubuntu 21.10 and use Eclipse as C++ IDE. After installing the required SDL-dev packages the project is compilable with the shell scripts that are checked in - very nice.
    For two bugs I already uploaded patches, maybe you can review them:
    https://sourceforge.net/p/dunelegacy/bugs/104/
    https://sourceforge.net/p/dunelegacy/bugs/88/

    For future development I would suggest to use feature branches, so the changes can be managed separately and integrating new features is then just merging them to master (but i don't know if Sourceforge support for branches is comfortable).

    Building a new release is a really good idea! Maybe I can build the linux packages (probably with flatpack). Regarding the windows packages: do you think Richie can help out here once again?
    Are there more features you want to integrate into the release?

     
    • Stefan van der Wel

      Richie did a SDL2 feature branch, so feel free to do that. I'm doing my new dev just on my personal branch but did merge some of the changes in. Having a branch for the alpha or multiple for different features could be an idea though.
      I'll email Richie at some point around building the installers, for now I'm just compiling an alpha bindary here: https://sourceforge.net/projects/dunelegacy/files/dunelegacy/0.96.5alpha/

      ON your patches - sorry I think there was a guide on how to execute them, but I can't see, can you create a feature branch with your fixes? I can test them at my end.

       
    • Stefan van der Wel

      On the features - I wanted to get a campaign AI working nicely with easy to hard settings. I'd prefer to do it off my quntbot AI, but for now I've brought in a CampaignAI Richie was working on. It's easy but doesn't quite play as expected, e.g. it builds lots of troopers.

      Some other things to fix would be make the worms move slower (they currently faster than base game) along with carryalls to reduce the imbalance of repairing.

      The unit pathing algorithm would be nice to fix as well to allow for higher max units without having an o(n^2) issue but that's probably a decent amount of work.

       

      Last edit: Stefan van der Wel 2021-11-09
    • Stefan van der Wel

      from @richieq - will check it out this weekend and maybe do an early release of 0.96.5

      The Windows Installer is build with NSIS (see
      https://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System ) which
      uses dunelegacy.nsi as its input. There is also buildcrosswin32.sh which
      automates the build and packaging of the Windows version from Linux.
      This is how I generated the last versions.

       
  • Timo Bögner

    Timo Bögner - 2021-11-10

    Currently I can't submit my feature branches because I have no permissions on the project. It would be nice, if you can add me as a developer.
    Applying patches is also easy on command line, you can just use

    git apply PatchFile.patch
    

    which will incorporate the patch to your codebase. Maybe Visual Studio has also a convenient possibility for this.

    If you like the work model with feature branches, I would suggest to use that model always and create a branch along with a bug or feature description, where all the thematic discussion could take place.

    I will have a look on the SDL2 branch from Richie. Maybe we can complete this, currently I wonder what is its intention, as the code from master already uses SDL2.

    Another urgent issue I noticed is problems with rendering, especially on slow computers (but not only on these). It seems that frames are sometimes not in correct order which leads to flickering effects. I think bug-93 is deals with that issue. I will try to find the cause, but currently this is a very strange thing.

     
    • Stefan van der Wel

      ok cool will test it out this weekend, and will add you as a developer now :)

      sdl2 has been incorporated, he had a branch for it up until it was released

      i've emailed richie about building the installers also

       
      • Timo Bögner

        Timo Bögner - 2021-11-15

        Finally I got the cross compiler and the NSIS tool to work. I built an installer (s. attachment) package still with SDL 2.05 and SDL mixer 2.0.1, SDL ttf 2.0.15. I didn't test it so far.

        After updating the libraries and fixing some more issues it would be worthy to switch to 0.97.0 in my opinion. This version number is also already in the changelog. What do you think about this?

         
        • Stefan van der Wel

          yeah sounds good

          On Mon, 15 Nov 2021 at 22:24, "Timo Bögner" tboegner@users.sourceforge.net
          wrote:

          Finally I got the cross compiler and the NSIS tool to work. I built an
          installer (s. attachment) package still with SDL 2.05 and SDL mixer 2.0.1,
          SDL ttf 2.0.15. I didn't test it so far.

          After updating the libraries and fixing some more issues it would be
          worthy to switch to 0.97.0 in my opinion. This version number is also
          already in the changelog. What do you think about this?

          Attachments:


          How to contribute
          https://sourceforge.net/p/dunelegacy/discussion/263161/thread/cc408952a4/?limit=25#2236/8684/e400


          Sent from sourceforge.net because you indicated interest in
          https://sourceforge.net/p/dunelegacy/discussion/263161/

          To unsubscribe from further messages, please visit
          https://sourceforge.net/auth/subscriptions/

           
          • Timo Bögner

            Timo Bögner - 2021-11-17

            I created a branch called build-v0.97.0 with sdl libraries and game version number updated. Would you like to review?
            Do you know how to compare branches in Sourceforge, is it possible at all?

             
            • Stefan van der Wel

              should be a way other than merge requests. not sure. Thanks @tboegner and sorry I've been pretty slack. Will spend some time on it Tuesday night. Let's get some installers out for 0.97 soon!

               
            • Stefan van der Wel

              Thanks @tboegner Reviewed code & play tested your 0.97.0 branch and seems fine. Added a couple of small commits. Nice work.

               
              • Timo Bögner

                Timo Bögner - 2021-12-01

                Thank you. Do you agree to also merge the two other branches (flicker workaround, carryall crash fix) to 0.97.0?

                 
                • Stefan van der Wel

                  Definitely on the graphic glitch, I can see you've committed it to the branch already. On the repair changes - it looks quite sizeable so I might just play test a little bit. I'm going to get a friend to playtest the latest 0.97.0 branch as he had the flicker issue on windows. Thanks! :-)

                   
  • Timo Bögner

    Timo Bögner - 2021-11-28

    Status update: Windows Installer, Debian-amd64 and arm (Rapberry Pi OS) packages can be built. I would suggest to drop Linux 32-Bit support as well as rpms. Maybe a flatpak-package will follow. Still unsolved: MacOs package.

    I merged my first small fixes to the branch build-v0.97.0. Also there is a fix for https://sourceforge.net/p/dunelegacy/bugs/101/ on the corresponding branch bug-101-crash-pickup-repaired-unit. I would like to merge this and the flicker workaround also to 0.97.0.

     
  • Timo Bögner

    Timo Bögner - 2021-12-04

    Branch render-driver-selection has been merged to build-v0.97.0.
    Branch bug-101-crash-pickup-repaired-unit had a serious problem with building refineries and repair yards. Fixed now and testing.

     
  • Timo Bögner

    Timo Bögner - 2021-12-12

    Hi,

    I think, the problem is missing entry for the new class in Visual Studio
    project defintion. I tried to add it to DuneLegacy.vcxproj manually, but
    could not test due to lack of VS.  Could you update the branch and test
    again? Thanks.

    Am 12.12.21 um 05:00 schrieb Stefan van der Wel:

    Hi @tboegner https://sourceforge.net/u/tboegner/ - I had a go at
    building your crash branch just to play test the refinarys and repair
    yards but I;m getting some issues

    1>Refinery.obj : error LNK2001: unresolved external symbol "public:
    __cdecl
    UnitInteractionStructureBase::UnitInteractionStructureBase(unsigned
    int,class House /)" (??0UnitInteractionStructureBase@@QEAA@IPEAVHouse@@@Z)
    1>Refinery.obj : error LNK2001: unresolved external symbol "public:
    virtual __cdecl
    UnitInteractionStructureBase::~UnitInteractionStructureBase(void)"
    (??1UnitInteractionStructureBase@@UEAA@XZ)
    1>Refinery.obj : error LNK2001: unresolved external symbol "public:
    __cdecl
    UnitInteractionStructureBase::UnitInteractionStructureBase(unsigned
    int,class InputStream &)"
    (??0UnitInteractionStructureBase@@QEAA@IAEAVInputStream@@@Z)
    1>Refinery.obj : error LNK2001: unresolved external symbol "public:
    void __cdecl UnitInteractionStructureBase::deployInteractingUnit(class
    Carryall /)"
    (?deployInteractingUnit@UnitInteractionStructureBase@@QEAAXPEAVCarryall@@@Z)
    1>Refinery.obj : error LNK2001: unresolved external symbol "protected:
    bool __cdecl
    UnitInteractionStructureBase::requestCarryallForUnitInside(void)"
    (?requestCarryallForUnitInside@UnitInteractionStructureBase@@IEAA_NXZ)
    1>Refinery.obj : error LNK2001: unresolved external symbol "public:
    virtual void __cdecl UnitInteractionStructureBase::save(class
    OutputStream &)const "
    (?save@UnitInteractionStructureBase@@UEBAXAEAVOutputStream@@@Z)
    1>......\bin\Release-x64\DuneLegacy.exe : fatal error LNK1120: 6
    unresolved externals


    How to contribute
    https://sourceforge.net/p/dunelegacy/discussion/263161/thread/cc408952a4/?limit=25#0dbe/3faa


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/dunelegacy/discussion/263161/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     
    • Stefan van der Wel

      Yeah all good I figured it out

      On Mon, 13 Dec 2021 at 05:12, "Timo Bögner" tboegner@users.sourceforge.net
      wrote:

      Hi,

      I think, the problem is missing entry for the new class in Visual Studio
      project defintion. I tried to add it to DuneLegacy.vcxproj manually, but
      could not test due to lack of VS. Could you update the branch and test
      again? Thanks.

      Am 12.12.21 um 05:00 schrieb Stefan van der Wel:

      Hi @tboegner https://sourceforge.net/u/tboegner/
      https://sourceforge.net/u/tboegner/ - I had a go at
      building your crash branch just to play test the refinarys and repair
      yards but I;m getting some issues

      1>Refinery.obj : error LNK2001: unresolved external symbol "public:
      __cdecl
      UnitInteractionStructureBase::UnitInteractionStructureBase(unsigned
      int,class House /)" (??0UnitInteractionStructureBase@@QEAA@IPEAVHouse@@@Z)
      1>Refinery.obj : error LNK2001: unresolved external symbol "public:
      virtual __cdecl
      UnitInteractionStructureBase::~UnitInteractionStructureBase(void)"
      (??1UnitInteractionStructureBase@@UEAA@XZ)
      1>Refinery.obj : error LNK2001: unresolved external symbol "public:
      __cdecl
      UnitInteractionStructureBase::UnitInteractionStructureBase(unsigned
      int,class InputStream &)"
      (??0UnitInteractionStructureBase@@QEAA@IAEAVInputStream@@@Z)
      1>Refinery.obj : error LNK2001: unresolved external symbol "public:
      void __cdecl UnitInteractionStructureBase::deployInteractingUnit(class
      Carryall /)"
      (?deployInteractingUnit@UnitInteractionStructureBase@@QEAAXPEAVCarryall@
      @@Z)
      1>Refinery.obj : error LNK2001: unresolved external symbol "protected:
      bool __cdecl
      UnitInteractionStructureBase::requestCarryallForUnitInside(void)"
      (?requestCarryallForUnitInside@UnitInteractionStructureBase@@IEAA_NXZ)
      1>Refinery.obj : error LNK2001: unresolved external symbol "public:
      virtual void __cdecl UnitInteractionStructureBase::save(class
      OutputStream &)const "
      (?save@UnitInteractionStructureBase@@UEBAXAEAVOutputStream@@@Z)
      1>......\bin\Release-x64\DuneLegacy.exe : fatal error LNK1120: 6
      unresolved externals


      How to contribute

      https://sourceforge.net/p/dunelegacy/discussion/263161/thread/cc408952a4/?limit=25#0dbe/3faa


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/dunelegacy/discussion/263161/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/


      How to contribute
      https://sourceforge.net/p/dunelegacy/discussion/263161/thread/cc408952a4/?limit=25#0dbe/3faa/93b6


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/dunelegacy/discussion/263161/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

Log in to post a comment.