![]() |
FreeSynd (Syndicate open source engine) port to maemo
I'm trying to port FreeSynd (reimplementation of engine for the classic Bullfrog game, Syndicate).
Freesynd depends on various SDL libraries: libSDL-1.2, libSDL_mixer, libSDL_image; the last two seem to be outdated in the maemo repos, so I managed to compile the game commenting some lines of code, the game runs but it is unstable, is someone interested in helping with this? |
Re: FreeSynd (Syndicate open source engine) port to maemo
Search the forum for sdlmixer, Aapo started a thread, though it was mostly about not playing ogg and such and only mp3, error I'm getting atm:
error: ‘Mix_LoadMUS_RW’ was not declared in this scope There also is sdl1.3 package in repos, have you tried it? (gave me quite a lot of errors when compiling with 1.2 went ok, some time ago, not sure if this is good advice, but trying won't hurt) |
Re: FreeSynd (Syndicate open source engine) port to maemo
There are newer sdlmixer, libsdl-mixer1.2.8-dev
I made for testing purpose newer sdl-image (1.2.10), not yet sure how it should be renamed so it can be installed parallel with old version (as there might be some differences). Download debs: http://cc.oulu.fi/~rantalai/maemo5/ Code:
apt-cache policy libsdl-mixer1.2.8-dev libsdl-image1.2-dev Code:
wget Freesynd-0.6 Give this link to upstream: http://www.arm.linux.org.uk/docs/faqs/signedchar.php |
Re: FreeSynd (Syndicate open source engine) port to maemo
kudos
edit: if you can think of a way/script to perform testing if they are backwards compatible, count me in |
Re: FreeSynd (Syndicate open source engine) port to maemo
Aapo: just so you know Gigalomania fell prey to newer mixer (also couple of webos games sadly)
|
Re: FreeSynd (Syndicate open source engine) port to maemo
You can also use libsdl-mixeroggwav1.2-dev instead of libsdl-mixer1.2-dev.
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
Code:
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libSDL_mixer-1.2.so.0 (used by debian/freesynd/usr/local/bin/freesynd). |
Re: FreeSynd (Syndicate open source engine) port to maemo
Disabling test-data made it run for me, sound intro mission choosing all works (not sure how to shoot yet), ctrl-c resulted in a megahalt though. Battery-forced reboot required. Very good-looking (especially as this game rocked)
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
|
Re: FreeSynd (Syndicate open source engine) port to maemo
I made some modifications to the code to emulate the right mouse button (holding x key) and esc key (pressing CTRL+q). Please tell me if there is another key that needs to be emulated.
Before uploading to extras-devel, we must resolve the following two problems:
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Aapo needs to chime in, he didn't promote his ibsdlimage because of naming conventions/fear of backwards incompatibility. If we can somehow find a way to test 2.10 to confirm it doesn't break anything with previous packages this should be fixed. If no easy way to do it exist you can always include .so files for it and statically link.
Not sure how to deal with first problem though |
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
Remember, that using blue arrow + shift, we got plenty of "free keys", where we can emulate almost full-fledged desktop keyboard. for example, I've all F1-F12 keys mapped to upper row shift+blue arrow, right and middle mouse click (blue arrow +tap and shift+blue arrow+tap, respectively), TAB, all my national special characters, all symbols... Without sacrificing any single default key. There really isn't any need to emulate anything - just make game aware of user's keyboard layout if it's possible, and everyone will be happy penguins. /Estel Ps. Thanks for Your efforts, nevertheless! |
Re: FreeSynd (Syndicate open source engine) port to maemo
Well, I'd appreciate an emulated mouse button since I don't want to push 3 keys simultaneously just to get a right mouse click.
The only thing that bothers me with emulated keys is different keyboard layouts for different countries on the phone. Please make sure that you use keys that are in the same position on all N900 versions. If the user is given the opportunity to change the key-mapping himself, things would be even sweeter ;) |
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
HOW DO YOU EMULATE MIDDLE+RIGHT CLICKS??? Please point me to the relevant information sources. |
Re: FreeSynd (Syndicate open source engine) port to maemo
Don't worry, I'll add the key mappings to the game's config file.
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
The other approach could be commenting the code, so that doesn't need the new libraries. The newer libsdl-image is used only to load the mouse pointer image. The newer libsdl-mixer it's used apparently to load music in some cases, but with the code commented, the music it's still played (no crashes so far I tested). This way I could build a package and upload a first version to extras-devel, so others can test the game. |
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
src/CMakeLists.txt Code:
-target_link_libraries (freesynd ${PNG_LIBRARIES} ${SDL_LIBRARY} ${SDL_MIXER} ${SDL_IMAGE} ) And dependencies are not libsdl-image1.2-dev, libsdl-mixer1.2-dev, but libvorbis-dev, libsmpeg-dev, libogg-dev, libmikmod-dev I have packed one libsdl-mixer, I compiled it without libmikmod, because it causes that game wants write zero length file to running directory (which needs write access). (I think it is know bug on libmikmod). If Freesynd is not even needing mikmod it could be wise to drop it. |
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
Hi Estel, I would also be interested in how you have mapped the mouse buttons to the modifier keys.. I have already re-mapped my own keyboard with the Shift+Fn extras, and enabled full screen of applications using xbindkeys ctrl+up. Which files need to be edited for mouse buttons? Thanks, DG |
Re: FreeSynd (Syndicate open source engine) port to maemo
It's off-topic here, but may be useful for You and other people askign same question - just put:
Code:
# Shift+Tap=middle click; Fn+Tap=right click /Estel |
Re: FreeSynd (Syndicate open source engine) port to maemo
Sorry, I PM'd you about this at the same time you replied in this topic.
Thank you for the guide! |
Re: FreeSynd (Syndicate open source engine) port to maemo
Finally!, I could link the libraries statically, thanks Aapo.
I uploaded freesynd to extras-devel. To play it you must copy the data dir from the original Syndicate game to /home/user/MyDocs/Games/syndicate, you can change this location from the config file. The config file is generated the first time the game runs in /home/user/.freesynd/freesynd.ini Have fun! |
Re: FreeSynd (Syndicate open source engine) port to maemo
Thank you for your work! The game is great. But can you optify the package completely? It takes 3MB of rootfs.
|
Re: FreeSynd (Syndicate open source engine) port to maemo
Quote:
|
Re: FreeSynd (Syndicate open source engine) port to maemo
No objects positions on minimap. Is it known bug or can i do something?
|
All times are GMT. The time now is 18:57. |
vBulletin® Version 3.8.8