During the production of the Police LTV, I was hoping that it would go to the bank in CnR. However, just adding the basename to "vehtypes.csv" wasn't enough. Neither was having sirens, lol.
Instead, I brought up a good point about the "FLAGS" you can find in the info file for each vehicle, so DB suggested checking the FLAGS for the Mustang Cruiser. Instead of just going off of one car, I went the whole nine yards and got the flags for every vehicle that shipped with the final version of MM2.
---FLAGS = 0---
Audi TT
Caddillac Eldorado
Ford F-350
Ford Mustang
Ford Mustang Fastback
LTV
Panoz GTR-1
VW Beetle
VW Dune
VW Beetle RSi
---FLAGS = 4---
Panoz Roadster
---FLAGS = 8---
Ford Mustang Cruiser
---FLAGS = 16---
City Bus
---FLAGS = 19---
Firetruck
Frieghtliner Century
---FLAGS = 64---
Aston Martin DB7
London Cabby
Mini Cooper
NEW Mini Cooper
---FLAGS = 80---
DD Bus
Without any prior knowledge of the FLAGS system, I proposed the following theory of what each one meant -
0 = Standard vehicle
4 = Fenders
8 = Cop car
16 = City Bus
19 = Semi Truck (w/ Trailer?)
64 = Paintjob unlocked from Crash Course
80 = Unknown
I was pretty close. However, I should've looked into 64 a bit closer than I did, because I would have realized that those cars are based in London and therefore, right hand drive. But what good is right hand drive with the hudmap in the way? 64 takes care of that by swapping the hudmap from right to left. More tea, vicar?
The revised list by DB, which turns out to be 100% accurate, is as following:
0 = No flags
4 = Leftover from MM1; fenders visible in dash
8 = Bank in CnR (confirmed)
16 = Camera drops behind car in tunnels
19 = Leftover from MM1; 5th & 6th wheels
64 = Hudmap on left side
80 = Hudmap on left side, camera drops behind car while in tunnels
Seems like a simple list, no? DB brought up a good point:
I decided to take a look into this and started out with 191 as an entry in FLAGS. Nothing happened. So instead, I decided to look at the pattern of how the FLAGS work, and noticed that each default entry is a multiple of 8. This is not including the ones that were leftover from MM1, as they no longer function.I just noticed something. Flag 80 combines the effects of Flag 64 and Flag 16, and 80 is the sum of 64+16. Coincidence? Or does it mean you can add flag numbers together to combine their effects (for example, flag 191 enables all of them)?
If this were the case, the highest number achievable would be 88, which is 8 + 16 + 64. That would be:
-Bank in CnR
-Left side Hudmap
-Camera drops in tunnels
I slapped in the number and gave it a go. Surprisingly, the theory of adding flags together worked. 88 gave me the left side hudmap as well as the camera drops in tunnels. As of this update, it is unconfirmed whether or not the bank works in CnR.
But then I thought, what about any other kind of flags? I thought of 32. It's a multiple of 8 and just in between 16 and 64. I added 32 to 88 and got 120 as a new entry. This would mean:
-Bank in CnR
-Left side Hudmap
-Camera drops in tunnels
-Unknown effect
It worked flawlessly in MM2. But how do we know it's working? If you recall, I said that I input 191, which was the sum of all the flags which were present in MM2 info files, basically the entire list of flags I posted above.
But what does this mean? How can MM2 interpret which flag is used when you put them together? Is MM2 aware that a flag exists when you add it's number to the formula? This is the part I would really like to see figured out sometime in the future
As for the 32 entry which is currently unknown, MM2 must be aware that a flag exists/existed and used a special flag calculating formula.
Feel free to add any feedback to this thread.
-CarLuver69
Additional Notes:
A good friend of mine has told me how the flags work. They are powers of 2, so in binary, here is an example of how the flags would look:
---FLAGS = 0---
Code: Select all
00000000000000000000000000000000
Code: Select all
00000000000000000000000000000001
Code: Select all
00000000000000000000000000000010
Code: Select all
00000000000000000000000000000100
Code: Select all
00000000000000000000000000001000
Code: Select all
00000000000000000000000000010000
Code: Select all
00000000000000000000000000010011
Code: Select all
00000000000000000000000000100000
Code: Select all
00000000000000000000000001000000
Code: Select all
00000000000000000000000001010000
Code: Select all
00000000000000000000000001011000
Code: Select all
00000000000000000000000001111000
191 would actually be 00~0010111111...for all 32 bits to be set you'd have to try 4294967295...Or you could just do the first 16, which would be 65535