Jump to content

New GME software


sedenion

Recommended Posts

Since the original DCS files are obviously not being overwritten, the only thing I can think of that would make sense, is that the unpacked files in the Bathek folders take precedence over the zipped files when the map is loaded.

When you hit the wrong button on take-off

hwl7xqL.gif

System Specs.

Spoiler
System board: MSI X670E ACE Memory: 64GB DDR5-6000 G.Skill Ripjaw System disk: Crucial P5 M.2 2TB
CPU: AMD Ryzen 7 7800X3D PSU: Corsair HX1200 PSU Monitor: ASUS MG279Q, 27"
CPU cooling: Noctua NH-D15S Graphics card: MSI RTX 3090Ti SuprimX VR: Oculus Rift CV1
 
Link to comment
Share on other sites

Isn't that exactly what I said?

 

Not really, you said:

 

IIRC DCS overwrites packed contents with unpacked files.

 

If you overwrite a file, whether inside an archive or not, the content of the original does not exist afterwards.

 

In this case, both the original files in the zip archives and the modded files in the folders both reside within the DCS installation.

 

So the only logical explanation is that DCS ignores any files in a zip archives, for which it has found a file within the folders of the same names as a zip archive.

 

But without your explanation, I'd probably have not figured it out, so many thanks for it :thumbup:

When you hit the wrong button on take-off

hwl7xqL.gif

System Specs.

Spoiler
System board: MSI X670E ACE Memory: 64GB DDR5-6000 G.Skill Ripjaw System disk: Crucial P5 M.2 2TB
CPU: AMD Ryzen 7 7800X3D PSU: Corsair HX1200 PSU Monitor: ASUS MG279Q, 27"
CPU cooling: Noctua NH-D15S Graphics card: MSI RTX 3090Ti SuprimX VR: Oculus Rift CV1
 
Link to comment
Share on other sites

@sedenion: I have been using OvGME practically since it was available and I actually depend on it. But since two days the program seems to run in the background. I can start it and it shows in the task bar, but the program's window is not visible anywhere on my 2 monitors. I have already re-installed it but it behaves the same way.

Can you help?

 

Edit: Found the solution in the web:

hold down SHIFT and right-click the application in the taskbar. (In XP you do not need to hold down shift.) You should get a menu with an option to “Move” the window. Click Move and use the arrow keys to position the application in the visible area of the screen.

 

Yep, this occurs when the app is closed while at minimized state. This will be fixed in the next release.

Link to comment
Share on other sites

OvGME 1.7.4 released

 

No major changes, but some debug and details:

 

OvGME 1.7.4, 2017-13-11

 

- Fix crash when pressing Esc key in configuration window.

- Config combo list is now alphabetically sorted.

- Fix window restored as minimized at startup.

  • Like 1
Link to comment
Share on other sites

OvGME 1.7.4 released

 

No major changes, but some debug and details:

 

OvGME 1.7.4, 2017-13-11

 

:thumbup:

 

8<

- Config combo list is now alphabetically sorted.

8<

 

HaHa!! I was just about to ask if you could do this :D

 

It unfortunately doesn't work quite 100% correctly :huh:

 

I have 2 profiles:

 

DCS 1.5

DCS 1.5 Beta

 

This is also the order they ought to be sorted in, but they come out:

 

DCS 1.5 Beta

DCS 1.5

 

:cry:

When you hit the wrong button on take-off

hwl7xqL.gif

System Specs.

Spoiler
System board: MSI X670E ACE Memory: 64GB DDR5-6000 G.Skill Ripjaw System disk: Crucial P5 M.2 2TB
CPU: AMD Ryzen 7 7800X3D PSU: Corsair HX1200 PSU Monitor: ASUS MG279Q, 27"
CPU cooling: Noctua NH-D15S Graphics card: MSI RTX 3090Ti SuprimX VR: Oculus Rift CV1
 
Link to comment
Share on other sites

I have 2 profiles:

 

DCS 1.5

DCS 1.5 Beta

 

This is also the order they ought to be sorted in, but they come out:

 

DCS 1.5 Beta

DCS 1.5

 

:cry:

 

I have to admit my sorting algorithm is pretty simple and rustical, i don't have considered all exceptions. I surely could achieve a better sorting algorithm, but, do I really have to implements a bulletproof sorting algorithm to prevent that, or can you survive with this glitch ? :D

Link to comment
Share on other sites

- Config combo list is now alphabetically sorted.

Thanks! I have been really looking forward to this :thumbup: Makes a great software even better :)

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

@sedenion: Thanks for continued maintenance of your baby!

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

I have to admit my sorting algorithm is pretty simple and rustical, i don't have considered all exceptions. I surely could achieve a better sorting algorithm, but, do I really have to implements a bulletproof sorting algorithm to prevent that, or can you survive with this glitch ? :D
Are there no built-in alphabetical sorting libraries in C#?
Link to comment
Share on other sites

Are there no built-in alphabetical sorting libraries in C#?

 

OvGME is writen in C/C++ not C#, and, be ready: no, there is no STL function to sort strings alphabetically, or if such thing exists, i don't found it. Like many apparently simple things, in low-level language, you have to "MacGyverize" it yourself, and this is sometimes more convenient to "MacGyverize" it yourself than using a library. There is a std::set object that exists in STL, which can be used for this purpose, but it does not supports the array subscript operator [ ], so you have to "for_each" to rebuilt the list in std::vector, etc... so I decided to implement my own sort function.

 

I will see if this exception of equal strings but with non-equal lenght can be fixed easily, but I will not take this as an emergency...


Edited by sedenion
Link to comment
Share on other sites

I have to admit my sorting algorithm is pretty simple and rustical, i don't have considered all exceptions. I surely could achieve a better sorting algorithm, but, do I really have to implements a bulletproof sorting algorithm to prevent that, or can you survive with this glitch ? :D

 

LOL it's not a major thing, just irritates my ODC'edness a little.

 

You could of course also use windows' sort, since you'd only need it once at start and once per time a new profile is created: 'C:\Windows\System32\sort.exe'. You simply feed it a list of lines and it will sort them alpha-numerically per default.

When you hit the wrong button on take-off

hwl7xqL.gif

System Specs.

Spoiler
System board: MSI X670E ACE Memory: 64GB DDR5-6000 G.Skill Ripjaw System disk: Crucial P5 M.2 2TB
CPU: AMD Ryzen 7 7800X3D PSU: Corsair HX1200 PSU Monitor: ASUS MG279Q, 27"
CPU cooling: Noctua NH-D15S Graphics card: MSI RTX 3090Ti SuprimX VR: Oculus Rift CV1
 
Link to comment
Share on other sites

You could of course also use windows' sort, since you'd only need it once at start and once per time a new profile is created: 'C:\Windows\System32\sort.exe'.

 

Hem, no, I can't... using an exe program to achieve such thing withing a C++ program would be like making a coktail by contacting the NASA to launching a rocket with some water to the dark side of the moon to congelate water, to waits the NASA mission returns, to be delivered the ice using an special UPS shipping, then finaly putting the ice in the drink... It's better using your freezer :D

Link to comment
Share on other sites

Great app and nice extra features beyond what JSGME offers.

 

I do have questions though..

 

1) Conflicts?

With JSGME if one mod overwrites files that another mod has changed, there is a warning? How is this handled? I tested this and received no warning. So, if my mod doesn't work as expected I won't know which mod is in conflict.

 

2) Mod Install Order.

I have checked the 'Sort by enabled' checkbox. But that does not appear to list the enabled mods in any order. It would be nice if you could sort the mods in the order that they were enabled, so that you could fix some conflicts of which one is over writing the other.

 

At first glance, I don't have any other questions. Looks like a great program. Cheers!!

Intel I9-10850K (OC @ 5.0ghz) │ Asus Maximus XII Hero │ G.Skill Ripjaws 64GB (4x16GB) DDR4 3200 │ Thermaltake Water 360mm
Gigabyte RTX 4090 Gaming OC 24gb │ 2TB M.2 EVO Pro; 1T M.2 EVO; Sandisk SSD Drives │ 49" Samsung Curved Widescreen │ 28" Touchscreen

- ҉ - Blackshark Cockpit Trainer - ҉ -    Thread   | Download

Link to comment
Share on other sites

1) Conflicts?

With JSGME if one mod overwrites files that another mod has changed, there is a warning? How is this handled? I tested this and received no warning. So, if my mod doesn't work as expected I won't know which mod is in conflict.

 

You talk about OvGME or JSGME ? OvGME warns you if a mod overlap another one... At least, it should, it was programmed this way.

 

2) Mod Install Order.

I have checked the 'Sort by enabled' checkbox. But that does not appear to list the enabled mods in any order. It would be nice if you could sort the mods in the order that they were enabled, so that you could fix some conflicts of which one is over writing the other.

 

This is an old request of some people, but this is hell to implement right now... maybe I will do that a day, but I am a bit lazy.

Link to comment
Share on other sites

Yes, I was talking about OvGME. I had two mods that had conflict when using JSGME, but with OvGME it did not report any conflict.

 

This is my first day using OvGME, so I am glad to hear that it should have alerted me. Maybe I made a mistake in my testing.. I will test some more and let you know if it doesn't work.

Intel I9-10850K (OC @ 5.0ghz) │ Asus Maximus XII Hero │ G.Skill Ripjaws 64GB (4x16GB) DDR4 3200 │ Thermaltake Water 360mm
Gigabyte RTX 4090 Gaming OC 24gb │ 2TB M.2 EVO Pro; 1T M.2 EVO; Sandisk SSD Drives │ 49" Samsung Curved Widescreen │ 28" Touchscreen

- ҉ - Blackshark Cockpit Trainer - ҉ -    Thread   | Download

Link to comment
Share on other sites

Ok, your problem is that the .txt file is in your mod folder, the .txt file must be at the root of the zip file, in parallel of the mod folder, like this:

 

Controls ~~ Warthog_Custom_Controls.txt
Controls ~~ Warthog_Custom_Controls
- Mods
  - aircraft
    - ...

 

( think about that: if you put the description txt in your mod folder, the description txt is considered as mod file, so is copied to the game file tree, this is not the destiny of a description text :D )

 

I will considere a generic "description.txt" yes...this is not hell to code :)

 

Ok, I finally found the above post explaining where the description text file need to be 'outside' of the mods folder. This is different from jsgme.

 

It would be more organized if it were within the mod that it is associated with. Whenever I move or copy a mod for any reason I am sure to forget the extra text file. At this point I am going to skip this feature.

 

Cheers!

Intel I9-10850K (OC @ 5.0ghz) │ Asus Maximus XII Hero │ G.Skill Ripjaws 64GB (4x16GB) DDR4 3200 │ Thermaltake Water 360mm
Gigabyte RTX 4090 Gaming OC 24gb │ 2TB M.2 EVO Pro; 1T M.2 EVO; Sandisk SSD Drives │ 49" Samsung Curved Widescreen │ 28" Touchscreen

- ҉ - Blackshark Cockpit Trainer - ҉ -    Thread   | Download

Link to comment
Share on other sites

At this point I am going to skip this feature.

 

OvGME has a menu item that takes a folder with a JSGME-style Mod, and then asks for a Mod description, a version number, and proceed to create a zip file on OvGME's structure. It's easy to use and thereafter the Mod and its description are within a single zip file.

2017-11-18.png.27f2c56e7ab7d8f0112134b89d4f2c23.png

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600X - 32 GB DDR4 2400 - nVidia GTX1070ti - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar - Oculus Rift CV1

Mobile: iPad Pro 12.9" of 256 GB

Link to comment
Share on other sites

It would be more organized if it were within the mod that it is associated with. Whenever I move or copy a mod for any reason I am sure to forget the extra text file.

 

The description file is intended to be in the zip file. OvGME natively support zipped mods and read them directly, so you simply have to copy or move the zip file... maybe this is the part you missed.


Edited by sedenion
Link to comment
Share on other sites

Yes, I had not gotten to the zip support yet.

 

I rename all of my mods with prefixes like AC(aircraft/cockpit skins); ENV(Heat Blur, Clouds, Contrails, Burn time...); TR(Terrain); Sound(Sound mods); etc.. And I am a modder and customize several mods. So, I have never zipped them since I edit them.

 

I don't foresee using the zip feature, so description text files will have to be outside the mod's folder if I use them.

 

It's no big deal. I was just used to them being located within the mod from jsgme.

 

Cheers

Intel I9-10850K (OC @ 5.0ghz) │ Asus Maximus XII Hero │ G.Skill Ripjaws 64GB (4x16GB) DDR4 3200 │ Thermaltake Water 360mm
Gigabyte RTX 4090 Gaming OC 24gb │ 2TB M.2 EVO Pro; 1T M.2 EVO; Sandisk SSD Drives │ 49" Samsung Curved Widescreen │ 28" Touchscreen

- ҉ - Blackshark Cockpit Trainer - ҉ -    Thread   | Download

Link to comment
Share on other sites

I don't foresee using the zip feature, so description text files will have to be outside the mod's folder if I use them.

 

The description and versioning does not work for standard directory-mods, precisely because they would have to be outside the mod directory, which is not clean.

 

It's no big deal. I was just used to them being located within the mod from jsgme.

 

You can put the readme within the mod folder, but in this case it will be copied into the game folder when mod is enabled... This is not what is supposed to happen.

Link to comment
Share on other sites

You will be happy to know that I fixed the sorting function for config combo list... that was in fact very easy... For curious people, here is how that work:

 

 

 

 

I added comments to help understand what happen...

 


/* String comparison function for sorting algorithm. a and b parameters are 
two config (game) title strings of the list to be compared */

bool GME_GameSortCfgComp(const GME_GameCfg_Struct& a_cfg, const GME_GameCfg_Struct& b_cfg)
{
 // convert from unicode to ASCII
 std::string a_title = GME_StrToMbs(a_cfg.title);
 std::string b_title = GME_StrToMbs(b_cfg.title);

 /* Converts to upper case to compare ASCII values, ASCII codes fortunately 
 corresponds to alphanumerical order, this allow to easily compare too 
 characters by their ASCII code value */
 GME_StrToUpper(a_title);
 GME_StrToUpper(b_title);

 // get the shortest string's size to compare strings
 size_t l = a_title.size() > b_title.size() ? b_title.size() : a_title.size();

 // Test each character to check wheter an ASCII value is greater than the other
 for(unsigned i = 0; i < l; i++) {
   if(a_title[i] != b_title[i]) {
     if(a_title[i] < b_title[i]) {
       return true; // A is less than (before) B
     } else {
       return false; // A is greater than (after) B
     }
   }
 }

 /* tested strings portions are equals, so we compare by string size. 
 That was the missed part in the first version of the comparison 
 function, resulting a wrong sorting order */

 if(a_title.size() < b_title.size())
   return true;

 return false;
}

/* Function called to sort the config title list */

void GME_GameSortCfgList()
{

 /* Uses STL built-in sort algorithm (not showed here) with a custom sorting fuction 
 wich return true or false to determins wheter an entry is greater or less than another 
 one, in our case, entries are strings, we must compare them using our own small 
 comparison function (see above). */

 std::sort(g_GameCfg_List.begin(), g_GameCfg_List.end(), GME_GameSortCfgComp);

}

 


Edited by sedenion
Link to comment
Share on other sites

You will be happy to know that I fixed the sorting function for config combo list... that was in fact very easy... For curious people, here is how that work:

Thanks for this! And thanks for reminding me, why I do most of my coding in Python meanwhile ;)

But seriously, this is an important feature (at least for me) not just a nice to have :thumbup:

You release a new version?

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...