adonthell-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Adonthell-general] Adonthell v0.4


From: Alexandre Courbot
Subject: Re: [Adonthell-general] Adonthell v0.4
Date: Tue, 22 Jul 2003 21:33:21 +0200
User-agent: KMail/1.5

Hi Roope (hope I'm not calling you with your last name! ;))

> So I tried the recent v0.4 codebase to see what's there,
> and if I could get it to compile (and run).

For now, not much - we've committed the new code base only a few days ago. It 
contains all the basic stuff, but nothing game-related. It's also probably 
not completely stable regarding compilation as well - although several of us 
did manage to compile it.

Regarding your problems:

> having some stuff in the environment confuses configure.
> More exactly, the configure in libltdl/ can't handle
> environment variables on the command line, but tries to
> think of them as architectures. And it claims that
> 'CC=gcc' is an unknown host type (imagine that), and then
> that only one host type can be specified. So I fixed
> that by unset'ting CC and CXX, which it complained about.
> Well I don't know whose fault that is, though...
> maybe autotools'? (I got autoconf 2.57 and libtool 1.4.1)

Uh, you're right. That's very weird. As you have probably noticed, the libltdl 
is created by libtoolize via autoconf. But on my system it just did the same. 
Maybe a bug with libtool - I'll have a look at that.

> SWIG complains about the function definitions in the file
> python/callback_support.h in the macro
> PYTHON_AS_CALLBACK_SUPPORT, I think because the functions
> are defined outside of their class (and thus outside their
> namespace, which I don't think SWIG supports (yet?). I do have
> SWIG 1.3.19, but not CVS.) So I fixed that by stripping the
> python:: prefix and wrapping the contents of the macro
> in namespace python { ... }.

I think this is a SWIG bug on this one. The macro is perfectly correct IMO - 
it defines some template function specializations that are necessary to 
handle the Python/C++ object passing.

A work around: when you get such an error, type make again. It will continue 
the compilation. You'll have to do that a few time, but in the end the code 
will be working. I know, that's not exactly a nice solution... :p Using SWIG 
1.3.19 here too. I tried your workaround without success. If anyone has a 
success report with another version of SWIG, I'm interested in hearing about 
it. Will remember to fill a bug report to the SWIG guys.

Once you have everything compiling: you can run the programs in the test 
directory with the run.sh and python.sh scripts. They are necessary to run 
programs while the Adonthell libraries aren't installed on the system. 
Example of use (while being in the test directory):

$ sh ../src/run.sh ./inputtest
$ sh ../src/python.sh inputtest.py
$ sh ../src/python.sh
>>> from adonthell import gfx
>>> gfx.init("sdl")
>>> gfx.screen.set_video_mode(640, 480)
etc.

> I don't know if there's much sense in sending in
> bug reports (or whatever) at this point in development,
> really... but I wanted to let you know somebody's
> paying attention :)

Doing what you did was fine - and more friendly than a cold bug report :)

> So should I now look into the adonthell-0.3 branch of CVS?
> Will stuff be ported to v0.4 from there or written from
> scratch for the new base? Or what? (Maybe I should read more
> of the discussion in the mail archives... I did, but maybe
> I missed something and am lazy and such to ask this...)
> That is, what is needed to get something (like a guy walking)
> running on the new codebase? Porting from old code or completely
> new code? Or what about graphics?

The 0.4 base is completely new. 0.3 was kinda messy and has some major design 
flaws. So 0.4 is a completely new start. We decided to make things go 
further, and starting with 0.4 the game will run in higher resolution 
(640x480), will support network play (persistant world anyone?) and is going 
to be severely redesigned, starting with the map environment which will work 
in 3D internally (while still being displayed in 2D). The RPG rules are going 
to be set by Python scripts, so does the objects and the characters.

So yes, all of this hasn't much to do with 0.3. I don't advice you to look at 
it, if you are interested in 0.4.

About getting something basic to run: for now you have the gfx, input and 
python modules that are working well. The GUI will come soon. This allow you 
to make a walking character quite easily, at the condition that you handle it 
yourself - there is no land or map handling for now.

If you are interested in Adonthell, and want more explanations about 0.4 
source, please don't hesitate to ask your questions. There is also some 
(succint, have to copy our current documentation there) doxygen doc in the 
doc directory. It documents the API that exists for now. Would you want to 
get involved, there is plenty of fun stuff to do, from RPG design in Python 
to audio & network programming in C++, and everyone here will help you to 
feel well here.

See you,
Alex.
-- 
http://www.gnurou.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]