Author Topic: Gemrb  (Read 4878 times)

azalin

  • Newbie
  • *
  • Posts: 33
    • View Profile
Gemrb
« on: February 10, 2006, 08:30:42 am »
Although it is not finished, this looks like a very interesting project:
http://gemrb.sourceforge.net/
As it will allow to run some very nice games like Baldurs gate (1, 2, expansions), Icewind Dale and most of all, Planescape Torment on Linux!
Did anyone try to compile it for the Zaurus before?

TheWalt

  • Full Member
  • ***
  • Posts: 176
    • View Profile
Gemrb
« Reply #1 on: February 10, 2006, 08:55:49 am »
Quote
Although it is not finished, this looks like a very interesting project:
http://gemrb.sourceforge.net/
As it will allow to run some very nice games like Baldurs gate (1, 2, expansions), Icewind Dale and most of all, Planescape Torment on Linux!
Did anyone try to compile it for the Zaurus before?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=114386\"][{POST_SNAPBACK}][/a][/div]

No Way!  That would be SWEET
- Gemini PDA | WiFi - Android 7.1.1
- GPD Pocket | Ubuntu Mate 18.10
- Zaurus SL-C3100 | ArchLinuxARM

anunakin

  • Sr. Member
  • ****
  • Posts: 340
    • View Profile
    • http://vivaphp.net
Gemrb
« Reply #2 on: February 10, 2006, 09:24:14 pm »
I think this can works on Zx00 and Zx000 machines...    my BG CDs go see the light again!
[img]http://www.vivaphp.net/imagens/rev2.jpg\" border=\"0\" class=\"linked-sig-image\" /]
Anunakin (Marcus Fazzi)

Nokia N900 32GB + microSD 2GB
Nokia N810 w/ microSD 8GB
Nokia 5310 XpressMusic w/ microSD 1GB
HP48GX->Psion Sienna->Palm m130->Tungsten T->Zaurus SL-5500->C3000->C3100 ALL SOLD

My FEED(On Line AGAIN!!!)

scoutme

  • Hero Member
  • *****
  • Posts: 579
    • View Profile
Gemrb
« Reply #3 on: February 11, 2006, 08:47:21 pm »
c'mon, let's try!

Cresho

  • Hero Member
  • *****
  • Posts: 1609
    • View Profile
    • http://home.earthlink.net/~cresho/
Gemrb
« Reply #4 on: February 11, 2006, 10:38:26 pm »
Interesting.
Zaurus C-3200 (internal 8gb seagate drive) with buuf icon theme, cacko 1.23 full,  and also Meanie's pdaxqtrom-Debian/Open Office
Zaurus SL-5500 Sharp Rom 3.13 with steel theme
pretec pocket pc wi fi
ambicom bt2000-cf bluetooth-made in taiwan
simpletech 1gb cf
pny 1gb sd
patriot 2gb
ocz or patriot 4gb sd(failed after 2 weeks)only on z
creative csw-5300 speakers in stereo
DigiLife DDV-1000 for video, Audio, Picture recording playable on the zaurus
Mustek DV4500-video recorder, pictures, voice record on sd for z

zaurusthemes.biz | ZaurusVideo | Zaurus Software

ThC

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
    • http://
Gemrb
« Reply #5 on: February 12, 2006, 06:36:53 am »
on the screenshots section of the site, there's a gkrellm launched and one can notice that 70% of cpu is used and it don't seem to have any other program open ... I guess this would be a little heavy for our poor little Zs :s
« Last Edit: February 12, 2006, 06:38:22 am by ThC »
SL-C3000 - pdaXrom 1.1.0Beta1
SL-C860 - pdaXrom 1.1.0 RC8 (charging circuitry dead :( )
CF RamStar 512 Mb / Hitachi 4Gb microdrive (thanks to creative's muvo² :p)
SD Sandisk 1Gb / Viking 256 Mb
Linksys WCF13 CF wifi card

Anyone willing to donate for my work, please consider donate to pdaXrom and/or OE/OZ projects instead, I wouldn't have been able to do anything without them ...

azalin

  • Newbie
  • *
  • Posts: 33
    • View Profile
Gemrb
« Reply #6 on: February 13, 2006, 03:50:42 am »
Quote
on the screenshots section of the site, there's a gkrellm launched and one can notice that 70% of cpu is used and it don't seem to have any other program open ... I guess this would be a little heavy for our poor little Zs :s
[div align=\"right\"][a href=\"index.php?act=findpost&pid=114553\"][{POST_SNAPBACK}][/a][/div]
Hmm, I wonder what kind of CPU that was. From what I remember BG engine used huge full colour bitmaps and scrolled those around. Now I wonder what speed increases you would get if you say downscale the graphic size and the amount of colours, processor utilisation would go down lots. Perhaps using the MMX instructions at some places may help too?

desertrat

  • Hero Member
  • *****
  • Posts: 743
    • View Profile
    • http://
Gemrb
« Reply #7 on: February 13, 2006, 08:56:46 am »
Quote
Hmm, I wonder what kind of CPU that was. From what I remember BG engine used huge full colour bitmaps and scrolled those around. Now I wonder what speed increases you would get if you say downscale the graphic size and the amount of colours, processor utilisation would go down lots. Perhaps using the MMX instructions at some places may help too?

BG2 runs pretty slow on my 500MHz Celeron desktop. Admittedly it's got a crappy graphics card and I have to turn off almost all of the fancy graphical effects for it to run at a reasonable speed.

Whilst I would love to be able to play BG2 on the Z I'm afraid it might have to be on a future generation of Z. Still, if one can emulate a PS at full speed on the Z then there is hope yet!

Incidently, a full install of BG2 takes around 2.6GB, that's a good chunk of the microdrive gone  

-- cheers
SL-C3100 / Ambicon WL1100C-CF / pdaXrom 1.1.0beta3 / IceWM

azalin

  • Newbie
  • *
  • Posts: 33
    • View Profile
Gemrb
« Reply #8 on: March 17, 2006, 08:21:39 am »
A progress report of what I did so far:
The GemRB program needs the sound library OpenAL, that wraps to ALSA. So I compiled the OpenAL library, then it turned out that GemRB needs a function from alut as well. ALUT is the utility functions that belong to OpenAL (just as Glut are the utility functions for OpenGL). I copied the lib manually to the dev environment, and got the .h files from the common/include/AL directory in the openAL archive.
What I am stuck at now is the following: When making freealut, it stops at src/alutUtil.c with the error:

alutUtil.o
alutUtil.c: In function `alutSleep':
alutUtil.c:30: error: storage size of 't' isn't known
alutUtil.c:30: error: storage size of 'remainingTime' isn't known
alutUtil.c:35: warning: implicit declaration of function `nanosleep'
alutUtil.c:30: warning: unused variable `t'
alutUtil.c:30: warning: unused variable `remainingTime'

So I checked which include this struct was defined in, it is in
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include/time.h
where I find:
#if !defined __timespec_defined && \
    ((defined _TIME_H && defined __USE_POSIX199309) || defined __need_timespec)

struct timespec
  {
    __time_t tv_sec;            /* Seconds.  */
    long int tv_nsec;           /* Nanoseconds.  */
  };

#endif
Not sure whether those defines are true, but if not then it is already defined elsewhere, I also see it in for example: aio.h, netdb.h, pthread.h, sched.h, semaphore.h and signal.h. But I think in those it is only used and not defined. So perhaps there is a missing include or I need to link a file where the machine bindings for timespec are defined somewhere.

Alternatively, I can leave out the ACMImporter library and the Nullsound module will be used in GemRB (after I figure out how to do that of course  I hope there's a configure --disable option for it, that would be easiest).

p.s. I got the alut and openal sources from http://www.openal.org/
p.p.s. Hmm I just found out that I couldn't find an ALSA library for pdaxrom, perhaps I should just use the nullsound for now. I should have checked that first ah well. Wierd that my OpenAL completed make but didn't complain about that, perhaps because I didn't link it yet to something else.
« Last Edit: March 17, 2006, 08:36:45 am by azalin »

azalin

  • Newbie
  • *
  • Posts: 33
    • View Profile
Gemrb
« Reply #9 on: March 20, 2006, 04:17:14 am »
Little update:
Since I am trying to compile without sound now I modified the makefile.am files and the configure script then tried to run automake and autoconf.
However I ran into this bug:
http://www.pdaxrom.org/buglist.php?doactio...owbug&bugid=352
Took a while to figure out, as I also needed to run aclocal.

So what I got is:
gemrb-0.2.6> automake
autom4te: need GNU m4 1.4 or later: /opt/native/i686/3.4.5-2.2.5/bin/m4
automake: autoconf failed with exit status: 1
gemrb-0.2.6> which m4
/usr/bin/m4
So the solution is:
M4=`which m4` automake
However I now get
gemrb-0.2.6> M4=`which m4` automake
configure.in:35: version mismatch. This is Automake 1.9.2,
configure.in:35: but the definition used by this AM_INIT_AUTOMAKE
configure.in:35: comes from Automake 1.7.9. You should recreate
configure.in:35: aclocal.m4 with aclocal and run automake again.

After doing
M4=`which m4` aclocal
M4=`which m4` automake
M4=`which m4` autoconf
M4=`which m4` autoheader
Then configure passes this point... and gives an error that the python version is
too old as the program needs Python 2.3.0 or greater.
Once it is configured (which does not work yet), make also needs to be
M4=`which m4` make

edit: Hmm strange, the Python libs are 2.4 so I am going to find out why it cannot find them now.
edit2: Hmm not sure what to think of this one, but I think I found what the problem is:

checking for python... /opt/cross/arm/3.4.5-xscale-softvfp/bin/python
checking if Python version >= 2.3.0... too old
configure: error:
*** You need Python (www.python.org) version 2.3.0 or greater to compile GemRB
file /opt/cross/arm/3.4.5-xscale-softvfp/bin/python
/opt/cross/arm/3.4.5-xscale-softvfp/bin/python: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
It's the i386 version hmm.

cp /opt/cross/arm/3.4.5-xscale-softvfp/bin/python2.4 /opt/cross/arm/3.4.5-xscale-softvfp/bin/python
gives
cp: `/opt/cross/arm/3.4.5-xscale-softvfp/bin/python2.4' and `/opt/cross/arm/3.4.5-xscale-softvfp/bin/python' are the same file

So even though it's the i386 version, it should give a version number higher than 2.3.0.
The way I set up the dev environment is this:

#!/bin/bash
. /etc/profile
export PATH=/opt/cross/arm/3.4.5-xscale-softvfp/bin:$PATH
export QTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/qt
export KDEDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/qt
export X11INC=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include
export X11LIB=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib
export PKG_CONFIG_PATH=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/pkgconfig
export LD_LIBRARY_PATH=/opt/cross/arm/3.4.5-xscale-softvfp/lib
echo "Type exit for leave armv5tel-cacko-linux cross environment."
/bin/bash

I think that this is because the PATH variable makes it look in
/opt/cross/arm/3.4.5-xscale-softvfp/bin while it is found elsewhere (though not in /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/bin/ )
in my modified script.
There are a few things I am going to try now, perhaps just removing the check for python will
work.
The command I use to configure is:
LDFLAGS=-Wl,-rpath-link,/opt/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/X11 ./configure --host=armv5tel-cacko-linux --build=i686-linux --x-includes=/opt/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include/X11 --x-libraries=/opt/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/X11
My first try just removing some of the checks in configure.in resulted in:
config.status: creating config.h
config.status: config.h is unchanged
config.status: linking ././fnmatch_.h to ./fnmatch.h
config.status: error: ././fnmatch_.h: file not found
Probably it needs to set flags for certain functions (the ones I removed from the configure script!) and therefore it cannot create config.h, or am I wrong there?
« Last Edit: March 20, 2006, 06:13:11 am by azalin »