Skip to content

New resource data formats

13»

Comments

  • ShadooowShadooow Member Posts: 402
    Plok said:

    @Shadooow I've been busy so I've not been on the forums so sorry for not replying.

    That is really neat. It's also exactly the sort of thing I wanted; I don't need to be able to dynamically add rows to a 2da at run time, I just need to do it at load time.

    This is mainly singleplayer/client feature and thus requires NWNCX. Beamdog stated they won't support client modification so we can't leave this for NWNX developers. If this is useful feature, if only with single 2da update file working at same time, BeamDog has to add this for us.

    All I can do is to provide concept and remarks.

    Anyway, it is possible to do. My plugin is still in WIP as this is causing crashes when trying to set row or collumn that doesn't exists, but thats solveable issue.

    Even if this loads only one 2da update file, I still think this makes installing custom content so much easier. Making project A work with project B will just require to put file designed to make these two compatible into override by user and nothing else.

    This should however also need same feature for TLK. That I was unable to do yet, but it will be possible as well.

    Now all it needs to be utterly perfect is a way of merging conflicts in a non-destructive manner. I honestly can't think of an approach that's even tractable without having some other way of referencing a 2da row besides row number/ID. Rewriting 2das to update the dependencies strikes me as a tractable (if quadratic) problem but scripts... yeah... Alan Turing would probably have things to say about that.

    I am not sure what are you talking exactly.

    I would make this so that if the first column, the row reference is equal -1 or **** then the current collumn gets added under last row in current 2da. Similarly it is even possible to make this update only single collumn when, for example, when the value in collum will be #### it won't change the default value.

    Or you mean that when you do this way you will be unable to find out the feat row number for example?
  • AlaneStewardAlaneSteward Member Posts: 1
    CameronpH wrote: »
    Re: DDS

    As I understand it .dds's have a few advantages over .png's their decompression is done on many graphics card inherently this means that the handling of texture assets is faster than it would be with other formats. That said there are .jpg decoders as well as .png decoders I believe they just cost more GPU resources.

    DDS also includes a mip chain that can be manipulated either through the .dds generating application or through hand modifying the chain. The mip chain also is required to implement something like Toskvig maps. You can also leverage the mip chain for a number of tricks to improve alpha test effectivness and detail map fading. That said much of this can be accomplished via shaders at a run time cost vs. precomputing.

    The other reason to consider newer dds is that the 3dc/BC5 compression that supports normal maps better I believe came out after the current NWN implementation (I think DX10 is it's introduction so 2006). Obviously with existing assets that is a minimal problem but if normal maps become standard for new CC then supporting better compression for them would be ideal.

    As far as editing, the nwndds can not be directly edited to my knowledge and must be converted into .tga's. If the additional support for the modern .dds format were added in addition to .tga/nwndds then the main difference would be that tools that decode the nwndds to .tga's would not work on the new .dds without updates. That said modern .dds are readily editable in photoshop as well as other applications so extracting them as a .dds would still allow you to edit them.

    Further thought I have no idea if the nwndds are linear space or gamma space, not a huge problem for older style content but as more advanced rendering features are added it starts to matter more. In the end most of the tech stuff may not mean much, if nobody is looking to push the engine to the point where these things matter.
    How we Save the respective alternative resources in this new directory?

Sign In or Register to comment.