.bin files

From OuroDev
Revision as of 15:49, 28 June 2019 by Asuffield (talk | contribs) (→‎Input files)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Most .bin files are in a common format, created from text format files that natively live in data/

Input files

scripts.loc and scripts appear to represent the same files, before and after localisation work. Paths listed here are those used in production mode; development mode servers and clients usually reads from scripts instead of scripts.loc.

.bin file Input files used
BodyParts.bin defs/UI/**/*.bp
Cards.bin defs/Cards/Cards.def
CustomCritterRewardMods.bin defs/CustomCritterRewardMods.def
DayJobs.bin defs/**/*.dayjob
DifficultyCost.bin defs/DifficultyCost.def
InvBaseDetail.bin defs/dbidmaps/InvBaseDetail.dbidmap
InvConcept.bin defs/dbidmaps/InvConcept.dbidmap
InvRecipe.bin defs/dbidmaps/InvRecipe.dbidmap
InvSalavage.bin defs/dbidmaps/InvSalvage.dbidmap
InvStoredSalvage.bin defs/dbidmaps/InvStoredSalvage.dbidmap
ItemSets.bin defs/reward/**/*.itemsets
LevelBonus.bin defs/Reward/level_bonus.def
LoyaltyReward.bin defs/account/LoyaltyRewardTree.def
MARTY_exp_mods.bin defs/MARTY_exp_mods.def
MapObjectives.bin defs/MapObjectives.def
NewFeatures.bin defs/NewFeatures/NewFeatures.def
NictusHunterOptions.bin defs/NictusHunterOptions.def
PC_Def_Animation.bin scripts.loc/PC_Def_List_Animations.txt
PC_Def_Contacts.bin scripts.loc/Player_CreatedPC_Def_List_Contacts.txt
PC_Def_DestructObject.bin scripts.loc/PC_Def_List_Destructible_Objects.txt
PC_Def_Entities.bin scripts.loc/Player_CreatedPC_Def_Entities.txt
PC_Def_MapSets.bin scripts.loc/Player_CreatedPC_Def_List_Map_Sets.txt
PC_Def_MapUnique.bin scripts.loc/Player_CreatedPC_Def_List_Map_Unique.txt
PC_Def_NonSelectable_Entities.bin scripts.loc/Player_CreatedPC_Def_NonSelectable_Entities.txt
PC_Def_Objects.bin scripts.loc/Player_CreatedPC_Def_List_Objects.txt
PC_Def_Sequencer_Anims.bin scripts.loc/PC_Def_Sequencer_Anims.txt
PC_Def_UI.bin scripts.loc/uiTemplate.scrollset
PC_Def_Unlockable_Content.bin scripts.loc/PC_Def_Unlockable_Content.txt
PC_Rewards.bin scripts.loc/Player_CreatedPC_Rewards.txt
PopHelp.bin defs/PopHelp.def
PowersetConversion.bin defs/PowersetConversion.def
Proficiencies.bin defs/Invention/Proficiencies.proficiency
RewardChoiceTables.bin defs/reward/**/*.choice
RewardTables.bin defs/reward/**/*.reward
Salvage.bin defs/Invention/Salvage.salvage
SouvenirClues.bin scripts.loc/**/*.sc
SupergroupMods.bin defs/Reward/supergroup_mods.def
TFTimeLimits.bin defs/TFTimeLimits.def
TeamReward.bin defs/Reward/team_xp_boost.def
TrackedSalvage.bin defs/TrackedSalvage.def
VillainCostume.bin defs/**/*.nd
VillainDef.bin defs/villains/**/*.villain
VillainGroups.bin defs/villainGroups.def
ai_config.bin AIScript/config/**/*.cfg
animlists.bin sequencers/AnimLists/**/*.al
arenamaps.bin defs/generic/arenamaps.def
arenaschedule.bin defs/generic/arenaschedule.def
attrib_descriptions.bin defs/attrib_descriptions.def
attrib_names.bin defs/attrib_names.def
auctionconfig.bin defs/auctionconfig.def
badges.bin defs/badges.def
baserecipes.bin defs/**/*.recipe
baseupkeep.bin defs/v_bases/baseupkeep.def
behavioralias.bin AIScript/**/*.bal
behaviors.bin fx/**/*.bhvr
boost_effect_above.bin defs/boost_effect_above.def
boost_effect_boosters.bin defs/boost_effect_boosters.def
capes.bin fx/**/*.cape
chestGeoLink.bin defs/chestGeoLink.def
classes.bin defs/classes.def
clothColInfo.bin cloth/ColInfo.txt
clothWindInfo.bin cloth/WindInfo.txt
combat_mods.bin defs/combat_mods.def
combat_mods_villain.bin defs/combat_mods_villain.def
combine_booster_chances.bin defs/combine_booster_chances.def
combine_chances.bin defs/combine_chances.def
combine_same_set_chances.bin defs/combine_same_set_chances.def
command.bin menu/**/*.cat
contacts.bin scripts.loc/**/*.contact
costume.bin Menu/Costume/Localized/Costume.ctm
costumeWeaponStances.bin defs/costumeWeaponStances.def
damagedecay.bin defs/damagedecay.def
defaultBodyCfg.bin menu/Costume/defaultBodyCfg.txt
depts.bin defs/stores/depts.def
designer_contact_tip_types.bin defs/designer_contact_tip_types.def
detailcats.bin defs/v_bases/**/*.cats
details.bin defs/v_bases/**/*.details
dialog.bin scripts.loc/**/*.dialog2
dialogdefs.bin scripts.loc/**/*.dialogdef
dim_returns.bin defs/dim_returns.def
emotes.bin defs/emotes.def
ent_types.bin ent_types/**/*.txt
exemplar_handicaps.bin defs/exemplar_handicaps.def
experience.bin defs/experience.def
fluids.bin fx/**/*.fluid
fxinfo.bin fx/**/*.fx
geobin/maps/**/*.bin maps/**/*.txt
geobin/object_library/**/*.bin geobin/object_library/**/*.bounds object_library/**/*.txt object_library/**/*.rootnames
incarnate.bin defs/incarnate.def
inventory_sizes.bin defs/inventory_sizes.def
inventory_tier_bonus.bin defs/inventory_tier_bonus.def
itemOfPowerInfo.bin defs/itemOfPowerInfo.def
items.bin defs/stores/items.def
kb.bin menu/Defaultkey/**/*.key
kbkorea.bin menu/Koreakey/**/*.key
lods.bin logs/**/*.txt
map.bin menu/**/*.map
mapsspec.bin specs/maps.spec
mapstats.bin maps/missions/**/*.mapstats
menuAnimations.bin defs/menuAnimations.def
meritRewards.bin defs/rewards/**/*.merits
minimap.bin maps/missions/**/*.minimap
missionhostagespawns.bin scripts.loc/**/*.missionhostagespawns
missionspawns.bin scripts.loc/**/*.missionspawns
missionspecs.bin specs/missions.spec
monorails.bin defs/monorails.def
npcs_server.bin npcs_client.bin scripts.loc/**/*.npc
origins.bin defs/origins.def
particles.bin fx/**/*.part
petBattleCreatureInfo.bin defs/petBattleCreatureInfo.def
plots.bin defs/v_bases/**/*.plot
powercats.bin defs/powers/**/*.categories
powercustomizationcost.bin Menu/PowerCustomization/powercustomizationcost.ctm
powercustomizationmenu.bin Defs/powercustomizationmenu.def
powers.bin defs/powers/**/*.powers
powersets.bin defs/powers/**/*.powersets
priorities.bin AIScript/priorities/**/*.pri
product_catalog.bin defs/account/product_catalog.def
pvptaskmodifiers.bin defs/pvptaskmodifiers.def
randomgroupselection.bin defs/generic/randomgroupselection.def
randommapselection.bin defs/generic/randommapselection.def
replacepowernames.bin defs/replacepowernames.def
roomcategories.bin defs/v_bases/**/*.category
roomtemplates.bin defs/v_bases/**/*.template
scenes.bin scenes/skies/**/*.txt
schedules.bin defs/schedules.def
scriptdefs.bin scripts.loc/**/*.scriptdef
sequencers.bin sequencers/**/*.txt
soundinfo.bin sound/defs/**/*.def
spawndefs.bin scripts.loc/**/*.spawndef
stores.bin defs/stores/stores.def
storyarc.bin scripts.loc/**/*.storyarc
supergroupColors.bin Menu/Costume/ColorPalettes/supergroupColors.ctm
supergroupEmblems.bin Menu/Costume/Localized/Common/supergroupEmblem.ctm
supergroup_badges.bin defs/supergroup_badges.def
tailorcost.bin Menu/Costume/TailorCost.ctm
tasksets.bin scripts.loc/**/*.taskset
texWords.bin texts/**/*.texword
tricks.bin tricks/**/*.txt
turnstile_server.bin defs/turnstile_server.def
tut_votekick.bin defs/tut_votekick.def
villain_classes.bin defs/villain_classes.def
villain_origins.bin defs/villain_origins.def
villainrandomgroupselection.bin defs/generic/villainrandomgroupselection.def
villainrandommapselection.bin defs/generic/villainrandommapselection.def
visionPhases.bin defs/visionPhases.def
visionPhasesExclusive.bin defs/visionPhasesExclusive.def
widgets.bin menu/widgets/**/*.widge
zone_event_karma.bin defs/zone_event_karma.def

Format

All .bin files in the common Parse6 format begin with a header:

The 8 bytes "CrypticS"
An Adler-32 CRC of the parse table data, as a 32-bit integer
The PascalString "Parse6"
A PascalString "Files1", denoting the start of the file list
A 4-byte integer giving the number of bytes in the file list section

Next is the file list section, which contains:

A 4-byte integer giving the number of files in the file list

and then, once for each file:

A PascalString giving the file name
A 4-byte time value giving the file's timestamp

After this is a binary table of struct values.