Radish Trial 1 Installation
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.
See forum post for more information about the trials.
- 1 Trial 1 - Objectives
- 2 Some background Information
- 3 Tips Installation
- 4 Creating junction links for a project
- 5 Unbundling/Uncooking game data into modkit r4depot
- 6 Tips build pipeline
- 7 Tips radish quest ui (radui)
- 8 Errors/Warnings for example project
Trial 1 - Objectives
The first trial focuses on getting all the required tools setup and a quick test if this worked.
Your task is to:
- install the LATEST radish modding tools (encoders and ALL ingame mods, each will be used in one of the following trials)
- reencode the posted example project (in debug mode),
- IMPORTANT: use a fresh savegame (either new game or a savegame prior installation of *ANY* (downloaded or generated!) hubtest example)
- use radishQuestUi mod to visualize the debug infos
- hide the foliage with maximized radui
This article provides some background information and various tips required or helpful to accomplish these objectives.
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.
- you need a working and (highly recommended!) patched modkit installation.
- link and info about patched modkit
- 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.
- 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
- 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
The easiest way to create the required junction links is to use the ‘_createLinks_.bat’ contained in the new-project templatepackage. This has to be done only once for every project.
The batchfile uses the settings from the ‘'_settings_.bat'’. So make sure it is started AFTER adjusting the settings batch file! Start it and follow instructions.
Unbundling/Uncooking game data into modkit r4depot
Unbundling (aka unpacking) and uncooking are different things.
Unbundling just extracts the archived game files from the big .blob files.
Uncooking (the wcc_lite command) is a little more involved, as it first unbundles then proceeds to extra steps.
For trial1, at least, you won't need to run the wcc_lite.exe uncook command : the unbundle command is enough. You can run it at the root of your Witcher3 game installation : it will then unpack content\ and DLC\.
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 unbundle 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.
As last step, once you are done unbundling, unpack the ‘unpack.into.r4data.zip’ from the files section into the modkit r4data directory. This time overwrite.
Unpacking the full game data can be done with the wcc gui by @rfuzzo. It is a wrapper around wcc_lite.
Use the unbundle command.
Be aware that unpacking the complete game will take some time and > 30GB 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
Or you can use wcc_lite.exe from command line directly.
Here are the parameters supported and known.
Tips build pipeline
The complete project can be (re)build with the ‘full.rebuild.bat’ file in the root of the project directory.
If the .bat when run, opens a terminal and closes, and seems to do nothing : run the program from cmd or powershell.
When building the mod project - and cooking the encoded files with wcc_lite under the hood, there will be automatic merging of entities. E.g. full blown new actors with some additional tweaks/appearances created 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.
If this happens using the trial1 mod project, this is likely because there were errors during unbundling/uncooking and some files were missed : you want to check logs and possibly retry that step.
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 ’_settings_.bat’ and set the
RELEASE_VERSION parameter to
"NO" to see any assets from the example project in radish quest ui. 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: