Modding discussion in general.
#49813
F.A.Q.

Q: What is DSCript?
DSCript is an open-source .NET class library that is mainly used for managing the Chunk-based files in Driv3r, Driver: Parallel Lines, and Driver: San Francisco. This allows interested developers to incorporate DSCript into their project,
write tools that modify the resources inside of them, and then use DSCript to repackage everything. There are also miscellaneous resources inside of DSCript, such as every documented Chunk type, and later on down the road, resources that regard hard-to-crack formats. Typically, this means some form or another of model / texture loading will be present, but these will be sorted out as development moves along.

Q: Can we download it?
Yes, DSCript is now on BitBucket - You can find it here!

NOTE: This version is extremely outdated, as I stupidly decided it would be a GREAT idea to split everything up and not update my repositories! Sorry about that!

Q: Why isn't this finished yet?
I'm very bad at procrastinating. Sorry. Not good enough? Here's a giant wall-of-text I wrote before!
The Procrastinator wrote:I am a perfectionist when it comes to my work. I don't want to release half-assed tools that are full of bugs and constantly crash and/or corrupt data. I strive for the highest quality possible in my work; from clean, well-written code, to powerful, innovative features you won't find anywhere else. I think outside of the box, and sometimes reinvent the wheel. With all of this in consideration, I am only one person with many ideas. The freedom to work on a variety of things is what keeps me going. It may be annoying at times to see projects fall out of favor in favor of something entirely different, but this freedom is what keeps me motivated and allows me to learn different things along the way. Focusing on one subject can drive me nuts, which is why DSCript fell into a temporary hiatus at one point. A little here, a little there. And remember: patience is a virtue. I started from nothing; a game that had pretty much no modding whatsoever, and I've had to do everything myself. This is a lot of work!
Modding Tools

I've made a lot of tools since I started my journey in Driver modding. In no particular order:

DVEdit (Driv3r, Driver: Parallel Lines(?))
Status: Cancelled

03/18/2016: I forgot this even existed! Yeah, it's dead, but Antilli is alive and well!

This is the model/texture editor I will be working on. It's had a bit of a bumpy development, and you would think the source code is on the GitHub, but in reality, it's not. What do I mean by that? I keep finding myself making these tools that end up looking like a Chunk editor, even though they're not meant to be one. DVEdit is going to be entirely different than what can be found now.

This is a picture of the DVEdit that currently exists:

Image thumbnail

Looks familiar...

Image thumbnail

It's not supposed to be a Chunk viewer, but I did it again! :lol:

I did at one point have a working texture viewer, though. It worked for Driv3r and Driver: Parallel Lines like a breeze. But foolishness lead to me breaking it, and not having a backup of working code. I didn't even get any screenshots of it, which is something I rarely forget to do. It was rather neat, and I wish I could show it off!

Check back in this thread for more updates on DVEdit (I'm probably going to change the name), I don't really update this post much so don't be shocked when it doesn't get updated! :P

DChunk (Driv3r, Driver: Parallel Lines, Driver: San Francisco)
Status: Canceled

03/18/2016: Yes, this one is also dead. Antilli is pretty much an all-in-one editor these days :P

A simple editor for importing/exporting Chunk resources:

Image thumbnail
Image thumbnail

After months of contemplating, I've decided that DChunk will stay relatively the same as it is now; however, any extra functionality outside of importing/exporting Chunk resources will be nearly non-existent. A build info editor, for example, could be one of the very few things the tool does outside of importing/exporting.

This will basically be the "installer", with everything else requiring special editors. More editors can be made down the line, but it all starts here.

Download the beta here: https://dl.dropboxusercontent.com/u/691 ... 8_beta.zip

Zartex (Driv3r)
Status: On-hold

A mission editor that will allow you to create entirely new missions using advanced mission logic. Currently on hold due to the complexity of certain things, such as drawing with GDI (basically the lines being drawn) and figuring out how DRIV3R interprets the logic.

Here's a screenshot demonstrating the workflow to modifying missions:

Image thumbnail

Features of my custom Flowgraph include the ability to drag lines from output nodes to input nodes, right click and add new ones, drag them around, and that's pretty much it for now. A lot of work ahead on such a short road.

All of this wouldn't have been possible without the relentlessness of Klancnik777 (formerly Janujeq), who's research into the MPC file format gave me that final push to make Zartex a reality. Without him, this tool would've probably never been made. Thanks man!

Development screenshots:


GMC2 Snooper (Driv3r)
Status: Unknown

03/18/2016: I literally cannot find the code for this program. I've looked everywhere for it and it's like it just...disappeared. I need to find it!

I decided to try my luck at loading some PS2 textures. After much frustration, I finally got somewhere! In its current state, it can only load 8-bit textures, and still needs 4-bit texture support. It is unknown when I will work on this again, as it is not important right at the moment.



The tool itself won't be released, but the loading of PS2 assets will surely find its way into DSCript eventually!

BO3 Editor (Driv3r)
Status: Unknown

BO3 files have been, for the most part, fully decoded. I started mocking up a BO3 editor back in early August, but at that point I didn't have much experience and was still programming in VB.NET. This will require porting over to C# and actual functionality implemented. Think of it as "concept art":



D2LEV (Driver 2)
Status: Unknown

Thanks to the vast knowledge found over in Krishty's thread regarding Driver 2's level format, I was able to make this simple tool that, in its current state, does nothing more than read a little bit of Driver 2 .LEV files:

User avatar
By Fireboyd78
#49821
RacingFreak wrote:Sounds promising, glad you moved on VB.NET, that means it will be standalone program(s) rather than 3ds max plugin :specialdriver:
Which is one of the first things I said :P
User avatar
By Fireboyd78
#49955
This post is to address some things. First off, I would like to thank everyone for their support for the work that I have done in terms of modding DRIV3R and various other side projects that I will talk about later. The biggest thing I cannot stress enough is that I am merely human. Yes, it is shocking! But I want things to unfold and become a reality just as much as you or the other guy does. I can't tell you how badly I want to make modding DRIV3R simple and easy to do, and hopefully bring some life back into this game. Not only DRIV3R, but the way I am developing DSCript is going to greatly impact how the development of modding tools for other games will work.

At its core, DSCript is a DLL file that anyone can import into their VB.NET project and incorporate the various functions to manipulate files without making the programmer do tons of extra work. So in other words, I could focus solely on DSCript and also the base Chunk Tool, and while I focus on DRIV3R, someone else with programming intuition could start working on Driver San Francisco. Even better yet, someone could work on Parallel Lines. This is not something I can do on my own. Considering the library will be updated from time to time, after an ongoing development phase has finished, developers will be able to take note of any development changes and fix their programs accordingly.

To explain why Project OVERKiLL exists in the first place, I was actually planning on releasing a plugin-based toolset called OVERKiLL MX. This is what inspired the name, but it was promptly canceled when I realized I simply could not do something of that scale in 3ds Max. Now I have moved on to VB.NET, and the possibilities are now endless. You can expect some very exciting updates on DSCript in the future! This project will never die so as long as I am alive.

So I please ask that everyone understands where I come from. I am 20 years old, out of school, responsibilities at home, and of course, I need to juggle my life into this as well. I am a very consistent worker, and I do take breaks often since I overload myself a lot. If you ever want an update, send me a PM. I will find out about it. You can also add me on Skype (CarLuver69), just let me know who you are on Driver Madness so I don't think you're spam!

Just wanted to clear things up. Please be patient - I can only do so much! :P
#50172
Courtesy update to inform you guys that yes, there has been progress on DSCript. I've been very busy working away at it ;)
  • Development of DSCript switched to C# (programs will still use VB.NET)
  • Added Types class
    • DFileType structure, holds Extension and Description for file types
      • Calling method uses pipe-delim'd string, ex. "ext|Description"
      • IsType(DFileType) method used to check against a specific type, ex. MyFileType.IsType(..Types.Driv3r.StandardVehicles)
    • Every possible file type from DRIV3R to Driver: San Francisco
    • GetFileType() method to check current file extension against all file types
      • Can be used for loading cases as needed
  • Chunk class (WIP) to read Chunk files
If there are any programmers who are interested in keeping track of development and would like to work alongside DSCript, please contact me.

Also, I made the decision to make DSCript open-source, so once a more well-established codebase is built up, I will put the project on GitHub for all to fork out some really cool stuff! DSCript is coming along very nicely, considering I'm still just a beginner and all...but I learn as I go :P

Any questions? Feel free to ask!
User avatar
By Fireboyd78
#50260
Just gonna leave this here in case anyone doesn't believe me when I say DSCript is huge and constantly under development.

Image thumbnail
^ Click me, I'm a thumbnail!
#50276
Here's a preview of the Chunk tool I'm working on ;)

Image
Calm down, they're only debug buttons! :P

It works on any CHUNK file! Only problem I've run into at the moment is that DSF contains many sub-chunks - well over 940 of them in dngvehicles.sp alone. With the way I'm currently populating my tree view, it would take a good hour or so to populate it...I'll definitely need to find a fix for this. And for reasons unknown, the DPL vehicles file doesn't load properly! So I've got quite a few bugs to sort out before this (or DSCript, for that matter) sees the public light of day.

If you're curious as to what the debug buttons do, here's what "Next Visible" is capable of:
Code: Select all
The node you currently have selected is '[Unified Packager] Exported Mission Root'
The next visible tree node is '[EM__] Exported Mission'
 - It is a child of the current node, of which its index is 1/1 nodes total.
 - It is a parent node with 3 children:
   - [EMOB] Exported Mission Objects
   - [EMPR] Exported Mission Prop Handles
   - [LELD] Logic Export Data [7 children]
It's an old debugging function I wrote as practice a while back. I'm not entirely sure if it's useful anymore. As for "Breadcrumbs", it just traces back to the root node (useful for loading specific chunk information based on a tree node).

Anyways, here's a city file from DPL, just to showcase the fact it is not restricted to DRIV3R:

Image
Now with less DRIV3R-exclusivity!

I'm also proud to be able to say that DSCript loaded in a 800MB+ CHUNK file, collected data from every chunk header, and then my Chunk tool used that data to build a tree view...in less than 2 seconds! That's pretty impressive, wouldn't you say? (Y)

I'll keep you guys updated as more develops!
#50367
Skylabh wrote:...gck.rimodel...The same lines are also in the dngvehicles.sp of DSF. Same format so ?
Not quite. It's a vastly different format, and I don't think we'll ever know what a .gck.rimodel looks like.
#50451
I've been working on this a lot lately. What others (myself included) don't realize is that when you're being bold and trying to tackle on 3 games and trying to make a toolset that works with all 3 games, things start to get pretty difficult. For example, the model format in Driver: Parallel Lines is different than DRIV3R, but the same for the most part. The model format is entirely brand new in Driver: San Francisco. Everything gets updated, and new approaches are taken. DSF, by far, has some of the most format changes out of all 3 games. It contains a megaton of new formats, the file extension ".sp" is used for multiple files, and just a bunch of other stuff.

What I was originally intending to do was just have one toolset control all 3 games. I was tackling through DSF when I came to the realization that "this is going to take a very long time". That is, if I put everything into one toolset. A toolset that, at the moment, is not very flexible. I might have to write different "plugins" just to control certain files. One of my plans was to also have it so any file can be opened, and that it would check to see if it's a chunk file before going any further.

Unfortunately it seems I might have to go a route which I have been trying to avoid. There may need to be different plugins for each game. DRIV3R is by far the simplest in terms of formats, so it won't require any "hard-coded" names. I can't say the same for DPL and DSF, though. Like DSF has a vehicles file called "dngvehicles.sp", and the city is called "sanfrancisco.sp" so people being allowed to open any *.sp file would be a bad idea. Too many bugs to try and sort out.

So, with that said, here is a working concept of DChunk to tide you over:
https://dl.dropboxusercontent.com/u/691 ... ev4978.zip

Enjoy :D
  • 1
  • 2
  • 3
  • 4
  • 5
  • 8
Crazy Copper Frenzy

https://youtu.be/xAE3QsULyB4

https://youtu.be/AxdGf3F0yIg

Driv3r "Nice Getaway"

https://youtu.be/CYkmGAPoO9s Lucas in Driv3r's Ni[…]

https://youtu.be/Yvc_xKrKhnc?si=k4I5kraarTXctHJp […]