Actually, that is an easy one. With SWIG 3.x, integers are no longer converted to booleans automatically.
There appears to be a define (SWIG_PYTHON_LEGACY_BOOL) to restore the old behaviour, but it might be better to change the Python scripts and use the True/False boolean types present since Python 2.2.1. I don't think limiting us to Python newer than 2.2 in this day and age would be big restriction (2.2.1 was released in April 2002). Tonight will see the beast fully running again (I hope!) :-) Kai P.S.: I am also thinking of adding a bit of a version check to the configure script, to make sure SWIG and Python are compatible. Here's an incomplete list I came across right now. Need to check newer Pythons and then the details for the 2.x series, but it's a start: swig version: 2.0.3 2.0.4 A. python 2.x + + B. python 3.1 + + C. python 3.2 - + On Wed, Apr 27, 2016 at 12:00 AM, Kai Sterker <kai.ster...@gmail.com> wrote: > Hooray, > > Adonthell 0.3 compiles, installs and runs with Python 3.5 :-). > Admittedly, it isn't getting very far yet: > > kai@Trinsic:~/adonthell/adonthell-0.3$ adonthell-wastesedge > exec_file: init load failed: > Traceback (most recent call last): > File "./init.py", line 229, in <module> > File "./init.py", line 43, in __init__ > File "./adonthell.py", line 3420, in set_visible > TypeError: in method 'win_base_set_visible', argument 2 of type 'bool' > init: destructor called > > But after struggling mightily for a while to get "import _adonthell" > working that's quite a good point to conclude todays coding session. > Apparently, with Python 3, SWIG is missing some of the required glue to > support statically linked Python modules, so I had to throw in some extra > code to get it past that hurdle. For a minute I already feared I'd have to > convert stuff to dynamic module loading. That would not have been fun. > > Regards, > > Kai > > On Mon, Apr 25, 2016 at 11:34 PM, Kai Sterker <kai.ster...@gmail.com> > wrote: > >> Just a little update: >> >> I have everything compiling with gcc 5.3 and Python 3.5, with only a few >> more warnings to get rid off. >> >> The thing I need to look at next, however, is the make install step, >> during which we compile the python scripts and only install the compiled >> ones. This is different with Python 3, as (a) the .pyc files end up in a >> subdirectory called __pycache__ and (b) they get decorated with the name of >> the python interpreter. Guess there is some reading I have to do in order >> to figure out what to make of that. >> >> Once that is done, I'll check that things still work with Python 2 and >> get rid of the remaining warnings. Then I should be able to commit the >> first batch of changes (really only a few!). >> >> Regards, >> >> Kai >> >> >> On Mon, Apr 25, 2016 at 11:32 AM, Kai Sterker <kai.ster...@gmail.com> >> wrote: >> >>> Hi all, >>> >>> as discussed in January, I have started with the process of going over >>> the 0.3 code to make sure it still compiles on modern systems. I assume >>> nobody else has done anything on that front yet? >>> >>> >>> I am currently touching up the configure script, so have not even >>> attempted to compile anything. >>> >>> My plan is to enable support for Python 3 (and I would have dropped >>> Python 2 completely, if OSX didn't still only ship 2 by default). Our >>> scripts shouldn't really have anything in them that would be incompatible >>> between 2 and 3, and SWIG should take care of the rest. So unless it turns >>> out to be a huge effort, I will try to see this through. >>> >>> SDL I'd keep at 1.2. Porting to 2.0 might be feasible by taking the >>> relevant code from v0.4, but I don't think there is much to gain. But we'll >>> see ... I do have a bit of time right now :-). >>> >>> >>> In general, I want to make sure the code configures and builds on at >>> least Ubuntu 14.04 and 16.04 (both I have around for testing). I'd also >>> like to get a 64bit Windows build, but not sure yet if I try >>> cross-compiling or install Windows again. Possibly former, as the effort of >>> getting all the dependencies set up appears to be the same in either case. >>> >>> For OSX, I can get my hands on 10.9, and I might be willing to install a >>> more recent version on a separate partition, at least. From what I've read, >>> SDL 1.2 has some troubles on newer OSX, unless the bleeding edge is used >>> [1], so ensuring that a new build runs seems to be essential. It would also >>> be nice to get the binary signed, but I don't think I'll pay for a >>> developer account just for that. >>> >>> >>> Oh, I am also thinking about moving the v0.3 code from CVS to git. Even >>> if nobody else will work on the code, it might not be a bad idea to >>> migrate. Since Savannah is offering git repos too, I'll probably keep it >>> there. >>> >>> >>> For Waste's Edge, there isn't really much to change. Maybe some of the >>> scripts need some updates for Python 3. However, I would want to replace >>> the music files with ones that have a higher quality. If I recall >>> correctly, those that are in the game were encoded with a lousy bitrate to >>> keep the download small. But I believe I had versions with better quality >>> around somewhere. Got to see if I can dig them out. >>> >>> >>> That's all I can think of that really needs doing. Once the first >>> changes are in, it would of course be nice to test on other distros. I'll >>> let you know when it's time for that. >>> >>> Let me know if there is anything else that might be worth considering. >>> >>> Regards, >>> >>> Kai >>> _____________ >>> [1] >>> https://forums.libsdl.org/viewtopic.php?t=11620&sid=c8a77894074a1545bebfa21d8acf9a6d >>> >> >> >
_______________________________________________ Adonthell-devel mailing list Adonthell-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/adonthell-devel