DBC
DBC je souborový formát databáze využívaný klientem hry World of Warcraft. Vzhledem k množství údajů uložených v těchto databázích se využívají i v emulovaných serverech jako zdroj Blizzlike informací.
Obsah
Formát DBC souboru
Každý DBC soubor začíná přesně stanovenou hlavičkou, poté následují záznamy a na konci souboru se nalézají textové řetězce. Z obsahu DBC souboru se nedá získat struktura, tu je nutné znát nebo odhadovat. Hlavička specifikuje počet polí na záznam a celkovou velikost těchto polí.
Specifikace hlavičky
- 4 bajty - řetězec: WDBC
- 4 bajty - počet záznamů (record, row)
- 4 bajty - počet polí v jednom záznamu (field)
- 4 bajty - velikost jednoho záznamu
- 4 bajty - velikost řetězcové části
Specifikace záznamu
Záznamy nejsou číslovány, jako indexy se u některých DBC souborů využívají určitá pole. Mezi záznamy ani poli není použit žádný separátor. Oblast není ničím ohraničena a začíná hned za hlavičkou. Řetězce jsou uloženy jako 4 bajtové číslo - offset od počátku řetězcové části. Jednotlivé stringy v řetězcové části jsou ukončeny znakem s kódem 0x00.
Počátek string tabulky = 20 + <počet záznamů> * <velikost jednoho záznamu> Offset konkrétního řetězce = <počátek string tabulky> + <offset v záznamu>
Seznam DBC souborů v klientovi (generováno z klienta verze 2.4.3)
AnimationData.dbc | gtNPCManaCostScaler.dbc | SpamMessages.dbc |
AreaPOI.dbc | gtOCTRegenHP.dbc | Spell.dbc |
AreaTable.dbc | gtOCTRegenMP.dbc | SpellCastTimes.dbc |
AreaTrigger.dbc | gtRegenHPPerSpt.dbc | SpellCategory.dbc |
AttackAnimKits.dbc | gtRegenMPPerSpt.dbc | SpellChainEffects.dbc |
AttackAnimTypes.dbc | HelmetGeosetVisData.dbc | SpellDispelType.dbc |
AuctionHouse.dbc | Item.dbc | SpellDuration.dbc |
BankBagSlotPrices.dbc | ItemBagFamily.dbc | SpellEffectCameraShakes.dbc |
BattlemasterList.dbc | ItemClass.dbc | SpellFocusObject.dbc |
CameraShakes.dbc | ItemCondExtCosts.dbc | SpellIcon.dbc |
Cfg_Categories.dbc | ItemDisplayInfo.dbc | SpellItemEnchantment.dbc |
Cfg_Configs.dbc | ItemExtendedCost.dbc | SpellItemEnchantmentCondition.dbc |
CharacterFacialHairStyles.dbc | ItemGroupSounds.dbc | SpellMechanic.dbc |
CharBaseInfo.dbc | ItemPetFood.dbc | SpellMissileMotion.dbc |
CharHairGeosets.dbc | ItemRandomProperties.dbc | SpellRadius.dbc |
CharHairTextures.dbc | ItemRandomSuffix.dbc | SpellRange.dbc |
CharSections.dbc | ItemSet.dbc | SpellShapeshiftForm.dbc |
CharStartOutfit.dbc | ItemSubClass.dbc | SpellVisual.dbc |
CharTitles.dbc | ItemSubClassMask.dbc | SpellVisualEffectName.dbc |
CharVariations.dbc | ItemVisualEffects.dbc | SpellVisualKit.dbc |
ChatChannels.dbc | ItemVisuals.dbc | SpellVisualPrecastTransitions.dbc |
ChatProfanity.dbc | Languages.dbc | StableSlotPrices.dbc |
ChrClasses.dbc | LanguageWords.dbc | Startup_Strings.dbc |
ChrRaces.dbc | LFGDungeons.dbc | Stationery.dbc |
CinematicCamera.dbc | Light.dbc | StringLookups.dbc |
CinematicSequences.dbc | LightFloatBand.dbc | SummonProperties.dbc |
CreatureDisplayInfo.dbc | LightIntBand.dbc | Talent.dbc |
CreatureDisplayInfoExtra.dbc | LightParams.dbc | TalentTab.dbc |
CreatureFamily.dbc | LightSkybox.dbc | TaxiNodes.dbc |
CreatureModelData.dbc | LiquidType.dbc | TaxiPath.dbc |
CreatureSoundData.dbc | LoadingScreens.dbc | TaxiPathNode.dbc |
CreatureSpellData.dbc | LoadingScreenTaxiSplines.dbc | TerrainType.dbc |
CreatureType.dbc | Lock.dbc | TerrainTypeSounds.dbc |
DeathThudLookups.dbc | LockType.dbc | TotemCategory.dbc |
DeclinedWord.dbc | MailTemplate.dbc | TransportAnimation.dbc |
DeclinedWordCases.dbc | Map.dbc | TransportPhysics.dbc |
DurabilityCosts.dbc | Material.dbc | UISoundLookups.dbc |
DurabilityQuality.dbc | NameGen.dbc | UnitBlood.dbc |
Emotes.dbc | NamesProfanity.dbc | UnitBloodLevels.dbc |
EmotesText.dbc | NamesReserved.dbc | VideoHardware.dbc |
EmotesTextData.dbc | NPCSounds.dbc | VocalUISounds.dbc |
EmotesTextSound.dbc | Package.dbc | WeaponImpactSounds.dbc |
EnvironmentalDamage.dbc | PageTextMaterial.dbc | WeaponSwingSounds2.dbc |
Exhaustion.dbc | PaperDollItemFrame.dbc | Weather.dbc |
Faction.dbc | ParticleColor.dbc | WMOAreaTable.dbc |
FactionGroup.dbc | PetitionType.dbc | WorldMapArea.dbc |
FactionTemplate.dbc | PetLoyalty.dbc | WorldMapContinent.dbc |
FootprintTextures.dbc | PetPersonality.dbc | WorldMapOverlay.dbc |
FootstepTerrainLookup.dbc | QuestInfo.dbc | WorldMapTransforms.dbc |
GameObjectArtKit.dbc | QuestSort.dbc | WorldSafeLocs.dbc |
GameObjectDisplayInfo.dbc | RandPropPoints.dbc | WorldStateUI.dbc |
GameTables.dbc | Resistances.dbc | WorldStateZoneSounds.dbc |
GameTips.dbc | ServerMessages.dbc | WowError_Strings.dbc |
GemProperties.dbc | SheatheSoundLookups.dbc | ZoneIntroMusicTable.dbc |
GMSurveyCurrentSurvey.dbc | SkillCostsData.dbc | ZoneMusic.dbc |
GMSurveyQuestions.dbc | SkillLine.dbc | |
GMSurveySurveys.dbc | SkillLineAbility.dbc | |
GMTicketCategory.dbc | SkillLineCategory.dbc | |
GroundEffectDoodad.dbc | SkillRaceClassInfo.dbc | |
GroundEffectTexture.dbc | SkillTiers.dbc | |
gtChanceToMeleeCrit.dbc | SoundAmbience.dbc | |
gtChanceToMeleeCritBase.dbc | SoundEntries.dbc | |
gtChanceToSpellCrit.dbc | SoundProviderPreferences.dbc | |
gtChanceToSpellCritBase.dbc | SoundSamplePreferences.dbc | |
gtCombatRatings.dbc | SoundWaterType.dbc |
Pozn: na generování seznamu je použit PHP skript:
$list = explode("\r\n",$array); echo "{| style="width:75%;border-collapse: collapse;" border="1"\n"; for($i=0; $i<60; $i++) echo "| ".$list[$i]." || ".$list[$i+60]." || ".$list[$i+120]."\r\n"."|- \r\n"; echo "|}\r\n";