Jump to content

Hi There

Welcome to Klub Exile. If you happened to make your way to the site either from Lovers Lab or a Search on Google, we are glad you found us.  To unlock the entire site you will need to have a account registered.  Don't worry it is free but in the mean time you can read up on why we made the site and other little tidbits.  Feel free to join or Discord Server also if you have any more questions.  Thanks for stopping by and See You on the other side.

admin admin

I repeat: We need a "Programmers" forum. Help me figure out "Starred" outfit tracking.


Recommended Posts

(I repeat my previous request which seems to have fallen upon deaf ears: We need a "Programmers" forum.)

Until then, I'm trying to figure out how "starred" (ie: "default") outfits are handled in saved "Outfit" files for each model.

I decoded the ".of" file for a model: One where NO outfit was starred by default, one with the outfit in slot #1 was starred, and one where outfit #4 was starred, then compared the results.

At most, I found one value (in the "HideZone" array) that appears to change based on the starred slot (slot 1 is "617", slot 4 is "620", and so on), but its position in the array changes and there is no identifying label to help locate it. The number simply appears in a list of other similar numbers.

If it were always the 50th item in the array, it would be no problem. But sometimes it's 50, sometimes it's 49th, and another time it was the 22nd item. There's just no way to predict where it will show up. But VX does, so obviously there's a way to do it.

And if a model's outfit is not "starred", VX simply does not include a value in the array.

I need to figure out 1) How to determine IF a model's outfit file has a "default" ("starred") item set, and 2) how to locate the slot# of that item. I need this info so users can move outfits w/o the "star" pointing to the wrong slot. 😞

Thx.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • Administrator

It didn't fall on deaf ears, we simply didn't see the need for one. Programmers create Software and Tools. So if "Programmers" can't discuss their needs in this very topic area, well...not sure what else anyone can do. Most people who play this game are not making tools....they are making mods and clothes.

If no one responded to it means one of 2 things. They either do not know, or simply do not care.

Now I did a little bit of digging in so here is where I can help. I compared the Oufit in the save folder, with the corresponding outfit in the model folder, to compare if it changed.  I can tell you right now The slot at issue is not Slot 617 in my opinion.  It is Slot 265 that I think is the one you are looking for. Why?

All the saved outfit files in the Save folder do not have "I32":    265, in their array.  I looked at 5 of my saved outfits.  None of them have slot 265.  In addition I looked at a few models and while I didn't test deep, The 265 Slot is the one slot always missing in the outfit in the saved folder but appearing on the model outfit save file. I suggest you start there, and compare the outfit saved files with the corresponding model save files to pin point what is changing.

 

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, HDiddy said:

Most people who play this game are not making tools....they are making mods and clothes.

You just explained exactly why a separate "Programmers" forum is needed. 😉

A forum for *users* of software is different from a forum for those developing it. By the same logic, we don't need anything but a single "General Discussion" forum for everything. And "mods" don't depend upon knowledge of the inner workings of TK17. I admit though the "Programmers" forum wasn't terribly active on MG.

Thanks for looking into the issue though. Actually, "617" was the value in a particular position in the "HotZone" array that changed when I changed which outfit was starred. Its position in the array is totally fluid. I didn't test with other models but it is possible the value changes depending upon the model# as well, making it even more difficult to track.

You use the word "slot", but I assume you mean "position in the array" since there is no "Save slot" > 200. You don't mention if you compared "Starred" vs "Unstarred" outfit files. Starring an outfit for a particular model would have NO effect on the outfitX## in the "Save" folder (otherwise the change would affect EVERY model that wears that outfit.)

The most likely person to know the answer is Avarteas, and he won't come here. 😞

Thanks anyway.

  • Like 2
Link to comment
Share on other sites

  • Administrator

We have "bionic-lex" ( the "bionic code" which is a main code of TK17 and former SV ) which doesnt have specified ways to "read" it , except the effort of very talented folks like Raistin Kane who learned to decipher it to one extent during a longer time, with method of trial and error. Raistin Kane was one of the individuals that contributed most to the core of the game.

Secondly, we have an "official" LUA programming language - this is easier to learn for others. 

 

But the issue is not in opening a separate thread or sub-section for programmers only - the problem is there are no programmers currently here, at least those who show intricate knowledge of inner working of the game and capability to push it and even explain it to others. The people like Raistin Kane - who lost his interest in game some time ago. 

But even then, how many people you had who knew how to explain this to masses, in detail, in way that actually was helpful to them ? Basically, there was noone I have ever seen ... even the Raistin Kane's huge treasure trove of information was mainly not exactly readable and understandable by many, except when shown in particular practical examples.

 

So - we actually need a highly talented and / or dedicated people who know how to decipher bionic code properly, and potentially LUA coders. There are possibly some out there ... but considering we can make tutorials now, I think the proper way would be to put everything there for those in the knowing, it could be even tagged as "LUA" or "bionic" to recognize what is what. Thats much better than opening a new thread then losing a ton of information underneath multiple posts. On tutorials, youll also going to find all ( or majority ) of posts made before by Raistin Kane ( in so called "Raistin Kane Research Center" or tagged as "rkrc" ).

  • Like 1
Link to comment
Share on other sites

Yeah. We do seem to be lacking most of the high-level modders since the death of MG. 😧

Unfortunately for me (regarding this issue), LUA is no help since the files being modified are created by TK17 itself.

I have noticed "UBC.exe" & "Blex" produce completely different output when they decode. But for some reason, Blex is unable to decode ".of" files. I'm willing to bet if I could use Blex to decode the files, I'd easily see where "Default" outfits are specified.

"bs*_Tool" can decode the files, and the output looks different than UBC's, but it's no more helpful. 😒

Thx.

  • Like 1
Link to comment
Share on other sites

  • Administrator

Hmm, if I recall, Avarteas created ( or was it Avarteas ? ) a newer version of blex at one point...

Unfortunately, there is no easy way here - we will need to learn some things on our own on the go, and this was expected to one extent, with RK going on with some other projects for some time already.

And my personal POV is that its wrong relying and expecting for one or very few people to push everything forward - the more people know about innerworkings of TK17 down the line, the better ( and much better chances for many aspects of the game to improve ). So, there is also an important aspect of sharing the information and putting it into a practical example from which those learning could learn faster - the tutorials here are perfect for that. The information not shared or kept individually is not exactly empowering here...

 

My advice : if it becomes too frustrating in learning through trial and error ( unfortunately, there is no other way but that when its about bionic code in TK17 ) refocus on something else temporarily, as from my experience, the solutions can come suddenly with more clear head than trying to punch with a head through a seemingly brick wall.

Im also trying to connect some things just by reading RK Research Center posts ... with potentially LUA down the line being a good idea to learn.

  • Like 2
Link to comment
Share on other sites

5 hours ago, x17 said:

Hmm, if I recall, Avarteas created ( or was it Avarteas ? ) a newer version of blex at one point...

I forgot about those Blex updates. I have them, installed & tried them both (v0.6.0 & 0.6.1) and it made no difference. They couldn't extract the files either. 😞

If there was SOME way of identifying a "starred" outfit, I could handle the rest. But there is no label, identifying character(s), it's not even always in the same place in the file or array. 😶

  • Like 1
Link to comment
Share on other sites

You'll find the "starred" (default) outfit listed in "Modelxxxx\Personality.cc".  Decoded it's near the bottom:

        "Variable":    {
            "$ID":    "DefaultOutfitID",
            "Operator":    {
                "$ID":    "Text",
                "Text":    "Custom04F_Outfit"  <--
            }
        },

"Custom04F_Outfit" is a hashed-up "Save\OutfitF04.of" filename, Female and 04 being the slot-number, 01 - 200.  The actual "name" if it were given one when saved is in the "Save\OutfitF04.of" itself (similar to how pose and sequence files are handled):

                "$ID":    "Name",
                "Text":    "My Outfit 04",

You'll have to recreate the filename from "Custom04F_Outfit" to be able to reorder them and their save-slot numbers where you want.  Ignore the "HideZone" arrays in outfit files etc.  They mean nothing in this operation.  You'll find the "Modelxxxx\Outfit.of" contains the dress items near top of file corresponding to the ones in the last used/default outfit.  In my case corresponding to the items in "Save\OutfitF04.of":

                        "$ID":    "DressID",
                        "Array":    {
                            "I32":    523,  <-- Dress items (4 of 'em)
                            "I32":    831,
                            "I32":    295,
                            "I32":    1017
                        },

Hope that helps.. 🙂

  • Like 1
  • Thanks 3
  • Thumbs Up 1
Link to comment
Share on other sites

1 minute ago, x17 said:

Well, MrOllyK to the rescue ... 🙂

 

Thank you on your contributions over time to game, @MrOllyK

Huh..? 🤔  Am I retiring..? (jk.  Just sounded like a farewell.. 🤪)  It's in my nature to seek the truth and find it where it lies.  Crap, that was also a joke, but not really.  Maybe an oxymoron.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • Administrator

@MrOllyK Honestly havent ... I was actually not too much observant of mods lately, was a lot into RL stuff and modding my own body.

Basically not having even time to "play" TK17 as before, lol ... mainly only for testing purposes. Hopefully this will change soon as I finalize this ...

  • Like 1
Link to comment
Share on other sites

7 minutes ago, x17 said:

@MrOllyK Honestly havent ... I was actually not too much observant of mods lately, was a lot into RL stuff and modding my own body.

Basically not having even time to "play" TK17 as before, lol ... mainly only for testing purposes. Hopefully this will change soon as I finalize this ...

".. modding my own body..".  Doing the same, back into studying gravity.. err..  Lifting weights.  Gained 7kg (15.45lb) in last 5 weeks due to muscle memory gained in Aussie army.

  • Like 1
Link to comment
Share on other sites

  • Administrator
4 hours ago, x17 said:

@MrOllyK Honestly havent ... I was actually not too much observant of mods lately, was a lot into RL stuff and modding my own body.

Basically not having even time to "play" TK17 as before, lol ... mainly only for testing purposes. Hopefully this will change soon as I finalize this ...

Your tireless work will NOT go unappreciated, my friend. People have no idea how much of game changer your project is going to be.

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Oz70NYC said:

Your tireless work will NOT go unappreciated, my friend. People have no idea how much of game changer your project is going to be.

Project? What project, I must have been sleeping under a rock. 😮

Link to comment
Share on other sites

7 hours ago, MrOllyK said:

You'll find the "starred" (default) outfit listed in "Modelxxxx\Personality.cc".

Bless you. Putting "Outfit" info in the "Personality" file is the exact kind of stupidity I should have expected from that company.

I should have no trouble editing/updating the file. The big concern now though is having to decode a SECOND file before every Outfit swap (fortunately, I'll only need to re-encode if a Default is set), but this will slow things down slightly. 😧

Link to comment
Share on other sites

5 hours ago, OysterMug said:

Bless you. Putting "Outfit" info in the "Personality" file is the exact kind of stupidity I should have expected from that company.

It took me about an hour to figure it out.  Had ideas that it was simply using DressID's but then I thought that what if 2 outfits were the same, how could it tell the difference, and then I can't decode Brain.id file but that doesn't change.  So I just saved 2 exact outfits in different slots and Personality file was the only thing that changed when default outfits were swapped in the game.  Took me a while to remember that I have to quit back out of Customizer to menu rather than just quit the game or none of the files would be updated.

Quote

I should have no trouble editing/updating the file. The big concern now though is having to decode a SECOND file before every Outfit swap (fortunately, I'll only need to re-encode if a Default is set), but this will slow things down slightly. 😧

Not sure if you're going to have a full-on GUI for it, but the swapping of slot numbers need only happen in the outfit filename "Save\OutfitF##.of" (and accompanying icon and .txt files), unless it's too early in the morning for me and I'm not with it yet.  But the outfit files don't really contain a slot number.

However, the "name" of the outfit stored within that file is always defaulted to "My Outfit ##" unless the user saved it as something else, but that's just the display name for that slot.  You'd need to decode the file to access that but it has no real function anywhere.  You could update that to the new slot number but that would mean checking for the default name  "My Outfit ##" and leave it if different, but that would also mean decoding.

  • Like 1
Link to comment
Share on other sites

14 hours ago, MrOllyK said:

Not sure if you're going to have a full-on GUI for it, but

I'm updating my "OutfitSorter" utility. The next big update will have the ability to track "starred"/default outfits so when the list is alphabetized, the default outfit won't change because it's still pointing to the same slot#.

Link to comment
Share on other sites

9 minutes ago, OysterMug said:

I'm updating my "OutfitSorter" utility. The next big update will have the ability to track "starred"/default outfits so when the list is alphabetized, the default outfit won't change because it's still pointing to the same slot#.

So probably the best thing is to note what "new" number the default outfit becomes when that changes after alphabetization, then write that new slot number (same outfit) back to Personality file.  If it doesn't change slot number, it won't be alphabetized with the rest, or is that the plan?

Link to comment
Share on other sites

2 hours ago, MrOllyK said:

So probably the best thing is to note what "new" number the default outfit becomes when that changes after alphabetization, then write that new slot number (same outfit) back to Personality file.  If it doesn't change slot number, it won't be alphabetized with the rest, or is that the plan?

When the program starts, the user will have the option to "Track" default outfits. If they check the box, it decodes every model's "Personality" file, finds the default slot# (if any) and records that outfit's position & name ("position" is recorded in case of duplicate outfit names.)

After sorting, the program will compare the sorted names/positions to the presort names/positions and change the default value in the model's Personality file. (I'm still working on this step. It's going to take some creative coding.)

  • Thanks 1
Link to comment
Share on other sites

Not sure if this is helpful, but when I did BloodRayne outfit, I was adding everything under:

    ////////////          cid         corset        shoe        glove       pant            gun            necklace    headset
DressGroup :BloodRayne_Outfit . {
    .GroupName "Blood Rayne Outfit";
    .GroupID I32(170);
    .DressIDArray [ I32(50016) , I32(34117) , I32(34781) , I32(34916) , I32(34334) , I32(44711) , I32(45136) , I32(44212) ];
    .GroupIconID I32(34117);
    .Enable ( :EnableFemale );
};

This snippet was under: DcDress_R9Corset017.bs

 

Now with VX doing dynamic id allocation not sure how this should look like.

Link to comment
Share on other sites

8 hours ago, hfg2 said:

Not sure if this is helpful, but...

Thanks. But I've already solved the issue, updated the software, went thru weeks of Beta testing, added over a dozen new features, and uploaded the software a few weeks ago. 😄

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

WARNING! Adult Only Content You must be 18 years of age or older to enter. By accepting you agree to Klub Exile's Terms of Use and Guidelines upon creating an account.