Re: Sangband is back.



On 2007-04-09, The Wanderer <inverseparadox@xxxxxxxxxxx> wrote:
Compiling for Linux:

- Only the SDL port is fully up to date. Getting it to run on my
test system involves:
1) Updating to SDL 1.2 (don't try earlier versions) and SDL_ttf (also
SDL_mixer if you want sound and music).
2) typing "make -f makefile.sdl".

Now that I've actually installed SDL_ttf (a library which I did not even
realize existed and which does not seem to be mentioned in the included
build documentation), it does compile and run, although only when both
named 'sangband.exe' *and* in a particular directory (the one to which
it is moved by the last step of that make command).

Yeah, multiple users of different Linuxes (Ubuntu, Debian) can all
confirm the build exits without any action at all by default, we were
all trying this today in #angband.

Looking at the code suggests it is doing some silliness of trying to
parse its own filename, stripping off .exe in the process. I don't
understand why this is useful.


A second problem is that the program seems unable to load a save file,
giving the following error:

Error (Cannot read savefile) reading 0.0.0 savefile. (+)
Sorry, this savefile cannot be read by Sangband 1.0.0 (hotfix #1). (+)
Please choose another file or start a new game.

Although, on further inspection it seems that it is the save function
which is breaking, generating 0 byte save files.

A second issue is that the SDL port, even when run in its desired
location and with its desired filename extension, runs in fullscreen by
default and I see no mention of a way to switch that off. I prefer to
run windowed when running in a graphical environment, so that I can
easily make use of other windows for things like notes and calculations
(and even conveniently switch away to do other things, if necessary); if
I wanted to run fullscreen, I would do it from a console.

Given that I multitask on my computer, the fullscreen behavior is really
a problem for me.

Further, that it grabs the display entirely by default is not such a
great idea for software in flux. A strange bug may lock the user's
display entirely.

I have been shown how to configure it to "Display mode 2" which puts it
into a window, but still it is the size of my entire display, at
1600x1200, and the window refuses to respond to my resize attempts.

It's not terribly unusual to have games that run at fixed resolutions
using SDL, but quite unusual for that resolution to be the entire
screen, which makes it very difficult to manage in concert with other
windows.


There is also the minor issue that whenever I exit the program, I get:

==
*** glibc detected *** free(): invalid pointer: 0x0819bd00 ***
Aborted
==

This occurs here as well, though my address happens to be:
*** glibc detected *** free(): invalid pointer: 0x0000000000654e60 ***

That's a 64 bit invalid pointer, mind you. ;-)


So does the overall packaging. I want things to be as easy for Linux
folks as possible, with a true one-click install the eventual goal;
suggestions for achieving this are welcome.

One very useful step towards that goal - or the goal of a simple
install, at least, since "one-click" assumes a graphical interface which
does not really apply when compiling software under *nix - would be the
inclusion of a functional configure script (preferably *not* using
autotools, although that would be better than nothing), which performs
detection for libraries and so forth

IF you wish to go down this path, I recommend you consider CMake, which
you can use to build Sangband for Windows as well. Some may chime in
that the end user may not have CMake installed, but the end user may not
have * installed, and this tool is a good one and becoming commonly
used by those of us who compile software to install it.

--
Grim. Grom. Grümmer.
.



Relevant Pages

  • Re: Event ID: 7023
    ... To display the WIN32_EXIT_CODE error that SCM encountered, ... You cannot start the Windows Firewall service in Windows XP Service ... install Windows XP Service Pack 2. ... the Computer Browser service stops after five minutes and Event ID ...
    (microsoft.public.windowsxp.general)
  • Re: Being Polite
    ... >Do a rollback on your display drivers via the Device ... >to do a repair install which removes all updates. ... >Insert your Windows XP compact disc into your CD- ...
    (microsoft.public.windowsxp.general)
  • Re: i cant update after reformat
    ... The website has encountered a problem and cannot display the page ... Download, install, run, update and perform a full scan with the ... Close all Internet Explorer windows and other applications. ...
    (microsoft.public.windowsupdate)
  • Re: Is the Update site Working..?
    ... " The website has encountered a problem and cannot display the page ... Download, install, run, update and perform a full scan with the ... Close all Internet Explorer windows and other applications. ...
    (microsoft.public.windowsxp.hardware)
  • Re: P4C800-DELUXE XP Install Problems --- Hanging
    ... Windows Install Guide by Mr Steveo from ABX Zone Website. ... Additionally, if you have a Springdale or Canterwood chipset motherboard, ... Install chipset INFs before any video or sound drivers. ...
    (alt.comp.periphs.mainboard.asus)