Changes

Jump to navigation Jump to search
1,897 bytes added ,  21:39, 2 October 2017
m
→‎Engine and class IDs: Added explanation for the non-existing engine 00
Line 21: Line 21:     
  00
 
  00
     105 CMwCmdExpStringConcat
+
     105 CMwCmdExpStringConcat (never corrected typo, should be 01051000, there is no engine 00)
    
  01 MwFoundations
 
  01 MwFoundations
Line 746: Line 746:  
     0A4 CPlugModelFences
 
     0A4 CPlugModelFences
 
     0A6 CPlugFurWind
 
     0A6 CPlugFurWind
 +
    0AD CPlugFileExr
 
     0B0 CPlugAnimFile
 
     0B0 CPlugAnimFile
 
     0BB CPlugSolid2Model
 
     0BB CPlugSolid2Model
 
     0DB CPlugFileWebP
 
     0DB CPlugFileWebP
 
     0F4 CPlugGameSkin
 
     0F4 CPlugGameSkin
 +
    108 CPlugFileWebM
    
  0A Scene
 
  0A Scene
Line 961: Line 963:  
     00D CHdrText
 
     00D CHdrText
 
     00E CHdrUnknown
 
     00E CHdrUnknown
 +
 +
21 VirtualSkipper
 +
    000 CVirtualSkipperEngine
 +
    001 CVirtualSkipper
 +
    002 CVskRegatta
 +
    003 CVskPlayer
 +
    004 CVskControlPlayer
 +
    005 CVskControlACTeamCard
 +
    006 CVskMasterServer
 +
    007 CVskControlNetworkServerInfoCard
 +
    008 CVskReplayRaceState
 +
    02A CVskPlayerInfo
 +
    034 CVsk3Config
 +
    04B CVsk3Editor
 +
    04E CVsk3Race
 +
    04F CVsk3EditorBlock
 +
    070 CVskCourse
 +
    080 CConstructionChallengeVsk
 +
    083 CVskTrafficObjectInfo
 +
    084 CVskISAF
 +
    085 CVskCollection
 +
    086 CVskControlPlayerReplay
 +
    087 CVsk3UIPlayer
 +
    088 CControlVsk3UiRadar
 +
    089 CVskPlayerProfile
 +
    08B CConstructionChallengeVskParams
 +
    08C CVskPlayerCameraSet
 +
    08D CVskReplayRecord
 +
    08E CCtnMediaBlockEventVsk
 +
    08F CVskISAFConcurrent
 +
    091 CVskAC
 +
    092 CVskACModel
 +
    093 CVskACTeam
 +
    094 CVskRaceBoatInterface
 +
    095 CVskControlScores
    
  24 TrackMania
 
  24 TrackMania
Line 1,023: Line 1,060:  
     007 CGameObjectVisModel
 
     007 CGameObjectVisModel
 
     008 CGameCtnPlaygroundActionModel
 
     008 CGameCtnPlaygroundActionModel
 +
    009 CGameWaypointSpecialProperty
 +
    00A CGameActionFxResources
 +
    00B CGameGateModel
 +
    00C CGameTeleporterModel
 +
    00D CGameArmorModel
 +
    00E CGameSpawnModel
 +
    00F CGameCaptureZoneModel
 +
    010 CGameTurbineModel
 +
    011 CGameGhostData
 +
    012 CGameModulePlaygroundModel
 +
    013 CGameModuleNodForPropertyList
 
     014 CGameModuleMenuModel
 
     014 CGameModuleMenuModel
 +
    015 CGameModuleModelCommon
 
     016 CGameModulePlaygroundInventoryModel
 
     016 CGameModulePlaygroundInventoryModel
 
     017 CGameModulePlaygroundScoresTableModel
 
     017 CGameModulePlaygroundScoresTableModel
Line 1,030: Line 1,079:  
     01A CGameModuleMenuPageModel
 
     01A CGameModuleMenuPageModel
 
     01B CGameEditorModel
 
     01B CGameEditorModel
 +
    024 CGamePixelArtModel
 +
    025 CGameBlockItem
 +
    026 CGameCommonItemEntityModelEdition
 +
    027 CGameCommonItemEntityModel
 +
    028 CGameCustomBlockModel
    
== Class ID mappings ==
 
== Class ID mappings ==
   −
The last engine in the list of engines is 0x24, "TrackMania". It used to contain a lot of classes which have now been moved to more generic engines, like 0x03 (Game). This is the case for e.g. challenges, which used to be 24 003 000 but are now 03 043 000.
+
The engine with the number 0x24 belongs to the namespace "TrackMania". It used to contain a lot of classes which have now been moved to more generic engines, like 0x03 (Game). This is the case for e.g. challenges, which used to be 24 003 000 but are now 03 043 000.
    
Since the GameBox engine needs to stay compatible with older .gbx files, it maps old class IDs to new ones when loading the file. This only happens up to the class level; chunk indices stay the same.
 
Since the GameBox engine needs to stay compatible with older .gbx files, it maps old class IDs to new ones when loading the file. This only happens up to the class level; chunk indices stay the same.
 +
 +
0301A000 -> 2E001000
 +
0301C000 -> 2E002000
 +
03031000 -> 090F4000
 +
0313B000 -> 2E009000
 +
 +
0900D000 -> 0900F000
 +
09063000 -> 09026000
 +
 +
21080000 -> 24003000
 +
2108D000 -> 2403F000
 +
21089000 -> 2404A000
    
  24003000 -> 03043000
 
  24003000 -> 03043000
Line 1,181: Line 1,247:  
  240CE000 -> 030C7000
 
  240CE000 -> 030C7000
 
  240CF000 -> 03083000
 
  240CF000 -> 03083000
0900D000 -> 0900F000
  −
09063000 -> 09026000
  −
0301A000 -> 2E001000
  −
0301C000 -> 2E002000
  −
03031000 -> 090F4000
      
== Class IDs by file extension ==
 
== Class IDs by file extension ==
Line 1,196: Line 1,257:  
  .cry        09041000 (CPlugFileText)
 
  .cry        09041000 (CPlugFileText)
 
  .dds        09024000 (CPlugFileDds)
 
  .dds        09024000 (CPlugFileDds)
 +
.exr        090AD000 (CPlugFileExr)
 
  .fnt        0902D000 (CPlugFileFont)
 
  .fnt        0902D000 (CPlugFileFont)
 
  .fx        09094000 (CPlugFileGpuFxD3d)
 
  .fx        09094000 (CPlugFileGpuFxD3d)
Line 1,227: Line 1,289:  
  .vsh.txt    09042000 (CPlugFileVsh)
 
  .vsh.txt    09042000 (CPlugFileVsh)
 
  .wav        09031000 (CPlugFileWav)
 
  .wav        09031000 (CPlugFileWav)
 +
.webm      09108000 (CPlugFileWebM)
 
  .webp      090DB000 (CPlugFileWebP)
 
  .webp      090DB000 (CPlugFileWebP)
 
  .zip        09084000 (CPlugFileZip)
 
  .zip        09084000 (CPlugFileZip)
 +
 +
== Tools ==
 +
 +
* [http://www.wolfgang-rolke.de/gbxdump/gbxclassinfo.zip GbxClassInfo download] - a Windows tool that extracts class information from a given GbxGame.exe (includes source code).
    
[[Category:Internals]]
 
[[Category:Internals]]

Navigation menu