Radish Trial 1 Installation

From Nexus Mods Wiki
Revision as of 20:01, 18 July 2020 by Rmemr (talk | contribs) (ported trial 1 article to mediawiki format)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Trial of the radishes - trial 1

The trial of the radishes is meant as a guided, self-learning tutorial for the radish modding tools without step-by-step instructions. Instead it focuses on exploratory learning by actively using the tools to solve increasingly challenging tasks.

>> Trail 1 focuses on the installation of the tools <<.

This article provides some background information and various tips required or helpful to accomplish these objectives.

See forum post for more information about the trials.

Some background Information

A radish modding tools project setup is designed to be self-contained. This means: all files of the project reside in one folder with a set of standard subfolders for specific file types outside of the w3 installation and outside the modkit depot (see example project for the exact structure). This makes it much easier to have multiple projects and regenerate it cleanly without messing up stuff. It also allows to treat it as a “project repository” and put it into a git repository, for example.

One of the biggest advantages of the radish tools (at least the external encoders) is that they heavily make use of wcc lite. This ensures that many, *many* errors can be caught prior any testing in game (in addition to leverage many advanced features as generating the hubs, collisioncache, etc.).

This also means that the modkit has to be tightly integrated into the build pipeline. For example it has to have access to all the generated uncooked files from the encoders. In addition, it has to have access to all the scripts of the new quest project. This is important because script functions can be called from the questgraph and can be used in community definitions. For all this to work the modkit has to be fooled into believing it contains the project’s uncooked folder within the r4depot folder.

Windows is able to create ‘junction links’ in the file system that ‘mount’ subdirectories as other directories: after mounting the directory the same content is accessible from both directories. In the case of the example radish project the content of the directory <projectfolder>/uncooked/dlc/dlcHubTest has to be accessible from r4depot/dlc/dlcHubTest/dlcHubTest/ too. Same for the project scripts: r4data/scripts/dlcHubTest points to <projectfolder>/mod.scripts

See below for information how to create those junction links.

Tips Installation


radish tools

  • download the latest in-game mods (Storyboard UI, Environment Parameter UI) and the required dependencies (RadishSeeds, SharedImports, Bootstrap Mod) from nexusmods. Install all of them according to their instructions, they will will be required at some point in the trials. Don’t forget the input.settings!
  • download the radish quest ui mod from the files section and unpack into your witcher installation. Add ‘modCreate_RadishUi()’ to the bootstrap registry so it will auto startup. Don’t forget the input.settings!
  • foliage printer is not published yet, don’t bother searching.
  • download and unpack the radish encoder package into a new directory. this will be shared for all projects.

example project

  • the project source can be downloaded from the files section of the radish modding tools page
  • after downloading and unpacking the project you should adjust the paths in the ‘'settings.bat'’ in the root of the unpacked folder

yaml editor

  • for subsequent trials it will be necessary to edit the yaml definitions in a text editor. it’s recommended to use a yaml-supporting text editor (e.g. notepad++ or sublime editor)
  • if you decide to use sublime (strongly suggested!) you’ll get some additional benefits (like starting different project build options with hotkeys). see the HOWTO.setup.sublime package in the files section
  • before generating the example project you need to uncook vanilla game data into the modkit r4depot, see below for more information

Creating junction links for a project

You can create the required junction links either manually with a gui programm called junctionlink magic or with the ‘'createLinks.bat’ contained in the new-project templatepackage. This has to be done only once for every project.

The ‘'createLinks.bat’ has to be copied into the root folder of the example project (as it was not available at the time of publishing the example project). Afterwards start it and follow instructions. Do this AFTERadjusting the settings batch file!

The batch file is the recommended method but if you prefer setting up both links manually with junctionlink magic you can find it on the net. The link should looks like this (this shows only one of the links!):

Uncooking game data into modkit r4depot

This is required because cooking with wcc lite the encoded files allows for automatic merging of entities, e.g. creating full blown new actors with some additional tweaks/appearances with only a couple of lines of definitions. However wcc lite needs to find the ‘source’ files for this. If there is an error on cooking it’s pretty sure the entity won’t work as expected.

So a good rule of thumb is: ALWAYS make sure no wcc lite errors occur, especially all the !!! MISSING IMPORT !!! errors.

The unpacked files need to be copied into the r4data using the the same directory structure as unpacked. However do NOT overwrite the files already present in the r4depot (some of these contain additional information that is not in the unpacked anymore!).

One IMPORTANT thing is to uncook only the UNMODIFIED vanilla game files. Modded files saved with modeditor/wolvenkit cannot be used with wcc (corrupt CRC errors!). so temporary remove all community mod/dlc folders from your game installation, uncook and afterwards move the community made mod/dls folders back.

There are multiple options for uncooking game data. Unpacking the full game data can be done with the wcc gui by [@rfuzzo](https://www.nexusmods.com/witcher3/users/16300749?tab=user+files) . Be aware that unpacking the complete game will take some time and > 100GB of additional space.

You can also use quickbms to unpack only specific files (much faster). In this case makes sure at least all of these types are unpacked:

  • csv, srt, w3simplex, vbrush, w2mi, w2cube, grassmask, env, texarray, xbm, w2mesh, w2p, w2mg, w2ent
    • .journal (root for groups), these MUST be unpacked (otherwise new encoded journals may not work, e.g. bestiary)
  • if you find more, please post
  • check the qbms script from the files section

As last step unpack the ‘unpack.into.r4data.zip’ from the files section into the modkit r4data directory.

Tips build pipeline

The complete project can be (re)build with the ‘full.rebuild.bat’ file in the root of the project directory. Most of the time a quest should be generated with additional debug information (debug mode). This information is required for radish quest ui in-game mod to find any entities, layers and communities of the quest. The posted example project is set up so it generates a ‘release’ version without any debug information. You have to edit the file ’*bin/_encode.quest.bat*’ and remove the ‘--release-version’ parameter. If the quest is generated with debug information the last line of the quest encoding step will be:

“WARN - generated files contain debug information.”

Tips radish quest ui (radui)

  • there is a context sensitive hotkey help (F12). different modes have different hotkeys, make sure you check the hotkey menu
  • the hotkey popup flash is bugged and cuts the lower part of the content. always check if there is a scrollbar
  • layer entities can be highlighted
  • if you “open the layer” you get categories and if you select a layerentity a temporary visualization is shown, specific to the entity type
  • you can set this visualization permanently so it stays while you select other entities or you minimize radui
  • you can show/hide the visualization of all entities of a category or a complete layer at once
  • you can minimize and maximize radui with hotkeys. while minimized all toggled entity visualizations remain enabled. however if you quit radui all visualizations get destroyed
  • encoded layers which are currently not visible are displayed with a darker gray color than visible encoded layers
  • entities of hidden encoded layers are unknown to radui. in this case the layer needs to be toggled visible and rescanned for entities. afterwards it can be toggled invisible again

Errors/Warnings for example project

Contrary to the above information this wcc error can be ignored for now:

[2019.04.18 21:58:13][Error][WWise_GameObject] Event ID not found: 653853892 at 667 game object
[2019.04.18 21:58:13][Error][WWise_Global] Failed posting event: amb_nml_G_WIND_and_RAIN_START
[2019.04.18 21:58:19][Error][WWise_GameObject] Event ID not found: 189045368 at 667 game object
[2019.04.18 21:58:19][Error][WWise_Global] Failed posting event: amb_nml_G_WIND_and_RAIN_STOP``

There will also be some wcc warnings for the example project. These can be ignored for the moment as well - as it is still unclear why they occur:

caption wcc warnings