Invasion mode entities addition

Users who are viewing this thread

Dear fellow forum users,

I would like to ask a seemingly basic question to the knowledgeable ones of Warband's modding community. I think it will be very easy to reply to said query, as it is really, really awkwardly simple. I could not find a solution to it, as perhaps it was so simple that everyone else had not had to actually ask such a question on any forum whatsoever. I think that many other people have stumbled upon this problem, so resolving it must have been a commonplace. Thank you in advance to any possible helper!

In 2016 or so there was the Invasion mode (named as 'ccoop' in the code) shipped to Warband along with some new props (snowy ones, prison cart), outer terrain (beach_snowy), textures, materials and so forth (likely added in different version). All the above-mentioned entities were added to the Module System for version 1.171 and they could be easily spotted since there was a code sidenote attached to them (#INVASION MODE).

Since I am utilizing an archival augmented Native module originating from pre-2016 period, I can see in edit mode the missing props' entries and can place said entities in any scene, but they do not show up and are completely invisible. Moreover, when I join with that module a scene which has said Invasion mode entities, they also cannot be seen or stepped onto. They seem to be empty and lacking their respective colliders.

Warband's CommonRes folder contains all of the previously mentioned entities, as they are written as .brf files.

Here is the actual question: how can I make my module read and process said entitites, so that they can be seen and felt in-game? I do not want to break its already-existing files, but to merge it with later Warband versions' entities. That module is quite special and I am in no position to just move on to another one. Just downloading a new module is not an option for me, as I must enrich my initial one with said entities.

Will setting the latest Module System's path to my module and running it blank (that is, with no changes to any file) accomplish my end? A file named module_scene_props.py seems to contain some seemingly useful data for me; it also bears the latest version's changes.

snowy_destroy_house_a",0,"snowy_destroy_house_a","bo_snowy_destroy_house_a", []),
("snowy_destroy_house_b",0,"snowy_destroy_house_b","bo_snowy_destroy_house_b", []),
("snowy_destroy_house_c",0,"snowy_destroy_house_c","bo_snowy_destroy_house_c", []),
("snowy_destroy_heap",0,"snowy_destroy_heap","bo_snowy_destroy_heap", []),
("snowy_destroy_castle_a",0,"snowy_destroy_castle_a","bo_snowy_destroy_castle_a", []),
("snowy_destroy_castle_b",0,"snowy_destroy_castle_b","bo_snowy_destroy_castle_b", []),

("snowy_destroy_castle_c",0,"snowy_destroy_castle_c","bo_snowy_destroy_castle_c", []),

("snowy_destroy_castle_d",0,"snowy_destroy_castle_d","bo_snowy_destroy_castle_d", []),
("snowy_destroy_windmill",0,"snowy_destroy_windmill","bo_snowy_destroy_windmill", []),
("snowy_destroy_tree_a",0,"snowy_destroy_tree_a","bo_snowy_destroy_tree_a", []),
("snowy_destroy_tree_b",0,"snowy_destroy_tree_b","bo_snowy_destroy_tree_b", []),
("snowy_destroy_bridge_a",0,"snowy_destroy_bridge_a","bo_snowy_destroy_bridge_a", []),
("snowy_destroy_bridge_b",0,"snowy_destroy_bridge_b","bo_snowy_destroy_bridge_b", []),
#prisoner cart
 
Solution
I cannot believe it, but I found a solution to the issue on my own. I am to share it with the forum, so that anyone might dive into the issue and get a ready remedy to the trouble. It all has been pretty simple and straightforward. It all boiled down to the fact that the module had those entities hardcoded into it, but they were not loaded. Instead of experimenting with the Module System, I decided to look into the module.ini file. The previously mentioned file contains entries of resources to be loaded into the game and - as I realized - all CommonRes .brf materials' loading depends upon said .ini config. All I had to do was to add such entries to that file:
  • load_resource = destroy_snowy after load_resource = destroy...
I am not sure if I have understood your question correctly: You want to make use of the new scenes coming alongside the last update with the Invasion Mode, yes? Or do you only want to make use of the new sceneprops in another scene?
If you have another module in which they are not integrated you need to adapt your module_scene_props so it is the same as the Native one and you need to make sure that the respective brf files containing those assets are actually getting loaded.
 
Upvote 0
I am not sure if I have understood your question correctly: You want to make use of the new scenes coming alongside the last update with the Invasion Mode, yes? Or do you only want to make use of the new sceneprops in another scene?
If you have another module in which they are not integrated you need to adapt your module_scene_props so it is the same as the Native one and you need to make sure that the respective brf files containing those assets are actually getting loaded.

As far as first colored part of the post is concerned, I would like to attain both goals. They all boil down to one thing: to make my module compatible with the Invasion mode without breaking its painstakingly crafted contents. Without said entities I cannot see and feel them directly in-game. Furthermore, I cannot also utilize any new Invasion scenes which were tailored especially for that gamemode.
As far as second colored part of the post is concerned, please read last sentence of my initial topic.
 
Upvote 0
What is the initial base of your mod? And do you have access to the module system of it or not? Asking such way: How did you accomplish your own changes?

I will inform below this thread about my latest findings.

As I wrote, I am using augmented Native and have access to its respective Module System. I augmented it beforehand with various features, add-ons and so on with aid of pre-existing users' labor and the Module System, but any new minor change was much easier to execute than making such an addition to my module.
 
Upvote 0
Ok, the important information snippet for me was that you have access to the Module System. First, compare your module_scene_props with the module_scene_props of the latest version of Native Module System (1.171 that is). Use WinMerge to compare files if you are not common with that programm already. The important part for you is to find out if all scene props are in the same order, the old ones that are. The new sceneprops you can simply add at the end of the file like they are in Native 1.171. So basically you simply want to use the module_scene_props of Native. If there are some other differences before that, you will need to adapt respectively to it but it doesn't seem to me like there will be if it is only going to be an augmented Native.
Did you already implement all other changes with #INVASION MODE to the other files or did you just start out?
 
Upvote 0
Ok, the important information snippet for me was that you have access to the Module System. First, compare your module_scene_props with the module_scene_props of the latest version of Native Module System (1.171 that is). Use WinMerge to compare files if you are not common with that programm already. The important part for you is to find out if all scene props are in the same order, the old ones that are. The new sceneprops you can simply add at the end of the file like they are in Native 1.171. So basically you simply want to use the module_scene_props of Native. If there are some other differences before that, you will need to adapt respectively to it but it doesn't seem to me like there will be if it is only going to be an augmented Native.
Did you already implement all other changes with #INVASION MODE to the other files or did you just start out?

I am a beginner at modding, so I doubt I will make any meaningful change towards my end... Thank you for responding anyway!
 
Upvote 0
If you are a beginner at modding, start out here:
Ultimate introduction to modding:
https://forums.taleworlds.com/index...ion-to-modding-starting-out-read-this.240255/
Module System Syntax and Usage:
https://forums.taleworlds.com/index...ion-to-module-system-syntax-and-usage.142422/

First step for you would be to try to get the module system which you have to compile.

Make a safecopy of all files before starting, so you always have a backup. Make regulary copies of work you have done between.

Feel free to ask questions or report your bugs, people might be able to give you a helping hand. Happy modding, we all started at that point ^^
 
Upvote 0
If you are a beginner at modding, start out here:
Ultimate introduction to modding:
https://forums.taleworlds.com/index...ion-to-modding-starting-out-read-this.240255/
Module System Syntax and Usage:
https://forums.taleworlds.com/index...ion-to-module-system-syntax-and-usage.142422/

First step for you would be to try to get the module system which you have to compile.

Make a safecopy of all files before starting, so you always have a backup. Make regulary copies of work you have done between.

Feel free to ask questions or report your bugs, people might be able to give you a helping hand. Happy modding, we all started at that point ^^

Thank you, although I must stress that I read all of the above and know all the hints mentioned by you here. My beginnership just encompasses my lack of experience. Anyway, thank you again for lending a helpful hand. I marked your one response as best.
 
Upvote 0
I cannot believe it, but I found a solution to the issue on my own. I am to share it with the forum, so that anyone might dive into the issue and get a ready remedy to the trouble. It all has been pretty simple and straightforward. It all boiled down to the fact that the module had those entities hardcoded into it, but they were not loaded. Instead of experimenting with the Module System, I decided to look into the module.ini file. The previously mentioned file contains entries of resources to be loaded into the game and - as I realized - all CommonRes .brf materials' loading depends upon said .ini config. All I had to do was to add such entries to that file:
  • load_resource = destroy_snowy after load_resource = destroy,
  • load_resource = terrain_borders_c after load_resource = terrain_borders_b,
  • load_resource = prisonCart
    load_resource = ccoop_extra_ui_meshes
    after load_resource = wb_mp_objects_a.
 
Upvote 0
Solution
Back
Top Bottom