News | Forum | People | FAQ | Links | Search | Register | Log in
QuakeDroid - Quake For Android
QuakeDroid is Android Quake that should run on any Android phone made in the last 5-6 years, but has only been tested on 2 phones (one 32-bit, one 64-bit).

http://quakeone.com/quakedroid

Designed to have controls similar to popular mobile games (/cough Minecraft). Went deep on the documentation to try to empower the user.

Does not require Quake to install, it downloads Quake shareware on startup.

* How to put your TrenchBroom/J.A.C.K map on your phone
* Where is your Quake folder?
* Difference between shareware vs. registered Quake
* Put registered Quake pak1.pak from Steam/GOG on your phone
* How to set a startup command line.

The menu has 2 methods of navigation, you can touch items like "Single Player" or manually slide the volume slider bar or use the menu nav buttons.

* Tap-fire (double tap on an Ogre to shoot it)
* Drag-look (like Minecraft)
First | Previous | Next | Last
 
Also, I'm curious why you don't use the centered deathmatch statusbar feature? Yeah, I know your screenshot is original, original Quake status bar and I get having a preference for that.

/Regretable 2x post instead of including that above :( 
 
Actually this is not the case of a very specific resolution and console size -- it's the built-in "Autoscale Medium" option, which will probably appear identical in every resolution(?). At least it looks virtually identical on my XP Netbook as it does in the Android screenshot (see first image):

https://imgur.com/a/yB6j1YT

The first image also demonstrates why I use the Quake Default status bar position -- it allows player names to be displayed to the right of the status bar. Having the status bar in the center (single-player style) does not allow this (which is, of course, unnecessary in single-player), so you lose some information when playing online.
Honestly, this is one of those little niggles I have where you changed a Quake Default which causes a slight determent to functionality (the conveyance of some information). I even mentioned this on the old Mark V page, in #1110, hah: "Why did the HUD move to the center (single-player style) instead of moving to the left edge (deathmatch/proquake style) like it used to, so you can also display some player names in the extra space...."

At least in this case there is a clear menu option to return to the Quake Default value (so I haven't chosen to complain loudly about this "feature" ;). But I do feel the Quake Default should be the Default for Mark V as well -- the engine should start users out at the defaults, and allow them to tweak from that starting point, according to their taste. You've changed the default based on your own tastes....

Though on my Android device, the screen space doesn't automatically allow room for the player names at the "Auto Medium" setting, so I will have to tweak the scale manually to make room (the names don't appear if there isn't room based on resolution, so they weren't in my Android screenshot).


Back to the FPS text. As the 2nd screenshot shows, it used to be teeny-tiny, which was acceptable on a laptop screen. But you can see it's not an issue having text on the same rows of different size. However, both "too small" and "too large" are not good. Currently it's "too large." I accept that it will sometimes bump heads with other screen text, but that problem can be mitigated by making the text a bit smaller in this case.

I originally thought just linking the FPS (and POS) text scale to the status bar scale would be better (the clock text is a reasonable size -- and I wanted to be able to scale FPS separately from the other screen text), but you mentioning that the showpos text was "developer info" gives me another thought...

You should have a separate scr_ something scale variable for the FPS, POS, and Texture Pointer text (Texture Pointer text also suffers from being teeny tiny in Android). I'm not sure if there are any other onscreen texts that fit into this "information" category. But this would allow us to set a reasonable size for all this on-screen info text, no matter what resolution, without messing with the scale of other game elements. This would be ideal, I think. scr_infoscale? scr_infotextscale?


And yeah, I do normally run (when I play in Mark V) with scr_showpos ON (along with showfps). Why? I like having access to lots of information (like those deathmatch player names). Always being able to see the FPS helps me determine what things greatly affect my FPS, which allows me to tweak my settings to strike a balance between "looking nice" and "performance." "Performance" may not be an issue for people with powerful computers, but I'm still using my XP Netbook (and now Android) so it's important to be able to squeeze out better performance. For example, seeing my FPS lets me see how badly Mirrors harm my FPS! (by the way, Mirrors should be Defaulted OFF, as in standard GL Quake, since it's an optional visual enhancement that greatly affects performance ;) and there's not even an easy menu option to return to Default in this case...).

As to why I keep scr_showpos activated, that's another case of "Gunter doing unusual things in FvF that most people would never think of...." In FvF, you get more bonus points at the end of a level if you have killed 100% of the monsters. So the players usually scour the levels to find every last one. I have an admin command that will locate all the remaining monsters and print their coordinates on screen (sometimes they get stuck in walls or we just can't find the last few monsters on a large map). Before Mark V had the showpos ability, I programmed in a way for players to check their own location coordinates when using the info [ key built into FvF. Knowing your location and the monster location helps you find your way to those last few hiding monsters. But now I just tell people to use "Quake GPS" with the scr_showpos feature, which is much better than having to press an info key repeatedly. So yeah, I know for a fact that me and other FvF players have used your scr_showfps feature as a part of our actual gameplay, to enhance our game :D 
 
... I meant, "I know for a fact that me and other FvF players have used your scr_showPOS feature as a part of our actual gameplay, to enhance our game"

Made it all the way to the end of that long post and typoed the final thought!

Now that's regrettable ;) 
 
4) Texture mode works (mh, dumptruck_ds)

Confirmed; everything looks nice and crunchy now.

With the menus up, the square "touch" regions overlap the menu graphics. This is normally not noticeable, but is very much so in e.g. the Options menu. This is a visual glitch rather than a functional issue, but if you're going for the extra layer of polish, IMO you should be fixing it.

When running a demo, touching the screen anywhere should bring up the menu. This removes one barrier to entry for new players, and is also consistent with stock Quake's "during demo playback, most keys bring up the main menu": https://github.com/id-Software/Quake/blob/master/WinQuake/keys.c#L685 
@mh 
The any touch while start demos = console slipped through the cracks. I'll be addressing that hopefully today.

I hear you and agree about the options occasionally overlapping with the other UI controls.

I've been focusing a bit on function over form at the moment to try to thin my todo list way down. 
 
Using GL 1.98, still crashing with: Cache_MakeLRU: active link.

Though my player seems to disconnect right away when this happens, when before he would stick on the server as a disconnected player for a while.... 
 
Lest we forget, Quake's cache memory exists because it needed to run on a P60 with 8MB of RAM running an OS with no virtual memory.

That's why it got a caching system that kept stuff in memory between map changes (for faster reuse), but was able to evict stuff from memory at any point in time too (in case memory ran out), as well as on-demand load previously-evicted stuff (in case it was needed again).

That's also why as soon as ID moved away from those constraints they got rid of the caching system. 
 
@mh - Yeah, I have been looking around your cache system code within the last several minutes.

I suspect SDL2 on Android is hostile towards the Quake sound system or at least feature incomplete compared to SDL2 on Windows. 
 
It's been a while but IIRC getting rid of the cache system for sound is a little more work than for MDLs. Probably the least intrusive way is to just replace it with a malloc, but if you want runtime game changing that's not going to play nice. Look at Quake II's sound loading code as well; it's instructive to try port that to stock WinQuake as it has better implementations of a lot of this stuff, but yet is not too wildly different. That should then set you up nicely for implementing similar in your own engine. 
 
It's been a while but IIRC getting rid of the cache system for sound is a little more work than for MDLs. Probably the least intrusive way is to just replace it with a malloc, but if you want runtime game changing that's not going to play nice. Look at Quake II's sound loading code as well; it's instructive to try port that to stock WinQuake as it has better implementations of a lot of this stuff, but yet is not too wildly different. That should then set you up nicely for implementing similar in your own engine. 
 
It's been a while but IIRC getting rid of the cache system for sound is a little more work than for MDLs. Probably the least intrusive way is to just replace it with a malloc, but if you want runtime game changing that's not going to play nice. Look at Quake II's sound loading code as well; it's instructive to try port that to stock WinQuake as it has better implementations of a lot of this stuff, but yet is not too wildly different. That should then set you up nicely for implementing similar in your own engine. 
QuakeDroid Update 
Download: QuakeDroid GL - skybox/fog/etc

1) Gamma slider now available (gunter)
2) Tap during demo brings up menu (mh, qmaster)
3) Possibly exit hang fixed (qmaster)

In the future, I'm going to rewrite the cache system to work around gunter post #242.

The gamma system is texture gamma, so if after releasing the slider it takes a moment for it to apply the gamma -- that is expected. It waits 0.35 seconds after you stop adjusting to apply it.

In the future, may put "Applying gamma ..." in the middle of the screen when it is doing that. 
 
Hm, in the Preferences you can change the aim assist to "Off" or "Quake Default." How about "Always On," meaning that Quake's traditional keyboard vertical aim assist would function regardless of if the server has disabled it....

Servers disable it because mouse aimers hate it. It actually makes it harder to aim accurately. But keyboarders could still really use it...

And yeah, I know, having it be client-side like that starts to sound like an aim bot, but I re-iterate I'm only talking about Quake's standard sv_aim feature for keyboarders, which, for the most part, just messes you up in deathmatch, but can really help keyboarders in online coop (I have been testing Quakedroid with keyboard only; aiming up and down is difficult!). 
 
I don't think it's going to be easy to move sv_aim to client-side - have you actually looked at how it's used, so that you can understand what you're asking for?

The sv_aim cvar is actually only used by QC; to be more specific, the QC "aim" function, which calls into the C code. There is no other entrypoint for use of sv_aim.

Rather than making it client-side, a more useful approach might be to have each player use their own version of sv_aim, so that rather than one sv_aim cvar there are 16 of them. That might work. 
 
Then I suppose it would have be basically a client-side aimbot that only mimicked sv_aim behavior... which is probably beyond the scope of what Baker would want to do for QuakeDroid....

Of course, touch-aiming allows easy vertical aiming, but currently touch-aiming is disabled when the keyboard is being used. 
Esoteric Request 
Who the hell plays with only a keyboard? Quake is the grandfather or mouse look games. I'd like Baker to spend his time on meaningful code. 
And 
I should add, I am aware we're talking about QuakeDroid. But the number of ppl who will play this I general is small. The subset of ppl who will play with a controller is smaller. The number of ppl who will play with keyboard only has to be nearly non-existent. 
Cheats! 
ignoring keyboards, autoaim is still fairly important for gamepads too.
at its most basic, all it'd need to do is to reduce non-mouse sensitivity while the crosshair is over entities flagged with U_NOLERP (aka: U_STEP), or something (the other option is to network an additional takedamage==AIM flag).

Regarding keyboard users, the view already auto-pitches according to whatever slope the player is standing on (assuming mlook is off). Pitching it towards enemies too might not be too unreasonable as sv_aim basically does exactly this already.
Note that this could actually be done fully serverside inside SV_SetIdealPitch. Keyboard users would then auto-pitch while mouse users wouldn't even notice, both would be catered to without adding any new settings - but what kind of weirdo still favours keyboard-only?!?

The other option is to add some extra userinfo setting(like name/colours) to control sv_aim on a per-client basis, but personally I'd rather the actual viewangles changed instead of just the weapons. 
 
For reference, in QuakeWorld if the server had autoaim set, you could opt out of that by setting "noaim 1" in your client. 
Kindle Working 
Yeah, so thanks for fixing that. 
 
Tried it on a Pixel 2 just now. No joy so far...

On launching I get this message: http://www.eclecticmenagerie.com/jl/temp/msg1.png

Which then leads to: http://www.eclecticmenagerie.com/jl/temp/msg1.png

I tried rebooting the phone, didn't help.

Then I tried manually creating and populating the Quake directory.

Made the directory here: http://www.eclecticmenagerie.com/jl/temp/storage.png

Put pak files in it like so: http://www.eclecticmenagerie.com/jl/temp/quakedir.png

Same result when trying to run the app.

Was just curious, so I'm not raging at the sky here, but if there's anything you want me to do to help debug this let me know. 
 
Ah duh, it needs an id1 subfolder. For some reason I thought I saw that this app was doing that differently. 
@brassbite, @johhny 
@brassbite: Awesome, thanks for the confirmation!

@johnny: Did you get it to work? I'm thinking you did. I'm not sure why it would work differently on that phone vs. all the other phones the various others have tried, but yeah, I care of course! 
 
Yup works now. Didn't auto-download pak0.pak, but worked when I put the paks in. 
@gunter 
Yeah ... mh and Spike's comments.

I don't want to add "bot-like" behavior and cannot control what a server uses for settings or QuakeC. 
 
Ok, here is a demo that shows the weird centerview behavior near the end. I don't know how long the whole demo is, but it starts out in e4m7, when I reconnected with the software version because the hardware version had just crashed with that cache error. Centerview kept working fine, until we got to e1m3 at about 18 minutes in, right as we were about to exit. But around 25 minutes into e1m3 there are some good examples of me testing it and saying when I was pressing the button, then I'd wait, and then my view would be centered like 15 seconds later without me touching anything. I'm not positive I was tapping the correct button a few times before that when it didn't seem to be working at all (small android keyboard) but the other guy on the server experienced the same issue at the same time I did.

http://fvfonline.com/centerview_demo.zip 
 
Oh yeah, additionally, I find that gl_overbright 0 causes things like doors and ammo boxes to... uh... get extremely blurry to the point where it looks like they are textureless. 
 
Demo acquired.

saying when I was pressing the button

Excellent!

This one has my curiosity. I don't know how long it will take to develop some sort of plan, but an interesting bug and what should be enough evidence to trap it, is kind of like a 4D Rubik's cube. 
 
With pq_moveup 1 set, if you go in the water (I was in waist-deep) and tap jump, you just keep furiously bobbing even after you release jump. It only stops if you actually tap a +moveup key.


In android, r_bloom 1 causes a huge black square to appear and take up almost half my screen. Yeah, I know: experimental feature in development?


gl_flashblend 1 is causing many things to appear with a blue lightball instead of orange.... Watch the start demo and see the ogres and scrags glowing blue.


Tapping the power button on android (normally this would cause the screen to go to sleep) kills QuakeDroid and HARD NUKES all configs. It even erased my name, colors, and social security number. All default controls were set to ??? (nothing), and I had to delete the config.cfg file to even get those back.


I should start holding all my bug reports for ransom.... "Deliver OGG support to the dumpster outside of the Slipgate Complex, or you'll never see your precious bugs again!!" >:D 
 
:F

...

Uhhh, In the Mark V thread, Baker said:

Gunter, I just want to point out that it is impossible to play ogg on Android or an iPhone (without unacceptably chewing up metric shit tons of CPU -- hence the frames per second would be absolute trash --- because it is an obscure format and hence does not have hardware decoding in the processor)

Soooo, I just happened to be browsing the File Explorer on my Android device, and in the "Recent" section, imagine my surprise when I found (because I had been adjusting my alert sound): "hangouts_message.ogg"

I tap that and it opens right up in a Google Play Music popup right there on my screen....

So... yeah... it seems Android is FULLY CAPABLE OF PLAYING OGG FORMAT, and at least one Google app includes sound effects in OGG format....

...

Just Saying....


I guess it remains to be seen if it would actually affect the frame rate, but it seems that QuakeDroid does not yet include any music support anyway -- at least I can't get it to play the MP3s.

Though with Google having OGG support built in and used in some of its major apps on Android... I'd suspect it would not be a CPU-killing format on Android... otherwise... why did Google chose to use such an "obscure" format? 
Since This Is A Good Place For Quake For Android Questions.... 
Quake For Android [EDIT]
Posted by Reyond on 2018/05/29 21:29:46
Hello. I have a question about running my quake mod on android devices. Of course, I can launch quake on android using qi4a port. After that I can replace original ID1 folder with my one.

But what should I do if I decide to distribute my game? How can I add my quake mod to Google play? Is it possible to make .apk file with my mod?


#1 posted by Spike on 2018/05/29 22:01:04 spam
Depends on the engine as to whether it already works. I implemented it into FTE, where it was really handy for touchscreen widgets etc, so maybe it'll work in qi4a(aka dp) already - check the path command to see.

apks and pk3s are basically the same thing so the bulk of the code is already there. Just remember that if you're nesting pk3s or paks inside an apk then be sure to NOT use compression when adding that file to your apk, otherwise seeking gets expensive. This is no great loss - other files can still be compressed, and any files inside the pk3 will still be compressed, just avoid paks).

#2 posted by Reyond on 2018/05/29 23:47:38 spam
Thanks for respond! I will try to do that with Qi4a. However, fte engine is my favorite quake-based engine but it has complicated and not really handy controls. I would like to use fte if it had handy control system. For instance I like how it is made in quake touch

#3 posted by Reyond on 2018/05/30 02:21:40 spam
Also, in FTE port movement buttons and rotating does not work at one time.

#4 posted by anonymous user on 2018/05/30 04:42:05 spam
"QI4A is broken for good I'm afraid. I know this because I had to fix the issue it has in order for QVR (Quake VR) to work correctly. Basically the problem is Android 5 introduced some security checking on calls to snprintf, which means a null string is returned if it detects invalid characters in the input string. As Darkplaces uses certain characters in its netcomms code, it is failing on starting the game on Android 5 and above and is unable to go any further." 
 
So, I acquired a USB OTG cable from ebay for under $1 (great option as long as you don't mind ordering directly from China and waiting weeks for it to arrive... and I'm a cheapo who hasn't upgraded his WinXP netbook, so that works for me!).

I hooked up a USB mouse, in an attempt to make my teeny tiny Quake device ( http://www.fvfonline.com/forum/viewtopic.php?f=4&t=3810 ) as much like a teeny tiny PC as possible.

Well, mouse control obviously hasn't been considered in QuakeDroid, but it does function at a system level in Android (just like OGG decoding! XD ), and shows a mouse cursor on the screen.

It thinks my screen on QuakeDroid is rotated 90 degrees to the left though (same with the softkeys being along the right side of the screen), so when I move the mouse up, it moves left on the screen, moving the mouse right moves the cursor up, etc.

It acts as a "touch" rather than functioning as actual mouse1 or other mouse motions. If I hold down mouse1, then I can "drag" the screen around just like with touch aiming. Double-clicking makes it fire, and I can click through the menus (sideways...).

And if I use the mouse cursor to press any of the onscreen controls, it activates that control, just like a touch.

So actual mouse controls might be viable, assuming the mouse can be separated from touch controls. But I'm not sure how possible that is.... 
 
I have never seen any app for android, where the mouse does more than stay a cursor. Mouse is probably not supported in a way that would enable FPS Gaming.
Though in PUBG Mobile, there are people ”hacking“ which means Android emulator users from Windows using Keyboard and Mouse. Those are not supported by the actual game and are very unfair for other players. 
 
relative motion requires android 7.0, and even then I've no idea how to hide the cursor itself.
android just wasn't made for mice... 
 
Hm, there do seem to be some methods for distinguishing mouse input: https://stackoverflow.com/questions/12705117/handle-all-mouse-events-in-android

At the very least, perhaps the mouse could still operate the menus, if QuakeDroid and Android could agree about which direction was "up." 
Feature Request For Your Next Coding Season 
https://drive.google.com/file/d/1JS7NOUA9YEF-CObz6W26uApqjIwpV54s/view?usp=drivesdk

I'd like to play in ”full immersive“ mode, without the black Android navigation bar with the gray triangle, circle and square (see scr.)

Also, I am unable to play mp3s. My CD-Rips are mp3s at 256kbs, because I have enough space for good quality.
Do I need to lower the bitrate? Which bitrate is recommended? 192kps? Or even lower? 
 
How to compile quakedroid?
i got this error

executing external native build for ndkBuild 
Compiling QuakeDroid ... 
Assumes you have quakedroid_gl_source_20180508.rar downloaded ...

For source folder named:

C:/quakedroid_gl_source_20180508/Android_GLQuake

Open folder C:/quakedroid_gl_source_20180508/Android_GLQuake

// 1. "make_symlink.bat" may need admin privledges to create the symlink ...
make_symlink.bat (double click me ... you need only do this once to build folder reference)

// 2. Compile ...
gradle_assembleDebug.bat (double click me to compile!)

// 3. Install on your phone with USB cable connected otherwise having your phone with ADB development mode available
// Which may require drivers
adb_debug.bat (double click me me to install on your phone!)

Android development can be cruel and brutal.

Android NDK (C/C++ code like QuakeDroid) is several times as cruel, as Android is geared towards Java and support for C/C++ code is awkward.

It is best if you do several Android tutorials before stepping on to this playing field to get your phone setup right and get a handle on the basics!

Finding adb drivers for your phone might be a challenge or it may go easy ... for my phone finding the drivers was moderately difficult and it was a minor nightmare finding them for my phone model.

Every phone has a different manufacturer and tons of models, etc.

ericw compiled without guidance, so I think I did a pretty solid job making it as easy to compile as possible.

May fortune ever be in your favor! 
 
I found the problem,that was whitespace in Program Files (x86),dumb error:)

another problem in
C:\quakedroid_gl_source_20180508\SDK\Core\core_sdl.h
Error:(47, 19) SDL.h: No such file or directory 
 
SDL.h: No such file or directory

See #2 above "make_symlink.bat (double click me ... you need only do this once to build folder reference)" 
 
I tried,its show this:

C:\Windows\system32>rem cd "C:\androidprojects\SDL\app\src\main\jni"

C:\Windows\system32>rem we are in C:\Dropbox\quakedroid_source_20180401_controllerus_functional2\SDK\SDL2-2.0.8\android-project

C:\Windows\system32>rem need to nav to app\src\main\jni

C:\Windows\system32>rem sym to here C:\Dropbox\quakedroid_source_20180401_controllerus_functional2\SDK\SDL2-2.0.8

C:\Windows\system32>rem Kill the fake folder

C:\Windows\system32>rmdir /s /q app\jni\SDL2
The system can not find the path specified.

C:\Windows\system32>cd app\jni
The system can not find the path specified. 
 
Forget about all this:)
just done that commands in cmd

got apk:)
Uploading file
local path: C:\quakedroid_gl_source_20180508\Android_GLQuake\app\build\outputs\apk\QuakeDroid-GL-debug.apk 
Issues With Arcane Dimensions 
I tried to run AD in this, used the command txt file to select -game ad, and it loads the menu correctly, but touch controls no longer work at that point. Is this a known bug? 
@arfink - AFAIK Should Work (screenshot) @brassbite/@gutner 
To the best of my knowledge, it worked for me during testing ...

AD 1.5 QuakeDroid screenshot

I mostly only checked if it loaded, walked around the map and admired the view and then moved on to the next thing on my list when I was testing.

You might uninstall AD and then reinstall it -- maybe you have a file that only partially copied or something? If you continue to have the problem after a delete AD15 and then reinstall AD15 and especially if others say they do, I'll add it to the list of items to investigate when I code next which is probably around Christmas.

@brassbite - Didn't get around to adding the soundtrack support to QuakeDroid because I ran out of time -- every time I was trying to do it someone discovered something during testing that needed immediately attention.

So adding soundtrack support in is #2 or #3 on the list for when I code again around Christmas. 
 
I was using 1.7 fwiw. I can try with 1.5. 
 
Oh yeah, and it might be an AD 1.7 thing anyway since the mouse driven menu from regular ol PC Mark V also doesn't work with 1.7 either. 
 
Just tried AD 1.7 and then 1.71. Not able to replicate your issue. Mouse driven menu works fine. I also opened AD's 1.71 quake.rc file to see if it contained something unusual ... it didn't.

Obviously you have something going on, but I wasn't able to cause anything unusual to happen.

/Delete config.cfg and autoexec.cfg? 
@arfink 
Replicated your issue.

Sometimes when the config.cfg is being written, for reasons I don't understand the config file gets truncated and it doesn't write the whole thing. Must be some sort of "Android NDK thing".

Delete your config in ad folder.

When I do an update next around Christmas either I'll do some research and find out why Android NDK may sometimes write incomplete files or have QuakeDroid ignore an incomplete config by writing a checksum into the config header.

Android is known to arbitrarily terminate applications whenever it likes, which means verifying the file wrote completely wouldn't work if that is what is going on.

But one way or another, when I do an update around Christmas, I'll make this problem impossible. (Especially since it is very annoying.)

/Excellent bug report! 
 
I deleted config files in AD and id1, as well as autoexec, and it didn't seem to help. I'll putz around with some other stuff too. 
 
Btw, I did want to say, despite my issues with AD, everything else I've tried has worked amazing. I'm going to be getting a GPD XD Plus this week and I'll try it on that as well. I suspect that will be an excellent match. 
 
And my phone that I've been testing on is a Lenovo Moto e4. 
Touchstick Controls? 
Any chance you've messed with adding Touchstick style controls (like in *cough* Minecraft or PUBG), and the ability to hold shoot down and then still look at the same time. 
 
When I work on stuff again around Christmas, I'm going to hit up controls more.

Never forgot about your input on that, it just kept getting bumped by [insert bug report] or [insert usability issue]. 
Rotated Display On GPD XD+ 
I just got my GPD XD+ today, and while QuakeDroid seems to work really great, there's a major issue: the display is turned 90 degrees, and I can't seem to figure out how to fix that. Any ideas? 
 
Do you mean upside down?

Or do you mean it renders as a tall screen like this picture
 
Yes, tall and narrow. No idea why though, it's really weird. But the controllers face the right way iykwim 
 
In Menu->Options->Video Mode, what resolution does it say?

I agree this is major issue, so I will try to do an update Sunday to solve your issue if time will allow me to do it.

Android is really diverse in devices, versions and configuration. 
 
It lists my res as 720x1280. Also noticed that sometimes the sound randomly doesn't work, but closing and reopening a couple times brings sound back magically. 
@arfink 
I have the new "portrait-verify" version done that I hope will resolve your.

I'll be uploading it in the next 24 hours after I double check some things tomorrow.

Since I don't have the issue myself, you are the only one I can think of that can verify it solves your issue. 
 
>>Also noticed that sometimes the sound randomly doesn't work

i got this issue too 
 
I'll keep an eye out for your update. Looking forward to trying it out. 
@arfink 
QuakeDroid GL Orientation Detect Fix:

Download: Android APK

I think it should work. But coding for a situation you cannot duplicate is never a sure thing.

Let me know! 
 
I'm happy to report that your fix works great on my 2018 model GPD XD Plus. For other GPD owners who care, I suggest setting the gamepad touch mapping off (push the gamepad button and push reset) and then use the config GUI from GPD to select Xbox control emulation. Works great! 
 
I am glad it solved your issue. 
 
https://youtu.be/Fdh3Gd_5eHk

Well, here's proof it worked. Thanks again Baker! 
Possible Feature 
Some apps appropriate the volume buttons for their own purposes (example: naked browser, which can be set so that it navigates through tabs). Such buttons could be used for weapon switching. When doing this, the "next weapon" button could be done with, enabling more screen real estate.
Having this in a vc repo would enable us to contribute an ease your job too ;) 
Controls Are The Most Important For The Moment 
 
Feature Request 
Add support for the volume+ button to shoot, volume- button to cycle weapons. Surely this is possible since the camera app can takeover the volume buttons to take a picture. 
First | Previous | Next | Last
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.