The Hero 7,394 Posted December 3, 2014 Share Posted December 3, 2014 (edited) [link to older programs removed] I've written lots of RW-related code over the years and programs that convert various file formats. Here are some binaries: http://aap.papnet.eu/gta/utils/librw_bin/ and here is the source https://github.com/aap/librw https://github.com/aap/librwgta I usually don't remember what I changed since the last versions, so just let it surprise you. Also do note that I wrote these tools for my personal use, don't expect them to be perfect in every regard. They do what I needed them to. convdff: The version of the file written will be the same as the input by default (unless you set the version explicitly with the -v switch, see this for information on RW versions: http://www.gtamodding.com/wiki/RenderWare). Some terminology: - Instancing means converting the platform independent geometry data into a platform specific format that can be saved to a dff file (these dff files are called pre-instanced because instancing no longer happens at runtime). This is done in the PS2 and mobile games starting with VC and all xbox games. d3d8 and d3d9 pre-instanced geometry is not used by the games by default but the game should be able to read such dffs. - Uninstancing is something the original RenderWare engine cannot do, but which librw can: it means converting the platform specific geometry back into a platform independent format again. The -u and -i switches tell convdff to uninstance or instance a dff (note that not everything has been tested an implemented yet, expect bugs or problems). Even non-instanced can be platform-specific (the -o switch sets the output platform, d3d8 being the default). Most noticeably ADC optimized geometry on the PS2 (to improve tristripping) and custom vertex formats on the xbox. Example: to convert a ps2 file into the platform independent format and write it as version 3.3.0.2 use it as convdff.exe -u -v 33002 input.dff output.dffTo pre-instance a file into xbox format: convdff.exe -i -o xbox intput.dff output.dffI will implement more features in the future but the basic conversions should be working. I don't guarantee all conversions will work, i can't test everything. Please report bugs or unexpected behaviour. Notes: - files with multiple clumps are not supported well, to split a multi-clump file, use the -m switch - instancing and uninstancing of SA mobile dffs is not (completely?) implemented yet. convtxd: This thing converts, extracts and creates txds. Check the usage for how to use it. lcsconv, vcsconv: These convert files from LCS and VCS respectively (dff, txd, mdl, chk, whatever, but no levels yet). VCS peds don't work yet because the hierarchy is f*cked and has to be reconstructed. Edited January 7, 2018 by The Hero 39 Link to post Share on other sites
Sneed 12,852 Posted December 3, 2014 Share Posted December 3, 2014 Count this as not mentioned bug? Link to post Share on other sites
Snoops27 286 Posted December 3, 2014 Share Posted December 3, 2014 We can talk about this stuff here? Well here I go again . Bugged sunglasses models on PC, think they're fine on the PS2. image upload adult image upload greenshot upload pictures free Link to post Share on other sites
The Hero 7,394 Posted December 3, 2014 Author Share Posted December 3, 2014 The glasses bug cannot be fixed in the DFF or TXD I think. This has to do with the alpha test and draw order. 1 Link to post Share on other sites
Jinx. 8,013 Posted December 3, 2014 Share Posted December 3, 2014 Holy damn! We need an Android GTA 3 Peds to be importable in 3ds aswell. Hope you will do it too! 1 Link to post Share on other sites
The Hero 7,394 Posted December 3, 2014 Author Share Posted December 3, 2014 You can convert mobile dffs already. Have you tried if peds work? Link to post Share on other sites
Blackbird88 1,670 Posted December 3, 2014 Share Posted December 3, 2014 (edited) I tried to convert mobile DFF, but no matter what I do it stays white and won't load its texture How do I find out which texture it's looking for? Edited December 3, 2014 by Blackbird88 Link to post Share on other sites
d3jan 27 Posted December 3, 2014 Share Posted December 3, 2014 Very helpful tools Here's a batch code for txdex. It creates folders for every txd and then it puts all the textures extracted from each txd in those folders: for %%i in (*.txd*) do txdex %%i & if /i not "%%~nxi"=="%~nx0" md "%%~ni" 2>nul & move "*.tga*" "%%~ni" >nul 4 Link to post Share on other sites
Jago 2,731 Posted December 4, 2014 Share Posted December 4, 2014 (edited) Count this as not mentioned bug? not a bug, vice city on the ps2 lacks backface culling I believe so that model would look fine under normal circumstances also I'm glad to see that these tools have finally gotten a big release, I've been using them for the past year and they're just awesome! Edited December 4, 2014 by Mr. Jago Link to post Share on other sites
The Hero 7,394 Posted December 4, 2014 Author Share Posted December 4, 2014 I tried to convert mobile DFF, but no matter what I do it stays white and won't load its texture How do I find out which texture it's looking for? You can use rwanalyze, I think it has an option for checking textures. Link to post Share on other sites
Ryadica926 6,076 Posted December 4, 2014 Share Posted December 4, 2014 (edited) when i convert the hydra model, the window/glass is missing, i wonder why EDIT: same goes for Rustler and Cropduster too EDIT2: all three glass model are using the "vehicleenvmap128" reflection texture, maybe it's related? Edited December 4, 2014 by Surya926 Link to post Share on other sites
The Hero 7,394 Posted December 4, 2014 Author Share Posted December 4, 2014 That's weird...Is the geometry really missing? Have you checked in 3ds max or so? Link to post Share on other sites
Ryadica926 6,076 Posted December 4, 2014 Share Posted December 4, 2014 no, in 3ds max the geometry is show up but in game isn't Link to post Share on other sites
The Hero 7,394 Posted December 4, 2014 Author Share Posted December 4, 2014 I will take a look at it later. Link to post Share on other sites
Blackbird88 1,670 Posted December 4, 2014 Share Posted December 4, 2014 I tried to convert mobile DFF, but no matter what I do it stays white and won't load its texture How do I find out which texture it's looking for? You can use rwanalyze, I think it has an option for checking textures. Yeah that shows the texture name, but not the name of the TXD file. 1 Link to post Share on other sites
The Hero 7,394 Posted December 4, 2014 Author Share Posted December 4, 2014 The DFF has no info which TXD should be used with it. What DFF are you talking about here? Link to post Share on other sites
Blackbird88 1,670 Posted December 4, 2014 Share Posted December 4, 2014 kmb_dumbbell_l.dff Link to post Share on other sites
Claude_Lib 3,596 Posted December 4, 2014 Share Posted December 4, 2014 I guess, the dff either uses the txd associated with it in IDE file or generic txd file. You're gotta look for that "kmb_dumbbell_l" in PS2 IDE map files and see what txd is associated with it. That's how I remember, I may be wrong though. 3 Link to post Share on other sites
Blackbird88 1,670 Posted December 4, 2014 Share Posted December 4, 2014 Thank you so much. That was it! Link to post Share on other sites
El Dorado 3,717 Posted December 4, 2014 Share Posted December 4, 2014 If possible: - Mobile files support - User interface Link to post Share on other sites
Silent 15,927 Posted December 4, 2014 Share Posted December 4, 2014 - User interface unix has no GUI 1 Link to post Share on other sites
The Hero 7,394 Posted December 6, 2014 Author Share Posted December 6, 2014 (edited) New version: - All DFF chunks can be read and written now (although some of them are not parsed and just copied 1:1 into the output file) - better command line argument handling, the flags now come *before* the files like they should - other fixes and clean ups Todo: - find out why the hydra's glass doesn't appear (and fix it) - fix peds - rewrite the whole thing, it's gotten kinda ugly Edited December 6, 2014 by The Hero 6 Link to post Share on other sites
The Hero 7,394 Posted December 6, 2014 Author Share Posted December 6, 2014 (edited) New version, added a feature: dffconv got an -m switch that can be used to fix the specular and environment information according to the PS2 pipeline that's being used. This removes unwanted specular reflections (especially on wheels). EDIT: Found out why the hydra's glass isn't showing. It's a problem with the alpha test again, this needs a fix in ps2refl. I will fix it and explain what happened in that other thread. Edited December 6, 2014 by The Hero 2 Link to post Share on other sites
Blackbird88 1,670 Posted December 6, 2014 Share Posted December 6, 2014 (edited) If you manage to implement converting of mobile cutscene characters with no issues then you're really The Hero ba dum tss Edited December 6, 2014 by Blackbird88 1 Link to post Share on other sites
The Hero 7,394 Posted December 6, 2014 Author Share Posted December 6, 2014 (edited) Hm, should be easy (I hope!). I will work on this tomorrow. Edited December 6, 2014 by The Hero 1 Link to post Share on other sites
Ryadica926 6,076 Posted December 6, 2014 Share Posted December 6, 2014 can RWConv convert the buildings properly now? Link to post Share on other sites
The Hero 7,394 Posted December 7, 2014 Author Share Posted December 7, 2014 Could someone explain to me what the problem with peds is? Which file from which version did you convert? I don't want to find these problems myself. Link to post Share on other sites
BMWSauberF1.08 2,318 Posted December 7, 2014 Share Posted December 7, 2014 (edited) bones aren't named correctly,for example LClavicle is named Dummy4,etc though this can be easily fixed with rwanalyze by renaming correctly the frames Edited December 7, 2014 by Aztecas_5 Link to post Share on other sites
Snoops27 286 Posted December 7, 2014 Share Posted December 7, 2014 (edited) hopefully one day alpha sun glasses would be fixed Edited December 7, 2014 by snoops26 Link to post Share on other sites
The Hero 7,394 Posted December 7, 2014 Author Share Posted December 7, 2014 (edited) I noticed there is still work to do on the OpenGL (used by the mobile games) and Xbox DFFs. Not sure when I'll get to this. I really hope the frame names can be fixed automatically, but I'm not quite sure. I want to be able to read the format first. Oh, and I forgot I added support for multi clump DFFs a while ago. Aztecas_5, didn't you have problems with these? Edited December 7, 2014 by The Hero 4 Link to post Share on other sites