I know its for Physics XML's but having this extend to Papyrus Script Mod and SKSE Script Mod Validators would also be a godsend if they can be done.
In simple terms: Basically the validator is run AFTER you finished coding and scripting, checks if its up to standard and even suggests better/more efficient/faster coding/scripting methods to use less lines which means lighter script footprints.
@DaydreamingDay I'll be honest; with all the infathomable respect I have for you and what a HUGE improvment FSMP is since day one, I for god sake don't friggin get WHY you thought it was a good idea to remove all the basic BUT USEFUL informations that where stored into hdtSMP64.log and WHY we/I are now forced to rely on FSMPV ONLY while the simple .log was way enough to pinpoint 99.999999999999999% of my issues when fiddling with .XML.
FSMPV is just too tedious to setup imho and even more since you don't even took the time to give a proper example in mod description on how to setup this for retards like me (yes there are comments...just imagine if the comment I seek was at page 54 of hundreds, thankfuly there's not so many for THIS mod, it could have happened tho). You Nerds are a blessing but stop thinking everyone understand things like you do because it is NOT the case AT-ALL.
I beg you, bring back hdtSMP64.log infos T____________T
Thanks Smpatico. This was a nice quick & easy way to get going.
I downloaded VS & VSCode and the RedHat XML plugin, but was stuck as to how to validate in VS and where to put the XSD. Some kind of guide on how to do this would be helpful. But for now, the Notepad++ method gets the job done, albeit one file at a time.
For someone completely new to this, you can use Notepad++ XML Tools to validate the XML with the XSD this mod provides.
1. Install Notepad++ and launch it. We need to use the XML Tools plugin which is not installed by default, so let's install it. 2. In Notepad++, go to Plugins > Plugins Admin and you'll get a new windows listing available plugins. Select XML Tools and then click Install. Notepad++ will have to close, install the plugin and reopen. 3. Verify that XML Tools installed by going to Plugins > XML Tools and viewing the new menu options. You'll use the Validate now action for validating once everything's setup.
Next, follow Smpatico's instructions from 05 September 2023, 6:53AM.
Using the above method, I found an error with an SMP wig! Yay!! Thank you Smpatico and DaydreamingDay.
I am still lost. Do I have to copy-paste the .xsd to where the .exe of Notepad++ is? And then how to run the thing so that it checks the validity? When I try to, it says to fix xml syntax first, and when I run the syntax check, it writes something in red that was wrong, but doesn't fix it and I don't know how to do it myself...
I bit off way more than I can chew since I'm not a programmer at all, but I got a similar issue with SMP as this post here: https://www.loverslab.com/topic/188238-bug-hdt-breasts-flickering-3ba/ and really wish it would help get it resolved.
jjslowd: just to be sure we have the same understanding, the xsd won't fix any xml--it will only identify xml that doesn't conform to the xsd. So, fixing smp issues requires additional knowledge. If you've setup Notepad++ with the XML Tools plugin, then all you have to do is 1. yes, put this mod's .xsd file into your Notepad++'s executable folder (like C:\Program Files\Notepad++\) 2. open your target smp xml in Notepad++ 3. replace the smp xml's <system></system> tag with <system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="FSMP-Validator" xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd"> Please note that in Smpatico's post, there is a mistake in that the xmlns="FSMP-Validator" has no space between it and xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd". Copy/Pasting this directly will cause Notepad++ to display an error message window with "Please fix xml syntax first" when you validate the xml. Just ensure there's a space between xmlns="FSMP-Validator" and xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd". As a former programmer, this was just intuitive to do for me. 4. In the Notepad++ menu bar, click on Plugins > XML Tools > Validate Now to begin the validation 5. anything invalid will receive an in-line validation message Remember, when it comes to coding, you're not crazy it's just that Syntax is a taciturn King.
Wow! Thank you so much for this detailed explanation. I was indeed just pasting the code line right at the start, instead of replacing it, and also got the notification that space was missing somewhere... without saying where. I also thought that I had to find a place exactly written like <system></system> but just replacing the first <system> from the top of the xml worked.
Apparently there are issues of "Error parsing '0,000000' as floating datatype. The element '{FSMP-Validator}mass' with value '0,000000' failed to parse" in some of the xml of my BHUNP folder (would replacing all the commas in values with point be the fix?), and after some googling investigation, I noticed my issue lessens the lower I put my fps cap in game, until 20 fps where it totally disappears... Anyway! Even if I'm still too much of a lowly mortal who lacks knowledge on how to fix my issue, I now know at least how to better identify xml issues thanks to you! Maybe your reply should be stickied for others like me who are way out of their depths?
Hey the game got an update and every time I try to launch it it says that this specific mod is preventing me from safely running the game. Any plans of a new version to fix that?
Edit: oops nevermind, I misread a file, it was another mod. no worries
Well I tried to find "system tag" in XML file to put in "<system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="FSMP-Validator" xsi:schemaLocation="FSMP-Validator ./hdtSMP64.xsd">" But could not find it.
How do I use any of this? I am no programmer. Just drag'n'dropper. Heck modding Cyberpunk 2077 is beyond bullshitingly difficult, playn it vanilla.
Tiz beyond my pay-free-grade but Ostim keeps bitchin "Ostim standalone scene integrity could not be verified" and needs this mod to diagnose this ineptitude. I had no trouble with Osex at all till all these "updates" ruined it all.
Welp, time to give up, there is an outfit I found in some weird foreign website that's supposed to have physics that I wanted to check but I can't get past this error "ERROR: Element 'system': No matching global declaration available for the validation root.".
Also, does <system> need a closing tag? N++ seems to get pretty angry if I don't enclose the entire document (except for <html> tag) within it.
never mind I finally got it working. although it does say that in my xml file for touched by dibella smp, the TBDBody.xml one.there's an element name that is invalid which is named penetration, and it's listed under per-vertex-shape VirtualLegs. it gives me options as to what it expects but I'm not sure if i should change it or even which one to change it to. and looking a little closer at the other three per-vertex-shapes and the three per-triangle-shapes. it shows the same element name on each of those ones as well. however it's only complaining about the one under VirtualLegs. my other question is are the three per-triangle-shape VirtualGround, VirtualBreast, and VirtualArms. and the four per-vertex-shape VirtualLegs, VirtualButt, VirtualVagina, and VirtualHands all for VR or are any combination of them for VR? or none of them, just wondering.
Penetration is only for per-triangle shapes. Your virtual collision bodies, if you insist on using them, should be triangle and your skirt should be vertex.
How to properly use this? And where to put that code you give? Sorry for noob questions just started learning. I want to check modded outfits and body for my followers, if they have hdt. Any good tutorials or video on how to properly use this tool?
90% sure when he says visual studio? He's referring to the IDE known as Visual Studio *Code* (https://code.visualstudio.com/). We use VS Codium ( https://vscodium.com/), and thus avoid MS Douche spyware copying our source code to God knows where and/or scanning our drives for whatever suits them.
I'd bet good $ that when you hear Visual Studio: you're not thinking about an IDE, you're thinking about the C++ classes, or a compiler. Instead of Visual Studio Code, it should have been called MS Code, sparing every C++ programmer the wasted time/confusion.
This mod has to do with hooking, what amounts to a validation class, onto whatever .xml code one might write for Faster SMP(or perhaps even bodyslide), by way of a xml support extension in VS Code. So if you want to use this, it's: 1. get VS Code(don't. Use Codium) 2. in the IDE, on the left side, go to extensions, search for "xml", and pick one. install. 3. depending the choice in 2, configure VS Code to use this mod's .xsd file. May need to modify Codium's .json settings file. Depends on the extension. I use Red Hat. 4. add the hook in this mod's desc. to whatever .xml files one creates for faster smp. 5. if one screws up their .xml, this thing will whine, either in the terminal, or, in the code itself.
Yep, not everyone uses VS Code. That's kinda my point: Especially not the C++ programmers I know. Perhaps he meant your IDE? I dunno...
Here's what I do know: quick research says there is .xml tooling available in your IDE, thus, you can use this mod's .xsd file. I just have to check whether...yep, it comes with community. Here's how you do it in your IDE: 1. New project(or not, maybe just a new file), and configure for .xml. EDIT: May want to point it at this mod's folders. I don't know how touchy VS IDE xml is about projects/namespaces/file locations, etc. 2. Follow this: https://learn.microsoft.com/en-us/visualstudio/xml-tools/walkthrough-using-xml-editor-features?view=vs-2022 steps 1-4. At step 5, use the .xsd file from this mod instead, EDIT: which is why pointing it to the folder may be necessary, or it won't see it. I really don't know...
Done. Now you can build the files you need(or more probably, open and edit the ones from this site/the various mods out there that deal with this).
I merely refered to the xml editor in the VS IDE (Microsoft Visual Studio Community 2022 (64 bits)). I use it for FSMP development too. The documentation access is better for me than notepad++ (just hover over the xml tag and it appears).
75 comments
FINALLY...
Someone has made a code validator!
I know its for Physics XML's but having this extend to Papyrus Script Mod and SKSE Script Mod Validators would also be a godsend if they can be done.
In simple terms: Basically the validator is run AFTER you finished coding and scripting, checks if its up to standard and even suggests better/more efficient/faster coding/scripting methods to use less lines which means lighter script footprints.
I don't do papyrus scripting so it won't be me for this part.
And for skse, well it's c++, I'm not sure we need one.
FSMPV is just too tedious to setup imho and even more since you don't even took the time to give a proper example in mod description on how to setup this for retards like me (yes there are comments...just imagine if the comment I seek was at page 54 of hundreds, thankfuly there's not so many for THIS mod, it could have happened tho). You Nerds are a blessing but stop thinking everyone understand things like you do because it is NOT the case AT-ALL.
I beg you, bring back hdtSMP64.log infos T____________T
Put hdtSMP64.xsd in the Notepad++ folder and put the following at the start of each xml file.
<system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="FSMP-Validator"xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd">
For more verbose logging, adjust <logLevel>X</logLevel>, in configs.xml.
I downloaded VS & VSCode and the RedHat XML plugin, but was stuck as to how to validate in VS and where to put the XSD.
Some kind of guide on how to do this would be helpful. But for now, the Notepad++ method gets the job done, albeit one file at a time.
1. Install Notepad++ and launch it.
We need to use the XML Tools plugin which is not installed by default, so let's install it.
2. In Notepad++, go to Plugins > Plugins Admin and you'll get a new windows listing available plugins. Select XML Tools and then click Install. Notepad++ will have to close, install the plugin and reopen.
3. Verify that XML Tools installed by going to Plugins > XML Tools and viewing the new menu options. You'll use the Validate now action for validating once everything's setup.
Next, follow Smpatico's instructions from 05 September 2023, 6:53AM.
Using the above method, I found an error with an SMP wig! Yay!! Thank you Smpatico and DaydreamingDay.
I bit off way more than I can chew since I'm not a programmer at all, but I got a similar issue with SMP as this post here: https://www.loverslab.com/topic/188238-bug-hdt-breasts-flickering-3ba/ and really wish it would help get it resolved.
If you've setup Notepad++ with the XML Tools plugin, then all you have to do is
1. yes, put this mod's .xsd file into your Notepad++'s executable folder (like C:\Program Files\Notepad++\)
2. open your target smp xml in Notepad++
3. replace the smp xml's <system></system> tag with <system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="FSMP-Validator" xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd">
Please note that in Smpatico's post, there is a mistake in that the xmlns="FSMP-Validator" has no space between it and xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd". Copy/Pasting this directly will cause Notepad++ to display an error message window with "Please fix xml syntax first" when you validate the xml. Just ensure there's a space between xmlns="FSMP-Validator" and xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd". As a former programmer, this was just intuitive to do for me.
4. In the Notepad++ menu bar, click on Plugins > XML Tools > Validate Now to begin the validation
5. anything invalid will receive an in-line validation message
Remember, when it comes to coding, you're not crazy it's just that Syntax is a taciturn King.
Apparently there are issues of "Error parsing '0,000000' as floating datatype. The element '{FSMP-Validator}mass' with value '0,000000' failed to parse" in some of the xml of my BHUNP folder (would replacing all the commas in values with point be the fix?), and after some googling investigation, I noticed my issue lessens the lower I put my fps cap in game, until 20 fps where it totally disappears... Anyway! Even if I'm still too much of a lowly mortal who lacks knowledge on how to fix my issue, I now know at least how to better identify xml issues thanks to you!
Maybe your reply should be stickied for others like me who are way out of their depths?
And, simply, thank you for this.
It immediately spotted all the small things that kept avoiding my eyes.
A batch fixer... Maybe for very easy things.
Edit: oops nevermind, I misread a file, it was another mod. no worries
my code ss Is there anything I should fix?
xsi:schemaLocation="FSMP-Validator ./hdtSMP64.xsd">" But could not find it.
How do I use any of this? I am no programmer. Just drag'n'dropper. Heck modding Cyberpunk 2077 is beyond bullshitingly difficult, playn it vanilla.
Tiz beyond my pay-free-grade but Ostim keeps bitchin "Ostim standalone scene integrity could not be verified" and needs this mod to diagnose this ineptitude. I had no trouble with Osex at all till all these "updates" ruined it all.
Also, does <system> need a closing tag? N++ seems to get pretty angry if I don't enclose the entire document (except for <html> tag) within it.
it gives me options as to what it expects but I'm not sure if i should change it or even which one to change it to.
and looking a little closer at the other three per-vertex-shapes and the three per-triangle-shapes. it shows the same element name on each of those ones as well.
however it's only complaining about the one under VirtualLegs.
my other question is are the three per-triangle-shape VirtualGround, VirtualBreast, and VirtualArms. and the four per-vertex-shape VirtualLegs, VirtualButt, VirtualVagina, and VirtualHands all for VR or are any combination of them for VR? or none of them, just wondering.
Your virtual collision bodies, if you insist on using them, should be triangle and your skirt should be vertex.
What are these Visual Studio XML tools you're talking about?
(https://code.visualstudio.com/).
We use VS Codium
( https://vscodium.com/), and thus avoid MS Douche spyware copying our source code to God knows where and/or scanning our drives for whatever suits them.
I'd bet good $ that when you hear Visual Studio: you're not thinking about an IDE, you're thinking about the C++ classes, or a compiler. Instead of Visual Studio Code, it should have been called MS Code, sparing every C++ programmer the wasted time/confusion.
This mod has to do with hooking, what amounts to a validation class, onto whatever .xml code one might write for Faster SMP(or perhaps even bodyslide), by way of a xml support extension in VS Code.
So if you want to use this, it's:
1. get VS Code(don't. Use Codium)
2. in the IDE, on the left side, go to extensions, search for "xml", and pick one. install.
3. depending the choice in 2, configure VS Code to use this mod's .xsd file. May need to modify Codium's .json settings file. Depends on the extension. I use Red Hat.
4. add the hook in this mod's desc. to whatever .xml files one creates for faster smp.
5. if one screws up their .xml, this thing will whine, either in the terminal, or, in the code itself.
Here's what I do know: quick research says there is .xml tooling available in your IDE, thus, you can use this mod's .xsd file.
I just have to check whether...yep, it comes with community. Here's how you do it in your IDE:
1. New project(or not, maybe just a new file), and configure for .xml. EDIT: May want to point it at this mod's folders. I don't know how touchy VS IDE xml is about projects/namespaces/file locations, etc.
2. Follow this: https://learn.microsoft.com/en-us/visualstudio/xml-tools/walkthrough-using-xml-editor-features?view=vs-2022 steps 1-4. At step 5, use the .xsd file from this mod instead, EDIT: which is why pointing it to the folder may be necessary, or it won't see it. I really don't know...
Done. Now you can build the files you need(or more probably, open and edit the ones from this site/the various mods out there that deal with this).
I merely refered to the xml editor in the VS IDE (Microsoft Visual Studio Community 2022 (64 bits)).
I use it for FSMP development too.
The documentation access is better for me than notepad++ (just hover over the xml tag and it appears).
Didn't know about VS Codium.
babalooch23 comments seem top notch