Profile/Burnout Paradise/Progression Profile: Difference between revisions

Added Xbox 360 Profile structure and added missing section link.
(Added PS3 info and substructures for all platforms. Main structure for other platforms still needs to be added as well as PixelFormat.)
(Added Xbox 360 Profile structure and added missing section link.)
Line 142:
| 0x1D990 || 0xC || float32_t[3] || mafCarTypes || || Unused in the final game
|-
| 0x1D99C || 0x4 || [[#BrnResource::ECarType|ECarType]] || meCurrentCarType || Boost type of the current vehicle || See [[#BrnResource::ECarType|ECarType]]
|-
| 0x1D9A0 || 0x20 || [[CgsBitArray|BitArray<256>]] || maHasPlayerSeenTraining || Tracks the tips DJ Atomika has used ||
Line 203:
|-
| 0x1DA2F || 0x1 || || || Padding ||
|}
 
==== Xbox 360 ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || int32_t || miVersionNumber || Version number of the Profile structure || 28
|-
| 0x4 || 0x20 || char[32] || macName || Player-chosen profile name || Unused in the final game
|-
| 0x24 || 0xC || || || Padding ||
|-
| 0x30 || 0x10 || [[Vector3]] || mCarPosition || Spawn position of the player vehicle || Unused in the final game
|-
| 0x40 || 0x10 || [[Vector3]] || mCarDirection || Spawn direction of the player vehicle || Unused in the final game
|-
| 0x50 || 0x8 || [[CgsID]] || mSpawnCarId || The vehicle the player spawns in || Deprecated in V1.3
|-
| 0x58 || 0x8 || [[CgsID]] || mSpawnWheelId || The wheel the player vehicle spawns with || Unused in the final game
|-
| 0x60 || 0x4 || uint32_t || muTimeStampOfLastRoadRulesDownload || ||
|-
| 0x64 || 0x4 || float32_t || mfDistanceDrivenOnline || Distance driven online in cars (meters) || Subject to [[../#Time_and_distance_limitations|distance limitations]]
|-
| 0x68 || 0x4 || float32_t || mfDistanceDrivenOffline || Distance driven offline in cars (meters) || Subject to [[../#Time_and_distance_limitations|distance limitations]]
|-
| 0x6C || 0x4 || float32_t || mfInCarTimePlayed || Total time spent driving || Subject to [[../#Time_and_distance_limitations|time limitations]]
|-
| 0x70 || 0x1 || int8_t || mi8CurrentProgressionRank || Current license of the player || See [[#Progression rank|ranks]]
|-
| 0x71 || 0x1 || int8_t || mi8PowerParkingBestRating || Power Parking record ||
|-
| 0x72 || 0x1 || int8_t || mi8PowerParkingBetweenOtherPlayersBestRating || Power Parking between players record || Not displayed in the final game
|-
| 0x73 || 0x1 || || || padding ||
|-
| 0x74 || 0x4 || uint32_t || muBestNewBurnoutChainScore || Burnout chain record ||
|-
| 0x78 || 0x44 || int32_t[17] || maGameModeTypeAmount || Number of events present, per type || See [[#BrnGameState::GameStateModuleIO::EGameModeType|EGameModeType]]
|-
| 0xBC || 0x44 || int32_t[17] || maGameModeTypeAmountDiscovered || Number of events discovered, per type || See [[#BrnGameState::GameStateModuleIO::EGameModeType|EGameModeType]]
|-
| 0x100 || 0x44 || int32_t[17] || maGameModeTypeAmountCompleted || Number of events completed for the current license, per type || See [[#BrnGameState::GameStateModuleIO::EGameModeType|EGameModeType]]
|-
| 0x144 || 0x44 || int32_t[17] || maGameModeTypeAmountCompletedSinceTheStart || Total number of events completed, per type || See [[#BrnGameState::GameStateModuleIO::EGameModeType|EGameModeType]]
|-
| 0x188 || 0x4 || int32_t || miTotalTakedownCount || Number of takedowns performed ||
|-
| 0x18C || 0x4 || int32_t || miTotalOnlineVerticleTakedownCount || Number of vertical takedowns performed ||
|-
| 0x190 || 0x34 || int32_t[13] || maiTakedownTypeCounts || Number of takedowns performed, per type || See [[#BrnGameState::ETakedownType|ETakedownType]]
|-
| 0x1C4 || 0x28 || int32_t[10] || maiWinsPerOfflineGameMode || Number of events won, per type || See [[#BrnGameState::GameStateModuleIO::EGameModeType|EGameModeType]]
|-
| 0x1EC || 0x28 || int32_t[10] || maiRankWinsPerOfflineGameMode || Number of events won causing a license upgrade, per type || See [[#BrnGameState::GameStateModuleIO::EGameModeType|EGameModeType]]
|-
| 0x214 || 0x28 || int32_t[10] || maiLossesPerOfflineGameMode || Number of events lost, per type ||
|-
| 0x23C || 0x4 || int32_t || miCompletedBarrelRolls || Barrel roll record ||
|-
| 0x240 || 0x4 || float32_t || mfCompletedAirSpinAngle || Flat spin record ||
|-
| 0x244 || 0x4 || float32_t || mfCompletedHandbreakTurnAngle || Handbrake turn record || Not displayed in the final game
|-
| 0x248 || 0x4 || float32_t || mfCompletedDriftDistance || Drift record ||
|-
| 0x24C || 0x4 || float32_t || mfOncomingDistance || Oncoming record ||
|-
| 0x250 || 0x4 || float32_t || mfAirMaximum || Air time record ||
|-
| 0x254 || 0x4 || int32_t || miHighestShowTimeScore || Showtime record ||
|-
| 0x258 || 0x4 || int32_t || miBestStuntRunScore || Stunt run record || Deprecated in game version 1.3
|-
| 0x25C || 0x4 || int32_t || miCarCount || Number of vehicle entries ||
|-
| 0x260 || 0x4 || int32_t || miLiveryDataCount || Number of livery entries ||
|-
| 0x264 || 0x4 || int32_t || miRivalCount || Number of rival entries ||
|-
| 0x268 || 0x4 || int32_t || miEventCount || Number of event entries ||
|-
| 0x26C || 0x4 || || || Padding ||
|-
| 0x270 || 0x3000 || [[#BrnProgression::CarData|CarData]][512] || maCars || Vehicle unlocks, colors, and damage ||
|-
| 0x3270 || 0x3000 || [[#BrnProgression::LiveryData|LiveryData]][512] || maLiveryChoices || Selected finishes and mileage ||
|-
| 0x6270 || 0xE00 || [[#BrnProgression::RivalData|RivalData]][64] || maRivals || Roaming rival/shutdown car info ||
|-
| 0x7070 || 0x578 || [[#BrnProgression::ProfileEvent|ProfileEvent]][175] || maEvents || Event completion states ||
|-
| 0x75E8 || 0x3018 || [[CgsSet|Set]]<[[CgsID]], 512>[3] || maStuntElements || Collectible completion states || See [[#BrnGameState::EStuntType|EStuntType]]
|-
| 0xA600 || 0x4 || uint32_t || muMedalCountFromTheStart || Total number of events won ||
|-
| 0xA604 || 0x1 || bool || mbGoldCarsUnlocked || Tracks whether gold finishes are unlocked ||
|-
| 0xA605 || 0x1 || bool || mbSilverCarsUnlocked || Tracks whether platinum finishes are unlocked ||
|-
| 0xA606 || 0x2 || || || Padding ||
|-
| 0xA608 || 0x30 || [[CgsSet|Set]]<[[CgsID]], 5> || mJunkYardsDriveThruSet || Discovered Junkyards ||
|-
| 0xA638 || 0x60 || [[CgsSet|Set]]<[[CgsID]], 11> || mBodyShopsDriveThruSet || Discovered Auto Repairs ||
|-
| 0xA698 || 0x30 || [[CgsSet|Set]]<[[CgsID]], 5> || mPaintShopsDriveThruSet || Discovered Paint Shops ||
|-
| 0xA6C8 || 0x78 || [[CgsSet|Set]]<[[CgsID]], 14> || mGasStationsDriveThruSet || Discovered Gas Stations ||
|-
| 0xA740 || 0x60 || [[CgsSet|Set]]<[[CgsID]], 11> || mCarParksDriveThruSet || Discovered Car Parks ||
|-
| 0xA7A0 || 0x3E88 || [[CgsArray|Array]]<[[CgsID]], 2000> || maFreeBurnChallengeData || Completed Freeburn and Timed Challenges ||
|-
| 0xE628 || 0x9280 || [[#BrnProgression::Profile::HitPropsBitArray|HitPropsBitArray]] || mabHitPropBitArray || Smashed billboards and individual gate sections || 500 TRK units, 600 prop hit indicators (bits) each. Not all TRKs are used
|-
| 0x178A8 || 0x1E || int16_t[3][5] || maaiStuntCountsByCounty || Collectible progression, per-county || See [[#BrnGameState::EStuntType|EStuntType]] and [[Paradise City/Counties|counties]]
|-
| 0x178C6 || 0x2 || || || Padding ||
|-
| 0x178C8 || 0xE00 || [[#BrnStreetData::ChallengeHighScoreEntry|ChallengeHighScoreEntry]][64] || maNetworkChallengeData || Online mainland car Time/Showtime Road Rule scores and player names ||
|-
| 0x186C8 || 0xA00 || [[#BrnStreetData::ChallengePlayerScoreEntry|ChallengePlayerScoreEntry]][64] || maChallengeData || Player mainland car Time/Showtime Road Rule scores and vehicles ||
|-
| 0x190C8 || 0x4 || uint32_t || muLastRoadRulesResetTime || ||
|-
| 0x190CC || 0x1C || [[#CgsNetwork::NetworkTexture|NetworkTexture]] || mPlayerLicencePicture || License picture header ||
|-
| 0x190E8 || 0x2580 || char[9600] || macPlayerLicenceTextureData || License picture data ||
|-
| 0x1B668 || 0x1 || bool || mbPlayerLicencePictureIsValid || Tracks whether the license picture is present ||
|-
| 0x1B669 || 0x7 || || || padding ||
|-
| 0x1B670 || 0x1608 || [[CgsArray|Array]]<[[#BrnProgression::MugshotInfo|MugshotInfo]], 20>[5] || maaMugshotInfo || Information on saved mugshots ||
|-
| 0x1CC78 || 0x28 || [[CgsBitArray|BitArray<20>]][5] || maAvailableMugshotFileIDs || Tracks what mugshot slots are used ||
|-
| 0x1CCA0 || 0xC || float32_t[3] || mafCarTypes || || Unused in the final game
|-
| 0x1CCAC || 0x4 || [[#BrnResource::ECarType|ECarType]] || meCurrentCarType || Boost type of the current vehicle || See [[#BrnResource::ECarType|ECarType]]
|-
| 0x1CCB0 || 0x20 || [[CgsBitArray|BitArray<256>]] || maHasPlayerSeenTraining || Tracks the tips DJ Atomika has used ||
|-
| 0x1CCD0 || 0x4 || int32_t || miNumOnlineRacesDone || Number of online races completed ||
|-
| 0x1CCD4 || 0x4 || int32_t || miNumOnlineRacesWon || Number of online races won ||
|-
| 0x1CCD8 || 0x4 || int32_t || miNumMugshotsSent || Number of mugshots sent by the player ||
|-
| 0x1CCDC || 0x10 || [[#CgsSystem::DateAndTime|DateAndTime]] || mDateLicenceIssued || Date the player's license was created ||
|-
| 0x1CCE8 || 0x10 || [[#CgsSystem::DateAndTime|DateAndTime]] || mDate100PercentCompleted || Date the player achieved 100% completion ||
|-
| 0x1CCF4 || 0x4 || int32_t || miHighestNumberOfTakeDownsInRoadRage || Road Rage record ||
|-
| 0x1CCF8 || 0x8 || [[CgsBitArray|BitArray<35>]] || mSeenTrophyAwardBitArray || Tracks which of the primary 35 vehicles unlocks have been shown ||
|-
| 0x1CD00 || 0x1 || bool || mb100PercentCompletionSequenceShown || Tracks whether the 100% completion animation has been shown ||
|-
| 0x1CD01 || 0x1 || bool || mbIsNewProfile || Tracks whether the profile is new || Intro will be shown if true
|-
| 0x1CD02 || 0x1 || bool || mbCreditsSequenceViewed || Tracks whether the credits have been shown ||
|-
| 0x1CD03 || 0x1 || bool || mbOneHundredHudMessageViewed || Tracks whether the 100% completion message has been shown ||
|-
| 0x1CD04 || 0x1 || bool || mbHasUnlockedCredits || Tracks whether credits are available for viewing ||
|-
| 0x1CD05 || 0x1 || bool || mbHaveSet100PercentCompletedDate || Tracks whether the 100% completion date is present ||
|-
| 0x1CD06 || 0x1 || bool || mbHaveSeenEliteCompletionSequence || Tracks whether the Elite license animation has been shown ||
|-
| 0x1CD07 || 0x1 || bool || mbRedundantBool4 || || Unused in the final game
|-
| 0x1CD08 || 0x1 || int8_t || miPad1 || || Unused in the final game
|-
| 0x1CD09 || 0x1 || || || Padding ||
|-
| 0x1CD0A || 0x2 || int16_t || miPad2 || || Unused in the final game
|-
| 0x1CD0C || 0x4 || uint32_t || muRoadRulesIDLowBits || ||
|-
| 0x1CD10 || 0x8 || [[CgsBitArray|BitArray<6>]] || mSeenCompleteAllEventTypeArray || Tracks which event types have had all events completed ||
|-
| 0x1CD18 || 0x4 || float32_t || mfRealTimePlayed || Total time played || As opposed to mfInCarTimePlayed
|-
| 0x1CD1C || 0x4 || float32_t || mfRedundantFloat4 || || Unused in the final game
|-
| 0x1CD20 || 0x4 || uint32_t || muRoadRulesIDHighBits || ||
|-
| 0x1CD24 || 0x2 || int16_t || miPad3 || || Unused in the final game
|-
| 0x1CD26 || 0x1 || int8_t || miPad4 || || Unused in the final game
|-
| 0x1CD27 || 0x1 || || || Padding ||
|}