[Announce] Cthangband 5.0.0 Released
Collapse
X
-
-
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
-
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
-
how do I learn my spells?
edit: nevermind, enter the store 9 and researchLast edited by ranger jeff; April 14, 2015, 20:32.Comment
-
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.
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.Comment
-
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
Last edited by Nerdanel; April 16, 2015, 20:02.Comment
-
Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'Comment
-
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
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
-
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.
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
Last edited by Nerdanel; April 17, 2015, 15:15.Comment
-
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
Comment