New Development: ModHelper and Utilities

Kick back and discuss whatever takes your fancy.
James_T_Quirk
Posts: 47
Joined: Fri Feb 02, 2018 11:40 am

Mystical Panda, Thanks, I

Post by James_T_Quirk » Mon Feb 19, 2018 11:29 am

Mystical Panda, Thanks, I sort of understand that if I entered data into GECK I may understand it, but, it's say, repairing a  quest, or Mods Responses to Player karma/factions stance, I was hoping, that it could give world wide links/characters/items/locales/clues/responses but Obviously More Study of Geck may be answer ..


Scripts are powerful if they have a engine to do "grunt" work for them, I always admired Sid Meier's Coding, In Lots of Games, but especially in Gettysburg, its a Text file driven masterpeice, of it's time ..


I am suspect & hope these "layers" of Fallout Game's "OS", that "Do the work", are/is a similar concept, I may get my head around this, yet !!


 



Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

James_T_Quirk wrote:

Post by Mystical Panda » Mon Feb 19, 2018 11:42 am

[quote=James_T_Quirk]


 


Mystical Panda, Thanks, I sort of understand that if I entered data into GECK I may understand it, but, it's say, repairing a  quest, or Mods Responses to Player karma/factions stance, I was hoping, that it could give world wide links/characters/items/locales/clues/responses but Obviously More Study of Geck may be answer ..


Scripts are powerful if they have a engine to do "grunt" work for them, I always admired Sid Meier's Coding, In Lots of Games, but especially in Gettysburg, its a Text file driven masterpeice, of it's time ..


I am suspect & hope these "layers" of Fallout Game's "OS", that "Do the work", are/is a similar concept, I may get my head around this, yet !!


 


[/quote]


With quests, the scripting engine often uses a 'quest' just to allocate and hold variable data that is referenced by other scripts; a 'global' in a way. To fix a quest, if it's possible, you'll need to know which variables to set or reset for the quests (or quests if they're linked together), and at the most simplest- which 'stage' to set or clear. It's hard to tell if there's a 'cascading' effect data wise; some you can 'reset' others you can't.


The Karma and stances would either be pseudo 'global' data embedded in a script or script fragment, or is checked using a specific scripting command. The command is either vanilla or available through the script extender, or one of it's associated plugins (like JIPNVSE).


I don't think the scripting engine is the most efficient, and you can tell script heavy games or scripts that crank out in a tight loop instead of being 'event' driven; it's start tanking ever downwards.


Good luck, and look forward to checking out your mods!



Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

I'm opening up a few new

Post by Mystical Panda » Mon Feb 19, 2018 8:35 pm

I'm opening up a few new utilities to help with troubleshooting; they're fairly simple, but might be useful. Some I noticed might be needed when I was doing testing (which led to a few more ideas)- the libraries are pretty much 'canned' so they're easy to toss together.


[CheckGameAssets] Is used to check on game assets in either the game's "data" folder, or any folder you specify. For now, it'll just be a very VERY 'basic' file name check, but as I move forward and more libraries are developed I can expand what this application does; verify the integrity of game assets, etc.,.


[SearchMeshForTexture] Search all mesh files for a texture name (partial names supported).


[SearchPluginForAsset] Search all the plugins for the specified asset name (partial names are supported).




Updated the first post with the new utilities.


You do not have the required permissions to view the files attached to this post.

Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

Here's a few quick test of

Post by Mystical Panda » Tue Feb 20, 2018 1:47 am

Here's a few quick test of the SearchMeshForTextures and SearchPluginForAsset using:


-g=falloutnv -s=bottle -suggestasset -showonce


this might come in handy when trying to locate in which mesh a particular texture is referenced, or in what plugin an asset is found. It's very similar to the 'show' utilities, but filters out everything except what your looking for; partial file names supported (as in these examples).


As with the other utilities, most of what the program looks for is configurable using it's 'local' and 'config' files; hopefully future proofing it a bit.


You do not have the required permissions to view the files attached to this post.

Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

jlf65, to help out with some

Post by Mystical Panda » Tue Feb 20, 2018 10:18 am

jlf65, to help out with some of the testing and to keep track of all this mess, I'll see if I can whip up a quick  FORM  app (ie., "bug reporter") later today, to create an xml styled database log when problems occur; this can then be uploaded to a forum like at TTW, linked via a cloud drive or other online source, or when I have the 'server' app written send the file directly to it. It could be used to report on any application, not just the ones being developed here. I'll keep it simple at first, then we can add in anything else we might need.


There's actually a few more   CLI  based utilities I'm wanting to lay the foundation for today; one is a simple 'catalog' interface.



Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

[SearchArchiveCatalog] Shows

Post by Mystical Panda » Tue Feb 20, 2018 12:16 pm

[SearchArchiveCatalog] Shows file names in the specified catalog that match either full or partial the search string specified. Multiple searches supported (separated by a ","). There's also a switch to show all the file extension types in the archive. This should make it a bit easier to research what file types are associated with each game, and verify if missing textures and/or assets aren't in the vanilla files.


It's a really simple utility, but should help when tracking down vanilla files without having to read the directory from BSA archives contintually. It did show an interesting file extensions though: .22revolvercylinder


You do not have the required permissions to view the files attached to this post.

Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

[BugReporter] Here's a quick

Post by Mystical Panda » Wed Feb 21, 2018 12:53 am

[BugReporter] Here's a quick video of the new utility; the first iteration of the construct is done. It allows specifying the banner text title, banner image, text localization, and bug 'database' names (to name among a few). You can add and edit items (delete isn't supported yet, but the file is text base xml style so it can always be text edited). When the 'server' is code, I'll tie this one, along with the others to allow some online uploading of bug reports, etc.,.



User avatar
jlf65
Posts: 1101
Joined: Wed Aug 10, 2016 9:10 pm

That's nice! Building the bug

Post by jlf65 » Wed Feb 21, 2018 2:13 am

That's nice! Building the bug report handling into the utility itself... should make it easier to report bugs, so maybe people will actually do so.


 



Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

jlf65 wrote:

Post by Mystical Panda » Wed Feb 21, 2018 2:45 am

[quote=jlf65]


 


That's nice! Building the bug report handling into the utility itself... should make it easier to report bugs, so maybe people will actually do so.


 


[/quote]


It's actually fairly configurable for the end user; banner image, banner title, etc.,. I also added 'crash dump' (checkbox) option so the crash event data can be included for the program being reported. Once the server side is done, I'll tie all the apps together, with hopefully, some really cool features. 


Your right, it could... the entry fields can be set using either the console when the program is launched, or via the args input file. This allows the BugReporter to be called from a another program that 'hits the crash wall', by putting the text fields into BugReporter's input argument file, then just firing it off, before the calling application is exited. I might make a CLI version just to directly add crash data to the report log without using a windows form; it'll be more transparent.


I really need to get working on this server thing soon...



Mystical Panda
Posts: 750
Joined: Wed Mar 30, 2016 2:02 pm

[BugReporter] I added a few

Post by Mystical Panda » Wed Feb 21, 2018 12:42 pm

[BugReporter] I added a few new switches "-changestatus" and "-saveonchange". The first allows the 'status' field to be modified; it's off by default. This let's the incoming bug report file have entries with the status of 'OPEN' for easy sorting by the developer, once merged with their master list (a 'merge' button is now available); multiple files can be selected and merged.


Entries are now reverse sorted in the index list. This allows PENDING and OPEN to be at the top for easy access when the list gets large.


Using different 'version' text, it's possible to represent libraries, code functions, ideas or just about anything to be sent to the developer; not just actual program bugs.


Once the server is up, it'd be possible, given a tad bit of extra code, to inform the user when the their reported items are FIXED, COMPLETE or CLOSED. 



Post Reply