Loading drawables via YMAP
-
Hi folks!
Is there a way to load drawables via YMAP, since that would be more FPS friendly than via Map Editor?
I am aware that there is a xml -> YMAP converter offered on this site, but afaik it only converts/loads props with collision, but not drawables.
Thanks for the help!
-
@Toveran You have to do this manually via direct edits to the xml..just useOpenIV to export to XML format.
-
Thank you for your reply, eshenk!
However, I have two follow-up questions regarding your reply:
- What kind of edits would I have to make to the xml? My idea is to create a map via Map Editor and convert and load the corresponding xml file via YMAP. So why do I have to make edits to the xml?
- "Just use OpenIV to export fo xml format" -> do you mean YMAP format? Because I already have a xml, so it wouldn't make sense to convert a xml file to xml via OpenIV, or am I getting something wrong here?
Thanks again for your help and patience
-
@Toveran Well....you should already know the names of said props/buildings you plan to use. Find any vanilla ymap and simply mimic the way you add your entries just as in a vanilla. This should be done with Codewalker...cause you are gonna need coordinates and such.
-
@eshenk Ah, now I see what you mean, thanks again!
But doesn't Codewalker have an option to import Menyoo maps? Shouldn't it then be possible to export Menyoo xml files via Map Editor and then import them via Codewalker?
-
@Toveran I cannot help you there, as I don't use menyoo, nor do I even map. You only need to follow how R* does it...just make sure you are using the same conventions. Maybe you should join CW discord, and follow some tutorials there. You can also ask for help in the support channel, but it can wear your patience trying to get support there, it really is "hit or miss" there, LOL
-
I'll look into it - thanks for your help!
-
@Toveran What are you trying to do? Are you wanting to play your gta5 without building collisions? Or are you wanting to spawn a vanilla building somewhere for a mod you are making? If it is the first option, you can just delete the collisions through OpenIV, but you're going to hate the results. Here's a quick video of that method and the results.
Correct method would have you spend A LOT of time picking and choosing what collisions to remove and you will need to use 3ds to remove them. Collisions are layered in many ways in many files for one area. You aren't going to fiddle with them in Menyoo or Map Editor. If you are wanting to place a collisionless building for a mod you're making, just use CodeWalker to make the mod.
No need to try to convert a xml to a xml, that doesn't make sense. Either import the xml from the file location or just throw the xml on your desktop, then CodeWalker has an option in the Tools tab inside the project window to "Import Menyoo XML", it really should just say xml files. Doesn't matter if it's a map editor or menyoo xml. Should be able to save the project as a ymap through CW when you're done making the mod.
ps. the only reason I did not fall through the map when I went through the building to inside my interior that you could not see, is that I still had my mod's collision there. The drawable stuff disappears because of going through the building and not a portal.
-
@chonkie Thanks for the reply. I actually want to place some vanilla texture-only buildings for a map, as these buildings would just serve as a background, so I wouldn't need to add any collisions (and I wouldn't need to remove any collisions, as the props are texture-only, so they have no collision in the first place). These props can be placed either via Map Editor, after you unlocked all props, or via Codewalker. Menyoo doesn't load unlocked texture-only props.
However, Codewalker didn't work for me. It was possible to place the props, but they just won't load despite generating _manifest.ymf.
-
@Toveran You have me wondering how you are trying to make your mod. The only time I've has to mess with a manifest is when making my mlo interior, and even then it doesn't contain props.
-
@chonkie Basically, I just place a texture-only prop somewhere via Codewalker, save it as YMAP and place it inside the .rpf. The same procedure as with any other simple props. However, the game will never load those textures, it loads only props with collision.
I asked the guys in the discord server how to make texture-only props properly load and they told me to gereate _manifest.ymf, which seems to be necessary to load textures that have no built-in collisions. I generated manifest via CW and placed it next to the ymap in the .rpf. However, it still didn't work.
Maybe you can try it yourself: Are you able to place and load this texture-only prop (Hash: 1628988693) via Codewalker? Maybe we can test this way if it's just me acting stupid or not.
Thanks again!
-
@Toveran I'll try when I get home, I've never actually tried to place a vanilla building drawable somewhere else. If you want to take a look at my light tutorial I just posted, you can see me create an ugly light prop from scratch and get it in the game with CodeWalker. Might give you an idea or better understanding what I'm talking about. No collision in it. You could do the same but without creating the light source. I didn't need a manifest, but also not saying every situation won't need one, I'm still learning too. If i took the time to make that cylinder drawable look like a building then that's what you would have seen.
-
@chonkie Thank you very much! And sure, I'll have a look at your tutorial.
EDIT: I just watched your tutorial - I did everything the same way as you did with the vanilla drawable, however, unlike your light prop, it just won't load. It is visible in Codewalker, it loads in Codewalker when I check "mods" and "dlc", but it just won't load ingame.
-
@Toveran I didn't get it to work at first just loading it in CodeWalker using that hash. I had the same issue as you did. I went to the files in OpenIV and oddly did not see a ytyp in the rpf for those buidlings, they are in a different rpf. I don't know. Either way, I got it to where I could load that building in game where I wanted, no LOD though, will have to play around a little more to figure that out.
Here's what I did. Export that ap1_02_bld16.ydr to your folder for GIMS. Import it into 3ds. Renamed it to ap1_02_bld16_custom. Export it back to your folder for GIMS. Drag the new custom version it into this path ... mods > x64i.rpf > levels > gta5 > props > industrial > v_airport.rpf
Now go into the ytyp at the top of that rpf and copy and paste this at the end. It was created using Neos7 MaxScript.
<Item type="CBaseArchetypeDef">
<lodDist value="308.96300000"/>
<flags value="0"/>
<specialAttribute value="0"/>
<bbMin x="-43.89110000" y="-164.64500000" z="-12.87300000"/>
<bbMax x="117.94800000" y="60.07760000" z="17.71630000"/>
<bsCentre x="37.02830000" y="-52.28340000" z="2.42163000"/>
<bsRadius value="139.30900000"/>
<hdTextureDist value="231.72200000"/>
<name>ap1_02_bld16_custom</name>
<textureDictionary>AP1_02_TRM</textureDictionary>
<clipDictionary/>
<drawableDictionary/>
<physicsDictionary/>
<assetType>ASSET_TYPE_DRAWABLE</assetType>
<assetName>ap1_02_bld16_custom</assetName>
<extensions/>
</Item>Now you can spawn it in CodeWalker using ap1_02_bld16_custom. Make your mod and then save the ymap. Then just toss the ymap into your custom_maps folder.
You'll see in the video I made some of the issues with how I'm showing you how to do it. Like I didn't adjust the LOD in 3ds when I renamed it just to show you what will happen. There should be a slod version of that building that I think will basically have to do the same thing with and place it in the same spot. I'm still learning that stuff, but not a lot of time to devote to it right now.
Edit: short video is taking forever to upload. Will post it when later when I get back.
-
@Toveran said in Loading collisionless buildings via YMAP:
@eshenk Ah, now I see what you mean, thanks again!
But doesn't Codewalker have an option to import Menyoo maps? Shouldn't it then be possible to export Menyoo xml files via Map Editor and then import them via Codewalker?
Forget Map Editor.
Use ME2YM, which can convert Menyoo .xml placement files directly to ymap.
As for no-collision objects, I'd say: roll your own CustomMaps, copy the object of your desire (renamed) to your own ymap, with a corresponding .ytyp entry with just
<physicsDictionary/>
In its CBaseArchetypeDef item.
-
@chonkie Your method worked for me as well, thank you so much for testing and investing your time! The .ytp file is actually located in airport_meta (you have to search it manually
). So one can copy the entry there instead of using 3DS to generate the .ytp entry if you don't want to / cannot use 3DS. Also, you don't necessarily need 3DS to rename the prop - you can just do it via OpenIV or CW Explorer (unless you want to modify the texture).
@meimeiriver Thank you also. Unfortunately, copying the custom prop to the ymap doesn't work, it won't load ingame. I did check the .ytp entry for correct name and path, everything was correct but it still won't load ingame (just in CW). So I had to place the .ydr inside the vanilla .rpf and edit the .ytp there to make the drawable load ingame as well, just as @chonkie did. Don't really know why this is the case, it should work both ways but it doesn't.
-
@Toveran Glad to hear it worked out for you. Looks like I don't need to try to remake that video since I accidentally deleted it. The way I did it with 3ds was just how it popped in my head to try it. Good to see you don't need 3ds.
I'm going to mess around with it some more and find the lods for that building and get them working too. Should be the same process.
-
@Toveran said in Loading drawables via YMAP:
@meimeiriver Thank you also. Unfortunately, copying the custom prop to the ymap doesn't work, it won't load ingame. I did check the .ytp entry for correct name and path, everything was correct but it still won't load ingame (just in CW). So I had to place the .ydr inside the vanilla .rpf and edit the .ytp there to make the drawable load ingame as well, just as @chonkie did. Don't really know why this is the case, it should work both ways but it doesn't.
That's kinda working as intended.
Many props' names can't just be copied to a ymap, as the game puts many restrictions on what can be loaded where. But I should have been more clear about it.
The correct/safest procedure, is to copy not just the prop, but everything the ytyp says it needs, like the texture dictionary too, to your custom-rolled rpf (and all renamed, so as to avoid conflicts). And then edit in those changed names into your ymap, ytyp (and possibly manifest as well). Like I have this scaled down (to 0.7x its original size) helipad I use for my own build. It has a ytyp entry like this:
<Item type="CBaseArchetypeDef"> <lodDist value="10.00000000"/> <flags value="536870912"/> <specialAttribute value="0"/> <bbMin x="-9.23879200" y="-9.23879400" z="-0.01202000"/> <bbMax x="10.07665000" y="9.23879400" z="2.32977200"/> <bsCentre x="0.41892910" y="0.00000095" z="1.15887600"/> <bsRadius value="13.41633000"/> <hdTextureDist value="5.00000000"/> <name>prop_helipad_01_ymap</name> <textureDictionary>prop_helipad_ymap</textureDictionary> <clipDictionary/> <drawableDictionary/> <physicsDictionary/> <assetType>ASSET_TYPE_DRAWABLE</assetType> <assetName>prop_helipad_01_ymap</assetName> <extensions/> </Item>
See? Keep everything local in your own custom sets, so everything you defined will load everywhere.
-
@meimeiriver That's what I did, I just forgot to actually update the prop names in my ymap file after I imported from menyoo. So of course it didn't load, but now it works
@chonkie @meimeiriver @eshenk Thanks again guys, really appreciate your help and time!