» Category : Carmageddon 1

TESTY the test car

2 years later, a simple post to share the test car I had made for Errol when he investigated crush datas. It's a simple block on wireframe wheels:

Download it here

As you can see, it's handy to select and modify specific vertices. And for the record, here's what Jeff had to say about crush datas:

Crush Header:

0.450000 // damage multiplier. This is low for strong vehicles and high for small, light vehicles
0.150000,0.400000 // unknown. seems to always be the same
0.050000 // (same)
0.050000 // (same)
0.000000 // (same)
0.000000 // (same)
93 // number of vertices

For each crush vertex:

65 // vertex index
-0.1682, -0.1328, -0.4427 // min position for this vert
-0.0682, -0.0540, -0.3427 // max position for this vert
0.0121, 0.0156, 0.0062 // multiplier for left/top/rear collisions
0.0378, 0.0234, 0.0437 // multiplier for right/bottom/front collisions
74 // number of child vertices (used if the main vertex is hit)

Child vertex #1:

5 // vertex index. This starts at -1 and is added for each vertex. So this vertex is 4 (-1 + 5) in PlayThing
178 // distance of this vert from the parent vertex

Child vertex #2:

1 // vertex index. This is vertex 5 in PlayThing (-1 + 5 + 1)
133 // distance

How to write your own C1 PIX pack

(and thus prepare your custom textures)

With this article, you should be able to /write/ your own pix pack for Carmageddon 1 (C1) from scratch, and then include your bitmaps easily with CarmagEdit. 
Prior to reading and trying to go on with this article. Be sure that you have a hex editor installed (Hex Workshop, FrHed, 010 Editor, etc.).

This stuff is only useful for C1 modders or for people who would like to start modding C1. It is useless for any C2 editing!
I highly recommend you totaly read this article before attempting to create a pix pack for the first time. This way you'll have a global idea of what is awaiting you.

Updated in August 2011!

Continue reading...

Marvelous Carmageddon 1

Here's a short post about some C1 stuff.

Everybody playing C1 knows about the annoying effect in the windows being kinda messed up. I had a look at the reason why it happens like that. First thing is that it isn't linked to the car at all. You can define a material on your car that the game will later replace with a sky material or area material if you are in a SFX volume. Actually these materials that the game is substituing are the "problem". Most of these materials are using the env map (loc) effect, like we use in C2 for chrome etc. and these materials are also rolling by default (controlled by the car's movement). As the env map in C1 is kinda ugly (pixelated) and not working the same way as in C2, Stainless decided to multiply both horizontal and vertical repeatition by 5! This was an unknown feature of the MAT files. And apparently it doesn't go well with the env map effect. Getting rid of the repeatition also get rid of the problem but then the material in the windows are very pixelated, enabling dithering on said material doesn't help. No idea what to do to solve this so far. And fixing this would be a lot of work as C1 uses a lot of these materials all around and they don't all beheave the same way.

At least this made me discover the UV repeatition! Not really sure how useful this could actually be (besides increasing the env map material) but I understood how it works. Hexediting a MAT file you can notice for each material entry a pair of 3F80h. The C1 materials using UV repeatition had 40A0h instead. So to put it simply, 3F80h = 1 and 40A0h = 5. However the scale value isn't a constant. It's decreasing at every power of two. Let me explain: 1 is 3BF0h, to get the texture to repeat to times you must add 80h and thus write 4000h, to go from 2 to 3 however as we passed by 2 power 1 we mustn't add 80h but 40h and write 4040h, it's the same to go to 4 (and write 4080h). Again as we leave 4 which is 2 power 2 the difference must be divided by two again and we must add 20h instead. From 8, the difference will be 10h. And at 16, 8h. To put it simply, here's a table:

1x= 3F80h
2x= 4000h
3x= 4040h
4x= 4080h
5x= 40A0h
6x= 40C0h
7x= 41E0h
8x= 4100h
9x= 4110h
10x= 4120h


I talked about dithering in C1 materials. I don't think it was ever used in both C1 and C2 (must not have much incidence in C2 but for its software mode) but it actually works (I know that for a long time, just forgot to talk about it). Dithering might seldom be suitable for C1 texturing as it diffuses pixels to loosen the texels and (imo) it doesn't fit in C1 which is more about pixelart. Also dithering soften details in textures. However there are some cases where it is useful. Textures where random noises is welcome or which are supposed to offer a lot of matter detail at different distances. For example I used it on the log of recently released Mighty Fist. You can see in the shot here how it diffuses pixels from a texel to another:

Dithering example


Speaking of diffusing pixels I'm now sure you can't do that with transparent pixels for the cockpit images. It either makes the game crash or then messes up the cockpit image itself. You might want to diffuse transparent pixels if for example you wanted blurry edges or subtle shading on the borders of the transparent areas. Well forget it, the game doesn't like that. I guess it keeps track of the amount of transparent areas in the cockpit image and if it encounters too much of them or a 1x1pixel one it goes pop-fizzle.

Another thing that apparently might crash C1 when working on an addon car is the amount of shrapnel colors. Keep it low. 3 maximum. The car here above with log had 4 shrapnel colors and it made the game crash every time shrapnels had to be generated. It's either 3 maximum or they are SimpMat colors that make the game crash.

And finaly a word about the C1 palette. All of sudden it came to my mind that if the C1 palette was that customized in comparison to the standard 256 palette then it should be possible to modify it given the fact it wasn't integrated into the executable itself,(and thus relying on both palettes located in REG\PALETTES. Well it does use these palettes and you can modify these easily. The PAL file format is the same as the Microsoft PAL but for the header. Also it isn't needed to modify DRRENDER.PAL directly as the game will load anything in the PALETTES folder and give priority to the last one loaded. So just create a new palette keeping the same name as DRRENDER.PAL in the header but write the filename so that it is loaded after DRRENDER.PAL it will then overwrite it.
I proceeded to mod said palette and created a SinCity look alike one.

SinCity Carmageddon 1

Click the thumbnail to enlarge it.

This wasn't short at all.


Hello, seeing Razorback was featured in the C1 intro but not in the actual game (Razorbill instead) and then appeared in C2, I decided to port it back to C1. Everything's done inside PT2 :B
I added the mohawk and the glasses (they are sky reflective btw). Mohawk material is one of these c1 untextured custom material there and the black part of the glasses are simpmats. Just details ofcourse but is cool to notice I guess. Suspensions are working. Bonet view. Simple model. Menu pics etc. etc. Thanks to TTR for the testing.

I noticed that there's some kind of material limit per car. Maybe 36. I must test that again sometime. I had a corrupted mat slot around the same moment.

You can dowload the stuff at Rooooad Reeactionnn. C1 section.
Extrapolation of squirrels' adaptive capability to synthetic office plants in West Uruguay.


A bad manip and the whole Gourmet Carmageddon project disappeared!
I'm quite pissed to say the least. I have the changelog of what I had done so I can redo everything easily. Even better, maybe try to avoid the crashing bugs. But I have lost the super cool loading screen I had made :'(

Ah well... I guess on the C1 side, I'll finish the Night track someday and the C1 tutorial and later I'll give Gourmet Carmageddon a go again.
C2 stuff for now.

Hawk Mk3 and Eagle Mk3 beta

Today I quickly ported the Hawk Mk3 from C2 to C1. I did it entirely in PT2 heh. And not a single crash :]
I think the textures work kinda good even in 8bit. It is fully featured (but the dash bitmap as usual) and I spent quite some time on the bonnet model to get something agreable, even looking at the side windows.

As everybody knows, the Hawk Mk3 was initialy supposed to be the Eagle Mk3 (an early render can be found on the intertubes). So I quickly created a mod (actually just a secondary pix pack. Models, actors, etc are the Hawk's) to get a Eagle Mk3 beta. BTW those are the real rim textures. They are similar to what we can see in the render and come with the C2 alpha.

They come packed together at Road Reaction.

The Borgnine, for C1 this time

I ported the Borgnine to C1 as well. Used a yellow untextured C1 material here 'cause C1 doesn't support env map that well (or I haven't found how to setup the lighting properly for said material!) and there's no purple at all in the C1 ingame palette...

Actually I think it looks kinda good, no?

You can download it at Road Reaction, for a change.

Working out the night track

My night track project for C1 is progressing. I've finally locked a scale I estimated was kinda realistic and good gameplay-wise as well. This will allow me to go on with paths, peds and noncars.

So far the track is ingame and features everything it needs on the graphic side but the menu pics. I used the V7 track txt file and it allows me to control the transparency of ! materials directly, it is also possible to have secondary actor and model files for lowmem comp (though I really doubt it will be necessary (unless 500+ noncars is too much?!)). The only very annoying problem right now is an incomprehensible bug making the game crash in some areas of the track. I've tested everything I could come up with this evening and no luck. I'm still thinking it could be related to unloaded materials or something wrong with the additional actor file... dunno...

To do list~

  1. Find a damn better name than "night track" heh!
  2. Menu pics + infos
  3. Fix the map matrix
  4. Opponent paths + cops/network starting points
  5. Checkpoints
  6. Peds (via internal edit mode?)
  7. SFX volumes (they change the windscreen material)
  8. Import the noncars
  9. Find and fix the damn crashing bug
Now that I think about it, the bug could be related to incoherent coordinates left in the track txt file (peds and paths). The paths will be created directly via Dan's noncar tool. I think I'll do the peds at the end 'cause the peds data takes like 99% of the track txt file and makes it tedious to scroll up and down D:  I'll do the noncars group by group, everything that isn't a plant is ready to be imported but again I'd prefer to do that at the end heh... Damn I had totaly forgot about the powerups... We'll see that later too~

Crowning Gory & Roverkill

They are done! Download them at RR2000.

Getting Freddy's weapons to C1

Hi, I'm not dead at all :)

Here! Crowning Gory and Roverkill! Almost on request from sir Freddy!

Crowning Gory is down from 4500 tris to 960. And Roverkill from 2080 tris to 780. PT2 phase started, soon ingame?!