Skatezilla's DCS Updater Utility GUI

Fantastic Update - as usual SkateZilla.

Have you ever thought about opening up the Utility to accept custom skins?
I can only imagine what the community would come up with. LoL…
On the other hand… if it ain’t boke…
Cheers.

still working on the multi-lang backend, skins/themes… havent been planned, but likely would require another backend re-write.

Oculus Mirror will also be moved to External Apps in next build…

1 Like

So when are you going to update it for the mi24 module … He asks innocently… :innocent:

3 Likes

@tempusmurphy asking the important questions

1 Like

You never know … it might work :grin:

1 Like

When the Hind is Released.

5 Likes

Change log 1.1.0.1042 / 7.1.2021:
-Fixed Cross-Link Between Modules when scanning (Affected FC3)
-Added Keep In Taskbar/Hide to System Tray Option (This Option does not save/stick yet)
Function is being re-coded, old code was just re-enabled.
-Adjusted Some ToolTip Descriptions
-Adjusted Tab Indexes

-Added Mi-24P Assets
-Added Fear the Bones Campaign Assets
-Added Mariana Islands Theatre Assets

12 Likes

I’m sure this has an easy explanation, but how do I configure my install as just a server using your utility?
I’ve clicked that option, but it just spins. Turned off 3D rendering, etc…
I’d like to use my old rig as a host.

I believe the system running dedicated Server needs to still be able to run DCS even though the renderer is off,
it would be launch dedicated server button, and from my experience it takes a bit to load,

Just want to mention,
The next version is still far out due to the extent of the re-writing and future proofing the code.
As mentioned on ED Forums, I am re-writing the entire core to future proof and make it easier for expanding and adding new functions.

I am changing the interface layout for many functions, removing A LOT of textboxes etc and replacing with Input Prompts/Saves, the under the hood scanning of builds and modules is being entirely re-written and the functions that utilize it rewritten as well,
As well as 95% of the entire App Settings page, mainly the textboxes pertaining to folder paths, and build names, and similar functions,

When the new version is released a majority of the settings will not transfer and will need to be re-done.

During the time, many elements my also be re-done graphicly (buttons etc).

Next version will likely be a new Major release due to the amount of changes.

Update, Here’s a in Progress Changelog thus far:
-Addition of New Module Assets (Current internal Build is current with all released modules).
-Re-writing Core Code to be able to integrate new functions (T.B.A.), 75% of them are already done and working.
-Re-writing Build and Module Scanning Function.
-Re-writing Variables and User Defined Items to remove Text Boxes, optimizing mechanisms, condense space and items loaded.
-Re-writing User.Settings File (likely re-naming User Defs to remove problems with versions Prior).
-Re-writing JSON Parser Code (for Future Functions)
-Re-writing code for DCS Launchers,
-Re-writing code for future self updater
-Removing old self updater code
-Removing unused functions left behind during updates.
-Removal of Starforce Console Option (All Modules use ED’s DRM and have for a while)
-Removal of “More” Button, (Select, Uninstall, Manual and YT Trailer Buttons will be added Separately)
-Converting to newest .net framework
-Integrating Working Directories
-Updating UI / Layout

9 Likes

I for one can’t thank you enough for this utility. It has been such a help in handling DCS…
Kudos!

1 Like

Storm, you did go down to the App. Settings tab and enter your paths to your DCS and Saved Games folder right? And did you download the stand-alone server build for the install?

1 Like

I truly had no clue what and how to create a client only. I’ll reattempt soon. Thanks!

-Jeff

TLDR quick start…

  1. Download one of the two Dedicated Servers that you want to run here, production or open beta.

https://www.digitalcombatsimulator.com/en/downloads/world/

  1. Install where desired.

  2. Input the DCS and Saved Games path on Skate’s Updater > App Settings page.

  3. Set your options on the Ded. Server Settings page. These are mine.

  1. On the Home page click the Dedicated Server Mode button. Wait for the pop-up window to load. Mine takes about a minute.

  2. Go back to the Ded. Server Settings page and click the Launch Local WebGUI button. Configure as desired.

  3. Once you’ve tested that it functions, you can use Skate’s Updater to install map and aircraft modules. Copy some missions into your \Saved Games\DCS.openbeta\Missions folder.

2 Likes

Thankyou sir

Good Day Everyone!,

I realize it’s been a very long time since I posted an update, and also realized that outside of forum posts,

There’s been no update from me about projects. So I’ll give you a loooooong one.

Projects outside of the DCS Utility are all on hold, due to free time to work on them.

The DCS Update GUI utility is very much alive and well, despite no update in the last 12+ months,

Why you may ask? It’s being re-written from the ground up.

The Problem; the core code I initially wrote remained the same throughout the last 8 years.

So, imagine a core written a simple app, being constantly expanded, with functions on top of functions, and variables on top of variables.

It was clear last year when I wanted to add a few things that the core simply needed to be re-written from the ground up.

There were dozens of textboxes, and over 3,000 text box calls to go with them. There were duplicate functions, one handled the new items, one handled the old ones. There were duplicate variables, one formatted for one function, one formatted for another, I even had hidden labels and controls on the app just to convert values from one function to another.

A simple 1 pass scan, evolved into a 7 pass scan, 1 Pass for each function, as they were added on over the course of 8 years. With many of them doing the same processes multiple times, but not able to be a single function due to the nature of the functions that came before it and how they were written at the time. I was a victim of my own making, adding routines on top of routines etc.

Memory usage slowly crept up, as well as lag/delay in functions as one function waited for the previous to finish before starting.

I was spending more time coding links between new functions and old functions and then rewriting functions instead of simply being able to have them all as a single function and Merely Update content with new releases.

Not to mention, the conflicts between some functions (ie Presets), constantly had problems working properly with other functions.

Thus the journey to start from scratch started last July.

With the new core, multiple functions are merged into one, there’s vastly wider use of user.settings and stored functions vs text boxes and the 1000’s of Calls to retrieve textbox data.

The core code is future proofed to allow me to add items to functions as needed, without having to script entirely new functions and links between them.

With the new UI, a lot of functions that took dozens if not 100’s of lines are reduced to a Simple few lines. The New UI also allows me to have Multiple Themes as well (more on that closer to release).

The longest delay was the Core being rewritten 5x as of this July,

I am on the fifth from scratch re-write, because the core had issues with Windows core functions being removed or changed with Windows Updates or with Visual Studio changes. Instead of trying to make workarounds and daisy chain the new core, I scraped them and started over with new methods.

The graphics have also vastly changed, as with the old app each update it was simply change the image and title, add it to the app code it,

Since I’ve re-done the UI from Scratch with an entirely new render style core, everything visually had to be redone as well, we are talking hundreds (thousands) of graphics for each button/module.

So the new version when released, will be entirely new, as the core, UI and graphics have changed, but the heritage will be the same.

So the the breakdown of what’s been done since last July?,

-Entire Core Rewrite (5x).

-New Graphical UI and New Graphical Assets

-More Powerful/Expanded Functions.

-New Unannounced Functions.

To further add to the complexity,

I Recently decided to look into taking the app and expanding it to multiple threads, ya know cause this is the Multithreading world we live in,

A Brief explanation on why:

The Lag Experienced in the old core (and exponentially greater in the new core), was more or less Subroutines causing the app to be in a locked/working state.

Complex subroutines cause this in the app when switching builds, forcing a scan of builds and modules etc., and the old app was nowhere near in depth as the new one will be when finished.

For example, The Module Scan Subroutine on the new app not only scans for a folder, it scans for DLLs, extracts version info, folder size, developer name etc etc etc, and a bunch of calculations for functions/features that I will unveil when it’s closer to a release date.

So, a Module scan on a build with EVERY module installed from the birth of DCS World takes between 8-10seconds on a Western Digital Black HDD, up to 30 seconds if the Windows Cache is cleared.

During said 8-10 Seconds (or 30), the App and the UI are in a locked “working state”, meaning no buttons or tabs are clickable or functional, nothing updates, etc.(the App Appears to have locked up).

So take that plus a build scan routine, add all that to the app startup routine, and you’re looking at a 15 second+ Splash Screen time while loading the app in the background (up to 45 seconds).

Preliminary mutli-thread testing so far has been promising in its first day (yes today was the first day I started working on Multithreading),

After integrating a thread interposer routine to direct the module scan subroutine to a different thread,

scan time for the subroutine went from 8-10 seconds down to 2-3 seconds (or from 30 down to 5), and the APP and UI remain unlocked and responsive during the routine.

So the goal right now is to further test moving module, build and other scan routines to separate threads globally, in both app loading and idle states, thus keeping the app quick and responsive.

I have yet to move scan routines to a 2nd thread during app launch, so as of right now, there’s no prediction on if that will run smoothly or cause problems having it done on a separate thread while loading the app.

The “New Core” is essentially done (finally), I’m cleaning up and adding safe keeping restrictions to some functions, and condensing a few things.

Most of the Module Art is integrated as well. Once all that is done, the UI art will get a 2nd pass, to clean up some things, then all the art will get maintenance passes for any issues found during closed testing.

I have to do splash screen art and controls as well as a few more extra sections in the app itself.

Once I get a majority of the functions integrated, it will be distributed to a wider range of testers.

And then into the public’s hands.

22 Likes

@SkateZilla as a long time user of your gui. Just wNt to say thanks very much for what you have created and looking forward to what your talents create in the future.

Cheers buddy

10 Likes

I’ll second all of that . Thanks very much for a utility i use often .

4 Likes

I’ll add myself to this list! I’m a huge fan of the tool, and I sing its praises to everybody in my VS.

4 Likes

Adding my voice to the choir. All praise be the Hypnotoad Skatezilla!

guy glory GIF

6 Likes

What a great app it is! I use this everyday. You just shouldn’t have DCS without Skatezilla’s Utility.
Thanks for all your years of dedication.

Maico

5 Likes