Star Trek Online Nude Mods: "The Nudist Generation" Edition (13 Viewers)

The ZTS

Content Creator
Joined
Jan 12, 2017
The ZTS The ZTS

I'm unable to test some of this because of the way the mod install works so I'm going to go over some stuff one by one and you can integrate it as needed.

As previously stated by someone, you can use tasklist to check if a process is running or not, however, it is *case sensitive* so if the game is "GameClient.exe" and you're checking "gameclient.exe" it will fail.

Using relative paths like .\ and ..\ can get you into trouble. Be very careful.

If you start your batch with setlocal all variables you set during the session will be removed when your batch is ended. This is useful for doing some temporary things. I'd suggest at the top of the mod processing to set a temp folder for the installation.

As you already do in the compiler, you can maintain some information by storing it to a file and using set /p to retrieve it. If you do this however, you'll probably want a trim function since there can be an extra space at the end.

You can use "if exist" and "if not exist" to check if folders or files are there or not.

You CAN rename localdata, if you make sure to handle the preferences file. You're already doing this by doing a delete and a move. (In fact, you should probably copy localdata\gameprefs.Pref to something like _backup\localdata\gameprefs.Prefs.original before installing the mod files to the install dir.)


I've modified the files but they are untested, use caution!


UPDATE: I didn't catch this in "3. Compiler.bat" but you've hard coded C:\Temp, should never use hard coded paths, the OS isn't even necessarily on C, use %TEMP% or some other construct (%SystemDrive% will always be the OS drive letter, for example).

I will test both of these for you, thanks. My batch knowledge has been shed long ago in favor of PowerShell, and going back is not easy.


On Windows 7 it is NOT case sensitive, just tried it with STO running. I did test the batch files before posting them in the forum, you know:
Code:
> tasklist /FI "IMAGENAME eq gameclient.exe"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
GameClient.exe               16068 Console                    1    862,136 K

Noted, modification made.

No problem at all. I dont see any settings inside Greenshot for sizing the output or anything, but I'll play with it later tonight. If you have a preferred size or settings just let me know. I'll give it a few days for you to reply before I bang out anything. And I know I did the wrong Iconian, it's the reputation armor that goes nude, right? I dont have that.

Yeah, it's the rep armor.
 

Poplan

Content Creator
Joined
Aug 7, 2013
D Discusser I meant if you then compare the result with the exe name you expected in the batch (like my function does), it is case sensitive. I should've been more clear, I was in a hurry.
 

Discusser

Potential Patron
Joined
Nov 7, 2017
How about instead of choosing jiggle physics at setup time, we add another batch file+Vbscript (similar to mod on/off) to allow switching this anytime?
Vbscript would display a prompt similar to: Snaggy - easy screenshots
And the batch file will copy one of the jiggle*.bin files to jiggle.bin. For the custom option it would call gibbed compiler.
If this sounds good - I will post the indicative batch file+Vbscript, and the devs can fill in the file names, paths and gibbed compiler command line.
 

Poplan

Content Creator
Joined
Aug 7, 2013
D Discusser & The ZTS The ZTS - I was thinking a similar thing when I was going over the batch files.

It would be cool if the batch files to prepare the assets could be run at any time. You could switch texture packs, toggle effects, change values and assets re-processed accordingly. (For this to really work, the base stuff would probably be installed somewhere in <gamepath> but not in localdata, something like <gamepath>\Mods\STONudeMod with a structure of assets and scripts.) (It could be elsewhere too, at a user specified location.)

Of course, for this to really work for the end user some type of simple GUI would be optimal but batch files+scripts could do the trick initially.

I guess the short version of this post is +1
 

The ZTS

Content Creator
Joined
Jan 12, 2017
D Discusser Poplan Poplan I'm actually working on 2 GUI programs right now in C# and Windows Presentation Framework for the Gibbed Tools and a new tool that will dynamically switch skin textures while running. It could, theoretically, be easy for me to implement that feature.

Edit: Here's some glory shots of Clear, the GUI for the Gibbed Tools. (Yes, it is a pun on the word "cryptic".) Ignore the grey bar between the two tabs, that is the Visual Studio debug control for GUIs.

clearconvert.png
clearexport.png
clearmain.png
clearserializer.png
clearunpack.png

Edit again: The GUI doesn't even look like that now on some of the tabs, lol.
 
Last edited:

Poplan

Content Creator
Joined
Aug 7, 2013
The ZTS The ZTS that's awesome! I'll just shut up now and wait for the next release lol

If you have any batch file specific questions, feel free to PM me, I'll PM you my email address too just in case (it's faster, I'm not on here as much as I should be).

I do a lot of batch programming (in addition to C, PHP, Perl, whatever), my game save backup batch file is 2800 lines! And my game launcher (it launches the game, winamp and autohotkey with preset keys to change volume/tracks for game background music - and also, game config file dependent, will setup ReShade and Fraps as needed as well) is 1030 lines (it lurks in the background and closes winamp & AHK when the game exits).
 

The ZTS

Content Creator
Joined
Jan 12, 2017
I'm like 99% done with the application, the only thing I want it to do now is output the console applications when they're instantiated. Basically, "spit out output of Gibbed Tool on run to show it do something".

Come to think of it...how's your C#/WPF?
 

Poplan

Content Creator
Joined
Aug 7, 2013
I'm like 99% done with the application, the only thing I want it to do now is output the console applications when they're instantiated. Basically, "spit out output of Gibbed Tool on run to show it do something".

Might make the console output optional, another option would be to redirect stdout/stderr to a log file although I don't do much GUI programming. (Mostly I do backend - tools/database/etc stuff.)
 

The ZTS

Content Creator
Joined
Jan 12, 2017
The console output right now is vital because what I'm doing is basically making a straight socket to the Gibbed Tools. The goal is to eventually have one program to rule them all, but for now I'm more interested in making it easier for others (namely me, lol) to contribute.
 

Discusser

Potential Patron
Joined
Nov 7, 2017
Something like this maybe?
PHP:
   Process p = new Process();
   // Redirect the output stream of the child process.
   p.StartInfo.UseShellExecute = false;
   p.StartInfo.RedirectStandardOutput = true;
   p.StartInfo.FileName = "child.exe";
   p.StartInfo.Arguments = "/?";
   p.Start();
   // Do not wait for the child process to exit before
   // reading to the end of its redirected error stream.
   // p.WaitForExit();
   // Read the error stream first and then wait.
   string output = p.StandardOutput.ReadToEnd();
   p.WaitForExit();
 

The ZTS

Content Creator
Joined
Jan 12, 2017
Something like this maybe?
PHP:
   Process p = new Process();
   // Redirect the output stream of the child process.
   p.StartInfo.UseShellExecute = false;
   p.StartInfo.RedirectStandardOutput = true;
   p.StartInfo.FileName = "child.exe";
   p.StartInfo.Arguments = "/?";
   p.Start();
   // Do not wait for the child process to exit before
   // reading to the end of its redirected error stream.
   // p.WaitForExit();
   // Read the error stream first and then wait.
   string output = p.StandardOutput.ReadToEnd();
   p.WaitForExit();

I was just about to try that because I was previously using process.GetOutputReadLine() or something like that. I can get the console window to throw "System.IO.StreamReader" but it doesn't do anything else, was going to try a Console.WriteLine(process.StandardOutput.ReadToEnd()) instead.
 

The ZTS

Content Creator
Joined
Jan 12, 2017
I really need to play with C# more...

I highly recommend learning with Windows Presentation Framework first, cause Windows Forms is...a bit backwards.

WPF Tutorial by Christian Mosers is probably the best resource to start with. To get into the nitty gritty, The Complete WPF Tutorial is probably the best. The sites are both really easy to index offline using wget, plus it saves you the however much bucks the second guy offers for his PDF.
 

The ZTS

Content Creator
Joined
Jan 12, 2017
3.3.1 has been posted. Hopefully everything works well, it all seems to work on my end. I'm also exhausted so maybe it won't. xD
 

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.