Author Topic: AGS engine Linux port  (Read 25982 times)  Share 

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine Linux port
« Reply #180 on: 01 Feb 2013, 10:41 »
^^ If you think it is stable, feel free to merge it into master.

#2) Is there any real case where you want fullscreen but NOT stretch? I hate doing -fullscreen and the game loads and it's 320x200 with black border around the whole game. I'm thinking maybe we want to default to "stretch to fit" if the user selects fullscreen?
This seems to be a bug in Allegro to me or maybe it is just how Linux works, no idea. The problem is that on Windows the request for a fullscreen resolution that is not supported by the graphics driver will just fail. But on Linux it looks like the system returns success and then switches to the next best supported resolution (or does not switch at all in fact) which puts the game unscaled in the middle of the screen.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Re: AGS engine Linux port
« Reply #181 on: 01 Feb 2013, 18:35 »
Why should I do that right now? There was not a single change to the code since the last one.

I thought the savegame fix Crimson Wizard did landed. I misunderstood.

Re: AGS engine Linux port
« Reply #182 on: 04 Feb 2013, 16:06 »
Is there currently a way to do Fullscreen + Stretch on Linux? Or is your best bet to just do StdScaleX where X is as close as you can get? Does allegro offer any screen stretching modes?

Re: AGS engine Linux port
« Reply #183 on: 04 Feb 2013, 16:19 »
Or is your best bet to just do StdScaleX where X is as close as you can get?

I am doing it like that manually currently. I also have the problem that if AGS changes my resolution, it does not change it back afterwards. This could be Allegros fault. Maybe it would be best to let AGS never change the screen resolution on Linux, but choose an appropriate scaling automatically instead. What do you think JJS?

Re: AGS engine Linux port
« Reply #184 on: 04 Feb 2013, 16:35 »
Where do we stand on that savegame bug? I only ask because Wadjet asked me to package up a beta version of GeminiRue this morning.

Crimson Wizard

  • AGS Project Tracker Admins
  • not et suppotreD
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • I can help with translating
    •  
Re: AGS engine Linux port
« Reply #185 on: 04 Feb 2013, 16:53 »
Where do we stand on that savegame bug? I only ask because Wadjet asked me to package up a beta version of GeminiRue this morning.
Ouch. Didn't realize it is this urgent.
Well, I can push the changes to master right away, but some people, who were playing the games using those ports and have saves, will experience errors when loading em. By the way, Gemini Rue is exactly one such game, affected by the bug. With my latest changes, the original Gemini Rue saves should load, but older saves made by our engine wont work. I was only worried about possible complains, and wanted to finish convertion utility first, but seeing you want to make beta rigth away I may do merge.

Also, since now it is related to official release of commercial game, I guess we should be ready to fix anything ASAP, hmm? :)

Re: AGS engine Linux port
« Reply #186 on: 04 Feb 2013, 16:56 »
I'd rather do the launch right. I can tell Wadjet there is minor savegame bug we're still working on, and want to hold off. I'll defer to you as to when you feel comfortable with the engine. Seeing as this would be the beta of GeminiRue on Linux, most of the savegames should be new (i.e. not from an older version of the engine) so we should be OK there?

Re: AGS engine Linux port
« Reply #187 on: 04 Feb 2013, 16:59 »
No, if we can provide an engine compatible with Windows savegames, we should do it.

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine Linux port
« Reply #188 on: 04 Feb 2013, 17:00 »
Maybe it would be best to let AGS never change the screen resolution on Linux, but choose an appropriate scaling automatically instead.
I would say that this would be the best for Windows too. The engine knows the game resolution and it queries the desktop resolution so it would be possible to calculate the appropriate scaler automatically. Sinced scaled graphics are more costly on the CPU we should make this optional, maybe with a new scaler parameter like "StdScaleAuto".
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Re: AGS engine Linux port
« Reply #189 on: 04 Feb 2013, 17:00 »
Still the whole savegame issue is a bit of a mess. What I mean is that savegames have a different size on all platforms, which is something that I do not at all understand.

I was under the impression that save games were not compatible across platforms.

Crimson Wizard

  • AGS Project Tracker Admins
  • not et suppotreD
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • I can help with translating
    •  
Re: AGS engine Linux port
« Reply #190 on: 04 Feb 2013, 17:04 »
Ah, right, that plugin thing. They may save data differently on different platforms.
But, actually, I never tried Gemini Windows saves on Linux, I only know that PSP has difference from Windows. I may check Windows-Linux compatibility now.
Well, and I can as well just make the merge. If something goes terribly wrong we may make a revert.

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine Linux port
« Reply #191 on: 04 Feb 2013, 17:07 »
The original saves from Gemini Rue will not load on any other platform. Exactly because of the different plugin used. But if you use the same plugin on Windows, they are all compatible. In fact you don't even need the external DLL because ags_snowrain is built into the engine on Windows. (At least this is how it theoretically should work, I haven't tried in some sime :-)

Edit: Update on this issue. I could successfully load games made with the Windows engine with builtin plugin on Ubuntu 64 bit and vice versa. I had to fake the operating system version to return "Windows" on Linux because otherwise the game doesn't enable the rain effects.
« Last Edit: 04 Feb 2013, 17:16 by JJS »
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Crimson Wizard

  • AGS Project Tracker Admins
  • not et suppotreD
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • I can help with translating
    •  
Re: AGS engine Linux port
« Reply #192 on: 04 Feb 2013, 17:09 »
Okay, I did it. If something happens, you know whom to blame.  (roll)

Re: AGS engine Linux port
« Reply #193 on: 04 Feb 2013, 17:13 »
Yes, scottchiefbaker.  ;)

Crimson Wizard

  • AGS Project Tracker Admins
  • not et suppotreD
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • I can help with translating
    •  
Re: AGS engine Linux port
« Reply #194 on: 04 Feb 2013, 17:16 »
I still don't understand what is going on with plugin data in savegames. If the plugin is the same, why it saves different data?
I just checked snow/rain plugin quickly (one used by Gemini Rue). Why does it ever need to save something if its not Windows, while Windows does not save a thing? Or, putting this other way, why doesnot Windows version save anything? I am very confused.

Re: AGS engine Linux port
« Reply #195 on: 04 Feb 2013, 17:23 »
BigMc: can you do a build of your ags+libraries with the big merge that just happened? Can you give is a BUILD_STR=$(date +%F)? I'll use that binary as a basis for my Gemini Rue beta.

Re: AGS engine Linux port
« Reply #196 on: 04 Feb 2013, 17:34 »
I would say that this would be the best for Windows too. The engine knows the game resolution and it queries the desktop resolution so it would be possible to calculate the appropriate scaler automatically. Sinced scaled graphics are more costly on the CPU we should make this optional, maybe with a new scaler parameter like "StdScaleAuto".

If it is better, I think it should be the default and the option should be to turn it off. Something like allow_screen_resolution_change? One could use filters (including "None") to disable auto scaling. In windowed mode, the window could be scaled to something like the screen resolution minus 50(?) pixels in height per default.

BigMc: can you do a build of your ags+libraries with the big merge that just happened? Can you give is a BUILD_STR=$(date +%F)? I'll use that binary as a basis for my Gemini Rue beta.

BUILD_STR is not merged.

Re: AGS engine Linux port
« Reply #197 on: 04 Feb 2013, 18:52 »
Now that the savegame code is merged, are we ready to release beta test of GeminiRue? Wadjet has given me the data, we just need an engine to go along with it.

Crimson Wizard

  • AGS Project Tracker Admins
  • not et suppotreD
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • I can help with translating
    •  
Re: AGS engine Linux port
« Reply #198 on: 04 Feb 2013, 19:11 »
I guess so. Since it's beta test. Let's hope testers will test it good.




*chuckle*

Re: AGS engine Linux port
« Reply #199 on: 04 Feb 2013, 19:14 »
I guess so. Since it's beta test. Let's hope testers will test it good.

Well that's the intention! BigMc can you please build a new version of your ags+libraries? If you don't have time I can spin up a Debian Wheezy 32/64bit VM and build them. You already have that stuff, so it's probably easier for you. Should we need to look in to setting up a build system? Right now BigMc is our build system :)