[Announce] Cthangband 5.0.0 Released

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Dean Anderson
    Adept
    • Nov 2009
    • 193

    #31
    Originally posted by wobbly
    Anyone had this one? -

    The program can't start because MSVCR120.dll is missing from your computer. Try reinstalling the program to fix this problem.

    Windows 7 - Nividia 64 bit.

    Pretty sure I can fix the problem myself but if someone already knows the answer....
    Damn you, Microsoft!

    Comment

    • Demonbane
      Rookie
      • Apr 2015
      • 1

      #32
      Is there a version of this game that's playable on WinXP? Running it tells me that it's not a valid Win32 application.

      If not, is it possible to compile one? Thank you.

      Comment

      • jevansau
        Adept
        • Jan 2009
        • 200

        #33
        Thanks Dean, that was a wonderfully detailed explanation.

        Comment

        • caruso
          Adept
          • May 2011
          • 164

          #34
          A new victim for my extensive feedback posts! :-> No, seriously: There may be one or two longish posts in the beginning, but after that there are going to be only short ones from then onwards.

          Comment

          • EpicMan
            Swordsman
            • Dec 2009
            • 455

            #35
            The crafter is a very unique class (uses mana if possible to avoid consuming / using a charge when using an item). It's quite exciting to run from Grip with nothing but a single phase door scroll and 4 mana keeping you from death.

            Comment

            • Dean Anderson
              Adept
              • Nov 2009
              • 193

              #36
              Originally posted by EpicMan
              The crafter is a very unique class (uses mana if possible to avoid consuming / using a charge when using an item). It's quite exciting to run from Grip with nothing but a single phase door scroll and 4 mana keeping you from death.
              I have a lot of fun playing crafters. They're very straightforward to understand, but their play strategies end up quite deep; and they make inventory management much more interesting.

              One thing that was a conscious decision with them was that they don't get warned if they use an item without having enough mana to power it. I found that with such a warning there was no danger of them accidentally using up items because they'd over extended themselves.

              Comment

              • wobbly
                Prophet
                • May 2012
                • 2633

                #37
                First experience playing it. Skim helpfile: "welcome to hellband...". Random character. Wander in to the wilderness & kill copperhead snake. Welcome to lvl 8. Get killed by rotting corpse, hmm.. maybe I should of equiped my weapon & armour.

                Edit: What does buying a house do? Worked it out, you don't start with the home.
                Last edited by wobbly; April 14, 2015, 17:08.

                Comment

                • ranger jeff
                  Apprentice
                  • Jan 2012
                  • 78

                  #38
                  how do I learn my spells?

                  edit: nevermind, enter the store 9 and research
                  Last edited by ranger jeff; April 14, 2015, 20:32.

                  Comment

                  • Dean Anderson
                    Adept
                    • Nov 2009
                    • 193

                    #39
                    Originally posted by wobbly
                    First experience playing it. Skim helpfile: "welcome to hellband...".
                    Damn. I thought I'd caught all of them!

                    Random character. Wander in to the wilderness & kill copperhead snake. Welcome to lvl 8. Get killed by rotting corpse, hmm.. maybe I should of equiped my weapon & armour.
                    Copperhead snake and rotting corpse? That was no ordinary wilderness - it sounds like you were in the vicinity of a dungeon.

                    It's often a good idea to check the map (shift-M) before leaving town. That will show you where the dungeons (and other towns) are relative to you.

                    Edit: What does buying a house do? Worked it out, you don't start with the home.
                    Yep. If you want a house you need to buy one. And the cost varies based on the facilities in the town.

                    Comment

                    • Nerdanel
                      Rookie
                      • Dec 2008
                      • 15

                      #40
                      Cthangband doesn't compile on Linux. This is because Linux is case-sensitive (not just case-preserving), and most of the source files have been renamed to start with capital letters. Meanwhile all the makefiles and the includes in the source files all use uncapitalized versions of the filenames.

                      Also, makefile.org still uses the hellband name.

                      I'm now going to have to rename the files one by one...

                      EDIT TO ADD:

                      Having renamed the files, I now get the following error message:

                      Code:
                      $ make -f makefile.org
                      gcc -I/usr/X11R6/include -I/usr/include/ncurses -Wall -O2 -fno-strength-reduce -
                      pedantic -D"USE_X11" -D"USE_GCU" -D"USE_NCURSES"   -c -o z-util.o z-util.c
                      In file included from h-basic.h:16:0,
                                       from z-util.h:6,
                                       from z-util.c:5:
                      h-system.h:107:21: error: macro "strchr" requires 2 arguments, but only 1 given
                       extern char *strchr();
                                           ^
                      h-system.h:107:14: error: 'strchr' redeclared as different kind of symbol
                       extern char *strchr();
                                    ^
                      <builtin>: recipe for target 'z-util.o' failed
                      make: *** [z-util.o] Error 1
                      So yes, it errors out when trying to compile the first file.
                      Last edited by Nerdanel; April 16, 2015, 20:02.

                      Comment

                      • jevansau
                        Adept
                        • Jan 2009
                        • 200

                        #41
                        A quick question on speed - does it work similarly to other Angbands, or is there a change?
                        I ask because it is displayed as movement speed, maybe implying that it doesn't affect other actions.

                        Comment

                        • debo
                          Veteran
                          • Oct 2011
                          • 2402

                          #42
                          Originally posted by jevansau
                          A quick question on speed - does it work similarly to other Angbands, or is there a change?
                          I ask because it is displayed as movement speed, maybe implying that it doesn't affect other actions.
                          It's like hellband I think -- movement and attack speed are decoupled.
                          Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                          Comment

                          • Dean Anderson
                            Adept
                            • Nov 2009
                            • 193

                            #43
                            Originally posted by Nerdanel
                            Cthangband doesn't compile on Linux. This is because Linux is case-sensitive (not just case-preserving), and most of the source files have been renamed to start with capital letters. Meanwhile all the makefiles and the includes in the source files all use uncapitalized versions of the filenames.

                            Also, makefile.org still uses the hellband name.

                            I'm now going to have to rename the files one by one...

                            EDIT TO ADD:

                            Having renamed the files, I now get the following error message:

                            Code:
                            $ make -f makefile.org
                            gcc -I/usr/X11R6/include -I/usr/include/ncurses -Wall -O2 -fno-strength-reduce -
                            pedantic -D"USE_X11" -D"USE_GCU" -D"USE_NCURSES"   -c -o z-util.o z-util.c
                            In file included from h-basic.h:16:0,
                                             from z-util.h:6,
                                             from z-util.c:5:
                            h-system.h:107:21: error: macro "strchr" requires 2 arguments, but only 1 given
                             extern char *strchr();
                                                 ^
                            h-system.h:107:14: error: 'strchr' redeclared as different kind of symbol
                             extern char *strchr();
                                          ^
                            <builtin>: recipe for target 'z-util.o' failed
                            make: *** [z-util.o] Error 1
                            So yes, it errors out when trying to compile the first file.
                            That doesn't surprise me at all. I've never seen a Linux version of Cthangband (I'm sure people have done them for their own use over the years, but no-one has ever sent me updated files back to stick in the "official" source code). And since I don't have Linux and never use makefiles these things just get copied from version to version and are usually woefully out of date.

                            I know that there are some funky #ifdef preprocessor commands throughout the code to deal with different platforms and it vaguely rings a bell that the redefinition of strchr is wrapped in them (I don't have the code in front of me to check), so the error you're getting with z-util is probably because they're set up wrongly, but again I've no experience of compiling on anything except Windows or DOS and these things are things that I inherited from the Zangband code 18 years ago and haven't touched since.

                            Comment

                            • Nerdanel
                              Rookie
                              • Dec 2008
                              • 15

                              #44
                              Originally posted by Dean Anderson
                              That doesn't surprise me at all. I've never seen a Linux version of Cthangband (I'm sure people have done them for their own use over the years, but no-one has ever sent me updated files back to stick in the "official" source code). And since I don't have Linux and never use makefiles these things just get copied from version to version and are usually woefully out of date.

                              I know that there are some funky #ifdef preprocessor commands throughout the code to deal with different platforms and it vaguely rings a bell that the redefinition of strchr is wrapped in them (I don't have the code in front of me to check), so the error you're getting with z-util is probably because they're set up wrongly, but again I've no experience of compiling on anything except Windows or DOS and these things are things that I inherited from the Zangband code 18 years ago and haven't touched since.
                              I've played SCthangband, and it compiled just fine, no modifications. I'm also the person who fixed the Linux makefile for you for early Hellband. (No, I don't mind that you don't remember. I wouldn't remember either.) If I recall correctly, there were no issues with the code compiling, but you had added one or more source files that needed to be correspondingly mentioned in the makefile.

                              So it looks like that strchr thing is something new, which should make the change that broke it easier to pinpoint.

                              EDIT TO ADD:

                              I commented out the offending double definition and its two suspicious buddies while I was at it. Probably the real issue was that USG should have been defined but wasn't. With that I was able to get the compile going until a failure at the final linking part.

                              Code:
                              gcc -I/usr/X11R6/include -I/usr/include/ncurses -Wall -O2 -fno-strength-reduce -
                              pedantic -D"USE_X11" -D"USE_GCU" -D"USE_NCURSES" -o hellband z-util.o z-virt.o z-
                              form.o z-rand.o z-term.o variable.o tables.o util.o cave.o object1.o object2.o 
                              monster1.o monster2.o xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o save
                              .o files.o cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o store.o birth.o load.o wiza
                              rd1.o wizard2.o generate.o dungeon.o init1.o init2.o quest.o main-gcu.o main-x11
                              .o main.o  -L/usr/X11R6/lib -lXaw -lXext -lSM -lICE -lXmu -lXt -lX11 -lncurses
                              util.o: In function `path_temp':
                              util.c:(.text+0x56e): warning: the use of `tmpnam' is dangerous, better use `mks
                              temp'
                              main.o: In function `init_stuff':
                              main.c:(.text+0x53): undefined reference to `get_windows_user_path'
                              main.o: In function `main':
                              main.c:(.text.startup+0x380): undefined reference to `init_wcn'
                              collect2: error: ld returned 1 exit status
                              makefile.org:224: recipe for target 'hellband' failed
                              make: *** [hellband] Error 1
                              So main.c now relies on two functions that are defined only in main-wcn.c, a Windows-only file that doesn't get compiled for systems that aren't Windows.
                              Last edited by Nerdanel; April 17, 2015, 15:15.

                              Comment

                              • Nerdanel
                                Rookie
                                • Dec 2008
                                • 15

                                #45
                                So I commented out the line "#define USE_WCN" in defines.h, though to get that to stick I had to first chmod myself the write permissions that for some reason weren't there. That allowed the program to compile. Then I had to decapitalize the stuff in data/text to get past those errors. I also modified makefile.org a little and commented out the install rule that was no longer needed because of the directory structure changes. At that point I ran into a mysterious freeze on startup after the program displays the logo and checks the files but before allowing user interaction, and a gdb stack trace revealed that the freeze occurred at rng-related code.

                                So it looks like there are still some defines wrong or missing or maybe some code has been deleted, but I'm getting tired of this thing. I saw that other thread, and if Cthangband is going to get converted to C# I'm so not going to bother with the game.

                                Comment

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