Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - JJS

#41
Engine Development / Re: AGS engine PSP port
Wed 06/02/2013 17:14:53
There is an option for profiling on the PSP using gprof. I made a build for that and ran it on the Beacon and Gemini Rue main menu. These are the resulting logs: http://jjs.at/temp/profiling.zip .

Not sure how useful they are because the profiling makes the games run a lot slower. Not sure about Beacon but Gemini Rue went down from the usual 25 to 15 fps. I guess this will mess with everything that is timing related so the drawing/script processing ratio might be off. Also not sure if optimization is turned on while generating code for profiling.

The log indicates the most of the time is spent in ccInstance::ReadOperation.
#42
Engine Development / Re: AGS engine Linux port
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.
#43
Engine Development / Re: AGS engine Linux port
Tue 05/02/2013 08:51:12
Correct.
#44
Engine Development / Re: AGS engine Linux port
Tue 05/02/2013 08:45:58
Quote from: BigMc on Tue 05/02/2013 08:25:49Also, is ags_shell.dll a Windows plugin?
There is a function stub for it in the engine. This plugin basically provides access to the ShellExecute Windows API function. The Gemini Rue Demo uses it to open a website in the browser.
#45
Can you provide a savegame that shows the issue? If you cannot upload it, just send it to my email jjs@jjs.at. It is most probably a problem with backward compatibility.
#46
Engine Development / Re: AGS engine Linux port
Mon 04/02/2013 17:07:32
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.
#47
Engine Development / Re: AGS engine Linux port
Mon 04/02/2013 17:00:22
Quote from: BigMc on Mon 04/02/2013 16:19:41Maybe 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".
#48
The emulator is based on qemu and therefore offers full hardware emulation. But according to the last post, the "no music" issue only occurs on the Samsung Galaxy S3. I cannot reproduce it on my HTC Desire.

I don't see anything in the last changes that would cause music to stop. Would it be possible that the issue is caused by something else specific to the phone? I had weird issues that were caused by file system corruption which rather easily happens on Android in my experience.

Quote from: AGD2 on Sat 02/02/2013 22:43:02The keyboard still isn't possible to bring up on the Galaxy tablet/Honeycomb, though. And a small correction; the menu button actually disappears when you run the AGS app (not when you tap on a game from the list, like I previously reported). I took a video of this here. Watch at the end, after I hit the "Back" button and tap "yes" to quit the game. the menu button (which had disappeared) re-appears after AGS closes.
Ok, here is the problem: Starting with 4.0 there is no more "menu" functionality. Instead apps are supposed to use the "action bar". The problem is that AGS runs fullscreen which hides the action bar. I also don't see an easy way to display it (or the menu) on demand without interfering with the game itself.

A quick and dirty solution would be setting the target SDK version to Android 2.x. This will force the menu button to appear but it will also make all UI elements look very huge and ugly. Another solution would be replacing the "longpress on back" functionality with popping up the menu. At least I can reproduce the issue in the emulator because with recent updates it seems to display software buttons correctly.


Quote from: AGD2 on Mon 28/01/2013 18:43:483) An odd glitch that I noticed. I have "use custom preferences" checked for KQ3. For some reason, when I turn the phone sideways, the "use custom preferences" box suddenly shows as unchecked and all the other options revert to the 'default' state. If I then turn the phone upright again, all the checkboxes reappear. I can keep turning the phone sideways and upright and the options keep changing back and forth.

The opposite happens for another game which does not have "use custom preferences" checked. If I turn the phone sideways, then all the buttons do become checked and vice versa.

In the general/Global Preferences, I do have custom settings and checkboxes ticked. So maybe the individual game settings are getting confused and displaying those when turned sideways and upright?
I pushed a possible fix.



Quote from: Joseph DiPerla on Sat 02/02/2013 17:08:25Hey JJS, any chance you can also expose the ShowPreferences Activity with the intent filter like you did with the AGS Runtime?
Done. The parameters mean this:
Code: AGS

name = "5 Days A Stranger" // Is displayed at the top of the preferences, can be anything
OR
name = "" // Indicates that the global preferences should be shown

filename = "/sdcard/ags/5days/5days.exe" // Full path to the game exe
directory = "/sdcard/ags" // Path to the "root" ags directory


The position in the launcher is of no concern for your application.


#49
Done, new daily builds are now available.

They also include the possibility to open/close the keyboard from the menu. Maybe this works on the Kindle Fire.
#50
Engine Development / Re: AGS engine Linux port
Fri 01/02/2013 10:41:32
^^ If you think it is stable, feel free to merge it into master.

Quote from: scottchiefbaker on Fri 01/02/2013 01:45:33#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.
#51
Engine Development / Re: AGS engine Linux port
Sun 27/01/2013 18:46:45
Quote from: scottchiefbaker on Sun 27/01/2013 18:37:31Is that something that needs to be built ahead of time? I just assumed they would be built on the fly when we compile ags statically.
Yes, definitely. You have to get the sources for Allegro 4.4.x and DUMB (0.9.3 I think, the newest one), patch Allegro (as described above) and then build them. Allegro goes first, then DUMB because it depends on it (aldumb). You also have to ensure that DUMB uses the newly built static libraries instead of the system Allegro libraries. You can take a look at how the libraries are cross-compiled for Android: https://github.com/adventuregamestudio/ags/tree/master/Android/buildlibs/x86 This might help with where to get the libraries, the flags used and how to build them without installing them over the system libraries.
#52
Engine Development / Re: AGS engine Linux port
Sun 27/01/2013 18:14:38
I guess this would indicate that there are no static libraries for Allegro and DUMB present on the system?
#53
The engine invokes the standard system keyboard which should be configurable somewhere in the system settings. From what I can tell it won't work (no input is sent to the game) for swype or voice input, only with a standard keyboard. Other than that, I honestly don't know why the keyboard doesn't show on the Kindle Fire and I have no such device to test either.
#54
Engine Development / Re: AGS engine iOS port
Sun 27/01/2013 17:56:38
a) Well, technically you can do a build. But you cannot run it on your device. This is only possible with either a jailbroken device or a dev account. If you try to debug the app, xcode simply tells you that there is no provisioned device and refuses to launch.

b) There a a lot of warnings (the yellow stuff), you can ignore that. The red errors are caused by a missing C++ flag and should be fixed by the latest commits (update your sources).

Quote from: festilligambe on Tue 22/01/2013 17:24:52Is your eventual plan to have somehting that would help others put their AGS games into the apple store? Still there be plans for a versiont hat will make a standalone ipa file with the engine and game contained?
You will always need an Apple developer account and some knowledge of developing apps for iOS to bring an AGS game to the market.
#55
Engine Development / Re: AGS engine Linux port
Sun 27/01/2013 17:43:03
Try removing "-pie -fpie" from the CFLAGS for that last error.

Afaik (not) setting -DALLEGRO_STATICLINK does not make any difference for the non-Windows builds. All mobile versions get static linked with all support libraries so it is possible to static link. Exception is libc for Android and I don't really know how iOS does this as it gets handled behind the scenes by xcode.

A thing with static linking Allegro is that the library has to be patched. It boils down to renaming pack_fopen() (see here: https://github.com/adventuregamestudio/ags/blob/master/Android/patches/liballegro-4.4.2.patch#L2526 ).
When dynamically linking the library is patched at run time. This patching also has to be disabled by removing -DAGS_RUNTIME_PATCH_ALLEGRO from the CFLAGS.
#56
Quote from: Calin Leafshade on Tue 22/01/2013 09:35:28
Which function is causing that error?
Probably engine->GetVirtualScreen(). It is not possible to get the screen contents when using the D3D driver. Funnily enough, the function is called in the plugin but the result is never used.
#57
Engine Development / Re: AGS engine Linux port
Sat 12/01/2013 17:52:32
I guess it fails because the fullscreen video mode is set to 426 x 240. I doubt this resolution is supported by the graphics card. That Allegro does not error out earlier is strange though. If this is the cause, setting a 2x magnifying filter in the configuration file could solve the issue. This is a common problem on Windows too.

E: Actually, this line indicates that the video mode will fail later:
Code: text
AGS: Widescreen side borders: gfx card does not support suitable resolution. will attempt 426 x 240 anyway
#58
General Discussion / Re: AGS for android?
Wed 09/01/2013 07:32:54
Two things:
1. Is the storage available? It becomes unavailable while USB mass storage is connected to the PC.
2. Is the path correct? You can check and change it in the games list by pressing the MENU button and then "Select game folder".

The paths look ok in your screenshot.
#59
General Discussion / Re: AGS for android?
Tue 08/01/2013 08:16:21
5days a stranger uses midi music. You have to download another file to enable midi playback in the port. See the readme here: https://github.com/adventuregamestudio/ags/blob/master/Android/README.md

It should be possible to bring up an ingame menu by pressing the MENU (hardware) button on the device. There is an option to enter F-keys in it.
#60
I suppose this should be considered an engine bug?
SMF spam blocked by CleanTalk