[OLD-1] AGS engine Linux port

Started by BigMc, Sun 03/06/2012 19:04:20

Previous topic - Next topic

scottchiefbaker

I pulled the ags_shell.dll from my GeminiRue install. We need to finalize an acsetup.cfg file, and I think we're ready for a beta I can give to Wadjet? Anything else we need?

s_d

Not really!

If you wish to include a README.beta or something like that, you might mention the audio corruption issue observed on Ubuntu 12.04 & 12.10 systems, and the workaround of "pulsaudio -k".

So, what's next?  Resonance? Primordia?   (laugh)

JanetC

Quote from: s_d on Tue 05/02/2013 18:58:58So, what's next?  Resonance? Primordia?   (laugh)

I hope we can do all of them! :)

BigMc

Quote from: scottchiefbaker on Tue 05/02/2013 16:12:03
Do we need any of the sound settings on Linux?

No idea, I guess most Linux players kept them so far and they didn't do any harm.

scottchiefbaker

#244
Ok I removed that Windows DLL, and simplified the acsetup.cfg like I mentioned in the previous post. I'm pretty happy with this release:

[link to full commercial game removed by moderator]

I'll send this on Wadjet as their initial beta test.

s_d

Quote from: JanetC on Tue 05/02/2013 21:55:07
Quote from: s_d on Tue 05/02/2013 18:58:58So, what's next?  Resonance? Primordia?   (laugh)

I hope we can do all of them! :)

Awesome!  A drive-by Janet response  ;-D

Getting a game working on one's platform of choice for the first time is incredibly satisfying!  I'm hooked... it's so much more fun than writing drivers  :P

s_d

Quote from: scottchiefbaker on Tue 05/02/2013 22:55:30
Ok I removed that Windows DLL, and simplified the acsetup.cfg like I mentioned in the previous post. I'm pretty happy with this release:

http://www.perturb.org/tmp/GeminiRue-beta-2013-02-05.tar.gz

I'll send this on Wadjet as their initial beta test.

Yep, looks good.  Probably don't need any agsgame.log files or unins000.dat, but these are harmless and tiny.

scottchiefbaker

Quote from: BigMc on Mon 04/02/2013 22:04:52
EDIT: By the way, missing menu sound and rain in Gemini Rue are expected, because they were disabled by the creators unless you use Windows.

Can you shed some more light on this. It came up a LOT during the beta test we ran yesterday.

JJS

For some reason the game checks the platform it is running on. Only if the platform is "Windows" it will enable the rain plugin.

The mobile platform ports all report back "Windows" to avoid this issue (and similar ones with other old games). But for a new release this check should be removed in the game script itself.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

scottchiefbaker

I want to write a small configuration generator script for the releases. Is there a way to get the current display resolution from ags/allegro? Would it be possible to add a --display_geometry or something that would spit out: color depth, resolution, etc? Then my script could parse that and "suggest" intelligent defaults for the config?

For the Gemini Rue beta, a LOT of people complained about the game launching in fullscreen and only seeing a tiny postage stamp sized window in the middle.

BigMc

Quote from: scottchiefbaker on Wed 06/02/2013 17:02:17
I want to write a small configuration generator script for the releases. Is there a way to get the current display resolution from ags/allegro? Would it be possible to add a --display_geometry or something that would spit out: color depth, resolution, etc? Then my script could parse that and "suggest" intelligent defaults for the config?

For the Gemini Rue beta, a LOT of people complained about the game launching in fullscreen and only seeing a tiny postage stamp sized window in the middle.

Yes, because you used my binary from January 30. *facepalm*

JanetC

Quote from: JJS on Wed 06/02/2013 16:58:40
For some reason the game checks the platform it is running on. Only if the platform is "Windows" it will enable the rain plugin.

The mobile platform ports all report back "Windows" to avoid this issue (and similar ones with other old games). But for a new release this check should be removed in the game script itself.


This is puzzling. The latest build of Gemini Rue for PC does *not* use the SnowRain plugin. The snowrain plugin caused some problems on some people's PCs, so we got a custom module made that does the same thing. Gemini Rue shouldn't require any plugins at all.

BigMc

Is there maybe still a check for the platform to be Windows in place somewhere?

JanetC

Quote from: BigMc on Wed 06/02/2013 17:47:54
Is there maybe still a check for the platform to be Windows in place somewhere?

You are right. There is still some stray code that checks that it is windows. We will remove it and recompile.

Crimson Wizard

I actually remember I once made some mistake in game loading code (not sure), and when Gemini loaded, there was no rain. I could not believe my eyes :) Now I think I maybe screwed platform check return value.

But, hmm, thinking further about this. If rain is in script module, it might be pretty slowing factor for weaker platforms. Is it possible to, for instance, disable it for PSP, where we had speed issues lately? Just a thought.

JJS

I just tried the beta upload with the original Linux engine and a modified one that always returns "Windows".

Original: Neither rain sound effect nor rain.
Fake version: Rain sound effect but no rain.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

scottchiefbaker

Is it feasible to remove the Windows binary of AGS, and just leave the data files for Linux AGS to run? We had a user report that they double clicked GeminiRue.ags (which is the renamed .exe) because Gnome reported that it was a Windows executable and launched it with wine. Not sure if it's a big deal or not. Might not be worth the effort.

Crimson Wizard

Yes it's possible. There was an utility made for similar task: https://github.com/rofl0r/agsutils

JJS

#258
That utility cannot directly chop off the engine though. It can only extract everything and then pack it again. It should be trivial to make a script that removes the exe directly (if you don't suck at scripts like me). It is certainly no problem with a hex editor. The engine exe ends with "PADDINGXXPADDING", the data starts with "CLIB". Cut must be made in between. Also the end of the file contains the offset to the CLIB start iirc. Edit: Yeah, it is the 4 bytes directly before CLIB at the end of the file.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Crimson Wizard

Well, yes. I thought cutting data off will break offsets, but I rechecked the code and see that executable size is only added at the runtime (if it exists).
Also, ideally it should be Editor to allow compilation without windows executable.

SMF spam blocked by CleanTalk