Modding discussion in general.
#53077
My apologies for not making the shortcut keys clearer :P

Progress is still going very slowly due to a ton of issues I'm having with .OBJ files. I'm thinking of using .DAE files instead, which is widely supported for the most part and supports a lot of the stuff that DRIV3R uses. I wouldn't expect anything significant for another week or so because of this. I'll definitely post updates as they happen, though!
#53410
Things take time. I have to somehow balance real life as well as stuff like DSCript. It might not seem like it, but the amount of code it takes to be able to make a program like Antilli is much larger than one might think.

You also have to take into consideration that, after a period of time, the amount of code starts to become overwhelming and cluttered. Certain things need to be rewritten if new functionality is to be implemented. I've put myself in a position where a lot of things require hacks inside of my own program. I can't count how many times I've written something with the intention of it being used a certain way, then turning around and hacking it all together to make something work.

I can't guarantee anything will happen anytime soon. It takes a lot of my personal time to do this stuff.

Managing over 20,000 lines of code between Antilli and the DSCript library can be time consuming, you know? :P
#53413
DaRkProDucTioNs00 wrote:Dam. It sounds pretty technical. Especially having to hack your own code :P
I'm using the word "hack" in a sense of "write sh*tty code on top of good code until something happens" :P
#53420
DaRkProDucTioNs00 wrote:LOL it's the game I'm making in a nutshell. "Ohh well let's see what this does" (Everything flies apart with tremendous lag and the game crashes) (Y)
Sounds fun! :lol:
CarLuver69 wrote:Things take time. I have to somehow balance real life as well as stuff like DSCript. It might not seem like it, but the amount of code it takes to be able to make a program like Antilli is much larger than one might think.

You also have to take into consideration that, after a period of time, the amount of code starts to become overwhelming and cluttered. Certain things need to be rewritten if new functionality is to be implemented. I've put myself in a position where a lot of things require hacks inside of my own program. I can't count how many times I've written something with the intention of it being used a certain way, then turning around and hacking it all together to make something work.

I can't guarantee anything will happen anytime soon. It takes a lot of my personal time to do this stuff.

Managing over 20,000 lines of code between Antilli and the DSCript library can be time consuming, you know? :P
I have had some experience with that too and it becomes a code maze at some point lol. I wish you best of luck with coding! (Y)
User avatar
By Fireboyd78
#54202
Haven't posted anything for awhile, so I figured I'd give an update on what's been going on this past month.

After I finished my .OBJ loader, I decided to rewrite the code that loads the Chunk files. I believe the proper terminology for these files is "Spooler", or a "Spoolable Resource" - it's basically a type of memory streaming that allows the game to load only what it needs without loading the entire file at once and keeping it in memory. When I first wrote a basic loader for these Spoolers (which is what Antilli currently uses), I never took into account flexibility. Exporting was thrown together in a day or two, and only to the point where it juuuust barely worked. This hackish code created many problems for me, and also takes up a lot of memory.

A rewrite was inevitable, so I spent a week or two trying out different methods of loading the spoolers. I think the system I have now works pretty good - it doesn't take up a lot of memory, performance is good, and I now use temporary files to store all of the data. This does mean, however, that opening big files means the temporary directory will increase in size. I think DPL has the biggest file I've encountered thus far - "nyc_vehicles.sp", weighing in at a hefty 700MB+! As long as you have enough space on your hard drive, this shouldn't be a problem. I might be able to add a simple check to make sure my tool isn't going to blow up your computer :P

Another important thing I hadn't taken into consideration before was the alignment of the spoolable data. If you're interested in what it is, have a look here. It is extremely important to determine what alignment the developers wanted for that particular spooler. If it's not aligned properly, the game might crash! I wrote some code that calculates the alignment of a spooler, which works out good for the most part. The developers weren't perfect in their work, so there's some inconsistencies for exporting files. I've done my best to work with these and have not had any crashes so far.

The reason things have been taking so long is because I don't want to limit myself to just Driv3r. That was the game that got me up and on my feet, but not everyone wants Driv3r. There's 2 other games just waiting to be modified, and right now I'm the only one who's capable of doing so. I don't have a team, but I do get a lot of help, especially from Klancnik. One thing I haven't done yet is include the long list of "Special Thanks" to everyone who has helped me this past year. If you're one of those people reading this, I haven't forgotten about you! Thank you for everything!

This past week or so, I've been messing around with reverse engineering Driv3r and DPL. Trying to figure out what makes them tick. I've done some pretty cool stuff - here, have some pictures!

Image thumbnailImage thumbnail
Image thumbnailImage thumbnail
Image thumbnailImage thumbnail

The first few pictures show some hidden debugging features I found in Driv3r that might be useful in the future. The other ones show the result of me changing what I call the "Traffic Pool", which is just a list of car IDs that should spawn in traffic. Unfortunately, I later found out that the game actually doesn't load all of the vehicles at once, so if you replace a car that wouldn't normally show up, it won't spawn at all. I don't know if this is fixable or what controls it, but it's something.

In other news, I've also created my own IMG Unpacker. IMG is a format used on PS2 by Reflections. I found out how the Stuntman Unpacker works and managed to implement support for all IMG types - IMG2 (Stuntman NTSC), IMG3 (Stuntman PAL), and IMG4 (Driv3r/Driver Parallel Lines). I think IMG4 has the filenames hidden somewhere else, so for now there are no filenames. In the Driver: Parallel Lines demo, I found the motherload! For someone like me, that file helps a lot - it helps me understand how the files are called by the game, I learned that the game engine is called "Hamster", and just lots of other cool stuff!

If there hasn't been a lot of Antilli progress lately, it's because I've been busy opening more cans of worms than I can handle. Just one thing after another - a new idea, a new project, lots of thinking, rewriting - it's very time consuming. One day, there will be either one large modding tool to cover all of your modding needs (like OpenIV), or a suite of modding tools with different purposes. Personally, I like to keep my eggs in one basket, so don't be surprised if Antilli becomes more than I anticipated it to be!

With all of this said, if anyone has any cool ideas they'd like me to try out, let me know! I'm always open to suggestions! I notice some of you here tend to drop by once in a while to see what's going on, and I'm always thinking of you guys - it's what keeps me motivated and gives me the drive to continue working. It'd be cool if we could all interact with each other more and share ideas - that's what this community is all about, and I participated in something similar back in the day when Driver was just first getting its modding tools. After seeing what Jeff did with his tools for Driver, it inspired me to make my own tools. Who knows what would've happened if Jeff never came around...maybe I wouldn't be a programmer today, maybe I would have.

As I always say, the best way to contact me is Skype. It's pretty rare to find me offline on Skype. Why not join the madness? I share tidbits of information occasionally on our Skype Channel - come join the fun!

To those of you who have been patiently waiting - it will all be very, very worth it. Thanks for your continued patience!
#54204
That is some excellent progress! I have been checking here atleast every other day and will keep checking to see if anything has been posted :D
Those symbols you found are very interesting to read. Thanks for sharing them (Y)
As always, keep up the good work! 8)
#54209
This is getting better every update, one day Driver fans will fully enjoy modding without being jealous of other games being capable of that. Mark's determination never ceases to amaze me. (Y)
#54214
Oilfan wrote:When will be the next upload on Bitbucket? And is it possible to export map object from Driv3r like safehouses?
The reason I haven't been pushing to BitBucket lately is because everything is so messy, and I haven't really worked on Antilli itself for a while. It's full of debugging stuff at the moment and doesn't use the new loading system for files. At the moment, no, I haven't implemented exporting for anything yet. As soon as I work a few more kinks out (ah, the life of a programmer), I can finally start working on model importing/exporting.

Sorry for the delays :P
#54257
Oilfan wrote:Could you inform me on how to enable that debug mode with red text? I would like to try it out and see what i can make out of it :)
Here you go: https://dl.dropboxusercontent.com/u/691 ... Options.CT

Download Cheat Engine 6.3 if you haven't already, open the Driv3r process into Cheat Engine, and then load that file. Once in-game, the values should fill up. You'll want to change "Display Handles/UID" to get the desired effect. There are also others that have interesting side effects.

If you have any problems, let me know.
#54259
CarLuver69 wrote:
Oilfan wrote:Could you inform me on how to enable that debug mode with red text? I would like to try it out and see what i can make out of it :)
Here you go: https://dl.dropboxusercontent.com/u/691 ... Options.CT

Download Cheat Engine 6.3 if you haven't already, open the Driv3r process into Cheat Engine, and then load that file. Once in-game, the values should fill up. You'll want to change "Display Handles/UID" to get the desired effect. There are also others that have interesting side effects.

If you have any problems, let me know.
Much appreciated! Thanks!

For anyone interested, i found how to get to the profile loading menu very quickly after starting the game:
First go to your DRIV3R installation folder (i have it at D:\DRIV3R) then look for a folder called FMV.
In that folder, rename ATARI.XMV to something like ATARI.XMV_ (notice that you must have "show file extensions" enabled in windowds settings to change the extension).
Then in the same folder, find and rename NVIDIA.XMV to something like NVIDIA.XMV_. If you want to disable the legal notice screen which shows right after launching the game, go to Territory\Europe\FMV and rename LEGAL.XMV to something like LEGAL.XMV_ and you are done :) . I hope this helps someone who may want to start their game faster. I found it alot easier to work with DRIV3R modding when you can start the game faster :)
#54263
I also forgot to mention last night I pushed an update to the 'dev' branch of the BitBucket. I really need to get into a "make a change, commit" kind of routine.

On a similar note, I couldn't help but just stare in awe at the amount of coding I've put into this stuff. If you look at the commit log, I've added/removed a LOT of code. It almost feels like I'm making a game, and sometimes I feel very tempted to get Unity Free and just start making a "Driver Clone" kind of game like Skylab has done.

But I'd really like to try and get model importing working soon...I know you guys want that the most.

Lastly, if you look closely in the source code, you just might find some hidden treasures ;)
#55206
3 months without updates? Wow, time really flies.

I know this looks like a total step in the opposite direction, but I've finally updated Antilli to use my new file loading system!
Image

The reason I've taken so long to update you guys on anything is because I originally wrote a file loading system that flat-out sucked. It wasn't very flexible and had no support for resaving files. After many hours of work and lots of frustration, it's finally complete. Finally.

This means:
- New file formats can be added easily
- MODDING!!!!!
- Huge performance increase
- And probably much more!

I will also be able to add that hierarchy editor I've been wanting to make for a long time now!

Expect more updates soon :wink:
#55282
The reason I spent so much time rewriting stuff was because of reasons such as that. My new spooling system allows me to keep track of all that data and modify it with ease.

It's written so well, it could be used in an actual gaming environment to load assets on the fly.

So no, we won't have this problem importing. The only thing I'm slightly worried about is replacing characters, but you know what? I think I'll just use 3ds max. My journey began with MaxScript, so it wouldn't be out of the ordinary to have a "Character Tool" for 3ds max users. It would save me a lot of time and frustration, haha.
#55283
CarLuver69 wrote:...So no, we won't have this problem importing. The only thing I'm slightly worried about is replacing characters, but you know what? I think I'll just use 3ds max. My journey began with MaxScript, so it wouldn't be out of the ordinary to have a "Character Tool" for 3ds max users. It would save me a lot of time and frustration, haha.
Nice job (Y)
I don't know if replacing characters is really necessary, at least for now. If we are able to replace vehicles and why not some buildings, i think it's already nice. But you are the lead programmer :mrgreen:
#55284
CarLuver69 wrote:The reason I spent so much time rewriting stuff was because of reasons such as that. My new spooling system allows me to keep track of all that data and modify it with ease.

It's written so well, it could be used in an actual gaming environment to load assets on the fly.

So no, we won't have this problem importing. The only thing I'm slightly worried about is replacing characters, but you know what? I think I'll just use 3ds max. My journey began with MaxScript, so it wouldn't be out of the ordinary to have a "Character Tool" for 3ds max users. It would save me a lot of time and frustration, haha.
This is going to be awesome! You need an award or achievement called "Genius programmer" or something. I'm also sure that character model replacing should be last on the list. By the way, what programming language did you use to make all of this? (Y)
  • 1
  • 4
  • 5
  • 6
  • 7
  • 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 […]