Jump to content

Recommended Posts

Advanced Developer Tools
by
Leopard20
dua-BA78--hFlNB34hJR5EEP-hgyWexJJGhmY5zm

 

Short description:

An addon that adds completely new and revamped developer tools to the game, including a Debug Console with syntax highlighting, Config Viewer with many new features, etc.

Long description:
If you're a mod/mission maker, then you definitely must've used the Debug Console, the Config Viewer, as well as other in-game tools that can help you test and verify your codes and configs.

But when you use those tools, the first thing that strikes you is their clunkiness and a rather user-unfriendly design.

For instance, lack of syntax highlighting in Debug Console means that you'll have to actually read every single word of your code in order to make sure you haven't made a typo, etc.
That's why most of us use third party code editors such as Visual Studio Code and Notepad++. But this means that you'll have to switch out of the game every time you want to write and test some code.
Or let's take a look at the Config Viewer: every time you want to go one level deeper into the config, the whole config viewer must be reloaded! And if you have hundreds of mods loaded, this means you have to spend more time waiting for the Config Viewer to load than actually viewing the config!

This is exactly why I made this mod: to make the Arma environment more user friendly to the mod/mission makers.

So without further ado, let's take a look at the features!

Screenshots:

Spoiler

 

Y_Q9HFpk2AM97Wf7WfuVxnH93rtRS_ZR8Zy221X-

 

5ToxaX4Wb0-0jCicwgTezQIv2E24Y0XABGv-cpsQ

 

MEQaPs03t-BE8jUEl4mp0v7AS8k4unZzEGSa_70z

 

Hx9Z38JwGh6sVgtIHXqmpDCFROVfNckdTpG8Al19

ro5w0lyAmSrOcidujF5y-s6EURhn_fZYtHNgIgGb

 

mVPeq7DR3uEXNfvIdwZW3Tral390H0DbmciWlA-X

 


Features:

Spoiler

 

General Design:
A familiar Windows design, with resizable and moveable windows. In addition to other Windows features like snapping the Window to the screen borders. Enjoy a multi window experience in Arma 3!
Customize the mod the way you want. The mod offers a wide variety of customization options, including theming! You can recolor almost everything!

Debug Console:
- Enjoy SQF programming with syntax highlighting, with several perdefined themes! (such as VSCode Dark+)
- Improved code editing features, such as Tabs (tab key), Case Conversion (Ctrl+Shift+U), Undo/Redo (Ctrl+Z, Ctrl+ Y), Word Delete (Ctrl+Backspace/Delete), Commenting Out (Ctrl + Q), and many many more!
- Multi-Tab design! Edit multiple scripts at the same time!

- Search and Replace with various search options, along with Normal, Extended, and Regex (not available yet) search modes!
- Advanced auto-completion suggestions (similar to VSCode/Notepad++), including event handler names, functions, magic words, etc.
- View the command syntax information in a new and improved Scripting Help window (F1)
- Complete preprocessor support, using SQF-VM's excellent preprocessor (thanks to @x39)
- Added a new button that let's you run the code in Scheduled Environment directly (no need for spawn anymore)
- Added a new button for custom RemoteExec: remoteExec the code for your target client(s)
- Added a text box for providing arguments to your test code (no need for _args call {...} anymore)
- Open files (from addons) and functions to view/edit them
- A dedicated Execution History window. Want to re-execute a command you tried some time ago? You know where to find it!
- An advanced Color Picker at your disposal, which can come really handy if you're designing GUI elements.
- Magic Word: Typing this into most text boxes will open the debug console, and you can continue editing your code in there, and save it back into that text box!

Watch:
- Define as many Watched Expressions as you want! You can also customize their colors, and even pin them so that you can see them during gameplay!

Draw:
- Are you testing something that requires visualization using points and lines? The setup takes too long? Fear not! The mod comes with a "Draw" feature that let's you define custom "drawIcon3D"/"drawLine3D"s with just a few clicks! And you can define as many of them as you want!

Config Viewer:
- A super fast config viewer with a custom "Tree" design. No more annoyingly long loading times when you open the Config Viewer!
- Customize the config viewer colors to you liking
- Replaces the vanilla config viewer in the context menu of Eden (right click on entity) for faster entity lookup.
- Config Search: Search in the config in classes,
- Go To Config
- Accidentally went to another config? Want to go back? Use the Back and Forward feature!
- An advanced Data Viewer for viewing various types of config data, including: arrays, text, images, colors, models, and sounds (sounds don't work very well at the moment)
- Dedicated Bookmarks window


Function Viewer:
- A function viewer with syntax highlighting, search ability, and several recompilation options.


Documentation:

The documentation is available in the mod folder. You can find the online version here.

Download
:
Steam Workshop

Note: This is a preview release. Please provide feedback regarding the mod features, such as design, what you'd like to see, etc. Thank you!

Localization:
Interested in translating the mod to your language? Or maybe the translation is not good and you'd like to improve it? Please visit the localization repository on GitHub.

Known issues:

Spoiler

- The mod uses non-whitelisted extensions (regex and preprocessor). Please disable BattleEye if you want them to load properly.
- The game may occasionally crash if you create a new display from the debug console. To circumvent the issue please use the Scheduled execution button.
- The editor can get slow if your code is too long (larger than ~300 lines). This is a game issue and I can't fix it
- There are a couple of issues with window orders (Arma issue)


FAQ:

Spoiler

Q1 - I turned off all options and now the Debug Console doesn't appear anymore! What should I do?
A1 - Use the magic word! Type "dbug" into any text box (like the vanilla debug console) and it'll pop up!

Q2
- What language did you write this in?
A2 - SQF and C++ (the preprocessor and regex)

Q3 - What is the save feature for?
A3 - It saves the contents of the debug console into the control (text box) if you used the Magic Word feature.

Q4 - Can I edit external files?
A4 - Not in this version, but in future versions, I'll add an optional extension that can handle this as well.



Requirements:
None (Arma 3 v2.02+)

  • Like 11
  • Thanks 7

Share this post


Link to post
Share on other sites

Hey guys.

This mod can be a bit complicated to use at fist. Please stand by for a tutorial video.

  • Like 1

Share this post


Link to post
Share on other sites

Nice. Support for include and define immediately sold me this. 👍

Couple of suggestions (very fast test, so if I missed these, disregard):
- setting to define font size would be neat (in the code windows etc, not menus), the code window font is a bit big-ish to my personal liking (1920x1200, uiscale small)
- setting to widen the code window? Changing the size of the window from the buttons in the top row is nice but doing that blocks the watch field stuff, so made me wish for a setting for just widening the whole console window
- without knowing the plans with the export config, any possibility to have have a 'export selected class' feature, as in export the currently selected config class?
- One thing that could be useful would be copying the config path of selected config value into clipboard for using within a script (as in result would be (configFile >> "blah" >> "bleh" >> "bluh"))

"bugs":
- Opening the GUI editor (this would sorely need updating, winkwink 😛) opens it behind the console (as in console stays open over it). Not a biggie of course but would kinda make more sense if the console closed automatically

Share this post


Link to post
Share on other sites

@h -
Thanks for the feedback!
 

4 hours ago, h - said:

setting to define font size would be neat (in the code windows etc, not menus), the code window font is a bit big-ish to my personal liking (1920x1200, uiscale small)

Good idea! I'll see what I can do!

 

4 hours ago, h - said:

setting to widen the code window? Changing the size of the window from the buttons in the top row is nice but doing that blocks the watch field stuff, so made me wish for a setting for just widening the whole console window

Yeah I wanted to add this in a future update.

 

4 hours ago, h - said:

- without knowing the plans with the export config, any possibility to have have a 'export selected class' feature, as in export the currently selected config class?

Yes.

 

4 hours ago, h - said:

One thing that could be useful would be copying the config path of selected config value into clipboard for using within a script (as in result would be (configFile >> "blah" >> "bleh" >> "bluh"))

You mean besides what you see in "Path:" in config viewer?

 

 

4 hours ago, h - said:

Opening the GUI editor (this would sorely need updating, winkwink 😛) opens it behind the console (as in console stays open over it). Not a biggie of course but would kinda make more sense if the console closed automatically

not much of a bug as you can close the debug console (Esc) and it'll go away! 😜 but I'll fix it!

Share this post


Link to post
Share on other sites
2 hours ago, Leopard20 said:

You mean besides what you see in "Path:" in config viewer?

Oof, me just being blind + dumb.

Share this post


Link to post
Share on other sites

Update


# Added:
* Function Viewer + option to replace vanilla function viewer
* Option to replace vanilla Config Viewer in 3DEN
* Option to set Debug Console width scale in docked mode

# Fixed:
* Incorrect .rvmat error
* Camera couldn't be rotated in data viewer when the game was paused.
* Line numbers were not aligned with the text in Debug Console

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Update:
# Fixed:
* Couldn't spectate the AI in spectator
* Contents of the Debug Console wouldn't be saved when you opened the Spectator, Camera, etc.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Update:
# Added:
* German localization (thanks to R3vo and Th3Jock3R)
* "Draw" now supports ASL positions as well.

# Improved:
* Safety measures against invalid variable names for "Draw" arrays

# Fixed:
* Next line and tabs were broken for non-English texts. Other features are still broken, but I won't fix them until v2.02 because my fixes will make the editor even slower than it already is. However, in v2.02 I can use the forceUnicode command and easily fix this.
* Minor bug fixes

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Huge update - v1.2:
# Added:
* Complete preprocessor support. Using SQF-VM's excellent preprocessor (thanks to @x39).
* Complete regex support using C++ regex library.
* Complete mod documentation. If you need help with any part of the mod, please refer to the documentation.
* Debug Console: Auto completion for numbers.
* Debug Console: Export to Notepad++.
* Function Viewer: Added Find (but no Replace, obviously!)
* Watch: You can now change the size of the Watch both horizontally and vertically.
* All buttons now have a cool blue border when you hover the mouse over them.

 

# Improved:
* Config viewer tree view has been updated to look more like vanilla tree view.
* Config viewer quick search can now find results in all cached configs.
* Significant speed boost in config viewer (more caching + use of hashmaps + other optimizations).
* Debug console now properly selects the last open document instead of jumping to the last tab.
* Debug console can now highlight (underline) commands and numbers.
* Performance improvements in Debug console (minimal).
* You can now scroll through tabs using the mouse wheel.
* The arguments and number of cycles are saved when you close the debug console.
* Faster command caching.

 

# Fixed:
* All problems with non-English characters (e.g. Russian) should be fully solved now.
* Occasional crash when opening the config viewer if the last opened config path was under missionConfigFile.
* Unable to switch to Spectator mode when inside a vehicle.
* The mod no longer auto capitalizes the commands.
* Fixed a bug in config search that prevented searching in Values only.
* Long file names couldn't be displayed in the tab name properly.
* Large variables were being saved in the mission namespace, making the saving process take longer and generate larger save files (oops).
* Fixed a typo that caused the Draw code to compile incorrectly and thus throw errors.
* The Find Next buttons were a bit grayed out, making them look disabled.

 

Note 1: This version adds two non-whitelisted extensions (one for regex, and one for preprocessor), which will probably be blocked by BattleEye. If you run into problems, please disable BattleEye.
Note 2: Even if you've been using this mod for a long time and are familiar with its features, please review the Draw section in the documentation, as it is the least understood feature.

  • Like 1
  • Thanks 3

Share this post


Link to post
Share on other sites

Hey @Leopard20,

I'm having an issue navigating the Config Viewer (since the update):

Mouse L-Click is defaulting to opening the class tree [+] but not selecting the class per se, making me scroll with the cursor keys to view it's content (right panel).

Thanks,

Cheers.

Share this post


Link to post
Share on other sites
6 hours ago, RCA3 said:

Hey @Leopard20,

I'm having an issue navigating the Config Viewer (since the update):

Mouse L-Click is defaulting to opening the class tree [+] but not selecting the class per se, making me scroll with the cursor keys to view it's content (right panel).

Thanks,

Cheers.

Thank you for the report!

Update is up!

#Added:
* Function Viewer now opens to the last viewed function.
# Fixed:
* Esc key would close all windows if Function Viewer was on top
* Single-clicking on tree items in Config Viewer would sometimes expand the tree instead of just selecting it.

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×