DBC

Z WoWResource Wiki
Přejít na: navigace, hledání

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í.

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";

Užitečné odkazy