How to add a new car (Burnout Paradise): Difference between revisions

From Burnout Wiki
Content added Content deleted
(As of the latest commit it is no longer the case, that it takes a long time to apply)
No edit summary
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Tools ==
== Tools ==

* [https://github.com/burninrubber0/Bundle-Manager/releases Bundle Manager]
* [https://github.com/burninrubber0/Bundle-Manager/releases Bundle Manager]
* [https://mh-nexus.de/en/downloads.php?product=HxD20 HxD]
* [https://richwhitehouse.com/index.php?content=inc_projects.php Noesis]
* [https://drive.google.com/drive/folders/0B1NgOi5F1w1-UGpYMVgyVmFUdEk Noesis Plugins]
* [https://bpr.bo98.uk/lookup8/ lookup8]


== Steps ==
== Steps ==
# Get a vehicle file (_AT.BIN and _GR.BIN)
# Get a vehicle file ('''_AT.BIN''' and '''_GR.BIN''')
# Open up the vehicles/vehiclelist.bundle in Bundle Manager
# Open up the <code>VEHICLES/VEHICLELIST.BUNDLE</code> in Bundle Manager
# Copy Entry for Hunter Cavalry
# Copy the entry for (as an example) the [[Hunter Cavalry]]
# Give it a new vehicle id (try to format it like the game does i.e. PUSMC01 for P_US_MuscleCar_01).
# Give it a new vehicle ID (try to format it like the game does i.e. '''PUSMC01''' for '''P_US_MuscleCar_01''').
# Give it a new AttribSys ID in the VehicleList. Can be any ID, but try to keep it as a number over 1000000 to prevent conflicts with existing IDs.
# Give it a new AttribSys ID in the VehicleList. Can be any ID, but try to keep it as a number over 1000000 to prevent conflicts with existing IDs.
# Rename the Files to have the structure VEH_<vehicleid>_AT.BIN, VEH_<vehicleid>_CD.BIN, VEH_<vehicleid>_GR.BIN
# Rename the files to have the structure '''VEH_<vehicleid>_AT.BIN''', '''VEH_<vehicleid>_CD.BIN''', '''VEH_<vehicleid>_GR.BIN'''
## If you don't have a _CD.BIN file for your car, just pick another one and rename it.
## If you don't have a '''_CD.BIN''' file for your car, just pick another one and rename it.
#* Alternatively, you can take the original files and use Bundle Manager's "Save As..." feature to give them the new name.
# Edit the binary files:
## Find the IDs that you have to edit. For all values in the table below, do the following:
# Find the IDs that you have to edit. For all values in the table below, do the following:
## Edit by clicking on the menu "Edit > Edit ID" and typing in the string in '''lower case'''
## Calculate the [[Common Data Types (Burnout_Paradise)#CgsResourceID|CgsResourceID]], by following the schema in the table below, change all letters to lowercase, generate a CRC32 value with HxD and bit swap them
## If it works, the name will show up in Bundle Manager
## Open up the File in Bundle Manager and look at the IDs. They are corrected, so you have to bit swap them when looking for them, e.g. ac21de43 is 43de21ac in the binary file.
# Open up VEH_<vehicleid>_AT, right-click "bunrnoutcarasset", then in the menu click "Change CollectionHash"
## Open Hexedit and search for the IDs to find out where you have to replace it
# Put in the AttribSys ID from step three and save
## Replace
##If it worked the name will show up in BundleManager
# Unpack the VEH_<vehicleid>_AT with the Noesis and the noesis plugin to a folder
# Calculate the [[Common Data Types (Burnout_Paradise)#Hash Int|Hash Int]] by taking AttribSys ID from step three and hash it as a lookup8 with [https://bpr.bo98.uk/lookup8/ lookup8]. The hash int is the little endian value.
# Edit the file in the AttributeSysVault folder, replace the values starting from 0x2E8 with the [[Common Data Types (Burnout_Paradise)#Hash Int|Hash Int]]
# Pack it up, rename it to VEH_<vehicleid>_AT and replace it in vehicles.


Then you should see your new car!
Then you should see your new car!


== Values to change ==
== Values to change ==

{| class="wikitable"
{| class="wikitable"
! File !! ID in BundleManager !! Replace with !! Comment
! File !! ID in BundleManager !! Replace with !! Comment
|-
|-
| VEH__AT || AttribSysVault || <vehicle_id>_AttribSys ||
| VEH__AT || AttribSysVault || <vehicle_id>_AttribSys ||
|-
|-
| VEH__AT || VehicleAnimation || <vehicle_id>_ANIM ||
| VEH__AT || VehicleAnimation || <vehicle_id>_VANM ||
|-
|-
| VEH__AT || StreamedDeformation || <vehicle_id>DeformationModel ||
| VEH__AT || StreamedDeformation || <vehicle_id>DeformationModel ||
|-
|-
| VEH__AT || BodyPartRemapData || <vehicle_id>_BPR ||
| VEH__AT || BodyPartRemapData || <vehicle_id>_BPR ||
|-
|-
| VEH__GR || GraphicsSpec || <vehicle_id>Graphics ||
| VEH__AT || AnimationCollection || <vehicle_id>_ANIM || Only available for the bikes.
|-
|-
| VEH__CD || ResourceID || <vehicle_id> ||
| VEH__GR || GraphicsSpec || <vehicle_id>_Graphics ||
|-
| VEH__CD || ResourceID || <vehicle_id> ||
|}
|}


Also change the name and hash in cleartext in VEH_<vehicleid>_CD. The hash in clear text is not bitswapped.
Be sure to also change the name and hash in cleartext in '''VEH_<vehicleid>_CD'''. The hash in clear text is not bitswapped.


== How to select the new car ==
== How to select the new car ==
Use BPR Modder and install Brick Remastered. You can then select with F9 the new car in the Portable Junkyard.

Use BPR Modder and install Brick Remastered. You can then select with F9 the new car in the mobile Junkyard.


== How to name the car ==
== How to name the car ==
Search your language in LANGUAGE/LANGUAGE_X.bundle and open it up with BundleManager
Search your language in LANGUAGE/LANGUAGE_X.bundle and open it up with Bundle Manager.


# Calculate the [[Common Data Types (Burnout_Paradise)#LanguageResourceHash |Language Resource Hash]], by click on Tools → Hash in the Language Manager and typing in CAR_CAPS_<vehicle_id> for the name or CAR_BLURB_<vehicle_id> for the description
# Calculate the [[Language hash]], by click on Tools → Hash in the Language Manager and typing in '''CAR_CAPS_<vehicle_id>''' for the name or '''CAR_BLURB_<vehicle_id>''' for the description.
# Add the hash at the bottom with the new string
# Add the hash at the bottom with the new string.
# Click on File → Apply changes to apply your changes
# Click on File → Apply changes to apply your changes.
# Save your changes
# Save your changes.


You should now see your new name and description of the car!
You should now see your new name and description of the car!


== Things, that are not yet possible ==
== How to change the attributes of a car ==
# Open up '''VEH_<vehicleid>_AT.BIN''' with Bundle Manager
# Open up the AttribSysVault
# At the top, you can see the attributes, which you can change
# Double-click on the attribute you want to change
# Change the values at the bottom
# Save

== (Currently) Unavailable features ==

=== Adding a new vehicle category ===


=== Using a new vehicle manufacturer ===
=== Using a new vehicle manufacturer ===
Line 69: Line 69:
=== Adding a new icon for your new vehicle ===
=== Adding a new icon for your new vehicle ===


==== Relevant Files ====
==== Relevant Files ====
* GUIAPT/B5PARADISEICON.bundle → Regular Cars
* GUIAPT/B5PARADISEICON.bundle → Regular Cars
* GUIAPT/B5BIKEICONS.bundle → Bikes
* GUIAPT/B5BIKEICONS.bundle → Bikes
Line 77: Line 77:
* GUIAPT/B5ICONICARICONS.bundle → Legandary Cars
* GUIAPT/B5ICONICARICONS.bundle → Legandary Cars


==== Issues ====
==== Issues ====
* Not yet clear how to add an entry to AptData.
* Not yet clear how to add an entry to AptData.
* Importing a new icons file with BundleManager breaks the game ([https://github.com/burninrubber0/Bundle-Manager/issues/5 Issue])
* Importing a new icons file with BundleManager breaks the game ([https://github.com/burninrubber0/Bundle-Manager/issues/5 Issue])

==Changing car speed with Bundle Manager==
#Open BundleM anager and put it in Bundle mode
#Click the little folder in the top right
#Find your ''Burnout'' game location
#Find the car that you want to edit the '''_AT''' file of
#Open that '''_AT''' in Bundle mode and double click the File with the type "AttribSysVault"
#Find the classname called '''physicsvechiclebaseattribs''' and scoll down to max speed, as an example
#Change the parameter to whatever top speed you want
#Close and save, you are done!
#Bear in mind that the increased top speed may cause handling issues.

Latest revision as of 16:53, 2 January 2023

Tools

Steps

  1. Get a vehicle file (_AT.BIN and _GR.BIN)
  2. Open up the VEHICLES/VEHICLELIST.BUNDLE in Bundle Manager
  3. Copy the entry for (as an example) the Hunter Cavalry
  4. Give it a new vehicle ID (try to format it like the game does i.e. PUSMC01 for P_US_MuscleCar_01).
  5. Give it a new AttribSys ID in the VehicleList. Can be any ID, but try to keep it as a number over 1000000 to prevent conflicts with existing IDs.
  6. Rename the files to have the structure VEH_<vehicleid>_AT.BIN, VEH_<vehicleid>_CD.BIN, VEH_<vehicleid>_GR.BIN
    1. If you don't have a _CD.BIN file for your car, just pick another one and rename it.
    • Alternatively, you can take the original files and use Bundle Manager's "Save As..." feature to give them the new name.
  7. Find the IDs that you have to edit. For all values in the table below, do the following:
    1. Edit by clicking on the menu "Edit > Edit ID" and typing in the string in lower case
    2. If it works, the name will show up in Bundle Manager
  8. Open up VEH_<vehicleid>_AT, right-click "bunrnoutcarasset", then in the menu click "Change CollectionHash"
  9. Put in the AttribSys ID from step three and save

Then you should see your new car!

Values to change

File ID in BundleManager Replace with Comment
VEH__AT AttribSysVault <vehicle_id>_AttribSys
VEH__AT VehicleAnimation <vehicle_id>_VANM
VEH__AT StreamedDeformation <vehicle_id>DeformationModel
VEH__AT BodyPartRemapData <vehicle_id>_BPR
VEH__AT AnimationCollection <vehicle_id>_ANIM Only available for the bikes.
VEH__GR GraphicsSpec <vehicle_id>_Graphics
VEH__CD ResourceID <vehicle_id>

Be sure to also change the name and hash in cleartext in VEH_<vehicleid>_CD. The hash in clear text is not bitswapped.

How to select the new car

Use BPR Modder and install Brick Remastered. You can then select with F9 the new car in the Portable Junkyard.

How to name the car

Search your language in LANGUAGE/LANGUAGE_X.bundle and open it up with Bundle Manager.

  1. Calculate the Language hash, by click on Tools → Hash in the Language Manager and typing in CAR_CAPS_<vehicle_id> for the name or CAR_BLURB_<vehicle_id> for the description.
  2. Add the hash at the bottom with the new string.
  3. Click on File → Apply changes to apply your changes.
  4. Save your changes.

You should now see your new name and description of the car!

How to change the attributes of a car

  1. Open up VEH_<vehicleid>_AT.BIN with Bundle Manager
  2. Open up the AttribSysVault
  3. At the top, you can see the attributes, which you can change
  4. Double-click on the attribute you want to change
  5. Change the values at the bottom
  6. Save

(Currently) Unavailable features

Adding a new vehicle category

Using a new vehicle manufacturer

Adding a new icon for your new vehicle

Relevant Files

  • GUIAPT/B5PARADISEICON.bundle → Regular Cars
  • GUIAPT/B5BIKEICONS.bundle → Bikes
  • GUIAPT/B5BOOSTCARICONS.bundle → Boost Cars
  • GUIAPT/B5COPCARICONS.bundle → Cop Cars
  • GUIAPT/B5TOYCARICONS.bundle → Toy Cars
  • GUIAPT/B5ICONICARICONS.bundle → Legandary Cars

Issues

  • Not yet clear how to add an entry to AptData.
  • Importing a new icons file with BundleManager breaks the game (Issue)

Changing car speed with Bundle Manager

  1. Open BundleM anager and put it in Bundle mode
  2. Click the little folder in the top right
  3. Find your Burnout game location
  4. Find the car that you want to edit the _AT file of
  5. Open that _AT in Bundle mode and double click the File with the type "AttribSysVault"
  6. Find the classname called physicsvechiclebaseattribs and scoll down to max speed, as an example
  7. Change the parameter to whatever top speed you want
  8. Close and save, you are done!
  9. Bear in mind that the increased top speed may cause handling issues.