The Witcher 3 Community Patch - Shared Imports Mod v0.6

The Witcher 3 Community Patch - Shared Imports Mod v0.6

Collection of fully imported classes (all attributes) without any functionality on its own. Meant as a baseline dependency for other mods to reduce merge conflicts.

This mod provides NO functionality on its own. It is merely meant as a shared base dependency for other mods which require imports of classes and attributes to avoid unnecessary conflicts with intersecting imports from other mods.

What's this all about?

Aside from pure scripting functionality W3 scripts also provide access to a part of the (compiled) game engine functionality and runtime objects. Some of these exports allow for ingame realtime adjustments. But not all of the exported engine functions/classes are exposed in the vanilla game scripts.

Some mods add additional class/variable imports in their own scripts. But most of the time they don't import all exported attributes of an imported class. Unfortunately this creates conflicts between mods which import the same or different parts of attributes in different files.

To avoid these unnecessary merge conflicts this mods follows these rules:

  1. have no dependencies on other mods whatsoever and thus create a baseline layer on which other mods can depend without opening a chain of other dependencies (and potential merge conflicts)
  2. if a new class is imported in this mod then all of its attributes and all of its (currently not imported) dependent classes are fully imported, too
  3. if new attributes of a vanilla scripts imported class are imported in this mod then all currently not imported attributes are imported, too

How to install
This mod was tested with the GOG game version 1.30+ but it should work with all different 1.30+ editions (GOTY, GOG, Steam).

1. Unpack the downloaded package into your Witcher 3 game directory. It should create a new modSharedImports folder in the mods directory of your W3 game.
2. Start your game and test whether there are any script conflicts with other installed mods. If necessary merge with your favorite tool (e.g. Script Merger).

How to uninstall
Delete the modSharedImports folder from the witcher3/mods directory.

How to upgrade
Delete the modSharedImports folder from the witcher3/mods directory and unpack the newly downloaded package into your Witcher 3 game directory as described in the install instructions.

Note for mod users
If you encounter an error of this kind:

The Witcher 3: Wild Hunt - Script Compilation Errors

Error [modsharedimports] local\cenvironmentdefinition.ws(23): Structure 'CWorldShadowConfig' was already exported. Error [modsharedimports] local\cenvironmentdefinition.ws(1): Class 'CEnvironmentDefinition' was already exported. Error [modsharedimports] local\cenvironmentdefinition.ws(831): Class 'CGameWorld' was already exported.

it means another of your installed mods already imports one of the imports of this mod. In this case you should identify this mod (e.g. by searching for the class name from the error in all *.ws files of your w3/mods folder) and contact the mod author. Ask him NICELY to consider updating his mod by adding a dependency on this shared import mod.

The same goes for conflicts in these files:
    engine/components.ws
    engine/environment.ws

Note for mod authors
Currently this mod imports among others the following classes (list contains only highest level):

  • CGameWorld and all its depending classes (e.g. CEnvironmentDefinition)
  • CRagdoll, CSkeleton
  • CFurComponent (e.g. Hairworks parameters)
  • CClothComponent (CApexResource)
  • SBehaviorGraphInstanceSlot
  • CLightComponent
  • CCameraComponent
  • CEntityTemplate
  • CTriggerAreaEnvironmentVisibilityComponent
  • CParticleComponent
  • CAreaEnvironmentComponent
  • CActionpointComponent

It also imports all missing attributes for all the classes in the engine/components.ws file. This includes functions but those parameters and return values are unknown so if you figure those out please contact me so I can update this mod.

If you add a dependency on this mod make sure you provide required minimum version as future updates may import new classes. However all updates will be backwards compatible (meaning no classes will be removed and no classes will be moved into other files!).

If you need other imported classes please contact me so others may benefit from an updated version of the shared imports mod.

Note:

Use this file "TheWitcher3_CommunityPatch_SharedImports_Classic_v0.6.zip" for the CLASSIC game version.

Use this file "TheWitcher3_CommunityPatch_SharedImports_NextGen_v0.6.zip" for the NEXT-GEN game version

 

File information

File name: TheWitcher3_CommunityPatch_SharedImports_Classic_v0.6.zip

File size: 23.87 KB

Mime type: Stdin has more than one entry--rest ignored compressed-encoding=application/zip; charset=binary

File name: TheWitcher3_CommunityPatch_SharedImports_NextGen_v0.6.zip

File size: 24.35 KB

Mime type: Stdin has more than one entry--rest ignored compressed-encoding=application/zip; charset=binary