16Changes - Vanilla-Expanded/VanillaExpandedFramework GitHub Wiki

The 1.6 version of the game brought a lot of interesting changes to the game, and we took the opportunity to take a good look at all the code we had and improve it significantly. We also listened to performance complaints and adjusted a lot of things.

If you had a project using the VE Framework, this list of changes will help you make the transition!

PANIC! What do I do as a modder??

  • Step 1, relax. We changed a lot, but removed very little. Most of the changes were internal
  • Majority of the changes were namespaces, so if you had a mod using VanillaGenesExpanded.WhateverExtension you'll need to change it to VEF.Genes.WhateverExtension in your XML. We have documented all the relevant changes here!

General changes:

  • VFECore namespace changed to VEF. Individual namespaces created for all of the libraries included in the Framework, as specified below, and they all follow the same naming convention, VEF.Library
  • Performance improvements on the more impactful patches
  • All Harmony patches are now called "VanillaExpandedFramework_Class_Method" (why? This way if one of the patches fails it will point to the Framework, not to a namespace that might confuse people, such as VanillaGenesExpanded, a non-existent mod)

Included libraries:

If not mentioned, the code was previously under VFECore.WhateverClass

Abilities:

  • Namespace is VEF.Abilities, renamed from VFECore.Abilities

Aesthetic scaling:

  • Namespace is VEF.AestheticScaling, previously just in VFECore

AI:

  • Namespace is VEF.AI, previously just in VFECore
  • Moved DraftedJobs here

Animal Behaviours:

  • Namespace is VEF.AnimalBehaviours, renamed from AnimalBehaviours
  • NocturnalAnimals namespace moved to VEF.AnimalBehaviours
  • Removed salamander code (from the old, now removed VAE Caves)

Apparels:

  • Namespace is VEF.Apparels, previously just in VFECore
  • Apparel_Shield moved here
  • Moved CompApparelHediffs here
  • Moved CompShield, CompShieldField and CompShieldBubble here
  • Merged the two existing ApparelExtension, as they were a duplicate

Buildings:

  • Namespace is VEF.Buildings, renamed from VanillaFurnitureExpanded
  • Moved RecipeInheritance here, extension now called RecipeInheritanceExtension instead of just ThingDefExtension
  • Moved DoorTeleporter here
  • Moved Building_AutoDoorLockable here
  • Moved FacilityExtension here
  • Moved CompBouncingArrow here
  • Moved CompCustomizableGraphic here
  • Moved CompCustomCauseHediff_AoE here
  • Moved PlaceWorker_CompCustomCauseHediff_AoE
  • Moved CompScheduleExtended here
  • Moved CompStatsWhenPowered here
  • Moved CompThrowMote here
  • Moved PlaceWorker_DeepDrillLimitation here
  • Moved PlaceWorker_AttachedToWallMultiCell here
  • Moved CompHediffGiver here

Cooking:

  • Namespace is VEF.Cooking, instead of VanillaCookingExpanded
  • Moved CompIngestedThoughtFromQuality here
  • Moved IngredientValueGetter_NutritionWithExtraIngredient from VE Cooking here

ExcludeFromQuestsExtension

  • Gone, reduced to atoms. It has been deprecated for a long time. Use FactionDefExtension's excludeFromQuests field.

Factions:

  • Namespace is VEF.Factions, previously just in VFECore
  • Moved ScenPart_ForcedFactionGoodwill here
  • Moved StockGenerator_ThingSetMakerTags here
  • Moved FactionDefExtension here

Genes:

  • Namespace is VEF.Genes, instead of VanillaGenesExpanded (this one caused a lot of confusion!)
  • Moved HediffCompProperties_CustomBlood and HediffComp_CustomBlood here

Graphics:

  • Namespace is VEF.Graphics, previously just in VFECore
  • Moved GraphicCustomization here
  • Moved Graphic_Animated, Graphic_AnimatedMote, Graphic_DarklightMulti, Graphic_DarklightSingle, Graphic_Fleck_Animated, Graphic_FleckCollection and Graphic_StackCountByIngredient all here
  • Moved GraphicOffsets here
  • Moved CompGlower_DirtyMapMesh here
  • Moved ThingWithFloorGraphic and FloorGraphicExtension here
  • Moved HeadExtension here
  • Moved ConditionalGraphics, DynamicGraphics and TaggedGraphics here

Hediffs

  • Namespace is VEF.Hediffs, previously just in VFECore
  • Moved Hediff shields here, HediffComp_DamageAura, HediffComp_Draw, HediffComp_Shield and ShieldsSystem

ItemProcessor

  • Gone, reduced to atoms. The automation of machines now uses the PipeSystem library, which is SO MUCH BETTER! Guide to swap here

Maps:

  • Namespace is VEF.Maps, previously just in VFECore
  • Moved ActiveTerrain here
  • Moved LordJob_DefendShip here
  • Moved ObjectSpawnsDef here

Memes:

  • Namespace is VEF.Memes, instead of VanillaMemesExpanded

OptionalFeatures

  • Namespace is VEF.OptionalFeatures, previously just in VFECore
  • Externalized creation of new features using XML

Pawns

  • Namespace is VEF.Pawns, previously just in VFECore
  • Moved PawnKindDefExtension here
  • Moved ThoughtExtensions here
  • Moved TraitExtension here
  • Moved PawnShieldGenerator here
  • Moved CompProperties_DependsOnBuilding here
  • Moved CompProperties_PawnDependsOn here
  • Moved BackstoryDef here
  • Moved PregnancyApproaches here
  • Moved WorkGiver_ConstructWithSkill here
  • Moved MoteAttached_TargetingLock here
  • Moved ApparelDrawPosExtension here

Planet

  • Namespace is VEF.Planet, previously just in VFECore
  • MovingBases moved here
  • HireableSystem moved here
  • Moved LordToil_SiegeCustom here
  • Moved LordToilData_SiegeCustom here
  • Moved LordJob_SiegeCustom here
  • Moved ScenPart_ArriveAtEdge here

Plants

  • Namespace is VEF.Plants, renamed from VanillaPlantsExpanded
  • A bunch of the plants classes in Vanilla Plants Expanded and More Plants moved here

Research

  • Namespace is VEF.Research, previously just in VFECore
  • Moved ResearchProjectUtility here

Storyteller

  • Namespace is VEF.Storyteller, previously just in VFECore
  • Moved ExcludeFromQuestsExtension here
  • Moved IncidentWorker_RaidEnemySpecial here
  • Moved IncidentDefOf here
  • Moved IncidentDefExtension here
  • Moved VanillaStorytellersExpanded here

Sounds

  • Namespace is VEF.Sounds, previously just in VFECore
  • Moved ForcedMusicManager here
  • Moved SoundTest here
  • Moved CompAmbientSound here

Things

  • Namespace is VEF.Things, previously just in VFECore
  • Moved CompLabelByIngredients here
  • Moved StuffExtension here
  • Moved ThingDefExtension here
  • Moved RandomOutcomeComp here

Weapons

  • Namespace is VEF.Weapons, previously just in VFECore, or under the specific external assembly (VanillaWeaponsExpandedLaser, HeavyWeapons, etc)
  • Moved ExplosiveTrailsEffect here
  • Moved HeavyWeapons here
  • Moved NoCamShakeExplosions here
  • Moved SmokingGun here
  • Moved VWEMakeshift here
  • Changed Grimworld_FlintlockSmoke to VEF_FlintlockSmoke
  • In ExplosiveTrailsEffect, renamed GasGrenade to Projectile_GasGrenade
  • In ExplosiveTrailsEffect, renamed SmokeGrenadeto Projectile_SmokeGrenade
  • In SmokingGun, renamed Verb_ShootWithSmoke to Verb_ShootWithFlintlockSmoke
  • Moved DamageWorker_PushBackAttackMelee here
  • Moved ExpandableProjectile here
  • Moved BeamProjectile here
  • Moved TeslaProjectile here
  • Moved VerbProps_ShootCone here
  • Moved DamageExtension here
  • Moved ProjectileExtension here
  • Moved CompExplosive_Shells here
  • Moved CompHomingProjectile here
  • Moved CompWeaponHediffs here
  • Moved StatPart_Ammo here
  • Moved VanillaWeaponsExpandedLaser here
  • Changed MoteLaserDectoration to MoteLaserDecoration
  • Moved DamageWorker_OPToxic here

Weathers, previously just in VFECore

  • Namespace is VEF.Weathers
  • Moved WeatherOverlays here
  • Moved WeatherEffectsExtension here
  • Moved WeatherExtension here
  • Moved WeatherLetterExtensions here

Other assemblies

KCSG, MVCF, PipeSystem, Outposts, Mod Settings Framework

  • No changes made to any of these

ExplosiveTrailsEffect

  • Moved to Core, under VEF.Weapons

GraphicCustomization

  • Moved to Core, under VEF.Graphics

HeavyWeapons

  • Moved to Core, under VEF.Weapons

NoCamShakeExplosions

  • Moved to Core, under VEF.Weapons

OpToxic

  • Removed, it was already unused since 1.5. Except DamageWorker_OPToxic, moved to VEF.Weapons

RRO

  • Moved to Core, under VEF.Things

RecipeInheritance

  • Moved to Core, under VEF.Furniture

SmokingGun

  • Moved to Core, under VEF.Weapons

VanillaWeaponsExpandedLaser

  • Moved to Core, under VEF.Weapons

VanillaStorytellersExpanded

  • Moved to Core, under VEF.Storyteller

VWEMakeshift

  • Moved to Core, under VEF.Weapons