Jump to content

GEMRB on Android


Guest Chas Grady

Recommended Posts

PLEASE, do use a pastebin (eg. pastebin.ca/upload.php) or if you're willing to put more time into learning git, publish a fork on github. Forums kill tabs and provide no syntax highlighting. :)

Split your diffs into chunks of related changes and minimise needless noise. If you'll be using diff manually, please use the -u option instead of -c and -w to kill the whitespace noise.

 

All this makes the review, application and dealing with regressions much easier.

Link to comment
PLEASE, do use a pastebin (eg. pastebin.ca/upload.php) or if you're willing to put more time into learning git, publish a fork on github. Forums kill tabs and provide no syntax highlighting. :D

Split your diffs into chunks of related changes and minimise needless noise. If you'll be using diff manually, please use the -u option instead of -c and -w to kill the whitespace noise.

 

All this makes the review, application and dealing with regressions much easier.

I'm sorry. :) The next time I'll make it right.

Link to comment

Beholder,

 

I really wanted to try GemRB on Android, but I went a different (and ultimately less useful) path than you did. I installed debian on my Droid 2 and used the standard tooling to build and run GemRB. This debian runs X and VNC. I use a VNC Client for Android to view the debian desktop.

 

This situation is complex to use and gives a slow frame rate as you can imagine; however, there is one side benefit that I would like you to consider for your Android port of GemRB. The VNC client allows zooming and panning of the desktop. With my fat fingers, zooming is the only way I have been able to press the small buttons on PST in the lower right corner like the world map.

 

Also, a zoom and pan would allow small screens to run the game as well.

 

-ShadowJack

Link to comment

My build of GemRB runs with 20-30fps approximately. It's comfortable for playing.

Panning and zoom is not supported. Games can't run on devices with small-res screens.

But in the pelya's SDL-port is another feature - a magnifying glass. This function shows under finger space zoomed on 4x near. I think it's very usable for people with big fingers. You may install "free heroes 2" game from market to review this feature. This game use pelya's SDL-port too.

 

I plan to publish GemRB port next week.

Link to comment

None. And it's not any plugin's fault. Big crowded areas mean a lot of game data any way you put it. We do still load external areas too often (increasing the memory usage), since we don't have any code to properly inject outgoing npcs. There are other optimisations to be made (especially on the graphics side). Turning of fog-of-war should help a bit, but more to the processor.

Link to comment
Hope 256MB of RAM will be enough...

 

Not in all devices! Such as in Milestone maximum available RAM approximately 100-120 Megabytes.

lynx, what plugins I can exclude without sacrificing functionality to save RAM?

 

So that 100-120MB on Milestone should be enough or I misunderstand smth?

Link to comment
None. And it's not any plugin's fault. Big crowded areas mean a lot of game data any way you put it. We do still load external areas too often (increasing the memory usage), since we don't have any code to properly inject outgoing npcs. There are other optimisations to be made (especially on the graphics side). Turning of fog-of-war should help a bit, but more to the processor.

I think that SDLAudio, ogg and png not necessary, isn't it?

Link to comment

If you use openal instead, then sdlaudio is not needed, no. Only one is loaded anyway, so no gain there. The original data files don't contain ogg or png media, so these are definitely not needed. I doubt there is any relevant overhead though.

Link to comment
If you use openal instead, then sdlaudio is not needed, no. Only one is loaded anyway, so no gain there. The original data files don't contain ogg or png media, so these are definitely not needed. I doubt there is any relevant overhead though.

 

You were right. Exclusion of these modules are given nothing.

Only modern powerful phones will run GemRB. I hope that the algorithm will be optimized in future and will require less RAM.

Link to comment

In fact, the memory usage is a real problem for low-mem devices, such as milestone, especially on scene changing. It looks like GemRB, loading the new scene, doesn't unload the previous one... Lynx, can it be fixed, please?

Link to comment
In fact, the memory usage is a real problem for low-mem devices, such as milestone, especially on scene changing. It looks like GemRB, loading the new scene, doesn't unload the previous one... Lynx, can it be fixed, please?

It is intentional to keep some scenes in memory.

In some cases it would even break the game if we wouldn't do so (You are being followed by an npc, if we swap the area out, then it wouldn't be able to follow you, and the game cannot progress).

 

On the other hand, we should, and we will do some optimisations. Hopefully, the tile cache will be enough.

I don't expect much gain from other optimisations.

Link to comment

I tried to compile latest git. Not all of my patches have been applied and the project does not compile. I applied all patches on latest git and compile it. Thats all. I think that will no longer add the Android-specific code. Port is fully completed and ready to publish.

Also I include my patched BG1 scripts. These scripts solves following issues:

1. Game looks well in resolutions higher than 640x480

2. Fixed bug with "parts of save screen" that displayed after game saving ( http://forums.gibberlings3.net/index.php?s...st&p=178090 )

3. Fixed ColorPicker bug, I replaced radio-buttons to picture buttons (similarly GUICG13.py). It's not beautiful, but works normally.

4. Fixed bug with refreshing portrait in portrait window, if portrait is been changed.

 

My diffs created by "git diff".

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...