Difference between revisions of "Total War: Rome Remastered - Modding"
(→Error Logging: note about dialogs) |
(→Error Logging) |
||
Line 43: | Line 43: | ||
You can also use: | You can also use: | ||
− | :-show_err - to generate a single pop-up message as in the original game | + | :'''-show_err''' - to generate a single pop-up message as in the original game |
− | :enable_dialogs - to get multiple pop-up messages (this really does generate '''multiple''' messages, you might find it annoying, and the same messages should be available from the text logs) | + | :'''enable_dialogs''' - to get multiple pop-up messages (this really does generate '''multiple''' messages, you might find it annoying, and the same messages should be available from the text logs) |
− | :verbose_script_logging - to help debug scripts | + | :'''verbose_script_logging''' - to help debug scripts |
Additionally "EnableBattleModelInfo" can be activated from Preferences Data to view the assets a battle model is using. | Additionally "EnableBattleModelInfo" can be activated from Preferences Data to view the assets a battle model is using. |
Revision as of 00:48, 13 August 2021
Total War: Rome Remastered offers modding opportunities similar to the original game although higher quality assets will be needed to match the improved graphics. With patch 2.0.2 the modding possibilities have been expanded, additional tools released and many initial bugs fixed. See Rome Remastered github for more details.
SEE ALSO:
- File Differences - Rome Remastered
- Porting a Mod to Rome Remastered
- Creating New Campaign Map in Rome Remastered
Mod Set-up
Mods can be uploaded and used from the Steam Workshop, the placing of those mods on your computer will be determined by Steam and your library set-up, for example a mod's file could be in:
- D:\Steam\steamapps\workshop\content\885970\2471298638
Mods in development can be placed in the 'Mods' folder either in Local Mods or My Mods, the full path to these folders is normally:
- C:\Users\YOURNAME\AppData\Local\Feral Interactive\Total War ROME REMASTERED\Mods\Local Mods\Mods_Name etc.
If you have a small C drive and need to relocate this elsewhere you can use a hard-link on your computer, hopefully, the launcher options will later allow an easier way to change directory locations!
Within either Local Mods or My Mods you will then have a folder for Mod_Name. Within Mod_Name folder you need the mod's data folder a modinfo.json and a filelist.json
modinfo.json
This file you write yourself and it gives the name and description of the mod, a sample format is:
{ "Description": "Brief description of you mod goes here", "Mod Name": "Mod name goes here", "Supports Alex": false, "Supports BI": false, "Supports Rome": true, "Tags": [ ], "Visibility": 1, "Workshop ID": 0 }
filelist.json
This is referred to as the 'manifest' for the mod. To generate this file - or regenerate it if you have changed files - select the mod and click the "Regenerate Manifest" button on the Feral launcher.
If you add files to the mod and fail to Regenerate Manifest your new files will not be loaded. If you try and run a mod without any manifest you will just get the vanilla game!
Error Logging
Version 2.0.2 has introduced a comprehensive error logging system. To activate basic logging to text file use enable_logging in your Launch Options. Log files will be generated in:
- C:\Users\YOUR_NAME\AppData\Local\Feral Interactive\Total War ROME REMASTERED\VFS\Local\Rome\logs
You can also use:
- -show_err - to generate a single pop-up message as in the original game
- enable_dialogs - to get multiple pop-up messages (this really does generate multiple messages, you might find it annoying, and the same messages should be available from the text logs)
- verbose_script_logging - to help debug scripts
Additionally "EnableBattleModelInfo" can be activated from Preferences Data to view the assets a battle model is using.
See Feral's logging.md for further details.
Differences to Rome: Total War
For text file and folder structure differences see main article:- File Differences - Rome Remastered
There are numerous small and large changes to the files and file structure of Remastered in comparison to RTW. The changes are centered around:
- Inclusion of higher resolution graphics and environmental effects
- Inclusion of all language options within the same base game (instead of replacement)
- Addition of separate mesh structure for 3D elements of campaign map
- Addition of merchant agent type
- 'Duplicate' text files with alternative statistics to suit toggled play-style options
- New methods to override base files
Feral's Differences & New Features page details the changes to date including 2.0.2 patch with information about currently increased limits and targeted changes for version 2.0.3.
Textures
RR still uses .tga.dds files (e.g. dds files but with the .tga name appended so that text files actually just ask for .tga)
Some textures are compressed using the LZ4 system, these also have an additional header section which can be ignored. IWTE now has an option that will de-compress a directory of these textures back to their starting .dds state.
Some textures are DX10 type, these you can probably open but not see the correct information, if you have a recent version of Photoshop you can use this plugin to open them. Otherwise, you need to convert them to .tga using the Texconv tool or similar. The easiest way to use this tool is by writing a .bat file (so you don't have to remember the commands each time!), and example .bat would be:
@echo off texconv.exe -r my_folder\*.dds -ft tga -o my_folder cmd /k
Fortunately, the game will accept and run happily with non-compressed DXT5 and DXT1 dds textures in the same way as RTW, so you only need to mess about with the above if you need to view or amend some of the existing textures.
RR has introduced a system of Physically Based Rendering for textures, thus the 'normal' textures that have been introduced with RR work slightly differently from the ones in M2TW:
_pbr contain the _n, _s and _m maps they are rgba textures r+b = normal g = roughness a = metallic In other places like building textures you will find that the _n, _s, _m are separate
.pvr
A .pvr version of the radar map is used, to open this file download the PVRTexTool or similar.
Settlement Overlay Textures
Feral have explained that how various special keywords in the MESH names of the overlays work:
orderedXY
Where XY is a number (00, 01, 02...) the game uses this to sort the rendering of the different meshes. Bigger numbers are rendered last, this is to avoid z-fighting (the annoying flickering) when 2 meshes are at the same distance from the camera.
gridXY
Again XY is a number. The only possible numbers are the ones defined in descr_landscape_global_uv_grids.txt and this will make the assigned texture tile according to the uv scale defined in the text file. Descr_landscape_global_uv_grids.txt can be included in a mod-folder and amended.
detailXY_ZW
XY and ZW are numbers (00, 01, 02...) The first number references a tile value in descr_landscape_global_uv_grids.txt as for the grid keyword above. The second number references a texture in descr_landscape_multi_textures.txt. The difference from gridXY is with the detail keyword the texture referenced by the second number is going to be tiled as referenced by the first number, but it's going to use the alpha of the textures assigned to the mesh without tiling that alpha layer. So the alpha layer of the texture assigned by the standard material naming process to the mesh element can define the whole area of roads to be painted onto a settlement overlay, but the actual texture applied to them can be tiled and maintain a high resolution. Descr_landscape_multi_textures.txt can be included in a mod-folder and amended but only currently supports 15 texture variations the textures defined in it do not work with the winter variant system applied from descr_building_battle.txt.
An example use of the detail keyword would be a mesh name within the overlay .cas of:
ordered01 - detail04_03 - whatever
- this would be displayed on top of other lower ordered meshes in the same plane
- this would use the tiling for entry 4 in descr_landscape_global_uv_grids.txt
- this would use texture 3 from descr_landscape_multi_textures.txt for the tiled element
Campaign Map
- See main article Creating New Campaign Map in Rome Remastered
One of the areas modders' have been most worried about was whether the game would support completely redesigned maps now that a model mesh system has been introduced for the campaign map. Although this looks like the vanilla shaped map, it's actually partway through porting a version of the Mundus Magnus large map for RTW (originally by ngr).
IWTE now supports mesh and texture creation from base .tga files.
Relationship to battle maps:
The below picture demonstrates the difference between what you might see on the campaign map and in battle if you don't deliberately align the two:
The left part shows the campaign map on a modified section of mesh. The area shown in green, where the army can move, is controlled by the map_heights.tga, map_ground_types.tga and map.rwm information. Where he would actually appear to stand is controlled by the heightmap .bin file generated from the mesh, so he will walk up that big lump, but he won't go below 0m (sea level), even though the mesh is below the water surface there. The second part of the picture on the right shows what you actually get at that spot in battle, which is based on the map_heights.tga, map_ground_types.tga and map.rwm information, plus interpretation from the vegetation and geography.db files.
Similarities to the original system:
A quick look in the data/world/maps folders will reassure RTW and M2TW modders that the map image and text files they are familiar with are still there. If you have a 'pure map' mod you should be able to use your existing map_heights.tga, descr_strat.txt etc to launch a mod for Remastered without much problem. If the mod has modded units, buildings, ancillaries etc, it will take more unravelling, just as porting a map between different mods would. If you try to copy in all of your mod's files you will probably find either some conflicts, or that you have overwritten new features in Remastered such as the addition of traits and ancillaries to support the new Merchant agent type.
That's the good news... your basic map files are still valid! The basic files drive the campaign map pathfinding, placement of settlements and resources and provide the climate/heights/ground_types information that is translated using the vegetation and geography.db files to make the battle maps.
The not so good news, if you were after a quick result, is that they don't generate the mesh or textures you view on the campaign map! So if you load a map of a different size or shape the areas not covered by the existing mesh, or already on raised land areas, will just appear as sea! They will function, and the trees and settlements will turn up, and your troops will be able to move on the parts supposed to be land... so if you ever wanted to do a mod based in the Everglades, this could be for you.
Units
To unpack unit models from Rome Remastered packs you need to use the unpack_characters option when launching the game .exe
The .cas files you generate can be converted for editing in Blender or 3dsMax. You can use:
- Feral's cas>fbx>cas tool see here
- IWTE which converts cas>dae>cas and can also combine the unit mesh with unpacked animations see: IWTE - Units in Blender
- possibly older max script coverters
Please be aware that each of the tools may have different default scaling and orientation, so you should not combine import/export across different tools.
Although still .cas files the RR units use the 'type 3' chunk system previously only used for some shoulder pads and minor elements of RTW units using the model_flexi_m system. The main body of the unit can have vertexes weighted variably between any two bones for the lod0 model, the lod1 model and lower need to have single bone weighting throughout. Primary and secondary weapons must still exist within the .cas as a separate mesh and use only one bone.
Only the base .cas name is given for the model in the DMB file the game looks for and needs four model .cas files for each model named:
- base_name_lod0.cas
- base_name_lod1.cas
- base_name_lod2.cas
- base_name_lod3.cas
If you haven't got 4 different lod level models, copy the closest one you have and re-name it to suit.
The uv mapping of the units is now used to provide the variation across faces and skin sections to suit ethnicity, details of the uv system and requirements for conversion with the CasPacker tool can be found here
Text Strings and Menu Items
Some of the text displayed in game isn't read from data/text folders, it's from
- \Steam\steamapps\common\Total War ROME REMASTERED\Contents\Resources\en.lproj\Localizable_Game.strings - (which is plain text)
these strings can be changed and included in a modfolder @
- mod-folder\data\string_overrides\en.strings
example shown is for English the same principle applies on other languages.
Instructions are contained in the readme.txt inside data/string_overrides:
This folder is used to override strings added to the game by Feral Interactive. The original files can be found at "<languageCode>.lproj/Localizable_Game.strings" Override files should be named the language code they correspond with and have the file extension, ".strings" E.G. English Override: "en.strings"
As an example the text seen on buttons and on the main menu selection items is in the Localizable_Game.strings, however, other parts of the menu text can be found in data/text/menu_english_stm.txt and language variants.