Forums » Community Projects

DroidButtons plugin

May 24, 2013 draugath link
Last updated: 2014-08-04

Bug Reports / Feature Requests:
Submit a bug report/feature request
View existing issues

Disclaimer
This is a player-created plugin, and is not an official Guild Software product, and thus not officially supported by Guild Software. Please post in this thread if you encounter a bug, have a question, or have some other support request.

Introduction
The DroidButtons plugin allows users on the Android platform to create additional buttons on the HUD for an enhanced gameplay experience. These buttons can be assigned any commands.

Buttons
Each button can be assigned up to two commands, a short-press command and a long-press command. If a +Command is assigned as a short-press, then the long-press option will be disabled for that button. Commands to control movement of the ship can only be assigned as a short-press command.

Short-press commands are executed immediately (as in the case of +Commands), or upon release of the button if there is no long-press command assigned, or if the button was pressed for less-than the long-press delay if a long-press command is assigned.

The long-press command becomes active after holding the button for one second or longer and releasing it. Some +Commands (eg +Shoot2) can be assigned as a long-press command. If this is done, then the the cancel sequence will also need to be provided (eg +Shoot2 0).

GUI
There is a GUI for management of your buttons. When editing your buttons, there are two methods for placement. The basic placement method opens up the screen for you to tap the screen where you want it to be located. The basic placement method also supports snap-to-grid to help you align all of your buttons. There is also an advanced placement method which allows you to edit the locational and dimensional values of the buttons.

There are two ways to enter the commands you wish to associate with a button. You can press the dropdown arrow to the right of the field to choose from a static list of commands. You can also tap the text field itself to enter a command that is not in the list or to modify a command selected from the list.

Accelerometer
DroidButtons will also allow you to change what commands are bound to each tilt axis on the accelerometer. Due to issues currently beyond my control, if you enable custom binds on the accelerometer in DroidButtons and then later open Options > Controls, you will need to reopen DroidButtons and reset your preferred tilt commands. If you later decide you don't want custom binds, then after disabling them, you will need to open Options > Controls and reset the defaults in there. These controls are also still kind of rough, but they perform the necessary tasks.

Known Issues
Problem: After using the touch-to-place interface for placing buttons, the long-press option on the default UI buttons becomes disabled, preventing you from changing those buttons.
Solution: The current fix to this involves simply reloading the interface (/reload).

Commands:
/db -- opens the configuration GUI
/con -- this is a shortcut command for /consoletoggle
/reload -- reloads the interface (this command is specific to this plugin)

NOTE on Development
The development version appears to be mostly stable with regards to support for buttons and fields. The UI still needs to be cleaned up somewhat, and there are some additional features slated for the next version that still need to be added.

NOTE on iOS version
I don't have an iOS device to test with. I made some changes that should allow it to be manually loaded with the exact same functionality as on Android. Once you have it unzipped inside the "plugins" directory depicted on the far right in this image then you will need to open the console with the /consoletoggle command and then issue the command: /lua dofile("plugins/droidbuttons/main.lua")

Download:
Development - VOUPR - all official releases will be available there from now on (2013-05-24).
iOS - droidbuttons 2.0.0 a4 iOS

Installation:
Not all Android devices install Vendetta into the exact same location.
1) Locate the VendettaOnline directory (this may now be at /sdcard/Android/data/com.guildsoftware.vendetta/files)
2) Create a directory named "plugins" within the above directory
3) Unzip the contents of the droidbuttons zipfile into the "plugins" directory
4) Restart the VO

Here is a picture of my Android device showing the entire directory path and files. The path displayed on your device may be different.

------------------------------------------------------------------------------
Original thread (now locked)
May 24, 2013 draugath link
Changelog
v2.1.0
+ The GUI has been completely redesigned and should be easier to use, especially on devices with a 1080p display.
+ Button configs are now shared across all characters.
+ Fixed button handling on logout. It should no longer leave buttons behind when switching characters.

v.2.0.0-a4_TTPfix
This is a test release that should address the problem with the Touch-to-Place crash. Since my development environment for Android is still down, I have not been able to test it myself, but reports are that it works and doesn't introduce any new bugs.

v.2.0.0-a4
+ added controls for remapping the accelerometer's tilt commands
+ added more detail to the list of buttons

v2.0.0-a2
+ added controls for tweaking a few more options related to touch fields.

v2.0.0-a1
+ alpha release supporting removal of the default touch interface
+ support for touch fields added.

v1.0.1
+ fixed minor bug when no commands are associated with a button.

v1.0.0
+ made a few minor modifications to the GUI to make it a little more polished

v1.0.0-RC4
+ updated Touch-to-Place to work with recent changes to touch mechanics

v1.0.0-RC3
+ removed some debugging lines that I missed when packaging the previous version

v1.0.0-RC2
+ fixed a bug when assigning a command to the long-press and not also the short-press

v 1.0.0-RC1
+ simple placement interface for buttons

v 0.2.0
+ GUI for configuring buttons.

v 0.1.1-1
+ fixed timer bug

v 0.1.1
+ enhanced button press support
* handles +commands properly
* long-press commands are assignable

v 0.1.0
+ Initial release
Aug 07, 2013 draugath link
Keeping this from getting auto-locked.
Aug 07, 2013 Kierky link
You can simply delete your last message (keep a copy on the clipboard) and then repost it.
Aug 07, 2013 meridian link
No, don't do that. Then the dates would be wrong. It would also be confusing to everyone else, "This post looks familiar, didn't I read something just like this six months ago?"
Aug 07, 2013 Pizzasgood link
Plus, doing it this way reminds people that important threads have to be bumped from time to time to keep them alive. Otherwise newbies might not realize it.
Dec 01, 2013 draugath link
Back to the top.
Jan 07, 2014 lazypc link
If I could be as bold as to make a request, it would be to make it to where the settings for db applied to the interface of each character, rather then having to recreate each button on each character... or a way of saving the configuration, and then just having to load it into each character.
Jan 09, 2014 draugath link
This is planned for the next release (date unknown). Until recently, a certain technique for sharing data was not widely known, so it was extremely difficult to do this programmatically.
Jul 09, 2014 draugath link
I'm currently in the process of a much needed GUI rewrite. You can check it out at the repo in the new_gui branch.
Jul 14, 2014 abortretryfail link
Do you want problems with the new_gui branch reported on the issue tracker?
Jul 14, 2014 draugath link
At this point, I would say, no. There are still things that haven't been implemented in it. The Buttons Tab should be the only one that's not fully functional yet. But I would definitely welcome suggestions for tweaking the layout, or any noticeable problems with the other tabs.
Aug 04, 2014 draugath link
Version 2.1.0 has been released on VOUPR.

The GUI has been completely rewritten and should be easier to use, especially on devices with a 1080p display.

Button configs are now shared across all characters.
Feb 12, 2015 draugath link
unlock
Dec 22, 2015 draugath link
There's an early version of the next update available on the repository.

https://bitbucket.org/draugath/droidbuttons/get/image_select.zip

Lets you set images for buttons and toggle visibility.

Custom colors are coming, and maybe one or two other things that I haven't quite finalized.
Mar 31, 2016 draugath link
Well, the other promised features only half-materialized and not in a usable form. In the meantime, here is the above update in a distributable form for easy drop in and use.

DroidButtons 2.2.0a w/Image Select

This should not cause problems if you decide you want to revert to 2.1.0. It doesn't make any changes to established data, only new data is added.
Apr 03, 2016 draugath link
Someone recently asked how to disable the look-spring when in turrets. I never thought someone would want to actually disable it, so the option was never made available.

I'm not going to release a new version at this point in time just to address this, but you can modify the code to change it.

Open main.lua and change:
if (hud_type == "turret") then cmd1, cmd2, cmd3 = "+LookX", "+LookY", "+LookPress" end

To:
if (hud_type == "turret") then cmd1, cmd2, cmd3 = "+LookX", "+LookY", nil end

(emphasis to show the specific change)
May 31, 2016 Militant Atheist link
Would it be possible for a future version to have different button layouts for different tasks, like one for combat with buttons for targeting and firing and one for hauling cargo with buttons for navmap and the jettison cargo window and a button to switch between layouts on the fly so we can reduce the number of buttons needed on screen at any given moment?
Jun 05, 2016 draugath link
I am officially abandoning this plugin (and all others I've written).
Jul 31, 2016 Savet link
I feel like there is a story here that I missed out on....