ToME 2.3.5(kind of) built for Windows - I think it's working

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Grenoble
    Rookie
    • Aug 2021
    • 7

    ToME 2.3.5(kind of) built for Windows - I think it's working

    I made a few small changes to AnonymousHero's fork of ToME2.3.5 right before he removed the Alchemist class. It should build on windows, and the binary in the release should work by itself.





    If you give it a try I'd appreciate hearing about any problems.
  • Estie
    Veteran
    • Apr 2008
    • 2314

    #2
    So...this thing has alchemist ?

    Comment

    • fiery_mews
      Scout
      • Sep 2020
      • 26

      #3
      Oooh I'll give it a try, I'm always here for new ToME 2 content. Can't verify at the moment if it works on bona fide MS Windows, but I can check for modern Linux desktops and modern versions of Wine.

      Edit: on Linux it exits with a Lua error on start... I will try and debug this. Also it still has the old setuid/setgid rubbish, and tries to install to /usr/local and create /usr/local/.tome by default; Linux users should specify a local install prefix with -DCMAKE_INSTALL_PREFIX (and note that relative paths ARE permitted for this).
      Last edited by fiery_mews; August 11, 2021, 15:10.

      Comment

      • Grenoble
        Rookie
        • Aug 2021
        • 7

        #4
        Thanks for checking it out. The goal is a faithful version of 2.3.5 that builds and runs on modern systems out of the box, and I think most of the internal system stuff probably needs to be pulled out.

        It's actually kind of a tough call in the sense that the "original" version of 2.3.5 has a lot of interesting code from obsolete systems. I don't know where else you'll run into an EBCDIC converter in the wild in this day and age. A perfect recreation of 2.3.5 that builds on VAX and plays on a VT101 is, however, beyond what I'd like to accomplish.

        Comment

        • Grenoble
          Rookie
          • Aug 2021
          • 7

          #5
          Originally posted by Estie
          So...this thing has alchemist ?
          Yes indeed! This is basically a fork of Anonymous Hero's old work modernizing ToME and the Theme module, but I'm trying to keep things as close to 'vanilla' as possible while still being able to build on Windows. For example I'll roll back a few of the killerbunnies patches that change rather than fix.

          I'd love to pull in some of the UI improvements from Angband, or mess around with windowing, but I've always wanted a version of the original I could build myself out of the box.

          Comment

          • AnonymousHero
            Veteran
            • Jun 2007
            • 1393

            #6
            Originally posted by fiery_mews
            Oooh I'll give it a try, I'm always here for new ToME 2 content. Can't verify at the moment if it works on bona fide MS Windows, but I can check for modern Linux desktops and modern versions of Wine.

            Edit: on Linux it exits with a Lua error on start... I will try and debug this. Also it still has the old setuid/setgid rubbish, and tries to install to /usr/local and create /usr/local/.tome by default; Linux users should specify a local install prefix with -DCMAKE_INSTALL_PREFIX (and note that relative paths ARE permitted for this).
            Negative skill values might also wrap around. There were quite a few bugs when compiling 2.3.5 on 64-bit platforms.

            I'm sure a motivated person could cherry-pick a few later commits which fixed some of those. (The code hadn't diverged very much from 2.3.5 at that point.)

            I basically only tagged it as a courtesy if someone wanted to go with that version.

            Comment

            • tangar
              Veteran
              • Mar 2015
              • 1001

              #7
              Great project! Sometime ago I've tried to compile https://github.com/tome2/tome2 to get binaries, but it requires 'Boost' which I failed to configure with my lame fingers

              Thank you!
              https://tangaria.com - Angband multiplayer variant
              tangaria.com/variants - Angband variants table
              tangar.info - my website ⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽
              youtube.com/GameGlaz — streams in English ⍽ youtube.com/StreamGuild — streams in Russian

              Comment

              • Yottle
                Apprentice
                • Dec 2008
                • 51

                #8
                Cool! I had given up on Tome 2, which is a shame as it is my favorite game ever.

                Comment

                • fiery_mews
                  Scout
                  • Sep 2020
                  • 26

                  #9
                  @AH - thanks for mentioning.

                  @Grenoble - I'm not sure, but I think alchemy might have been removed only after the move to pure C and libjansson (though before the move to C++14/17 and Boost). If so, it might be a better idea to base your changes on the commits just before the C++ revamp. Lemme try and find the relevant hashes.

                  Comment

                  • fiery_mews
                    Scout
                    • Sep 2020
                    • 26

                    #10
                    @Grenoble so the commit you want is probably 2653d949a0008b44d4a41fb52d516a7766f55928. That's after Jansson was added and Lua removed, but before alchemy was removed. It's still all C (not C++) and should be a lot more stable than the Lua-including versions.

                    Might still need some fixes backported though. In particular there may be header issues on modern Linux systems.

                    Edit: yeah, linking is broken on modern Linux, and also there's a ton of warnings. But it should compile on modern Linux once I figure out the linking thing.,

                    Edit 2: no I was wrong, this issue was fixed later? Hang on
                    Last edited by fiery_mews; August 12, 2021, 18:18.

                    Comment

                    • fiery_mews
                      Scout
                      • Sep 2020
                      • 26

                      #11
                      Okay, @Grenoble, try this: https://github.com/jkatzmewing/tome2/tree/pure-c

                      Comment

                      • Grenoble
                        Rookie
                        • Aug 2021
                        • 7

                        #12
                        Originally posted by fiery_mews
                        having some problems with cmake and vs2019, but I'm getting close. Removing the lua looks like it was a lot of work! Was that you or AH?

                        Thanks for giving me a shout.

                        Comment

                        • fiery_mews
                          Scout
                          • Sep 2020
                          • 26

                          #13
                          @Grenoble

                          Good luck with the VS 2019 issues, sadly I can't help you there; I'm terrible with Windows stuff.

                          Removing Lua was all AnonymousHero. The C++ port and everything else of modernized ToME 2 has basically been his show; I've only contributed intermittently. My largest contribution IIRC was removing most of the trap code from the C++ port.

                          Comment

                          • Grenoble
                            Rookie
                            • Aug 2021
                            • 7

                            #14
                            Got it! This was a great project to pick to learn about compilers, linkers, et al. Yours and AH's work is all in main, I want to take a look at some windowing bugs before I do another release.

                            Comment

                            • Gokudera ElPsyCongroo
                              Rookie
                              • Jan 2022
                              • 15

                              #15
                              Originally posted by Grenoble
                              Got it! This was a great project to pick to learn about compilers, linkers, et al. Yours and AH's work is all in main, I want to take a look at some windowing bugs before I do another release.
                              So, do you happen to know how to compile it with Boost on Windows? I spent way to much time trying to install Boost, install cmake, install visualStudio, only to be slapped with dependencies errors…
                              I'll put the log in case you or anyone is still here

                              --------------------------------------------------------------------

                              -- Found PkgConfig: C:/Strawberry/perl/bin/pkg-config.bat (found version "0.26")
                              -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
                              -- The following packages have not been found:

                              * X11
                              * GTK
                              * Curses

                              -- Configuring done
                              CMake Error at src/CMakeLists.txt:187 (ADD_EXECUTABLE):
                              Cannot find source file:

                              C:/Users/mous-/Desktop/MEGAsync/Jeux/PC/tome_2.4/vendor/CppQuickCheck/src/Arbitrary.cpp

                              Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
                              .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc


                              CMake Error at src/CMakeLists.txt:187 (ADD_EXECUTABLE):
                              No SOURCES given to target: harness


                              CMake Generate step failed. Build files cannot be regenerated correctly.

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎