|
Post by adelie on Oct 12, 2009 21:00:55 GMT -5
Here are the definitely mandatory ifdefs (and a few minor tweaks) to repair the dialog/quest functionality when compiled to a 64 bit target. What was happening was the format strings in sscanf were breaking when a "long" variable was specified with a 32 bit target (32bit -> 32bit on x86, 64bit -> 32 bit on x64), so dropping them to a standard integer format fixes the parsing, and therefore allows the dialog functions to work again. This isn't as much of an issue with printf type functions, as gcc is generally smart enough to do the right thing when presented with this situation, though it will bark out a warning. Also included are a tiny revision to the makefile fixing the options for compiling gui support on amd64 linux and a couple of tweaks that will get rid of a couple of compiler warnings, but aren't as major. Anyone else running on the same platform can grab the tarball, pull the .c, .h and Makefile files to their src directory, update the Makefile and build away. This shouldn't break compiling on windows or 32 bit linux. Attachments:
|
|
|
Post by adelie on Oct 13, 2009 22:19:09 GMT -5
Attached is a fixed object1.c file. Main changes are to identify_fully_aux() - expanding the scope of temporary strings so that the address space used by the string isn't recycled before the information is actually displayed (leading to repeated lines on the item display in shops/inventory depending on the memory handling of the compiler being used). A couple of minor tweaks outside of that to clean up some compiler warnings (unused variables, etc). Attachments:
|
|
|
Post by adelie on Oct 14, 2009 20:30:44 GMT -5
One more fix, though this is more of a hack. If using the terminal only (ncurses) mode on linux, you're stuck with 16 color modes. Elites and Bosses were defined to use #17 and #18, which led to... Inviso-bosses. While such a feature can lead to some interesting tension, it's probably advisable to use this version of cave.c with ifdefs to set the elite/boss coloring to a compatible mode if the *nix+curses compile flag is present. Attachments:
|
|
|
Post by adelie on Jan 6, 2010 22:17:21 GMT -5
Build 4.001 fix 1 - compiles with Makefile.linux, but is highly prone to crashing (with panic saves) on 64 bit linux. I'll see about testing on a 32 bit platform, and getting everything stabilized on linux when I have a little more time for code diving.
|
|
|
Post by Variaz on Jan 7, 2010 9:14:19 GMT -5
Thanks for the files. I don't have a 64 bits linux, nor any machines to test it on, unfortunately. I'll trust you on this one!
|
|
|
Post by adelie on Jan 10, 2010 23:58:42 GMT -5
I've got .4 build 001 fix 1 stable enough to be playable on both 32 bit (x86) and 64bit (amd64) linux. Attached are the modified files, with readme, and a patch file for anyone else who may want to do the same (or might be wanting to port to OS X). Current known issues in linux land: Naming items is broken. (tweaking works, however) Command line options aren't accepted (remove the save manually to start a new character) Choosing final death = crash (but at that point doesn't matter too much...) I've also fixed a couple of problems/typos in the code that may benefit windows users (particularly in monster2.c and melee2.c). The full changeset should be completely compatible with windows, but I currently don't have a machine on which to verify this last bit. Attachments:
|
|
|
Post by adelie on Jan 14, 2010 22:15:33 GMT -5
Further testing: The final death option doesn't cause a crash on the 32 bit side. And another set of updated files (this goes on top of the prior port4b1f1-lnx1.tgz tarball, just drop in your source tree, unpack and rebuild). But wait, it's not a bug fix (I'm including it here as it builds on the prior source changes for linux compatibility AND I've only been able to test it on linux so far) but a feature enhancement: This package adds a skill display toggle to the character sheet skill screens. Now, you can press 's' while in the skill screens, and switch between seeing the modified and base skill scores for the various skills. This should help in seeing how many points you might have to assign to get that shiny skill feat if you've got class, race, item, etc, bonuses. I've tried my best to keep my source changes cross-platform compatible, so windows users who can compile from source should be able to try it out as well. Attachments:
|
|