|Search this Thread|
|23rd Aug 2017, 5:00 AM||Linking 3x1 windows/doors with their diagonal counterparts? #1|
I'm trying to make some ITF items base game compatible for personal use and noticed that 3 tile wide windows and doors have diagonal versions in separate packages, which do not stay linked after cloning.
Example: when cloning a 3x1 garage door and installing both packages in the mods folder, the garage door no longer automatically switches to the diagonal version when trying to place it on a diag wall:
Anyone know how to fix this? I couldn't find any info on it except this but it's for TS2.
|23rd Aug 2017, 3:34 PM||#2|
Weird question probably, and I think you did... the wall mask map. It seems like the diagonal wall mask is 2 tiles while the original one is 3 tiled. So what I'd recommend is either cloning a 3-tiled door, window, etc. I would actually recommend maybe cloning the 'doorGarageRanchDiag' instead. (In TSRW though... or maybe too Depends on how you create objects) That one seems to have a 3 tiled mask as well (
|26th Aug 2017, 3:02 PM||#3|
Hiya Greenie I don't think I gave enough info in the original post so let me try and explain the issue a bit better
Windows and doors that are 3 tiles wide have diagonal versions contained in a separate .package file, you can see some EA examples here:
In Build mode in the game, when you try to place a 3 tile wide door/window on a diagonal wall, it will automatically 'switch' to the diagonal version of the mesh, which means that the separate package files are somehow 'linked'. But when I clone both the .package files needed and choose to "renumber/rename internally", the link between those two packages gets severed and so when placing the garage door on a diagonal wall in build mode it no longer automatically switches to the diagonal version.
The picture in the first post was of the regular (non diagonal) version of the door that I had forced onto a diagonal wall with MoveObjects On.
So what I need to do is make those packages recognise each other again but I have no idea how to do that :S
|27th Aug 2017, 12:43 PM||#4|
Ah! found it! It's actually really similair to this:
In this case, we're not editing the CASP entry, but the OBJD entry in this case in your non-diagonal package:
- You want to select the OBJD of the package, and click 'Grid'
- Try to find the DiagonalIndex in the list thingy
When you found it, the numbers right behind it are usually something like this: 0x00000017 or maybe 0x00000015, etc... just with a lot of numbers
- Click on the DiagonalIndex entry thingy, or well 'as if you're editing the 0x0000' bits, and you'll see this arrow and it should show up the OBJD it's referring to.
Now before we edit certain things, we first want to get the diagonal package's OBJD data. Or well, the group, instances, etc.. To do so is to first open your package file, and double click on it's OBJD file and you'll see this window with basically all the info... instances, name, group, etc. All you want to do is click the 'Copy RK'button and paste the info on a notepad file
Aaaand back to the non-diagonal package and it's diagonal index!:
- So when you click the arrow right next to the numbers, you'll see something that I totally missed the very first time I tried this with hairstyle, this little thingy:
- Now we'll see yet another window! (So many windows D: ) and click on 'add'
- Click the entry (Which should show zeros) and if you haven't done anything else in the process, 'paste RK' should paste the diagonal's OBJD data in it.. if not, then you can copy-paste the information from the notepad into the groups, instances, type Also, double checking never hurts as well!
- after that, click 'save' and click the expand arrow of the DiagonalIndex ( The ˅ one)
- Now, we want to click on this huge bar with numbers and thingies and look up our new OBJD entry we just made:
(The red is our old OBJD and our new one is the green one. The new one is always at the bottom)
- Click commit and test! (Do make sure to test it with both packages in your testing folder )
Note: Now I just randomly copy pasted some RK entry just to show off how to do it but I actually noticed that the non-diagonal's OBJD instances is always a hash64/FNV64 while the diagonal's OBJD instances are always a hash32/FNV32. So in case you are wondering whether you have the right OBJD data, there's a way to confirm you have
Difference of a Hash64 and hash32 is actually really easy to recognise:
Hash64: 0x02D26A59E4215412 (doesn't contain as many 0s at the beginning compared to the hash32 one)
Hash32: 0x00000000A0997C94 (Contains more 0s, usually 8 at the beginning)
Let me know if it worked and if you need some clarifying on things!
|28th Aug 2017, 9:20 AM||#5|
Thanks for the help I really appreciate it however I still can't get it to work :/
This is what I did (several times):
- copy the Resource Key of the diagonal door's OBJD
- open the regular door and add a new entry to the DiagonalIndex
- select new entry and paste the diagonal OBJD's Resource Key in then save
- make sure the new entry appears in the drop down menu, click "Commit", save the file, then put both the regular door and the diagonal door .packages in my mods folder
But it still doesn't switch to the diagonal version in game:
Did I flub it up or is there an extra step we're missing?
|28th Aug 2017, 4:52 PM||#6|
Hah... yes we're missing a step, see I should have gotten myself some morning coffee first!
Anyways! From the looks of it, yo have to do the same process but this time pretty much reversed. So instead of copying the Diag OBJD RK, this time you want to copy the Non-Diag's OBJD RK and paste it into the Diag package's diagonalIndex ... Which sounds quite confusing, but basically the opposite thing!
|20th Sep 2017, 2:29 AM||#7|
In case anyone was having the same issue (Greenplumbbob and I figured out what I was doing wrong in a private chat a while back and I forgot about this thread), the step I was missing was to actually select the new OBJD from this drop down menu once it's been added to the list: