Android port

  • Thread starter Thread starter utunnels
  • Start date Start date
another big step ;D now it doesnt stuck at all, its almost perfect, theere is small issue when i wnt to walk up+left or up+ right cause i have to press exactly on the buttons and i cant slide my fingers through the surface to make diagonal walk, detection should be even more wide, i dont know how bounding boxes look like on each direction of virtual d-pad but "left" and "right" should go more to the top and end , maybe now each direction is like small button and theyre separated because when i want to walk up+right then my character just stops and im out of range which shouldnt happen, or maybe you could add some more areas to detect diagonals, i think its made here, cause diagonals detection is very good :
b4yp84.png


It would be nice to have some kind of option to have controls on top or bottom.Evrything is basically fixed now, its just this diagonals range and button placement. ;D
There is also one change - controls dont disappear, they are onscreen now for me in menu from the beginning and i dont have to press home button.
--
Ill explain the problem on this pic.
-  Red marked area is where character doesnt move anymore if i put my finger there

- Green area is how far detection range should go IMO onscreen for whole gamepad.

Detection should look like on previous pic, and green areas on previous pic from emulator menu is where diagonals are detected.THey figured it out quite right and works really nice in fighting games when jumping up or jumping forward which i found quite irritating in some other emus.
2s6qyyq.png
 
utunnels, the virtual buttons were great, now what? is possible to include the filters? is possible to make an option to configure physical buttons and touch hide? are made as the other emulators android? Thank you, and congratulations! ;D
 
Would any possibility of a future port to iOS? Thank you congratulations for the android port.
 
I use devices Chinese that have the android as system, JXDS5110 and JXDS601, they have physical controls, like the psp, other emulators, MAME, MD.EMU, NEO.EMU, etc., have the option of mapping the physical controls of the equipment in the same way as the xperiaplay ... ;)
 
Updated code to use sdl 2.0. That should fix some crash on certain devices.
 
Just tested the newest release, works nicely. Buttons disappear if I don't touch the screen for some time and the video is stretched to fullscreen. Thanks again, would be great if there was a way to choose different paks without having to move files between directories.
 
I dont know if it can be smoother than this ;D Its very very fluid now, you did amazing work here utunnels!
I have everything working like in previous version but its more smooth, haha its 60fps when i turn on debug info ;D
pak selector works fine from the beginning i can choose different mods.
 
I believe 60fps is limit of sdl/opengl.

Though on my phone, drawmethod like scale or rotate kills fps.

You can try some HD mod like Mass Effect, I guess you'll get around 40 fps.
 
I have tried ME HD.
It is about 45fps under 32bit.
Great port!


 
I've not tried this yet but judging from the picture could you please another screen mode where the openBor screen is smaller than the full size screen.

This is a freaking awesome feature that the Sne9XEx app has, which makes a enormous difference as you thumb isn't in the way any more.

I'll try to get a pic of it.
 
I remove that small screen feature is because I was planning an OpenGL backend so it will be there.
But now I found it is not necessary because SDL has all features I need and after all it uses OpenGL to render by default.

So probably I'll add a zoom option, or maybe portriat orientation.
 
Thanx, that would be great.

Once I tried using that smaller screen mode (its about 90% of original size) I found that I really enjoyed playing games on the android.
 
Seams that .ogg files are still giving problems on it.
When you clear a stage and go to another, it quits. And nothing is on LOG.
 
Yeah, by any chance if you can use adb to fetch debug messages things would be easier. For I can't have all those devices to test.

http://www.keyables.com/2012/06/how-to-install-and-use-adb-tool.html

If you have your phone's use debug enabled (usually it is), connect it with your pc and run adb logcat >C:\1.txt in your cmd box, play the game until it crashes, then ctrl+c to stop adb. The log should be in your C:\ as 1.txt. Compress it and upload it somewhere so I can see why it crashes.

If you want to examine the log by your self, just search for the keyword Fatal, the error message trace should be right behind it.



 
Thanks, I will take a look.
The log just says the engine is unloading the last stage, nothing more

Code:
Total Ram: 351592448 Bytes
 Free Ram: 2957312 Bytes
 Used Ram: 12978688 Bytes

debug:nativeWidth, nativeHeight, bpp  480, 320, 16

1 joystick(s) found!

1 joystick(s) found!
OpenBoR v3.0 Build , Compile Date: Jan  3 2013

Game Selected: /mnt/sdcard/OpenBOR/Paks/PDC.pak

FileCaching System Init......	Enabled
Initializing video............
Reading video settings from 'data/video.txt'.
Initialized video.............	480x272 (Mode: 1, Depth: 32 Bit)

Loading menu.txt.............	Done!
Loading fonts................	1 2 3 4 6 Done!
Timer init...................	Done!
Initialize Sound..............	
sound_load_sample: Failed to load: data/sounds/block.wav

Loading sprites..............	Done!
Loading level order..........	Done!
Loading script settings......	Done!
Loading scripts..............	Done!
Loading models...............

Cacheing 'Flash' from data/chars/misc/flash.txt
Cacheing 'dus' from data/chars/misc/dus.txt
Cacheing 'brFX' from data/chars/misc/brFX/brFX.txt
Cacheing 'super' from data/sprites/super.txt
Cacheing 'po' from data/chars/misc/po/po.txt
Cacheing 'spawnFX' from data/chars/misc/spawnFX/spawnFX.txt
Cacheing 'Reayon' from data/chars/reayon/reayon.txt
Cacheing 'Capcomm' from data/chars/Capcomm/Capcomm.txt
Cacheing 'textS' from data/sprites/text/textS.txt
Cacheing 'textB' from data/sprites/text/textB.txt
Cacheing 't01' from data/sprites/text/t01.txt
Cacheing 'Medicine' from data/chars/misc/Medicine.TXT
Cacheing 'Apple' from data/chars/misc/apple.txt
Cacheing '1up' from data/chars/misc/1up.txt
Cacheing 'Coin' from data/chars/misc/coin.txt
Cacheing 'Time' from data/chars/misc/time.txt
Cacheing 'Box' from data/chars/misc/box.txt
Cacheing 'Crate' from data/chars/misc/crate.txt
Cacheing 'Banner' from data/chars/misc/pideo1.txt
Cacheing 'Trash' from data/chars/misc/trash.txt
Cacheing 'Table' from data/chars/misc/table.txt
Cacheing 'Chair' from data/chars/misc/chair.txt
Cacheing 'Fence' from data/chars/misc/fence.txt
Cacheing 'Drum' from data/chars/misc/drum.txt
Cacheing 'Trolly' from data/chars/misc/trolly.txt
Cacheing 'Mine' from data/chars/misc/mine.txt
Cacheing 'bag1' from data/chars/TBAG/bag1.txt
Cacheing 'bag2' from data/chars/TBAG/bag2.txt
Cacheing 'Rifront' from data/levels/ryubg/rifront.txt
Cacheing 'Wind' from data/chars/Porta/Wind.txt
Cacheing 'Shield' from data/chars/Porta/Shield.txt
Cacheing 'Nao' from data/chars/basic/basic.txt
Cacheing 'Steve' from data/chars/basic/basic2/basic2.txt
Cacheing 'Enzo' from data/chars/basic/basic3/basic3.txt
Cacheing 'Hannah' from data/chars/basic/basic4/basic4.txt
Cacheing 'HanNPC' from data/chars/basic/basic4/basic4N.txt
Cacheing 'Kazui' from data/chars/basic/basic5/basic5.txt
Cacheing 'EvilBag' from data/chars/TBAG/TBAG.txt
Cacheing 'EvilRyu' from data/chars/EvilRyu/EvilRyu.txt
Cacheing 'Joem' from data/chars/joem/joem.txt
Cacheing 'Bala' from data/chars/stormtro/Bala.txt
Cacheing 'JoeHad' from data/chars/joem/joehad.txt
Cacheing 'Hado' from data/chars/basic/basic5/hado.txt
Cacheing 'fhado' from data/chars/EvilRyu/fhado.txt
Cacheing 'ShWave' from data/chars/misc/ShWave.txt

Loading 'Flash' from data/chars/misc/flash.txt
Loading 'dus' from data/chars/misc/dus.txt
Loading 'brFX' from data/chars/misc/brFX/brFX.txt
Loading 'super' from data/sprites/super.txt
Loading 'po' from data/chars/misc/po/po.txt
Loading 'spawnFX' from data/chars/misc/spawnFX/spawnFX.txt
Loading 'Reayon' from data/chars/reayon/reayon.txt
Loading 'Capcomm' from data/chars/Capcomm/Capcomm.txt
Loading 'textS' from data/sprites/text/textS.txt
Loading 't01' from data/sprites/text/t01.txt

Loading models...............	Done!
Object engine init...........	Done!
Input init...................	
1 joystick(s) found!
Android accelerometer - 3 axes, 0 buttons, 0 hat(s)
Done!
Create blending tables.......	Done!
Save settings so far........	Done!



Can't play music file 'data/music/boss.bor'
Level Loading:   'data/levels/ryubg/intro.txt'
Total Ram: 351592448 Bytes
 Free Ram: 4837376 Bytes
 Used Ram: 16293376 Bytes

Loading 'Rifront' from data/levels/ryubg/rifront.txt
Loading 'Hannpc' from data/chars/basic/basic4/basic4N.txt
Loading 'Banner' from data/chars/misc/pideo1.txt
Loading 'coin' from data/chars/misc/coin.txt
Loading 'Apple' from data/chars/misc/apple.txt
Loading 'Haru' from data/chars/basic/basic.txt
Loading 'Steve' from data/chars/basic/basic2/basic2.txt
Loading 'Hannah' from data/chars/basic/basic4/basic4.txt

Level Loaded:    'data/levels/ryubg/intro.txt'
Total Ram: 351592448 Bytes
 Free Ram: 3440640 Bytes
 Used Ram: 16420864 Bytes
Total sprites mapped: 301

Level Unloading: 'data/levels/ryubg/intro.txt'
Total Ram: 351592448 Bytes
 Free Ram: 4583424 Bytes
 Used Ram: 16437248 Bytes
 
Back
Top Bottom