QuakeDroid With Gamepad Support
#145 posted by Baker on 2018/04/16 10:38:13
Download: QuakeDroid w/Controller Support source: here
* Gamepad support (oGkspAz, Gunter asked for)
* Rare blue screen tint issue RGB565 (virto)
* RAM issue (brassbite)
Features the controller support implemented identically to Quakespasm, adapting the battle-tested controller code written by ericw (who supplied a reference on how to it efficiently).
This beta is to get the gamepad support out the door while a much more comprehensive update is in the making, hopefully out late this week.
Button names LTHUMB, RTHUMB, LSHOULDER, RSHOULDER, ABUTTON, BBUTTON, XBUTTON, YBUTTON, LTRIGGER, RTRIGGER. The DPad acts as arrow keys (and also supports diagonal movement), left stick moves, right stick looks (swappable).
#146 posted by ericw on 2018/04/16 18:32:58
Glad to hear you got it working! I can test an Xbox 360 controller on my tablet later today.
#147 posted by Gunter on 2018/04/16 19:15:30
I would test this... but... my little Dell Venue 7 tablet has decided that it is dead now. :u
I shall have to acquire another Android device.
Also, you need to add that gamepad support into Mark V as well.
@ericw, @gunter
#148 posted by Baker on 2018/04/16 20:11:47
@ericw -- I ended up writing a short story about it on the SDL2 forums explaining how it behaves differently on Android vs. desktop, perhaps for the benefit of someone else using SDL2 on Android.
I'm approaching QuakeDroid from a "perfect prototype" mentality from a user perspective. Or at least trying to. I'm only human.
Butane provided a link to q2 android (qii4a) and I saw that the DPad worked with my controller so I wouldn't accept the DPad not working in QuakeDroid -- a small addition beyond what your existing code did.
@gunter - aw that sucks. Sorry to hear that :(
Controller Would Make All The Difference.
#149 posted by apm on 2018/04/16 21:10:15
Hi guys,
I like this project a lot, and would love to get all my fav quake mods up and running on my android. But its damn near impossible to play without a controller.
I have a MOGA hero controller, is there any way this can qork with quakedroid? What to I have to do so set it up?
#149
#150 posted by brassbite on 2018/04/16 22:18:53
Make sure you installed the special build a couple posts up.
Pair your bluetooth input device.
Go into Quakedroid
At this point I was able to use the DPad and LStick (A- and B-Buttons) for Menu Navigation.
Ingame the walk and look stick were working.
Then I went to options and to controller options and rebound all the necessary buttons.
My gamepad: Gamesir G3s, can recommend, really noice
...
#151 posted by brassbite on 2018/04/16 22:27:15
My setup:
R2: shoot
L2: jump
L1: last weapon
R1: next weapon
Had a blast playing, much more fun than touch. Don't get me wrong because I got along quite well with the touch controlls.
Sadly the Kindle still shows a white screen whilst playing the demo with sound. I'm looking forwards to the other graphics of Mark V coming to Quakedroid soon, or what I think I saw in the screenshot. :D
#152 posted by Gunter on 2018/04/17 00:19:09
"@gunter - aw that sucks. Sorry to hear that :( "
Heh, thanks.
Ya know, it really does suck! Hah, it's way more stressful than it should be when one of our little tech devices kills over.... But it served me well, daily, for the last 4 years. I think something in the hardware gave out, because factory resets do nothing.
In any case, I've found a nice little 7" RCA Voyager Pro Android 6 tablet on walmart.com for just under $50. Gets high reviews. And comes with a nice little keyboard case and free 2-day shipping, so I should be back up and testing Quakedroid in a couple days.
#153 posted by Baker on 2018/04/17 03:32:35
@apm - Thanks! Always nice to have more interested parties. Like brassbite said, should work.
@brassbite - I only added controller support in that beta but I think I'll do another incremental and throw that in plus, if I am fortunate, a 2nd with what you correctly saw in a screenshot :D
@gunter - Awesome! That's funny that it comes with a keyboard too for under $50.
#154 posted by ericw on 2018/04/17 04:38:54
I didn't have any luck with my Xbox 360 wired controller. (no buttons/axes had any effect). Here is the qconsole.log:
https://pastebin.com/94T2xJ1N
It doesn't look like it was even detected as a joystick?
@ericw
#155 posted by Baker on 2018/04/17 05:39:09
Hmmm. Does it show as a bluetooth device in Settings->Bluetooth?
I suspect it is not showing as a joystick to SDL, but in the next incremental I'll add a warning for devices that cannot be opened (I can't entirely rule this out, I'll have it print unopenable devices in the next incremental).
I posted a code block @ insideqc code that shows what it does when considering a device. Note it always prints something and didn't for your XBox 360 controller.
I have the number of buttons check to exclude the accelerometer.
By the way, should you ever be interested in compiling, it is rather straightforward and I'd be happy to assist.
GL QuakeDroid Beta - Fog, Alpha Textures, Mirrors, ...
#156 posted by Baker on 2018/04/17 14:00:28
Download: GL QuakeDroid
Screenshots: Rubicon 2 Honey QMB Option
Suggested: if QuakeDroid has been loaded before ...
1) Settings->Video Options->Brightness: Texture Gamma
2) Settings->Preferences->Autoscale: Auto Large
3) (Option) If you want QMB particles Preferences->Effects: QMB
The above are new default settings but would be off in an existing config.cfg.
Re: Xbox Controller
#157 posted by ericw on 2018/04/17 21:28:50
It's a wired USB controller connected to a "USB->USB C on the go" adapter. I actually don't have any other games to test it with so I need to do some more testing on my end, and I'll try compiling myself this week and see what's happening. I'm worried that the SDL "Joystick" api won't be compatible across different joysticks. As I understand it, they added the "Game Controller" api's to SDL2 as a layer on top of the Joystick API to give a consistent view of joysticks, so when the API says "left stick" or "A button" etc., it's actually that stick or button on the joystick.
Whoah - GL support! Nice!
#158 posted by mh on 2018/04/17 21:30:03
Runs well for me, but can the GL error pop-ups during startup be suppressed please? At least for second and subsequent runs? Having to click through 4 or 5 of them every time gets old real fast.
@mh
#159 posted by Baker on 2018/04/17 21:43:28
Whoa! I get zero GL errors during run, but I did the build in debug mode in the event someone had issues.
I'll suppress those in the next incremental and instead record them to log, but I want to know what they are.
@ericw
#160 posted by Baker on 2018/04/17 21:50:01
See the Butane qii4a post/link for an APK download for a different game with controller support.
Regarding the SDL2 joystick API ---
This is all new to me -- that being said, I looked at the SDL2 2.0.8 source code and it leverages native Android controller support which is extremely robust and standardized and mature.
So I am thinking the controller support is going to work almost universally.
Nonetheless, this is the thread where we find these things out ...
@mh - Part 2
#161 posted by Baker on 2018/04/17 21:54:52
I want to see more feedback, but the fact you have GL errors already annoys the hell out of me. I spent time studying the OpenGLES specs and was under the impression that it was pretty damn standardized.
/Pioneers, arrows in the back -- this is the whole purpose of exploring engine developing and killing these kinds of things, but damn ...
GL Errors
#162 posted by mh on 2018/04/17 22:03:20
Here's what I get; it's an el-cheapo Nokia 5 btw.
First is "Alert: GL_EXT_texture_filter_anisotropic" but no other info.
Then a 1280 at line 221 in GL_Evaluate_Renderer_CheckExtensions.
Then another 1280 at line 222, same function.
Then a 1280 at line 223.
Finally one more 1280 at line 224.
Following which it loads and runs fine. LIT files work, and VIS files also seem to do so; I have a bunch of them in a pak2.pak so I'm assuming it's getting them (I've deliberately avoided reading the code for feedback purposes).
@mh
#163 posted by Baker on 2018/04/17 22:10:06
Alright, well -- gives me an action plan.
And I'll act on it and address in the next build.
Still Trying To Get My Moga Hero Controller To Work
#164 posted by apm on 2018/04/18 01:36:52
which is unfortunate because i really want to have quake (and all the expansions) on the go.
the controller can controll the phone in the moga pivot app so its not a bluetooth thing, the controller works, but does nothering in qd.
please could you suggest a controller which you think is best to use for quakedroid. (im willing to pay for a new one just for this project).
I dont think my moga hero can work with quakedroid, i sure cant get it to work. I dont even know if it works outside of moga pivot games, confusing.
If anyone does mange to get this working with a moga controller please let me know so i can know if its worth persisting with this controller.
Might be worth considering moga support for quakedroid, seeing as i think it's a popular controller? Let me know what you think.
@apm
#165 posted by Baker on 2018/04/18 07:27:40
brassbite suggested a controller.
My controller, a ERO VR was $19.98 at Walmart.
#166 posted by Baker on 2018/04/18 07:28:12
Make that EVO VR.
/Typo corrected
@apm
#167 posted by Baker on 2018/04/18 07:53:46
You might try to see if your controller works with https://www.apkmonk.com/app/com.n0n3m4.QII4A/
When I was setting up my controller, the greatest initial difficulty was correctly pairing it with the device. I had to hit a certain combination of buttons to cause it pair as Android vs. pair as iPhone and my initial pairing was wrong.
I had to unpair the device entirely and then pair it again to get it to work right.
While the device was paired improperly, it still showed as a bluetooth device, but didn't work in any game.
/Ideas
GL QuakeDroid Slight Tweak (resolving Mh Startup)
#168 posted by Baker on 2018/04/18 17:11:05
Download: GL QuakeDroid April 18 2018
@mh/GL_EXT_texture_filter_anisotropic glerrors and notification no longer happen.
#169 posted by mh on 2018/04/18 17:42:48
Cool.
Won't be able to test until 6+ hours time at the earliest (it's the warmest day of the year and I have seasides to walk along, beer to drink and pizza to eat!)
|