Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    2. News

    1. Red Dead Redemption 2

      1. Gameplay
      2. Missions
      3. Help & Support
    2. Red Dead Online

      1. Gameplay
    1. GTA Online

      1. After Hours
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Crews

      1. Events
      2. Recruitment
    1. Grand Theft Auto Series

    2. GTA Next

    3. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    4. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    5. GTA Chinatown Wars

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    9. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    12. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Forum Support

    2. Site Suggestions

dexyfex

CodeWalker 3D Map Viewer for GTAV

Recommended Posts

BlackScout

Timecycle/weather colours editor is on the to-do list, I'll get to it eventually...

 

I don't know much about the game's dithering, except that there are multiple different uses of it (eg for LOD crossfade, in grass, in the sky, etc). I believe CP has done some work on removing it with VisualV mod.

Damn, you're awesome! :lol:

_

 

Yeah, I was the one who actually found the stipple texture for grass (he didn't credit me but OK). I was trying to find a way to get rid of this monstrosity.

Edited by BlackScout

Share this post


Link to post
Share on other sites
crypter

Is there any reason this is still not open source? There's the classical open source mantra that is "release early, release often" - nobody cares that code is messy or unfinished, most open source projects I see on GitHub are like this: dumps of whatever person has been working on, often without documentation; decent developer still can get goldmine of information (or reuse) of such public release - this mantra mainly relies on 'if you say "later", it might be "never"' in our-mine interpretation.

 

Also I read in post earlier in topic that you made bunch of changes to Neodymium's RageLib - perhaps it'd be sensible to have community fork of RageLib, that uses .NET Standard (project fork used internally uses this), so that we don't all have to reinvent wheel. :/

 

I am asking this, I-we need to automatically generate screenshots of map segments for project, reimplementing these shaders seems like bullsh*t idea if other project has shaders that work already - duplicate effort for not much reason.

Edited by crypter

Share this post


Link to post
Share on other sites
dexyfex

Is there any reason this is still not open source? There's the classical open source mantra that is "release early, release often" - nobody cares that code is messy or unfinished, most open source projects I see on GitHub are like this: dumps of whatever person has been working on, often without documentation; decent developer still can get goldmine of information (or reuse) of such public release - this mantra mainly relies on 'if you say "later", it might be "never"' in our-mine interpretation.

 

The repository was a bit of a mess and it wasn't really simple for me to do a source release. I cleaned it up now, and I can make source releases fairly quickly. Since the app download is still small, and the source .zip is also small, I'll try to just include the source with each app version release going forward. I do understand it's not ideal for collaborative work, but at the very least it gets people access to the code.

 

 

Also I read in post earlier in topic that you made bunch of changes to Neodymium's RageLib - perhaps it'd be sensible to have community fork of RageLib, that uses .NET Standard (project fork used internally uses this), so that we don't all have to reinvent wheel. :/

 

The changes I made were for performance reasons, focused on reading the files only. In most cases these changes broke the way the saving files code works, so I'm not sure it's really a good basis for a community fork. Also the namespaces and class names were changed to make things more readable in the object property viewers.

Perhaps it could serve as a basis for a new version of the RageLib, with improved capabilities, but a lot of work would need to be done to restore the full capability of the original version.

 

 

I am asking this, I-we need to automatically generate screenshots of map segments for project, reimplementing these shaders seems like bullsh*t idea if other project has shaders that work already - duplicate effort for not much reason.

 

This was actually one of the main reasons I started the project in the first place. I wanted to build a tool that was capable of generating hi-res map tiles for GTAV. This is still a goal for the project, and now finally after all this work, the world can be rendered accurately. I've started already on the final step of this goal, with orthographic camera mode... But some more work is still necessary to generate tiles nicely - all the highest detail entities need to be shown for the given view, and it needs to render the view to a texture, and then finally write that texture to a file.

Most of those pieces are there now though, so it won't be too much more work to get that final part done. Probably not for the next release though.

Share this post


Link to post
Share on other sites
dexyfex

CodeWalker v.20 is now available at 5-mods: https://www.gta5-mods.com/tools/codewalker-gtav-interactive-3d-map
New in this version:

- Fixed cloth rendering problems

- Fixed some YFTs (eg. traffic lights)

- Fixed water foam rendering issue

- Entity transform widget

- Project window enhancement

- Full source code included in download


Share this post


Link to post
Share on other sites
Mr.Arrow

Nice, at some point your tool will support ped paths too? Nodes and navmesh are something that we desperately needed since no one wants to play an empty map.....

Share this post


Link to post
Share on other sites
dexyfex

Well at least some of the YND paths that are already displayed are for peds (eg the stairs and ped crossings). I haven't looked into navmesh stuff yet though.
I'm thinking at least to start with I might look at editing YNDs, or at the very least allow nodes and their links to be selected and inspected, to gain a better understanding of what the unknown values mean. Perhaps also the same for navmesh stuff (I have to parse those files first though).

This stuff is high on my priority list anyway ;)

Share this post


Link to post
Share on other sites
BlackScout

By the way...

 

f1LeCYv.png

?

Share this post


Link to post
Share on other sites
dexyfex

Ah thanks for reminding me of that BlackScout... There are some issues which still need to be resolved to make higher LODs load in at such distances. I should really disable that slider until those issues are sorted out...

Share this post


Link to post
Share on other sites
Mr.Arrow

Pretty neat that we can change the rotation and the scale of it, the result was expected .....(there is no collision though)

P8oWS8W.jpg

Edited by Mr.Arrow

Share this post


Link to post
Share on other sites
dexyfex

I think the props with embedded bounds should have collisions when placed, but many things won't, because a lot of the collisions are in the separate YBN files. YBN editor is also on the todo list.... It's a fairly long list at this stage... And every new feature I add at the moment seems to add 10 new things to do :p

Share this post


Link to post
Share on other sites
P2FX

So we can add new objects into the map now or we can only edit existing objects?

I want to place some lampposts on the golf course how can I do that?

Share this post


Link to post
Share on other sites
dexyfex

So we can add new objects into the map now or we can only edit existing objects?

I want to place some lampposts on the golf course how can I do that?

 

Entities can now be added to new or existing ymap files, with some limitations, using the Project window. It is still a work in progress, so it is not ready for a full tutorial just yet, and is recommended for experienced map modders only.

If you want some further details, see my recent comments on the mod's page where I have explained a little bit how to use the project window.

Share this post


Link to post
Share on other sites
Alex106

Loving the .ymap editing function

 

VLUgznD.jpg

 

Also,the tool doesn't seem to be able to spawn these two props(it says hash not found)

prop_tree_olive_cr2
prop_tree_eng_oak_cr2
Edited by .Alex.

Share this post


Link to post
Share on other sites
dexyfex

Good to hear you had some success with the ymap editing! :)

Not sure why it wouldn't find those props... Do you know what .ytyp they are defined in? Or if they are in updates/dlc?

Share this post


Link to post
Share on other sites
Neos7

Can you add a feature to load custom gta5.meta from projects? I mean a whole new map to replace V one and work on it with custom .ityp
Also could allow to add multiple ymaps at once?

Edited by Neos7

Share this post


Link to post
Share on other sites
dexyfex

Can you add a feature to load custom gta5.meta from projects? I mean a whole new map to replace V one and work on it with custom .ityp

Also could allow to add multiple ymaps at once?

 

The gta5.meta is currently not used by CodeWalker. But it is possible to hide the GTAV map and work on a completely new map, by using the Project window (see the Project tab). In the Project window, new .ymap files can also be created from scratch and will be shown in the main window. Existing .ymap files can be manually added into the project as well.

 

For using custom ytyp and ydr files, if you have these already, put them into a new .RPF archive and place that RPF file in the main GTAV folder. Restart CodeWalker and it should be able to use your custom archetypes (manifest etc are not necessary for this).

Share this post


Link to post
Share on other sites
P2FX

Do you know how to make the game load a custom ymap file?
I'm making a ymap that adds more props into the map.
Back in GTASA days I could just add a line in gta.dat to load a custom IPL file, Is there anything similar that can be done with GTAV?

Share this post


Link to post
Share on other sites
Alex106

Good to hear you had some success with the ymap editing! :)

Not sure why it wouldn't find those props... Do you know what .ytyp they are defined in? Or if they are in updates/dlc?

 

Both are in patchday1ng and patchday2ng

This is the patchday2ng path: update/x64/dlcpacks/patchday2ng/dlc.rpf/x64/levels/gta5/props/v_ng_proppatch_01.rpf

This is the .ytyp(used by both): v_ng_proppatch_01.ytyp

 

P2FX,you can do it in this way

Create a dlc.rpf and put it inside a folder with your map name

 

Save this as content.xml

 

 

<?xml version="1.0" encoding="utf-8"?><CDataFileMgr__ContentsOfDataFileXml>	<disabledFiles />	<includedXmlFiles />	<dataFiles>	<Item>      <filename>dlc_yourmapname:/%PLATFORM%/levels/gta5/yourmapname/yourmapname_metadata.rpf</filename>      <fileType>RPF_FILE</fileType>      <overlay value="false" />      <disabled value="false" />      <persistent value="false" />	</Item>	</dataFiles>	<contentChangeSets>		<Item>			<changeSetName>CCS_yourmapname_NG_STREAMING_MAP</changeSetName>			<filesToEnable />			<executionConditions>				<activeChangesetConditions>				</activeChangesetConditions>				<genericConditions>$level=MO_JIM_L11</genericConditions>			</executionConditions>		</Item>	</contentChangeSets>	<patchFiles /></CDataFileMgr__ContentsOfDataFileXml> 

 

 

 

Save this as setup2.xml

 

 

<?xml version="1.0" encoding="UTF-8"?><SSetupData>  <deviceName>dlc_yourmapname</deviceName>  <datFile>content.xml</datFile>  <timeStamp>14/05/2017 23:35:0</timeStamp>  <nameHash>yourmapname</nameHash>  <contentChangeSets />  <contentChangeSetGroups>    <Item>      <NameHash>GROUP_EARLY_ON</NameHash>      <ContentChangeSets>        <Item>CCS_yourmapname_NG_INIT</Item>      </ContentChangeSets>    </Item>    <Item>      <NameHash>GROUP_TITLEUPDATE_STARTUP</NameHash>      <ContentChangeSets />    </Item>    <Item>      <NameHash>GROUP_UPDATE_STREAMING</NameHash>      <ContentChangeSets>        <Item>CCS_yourmapname_NG_STREAMING</Item>        <Item>CCS_yourmapname_NG_STREAMING_MAP</Item>      </ContentChangeSets>    </Item>    <Item>      <NameHash>GROUP_UPDATE_TEXT</NameHash>      <ContentChangeSets>        <Item>CCS_yourmapname_NG_TEXT</Item>      </ContentChangeSets>    </Item>    <Item>      <NameHash>GROUP_UPDATE_DLC_PATCH</NameHash>      <ContentChangeSets />    </Item>    <Item>      <NameHash>GROUP_UPDATE_DLC_METADATA</NameHash>      <ContentChangeSets />    </Item>    <Item>      <NameHash>GROUP_UPDATE_WEAPON_PATCH</NameHash>      <ContentChangeSets />    </Item>    <Item>      <NameHash>GROUP_STARTUP</NameHash>      <ContentChangeSets />    </Item>    <Item>      <NameHash>GROUP_ON_DEMAND</NameHash>      <ContentChangeSets />    </Item>  </contentChangeSetGroups>  <startupScript />  <scriptCallstackSize value="0" />  <type>EXTRACONTENT_LEVEL_PACK</type>  <order value="2" />  <minorOrder value="0" />  <isLevelPack value="true" />  <dependencyPackHash />  <requiredVersion />  <subPackCount value="0" /></SSetupData> 

 

 

 

Copy these two files inside the dlc.rpf
Create these subfolders(inside the dlc.rpf)
x64/levels/gta5/yourmapname
Inside the "yourmapname" folder,create a new .rpf named "yourmapname_metadata" and copy inside your .ymap(s)
Edit the .ymap(s) content

 

  <name>yourymapname</name>  <parent/>  <flags value="0"/>  <contentFlags value="65"/>  <streamingExtentsMin x="-9192.00000000" y="-9192.00000000" z="-6000.00000000"/>  <streamingExtentsMax x="9192.00000000" y="9192.00000000" z="6000.00000000"/>  <entitiesExtentsMin x="-9192.00000000" y="-9192.00000000" z="-6000.00000000"/>  <entitiesExtentsMax x="9192.00000000" y="9192.00000000" z="6000.00000000"/>

 

Add your map name to the dlclist.xml (update/update.rpf/common/data)
Almost forgot:once you're done,copy the folder with the dlc.rpf in update/x64/dlcpacks
Done
Edited by .Alex.

Share this post


Link to post
Share on other sites
dexyfex

This is the patchday2ng path: update/x64/dlcpacks/patchday2ng/dlc.rpf/x64/levels/gta5/props/v_ng_proppatch_01.rpf

This is the .ytyp(used by both): v_ng_proppatch_01.ytyp

 

Both are in patchday1ng and patchday2ng

 

Ah, I thought it was loading archetypes from all RPFs, but I just checked and it's not using update/DLC archetypes at the moment, which is why it's not loading that ytyp. I'm looking further into handling those updates properly at the moment, so hopefully I can sort this out for the next version...

Share this post


Link to post
Share on other sites
Neos7

 

Can you add a feature to load custom gta5.meta from projects? I mean a whole new map to replace V one and work on it with custom .ityp

Also could allow to add multiple ymaps at once?

 

The gta5.meta is currently not used by CodeWalker. But it is possible to hide the GTAV map and work on a completely new map, by using the Project window (see the Project tab). In the Project window, new .ymap files can also be created from scratch and will be shown in the main window. Existing .ymap files can be manually added into the project as well.

 

For using custom ytyp and ydr files, if you have these already, put them into a new .RPF archive and place that RPF file in the main GTAV folder. Restart CodeWalker and it should be able to use your custom archetypes (manifest etc are not necessary for this).

 

it works but loading saved projects loses pointers to ymaps...

Share this post


Link to post
Share on other sites
dexyfex

it works but loading saved projects loses pointers to ymaps...

 

I think there is a bug in the project saving when the ymaps are in a different folder to the project file (I noticed it's not saving the path properly in the project file). However it should be able to find the ymaps if they are in the same folder.

Share this post


Link to post
Share on other sites
Neos7

 

it works but loading saved projects loses pointers to ymaps...

 

I think there is a bug in the project saving when the ymaps are in a different folder to the project file (I noticed it's not saving the path properly in the project file). However it should be able to find the ymaps if they are in the same folder.

 

Yes thought that and it works, anyway could you also allow to disable all the ybn from vanilla map and show only those from a specified rpf?

Share this post


Link to post
Share on other sites
dexyfex

 

anyway could you also allow to disable all the ybn from vanilla map and show only those from a specified rpf?

 

 

That's a good idea, I think perhaps the best way to go about that is to allow ybn files to be added to the project... I'll have to think about it a bit more. I guess eventually it would be great to have those ybn's editable too...

Share this post


Link to post
Share on other sites
Neos7

 

 

anyway could you also allow to disable all the ybn from vanilla map and show only those from a specified rpf?

 

 

That's a good idea, I think perhaps the best way to go about that is to allow ybn files to be added to the project... I'll have to think about it a bit more. I guess eventually it would be great to have those ybn's editable too...

 

yes, also multiple ymap import for projects, cause doing it 1by1 can be really slow

Share this post


Link to post
Share on other sites
dexyfex

yes, also multiple ymap import for projects, cause doing it 1by1 can be really slow

 

Yeah I think the open file option needs to be upgraded to allow multiple selections. Until then, perhaps the easiest way to add a lot of ymaps to a project is to edit the project file with xml editor. Note, big projects might also get performance issues at the moment when rendering, that still needs some more work.

Share this post


Link to post
Share on other sites
Neos7

btw wouldn't be better to put the src on github instead of embedding it in the download zip?

Share this post


Link to post
Share on other sites
dexyfex

I've never really been a fan of github, but i'll think about using it in the future for this.

Share this post


Link to post
Share on other sites
Hans-Hermann Hoppe

I've never really been a fan of github, but i'll think about using it in the future for this.

It's also really slow for downloads for me for some reason.

Share this post


Link to post
Share on other sites
Neos7

I think the CalcYmapExtents() could be more accurate this way:

Quaternion Rot = new Quaternion(ent.Rotation);Vector3 position = new Vector3(ent.Position);Vector3 aabbmax = Vector3.Transform(ent.aabbmax, Rot);Vector3 aabbmin = Vector3.Transform(ent.aabbmin, Rot);Vector3 centroid = Vector3.Transform(ent.centroid, Rot);emax= Math.Max(emax,position + aabbmax + centroid);emin = Math.Min(emin,position + aabbmin + centroid);

Using only the position you assume that the entity pivot is inside its bound. The pivot could be also far from the bound, I think you should atleast add the centroid to the position and then add the radius (or bbmax/min which i think is more accurate) and also take in consideration its rotation (if the pivot is inside the bound or better, almost in the center, then the drawable rotates on its own, but in the other cases different rotation also give different bound position in world space)
What do you think? (code just as example, not matching your sources)

a sh*tty quality example http://imgur.com/a/V72Xj


Edited by Neos7

Share this post


Link to post
Share on other sites
dexyfex

Yeah it's just using the radius at the moment for the extents calculation instead of the box. I will change it to the box at some point but the calculation has to be more complex. Unfortunately just rotating the AABB min/max is not enough (think of the case where it's rotated 45 deg - min/max could lie along the same axis), I think rotating all 8 corners of the AABB is necessary, and then calculate the new min/max from those. It's a few more lines of code, but as you pointed out, it should give a tighter bound on the entities (especially on the Z axis).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 1 User Currently Viewing
    0 Members, 0 Anonymous, 1 Guest

×

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.