FAQ - Crash Fixes and Much More

Users who are viewing this thread

Status
Not open for further replies.
General questions

Q: What is the Floris Mod pack about?
The pack enhances native gameplay by combining a wide range of mods provided by the warband community. Additionally to the new trooptrees, it offers improvements in gameplay, graphics and many other areas.

Q: What Warband version is the Mod Pack running on?
Floris 2.54 runs on 1.153, although you could use the resources from the Basic version to enhance older Native Warband versions. Gameplay and Expanded require 1.153 (Version 1.154 works as well)

Q: What's the current Floris version?
2.54

Q: Where can I get an older version?
The Nexus contains all older versions.

Q: I don't like the current download mirrors. Why didn't you use this or that site to upload Floris to?
Seriously? There are plenty of mirrors to download from, as you can see at the Download Section. I also specifically asked before release for more mirrors. If you're still not satisfied it's too bad, for we're not uploading to even more mirrors.

Q: I found a bug. What should I do?
You can report bugs in the bug thread.
Please make sure to include a detailed description and if possible a screenshot. It could also be helpful to upload a savegame, which allows to reproduce the bug easily.
Before you post, please check whether "your" bug is already reported in the bugtracker.

Q: Can I get the source code?
Yes: it's been available for public use since 1.0. It's since version 2.5 integrated in the Dev Suite, the fourth version you can choose from during install. You can download Floris from the Introduction + Downloads page.

Q: Alright, I see the integrated 'Dev Suite' but it is in a different folder format than normal module systems. How do I use it?
See Windy's good explanation of getting things set up here Help - How to use Floris Dev Suite

Q:What are all the Mod Options for?

Caba`drin said:
Record Battle Size as set in Options
Here you need to enter the number that you've set in game Options (or with the Warband Battle Size Changer tool) for your battle size if you want to use the deployment feature where you can choose which troops spawn at the start of a battle



Weapon Use Fixes
When the box is "ticked" the 'fix' will be active. Un-tick the box to turn the specific fix off. They apply both to your troops and the AI.
Lancer Fix
This will force mounted troops with lances to use them unless they are in close melee or dismounted.
Horse Archer Fix
This will force mounted troops guaranteed a ranged weapon to use that ranged weapon until they are out of ammo or dismounted.
Spear/Polearm Fix
This will force foot troops with a spear or other polearm to use it unless they are in close melee combat, where they will try to switch to a sidearm.

Pike/Horse Damage Tweaks
When ticked, this is active. Untick to turn off.
Horses do extra trample/bump damage to foot troops based on their overall armor/weight. Pikes and other long polearms do bonus damage to horses, and more bonus damage for thrusts.



Distance limit for showing HP bars
Sets how far away you'll see hit point/health status bars for troops and when they disappear, if you have them activated below.

Show health bars of ally troops
Ticked, you will see health bars at the distance set above. Unticked, no health bars on allies.

Show health bars of enemy troops
Ticked, you will see health bars at the distance set above. Unticked, no health bars on enemies.

String a banner to your back?
Ticked, a scene prop is added to your character's back (a con) with your sigil on it. Currently non-functional

Others with banners on backs
Select whether your companions, etc should have the banner prop on their backs. Currently non-fucntional



Show battle minimap
Ticked, a minimap/radar will always be in the upper right hand corner of your screen. Unticked, no map unless you hit Backspace.

Size of battle minimap (%)
Sets the size of minimap, if activated above.

Enable Battle Continuation
Ticked, battles will continue after you are knocked out. You can no longer give orders, but your troops keep fighting. By default use the arrow keys and mouse to move the "death cam" to watch the fight, or hit END to switch to a chase cam, roughly similar to the one in multiplayer. Press Tab to retreat as normal. Unticked, your troops retreat and the auto-calc kicks in once you are knocked out, like in Native.

Enable 'Charge' after Knock-out
This only applies if Battle Continuation is enabled above. Ticked, your troops receive a "charge" order on your knock out, which may prevent some battles from hanging, but destroys any strategy you had in place. Unticked, whatever the last order your troops had before your character was KO'd, that will be in place until the battle ends.

Enable AI Formations
Ticked, this changes default battle AI. One should see enemy lords being more organized in their troop movements. Unticked is Native battle AI.

Enable AI Spear-Bracing
Ticked, this allows the spear-brace order to be active among AI spearmen, which means that charging any cavalry straight into any group of spears or pikes likely will result in many dead horses. Unticked is Native behavior.

Reassign De-horsed Cavalry to:
Allows you to select another division for your mounted troops to be re-assigned to if their mount gets killed during battle (similar to original M&B behavior). This applies to both AI and the player (though if active, the dehorsed AI cavalry always become infantry).

Reassign No-Ammo Archers to:
Allows you to select another division for your ranged troops to be re-assigned to if they run out of ammo. This applies to both AI and the player (though if active, the AI archers out of ammo always become infantry).

Reinforcement Waves
Allows you to increase or decrease the number of reinforcements that occur prior to the battle round ending.

Report shot distance
Ticked, the scrolling battle text display will list how far each of your bow/crossbow shots goes. Unticked, this is not displayed.

Report extra XP & Wpn Prof
One receives extra weapon proficiencies and XP points due to Intelligence. Ticked, the scrolling battle text display will notify you of these extra points. Unticked, this is not displayed.



Enable Bodyguards in Town/Villages
Ticked, after reaching a certain amount of leadership and renown, you begin earning the right to have some of your companions accompany you when you visit towns and villages, save for in lords' halls. You can give them orders as if in battle. Unticked, it is as in Native and you always enter places alone.

Morale threshold for consuming food...
Sets the morale level below which your troops will need to eat twice as much food to stay happy. Set it very low to essentially disable this "difficulty enhancement."

Speed of battles on the map
Adjusts how fast auto-calculated battles between the AI go. The slower, the greater chance you can get to them from a distance, but it also slows down the pace of the game.



Skill penalty from encumbrance
Ticked, you and your companions receive penalties to athletics, riding and horsearchery from heavy armor. Unticked, it is as in Native.

Ranged penalty from weather
Ticked, nighttime, fog and rain will significantly lower the ranged proficiencies of NPCs/bots (based on the level of fog or rain) to help compensate for their dead-eye aim in pitch blackness. Unticked, it is as in Native.

Disable horse speed scaling
Ticked, it is as in Native. UN-ticked, the more injured a horse, the slower it goes.

Allow drowning in missions
Ticked, you can drown if you are under water for a length of time. Unticked, it is as in Native and you can walk at the bottom of a lake for ages.

Disable Companions' complaints
Ticked, and you won't hear companions complain about one another. Unticked and it is as in Native.

Enable debug mode
Ticked and you enter debug mode (equivalent to typing "cheatmenu"). Unticked disables the debug mode ("nocheatmenu").

Probability of rain/snow (%)
Can set the likelihood of precipitation in battles.

Cloud amount
Sets the cloud cover on the map and in battles, which increases the likelihood of rain/snow.

Fog strength
Sets fog strength on the map and in battles.
Or, just mouse-over them in game for a tooltip!

Q: This mod has huge memory requirements. Isn't there some way to reduce it while still playing the Expanded version?
JatuWrangler has created an excellent memory reduction program - (Download: Warband Tamer). Even tough he posted it in the PoP subforum, it should also work with the Floris Mod Packs. It frees up RAM after battles, etc, hopefully extending your stable play time. Similarly, if you download the Warband Script Enhancer and use it to launch Warband, it will perform the same memory reduction if you open up WSE_settings.ini and set the following:
Code:
[memory_optimizer]
;Enable the memory optimizer for systems with low memory or large mods (experimental)
enabled = 1

Q: I'd like Floris to be in my native language. How do I translate it?
You can make your game create the .csv files required to translate by starting Warband and clicking on "Configure". There, turn "Windowed Mode" on. You can also enter Windowed mode by pressing Alt+Enter while the game is running. Once you launch Floris, open a saved game or start a new game. Then, when on the world map, go to the "View" menu on the menu bar in the windowed screen and choose "Create Language Template". A folder "new_language" will be created in your Warband installation folder, containing all of the .csv files needed to create a translation. (Refer either to snouz's French Floris translation or the various Native language .csv files for an idea of what needs to happen with them)
 
Crashes

Q: My game keeps crashing. What can I do?
There are several reasons why the game can crash. You might want to try the following:
- Enable 'Load Textures on demand'
- Make sure you are using Warband 1.153 (check your RGL log in your main warband folder for this)
- Lower the battle size. (100)
- Lower the number of corpses.
- Disable rag dolls.
- Lower the texture quality (and other graphical configurations)
- Run the game on Dx7
- Force single threading at the console when powering up MB. (Configuration/Advanced)
- Disable Edit Mode. (Configuration/Advanced)
- Run another version of Floris, for example Gameplay instead of Expanded.

If this all doesn't work, you can continue reading this post to see if there's a solution to your crash. If this doesn't solve your problem, you can ask for help at Support. Don't start a new topic about it.

Q: I get crashes while saving a game, during or after a bigger battle or switching screens.
OR: I have a 32-bit system with more than 2GB of RAM, but I still crash.

You might want to check out this topic. In most cases this solves your problems. This is a memory fix.

Q: I tried to use "Load Textures on Demand", but my game crashed immediately.
OR: The game crashes when I try to change the main game options.

Warband versions 1.143+ are prone to corrupt configuration files. Try deleting the rgl_config.txt file (in the Documents\Mount&Blade Warband\ folder) and, if necessary, the whole folder found at %APPDATA%\Mount&Blade Warband\   
This will force Warband to recreate your configuration files. Re-enter your settings and you should be good to go.

Q: All the dust from horses causes me to lag terribly! Can I get the old horse dust?
Use this particle_systems.txt file. It will use Native horse dust, but maintain the other Floris edits.

Q: The game crashes when I try to enter a town or a castle (or a town's tavern).
This is a standard Warband 1.143 crash. Open up your "module.ini" file found in your Warband install folder \Modules\Floris <version here>\ and edit the line "disable_moveable_flag_optimization = 0" by changing the 0 to a 1. You should not be seeing this in Warband 1.153

Q: What kind of system are you using yourself?
Some people have proclaimed that their crashes couldn't be related to their pc, because of their high end machines. That's why we share our specifications:
Monnikje:
OS: Windows 7 64 bits
Processor: Intel Core2 Duo E6600 @ 2.4 GHz
Motherboard: Asus P5N-E SLI
RAM: 2 GB, Kingston HyperX DDR2 800MHz PC2-6400, dual channel
Graphics: Radeon X1950 XTX, memory size 512 MB
HDD: 2x WD Raptor 80 GB in raid 0 with my OS and games installed (Also 2 sata 500 GB hdd's for the bunch of data)

I'm running at the moment of writing Warband in edit mode with my mod loaded, firefox with around 60 tabs open, Xchat, two times OpenBRF, Winamp and Notepad++ with around 9 open files.

My mod runs smoothly on my 5 years old machine: only when I have for example extremely large battles (500+ during a siege or a heavy densed PL forest) he's having some trouble.

Duh:
OS: Windows7 64-bit
Processor: AMD Phenom(tm) II x 4 945 @3GHz
RAM: 4GB DDr3
Graphics: NVIDIA GeForce GTX 460
HDD: 1 Drive , 1 TB

I bought this machine two years ago, and I do encounter crashes once in a while. I have load textures on demand checked, otherwise I run out of memory.

Q: I'm using Steam and get conflicts!
Some parts of the mod seem to conflict with Steam achievements, if you're not online. The workaround is:
Either
- Enable "Cheat Mode" in the Config menu from the launcher (this disables all achievements)
Or
- Right click on Warband in Steam to get your activation code.
- Download Warband from the official site and install it.
- Use your Steam activation code to activate non-Steam Warband.

Q: I can't start the game, since I get the following error just before the game is loaded: 'RGL shaders: Out of video memory', or a likewise error.
Strange but true: this error is caused by the amount of sound effects. If you get this error with the mod pack, it's best to revert back to the native sounds, or if you're running with Basic or Expanded you can try to use the Gameplay sounds. To do this, replace sounds.txt by the appropriate one. That's all.
 
Troop Trees

Q: What's up with all those different troop trees I can choose from when starting a new game?
Since quite a lot of people disagreed on how the troop tree(s) should look like, I made three troop trees available to choose from when starting a new game. This choice can't be altered during your game, so choose wisely!
Native: This is the troop tree as used in Native Warband. The troops use items with equivalent stats as in Native. The maximum tier is 5. On average there are 9 troops to choose from per faction.
Reworked: A troop tree that is a middle road between Native and Expanded. The maximum tier is 6. On average there are 15 troops to choose from per faction.
Expanded: A large troop tree that offers quite some specialised troops. The maximum tier is 7. On average there are 25 troops to choose from per faction.

Q: I dont know which upgrade to choose for my soldiers. What can I do?
You can easily check the faction troop trees by clicking Reports and choosing "View upgrade trees". In there you can look at every single unit, its equipment and its stats.

Q: I don't like the names or the suffix code. Is there a way to change it?
You can edit them yourself using Morgh's Warband Tools. I do want to point out that the Native tree doesn't have the suffixes.

Q: I don't like any of the trees and would like to create my own Troop Tree. What do I need to know?
There are a few approaches to creating a new troop tree for the Floris Expanded Mod Pack. There are basically two questions you should ask yourself:
- Do I want to change items/names etc. in one of the existing trees, or do I want to create something completely new?
- Do I want to edit the text files or do I want to dive into the source code?
I'll try to explain what to do in each case.

Tools to use:
- Morgh's Warband Tools for text editing.
- Python for Windows for source file editing.

Notes:
- I'd like to point out that there are per tree, per faction, five extra troops you can use to expand the tree of your choosing without breaking savegames.

Editing one of the current troop trees:
I assume you want to keep the units and keep the current upgrade paths. If not, you should check out one of the other steps.

Text edit:
- You should have of course the mod installed.
- Use Morgh's Tool to open troops.txt (the Troop editor).
- You can now change the names, proficiencies, skills, stats, items and even random faces.
- Do not change the Troop ID.
- If you change the upgrade path, this will not be displayed in the ingame troop tree viewers.
- Save the file. Congratulations, you now changed troops.txt.

Source edit:
- Install the Dev Suite.
- Open module_troops.py of the version you'd like to work with to edit the troops. At the beginning of the file is some explanation about the different aspects of the unit lines.
- Once you're done, save the file and compile the source. You'll get all textfiles: the troops.txt is your modified one and the one you'll want to share.
Creating a new tree using the text files:
- The ingame Upgrade Tree Viewer is not generated automatically: that's something you'll have to create by hand in the source files. Just tell your users not to look there.
- Make sure to check party_templates.txt. The reinforcements are defined in here. If you remove a unit, or just don't use it anymore, you should make sure that it's also removed from there. Else you might get errors, or see the AI use units that are not in your tree!
- If you add units to any tree, you can also add them in here. Remember: a maximum of 6 units per reinforcement slot!
- There are six reinforcement slots (in contrary to the three you'll find in Native) per faction. reinforcements_a are used for low-tier units in castles. reinforcements_b are used for low-tier units in towns. reinforcements_c, d and e are used in both castles and towns, and are for mid-tier units (altough e is a little bit rarer than c and d). reinforcements_f are used for high-tier units in towns.
- In the troop editor you can easily change the upgrade path for units.
- Remember, do not change the Troop ID! In fact, it's better to not remove any units at all. You'd better use upgrade paths to make them unused. That way the units are 'dormant' in the game: not used by either you or the ai. This will keep it savegame compatible, and prefents any conflicts with scripts because suddenly troops are missing while some scripts might need them.
- It might be a good idea to give troops you're not using in your tree still upgrade paths to troops you are using, in case the AI does get hold of one of them: it will then upgrade to one of your troops.
Creating a new tree using the source files:
- When editing module_troops.py, the upgrade definitions are at the end of the file. Just remember that Upgrade("ID curent unit","ID unit it upgrades to") is for upgrading into one unit, and Upgrade2("ID curent unit","ID unit it upgrades to 1","ID unit it upgrades to 2") is for two possibilities.

- To edit the reinforcements, just open module_party_templates.py. Here you can edit the reinforcements. An explanation is at the beginning of the file.

- To change the Upgrade Tree Viewer, you'll need to open module_presentations.py. Search for the following line:
Code:
#Floris: The ingame viewable upgrade tree.
From this point onwards are the presentations of the upgrade trees. You'll need to know the following:
Code:
        (create_mesh_overlay, reg0, "mesh_pic_arms_swadian"),
        (position_set_x, pos1, 180),
        (position_set_y, pos1, 80),
This is the faction picture and it's position.
Code:
        (call_script, "script_prsnt_upgrade_tree_troop_and_name", 0, "trp_swadian_recruit", 60, 340), #Tier 1
...
        (call_script, "script_prsnt_upgrade_tree_troop_and_name", 25, "trp_swadian_7d", 940, 110),
These are the units displayed in that tree, with their local number, troop ID, x-position and y-position.
Code:
        (call_script, "script_prsnt_upgrade_tree_troop_cost", "trp_swadian_recruit", 115, 395), #Tier 1-2
...
        (call_script, "script_prsnt_upgrade_tree_troop_cost", "trp_swadian_archer", 845, 165),
These are the upgrade costs. No local ID, for the rest the similar to the units.
Code:
        (call_script, "script_prsnt_lines", 55, 4, 85, 380), #Tier 1-2
...
        (call_script, "script_prsnt_lines", 110, 4, 815, 150),
These are the horizontal lines.
Code:
        (call_script, "script_prsnt_lines", 4, 300, 140, 230), #Tier 1-2
...
        (call_script, "script_prsnt_lines", 4, 80, 575, 230),
These are the vertical lines.
Code:
        (try_for_range, ":slot_no", 0, 26),
Important: the 26 in this line is the amount of unit ID's you used a few lines earlier.

- If you want to change the size of the units or names displayed, you'll need to go to module_scripts.py. Search for:
Code:
  ("prsnt_upgrade_tree_troop_and_name",
Here you can change the names and units sizes.
If you want to share your tree with the world, you can upload it somewhere and start a new topic about it. Just send me a pm about it, and I'll add it to the submod page.

Q: My new troop tree is awesome and you should implement it in your pack!
Great to hear that you're tree is working like a charm! You can send me a pm to share it, and I'll have a look at it. Maybe I'll even use (parts) of your tree in the official ones.
Since adding a new tree to the pack is a lot of work, your tree will need to meet the following requierments before I even consider adding it:
- Your tree needs to be made in the Source Files. It's a lot of work to transfer from text files to source files: time I'd rather invest to improve the mod pack. It's ok to use an existing tree and rebuild it to your own one.
- You need to have made the troop tree presentations in the source files.
- Your tree must add a new gaming experience, and not just be a few changed items or stats. It must differ from the current trees as Native, Reworked and Expanded differ from each other.
It's a lot easier to take an existing tree and adjust it than to add a completely new one.
 
Removing or changing Mods from the pack

Q: I don't like the Combat Animation Enhancements in the Expanded Pack. How can I remove them?
Download a revised 'actions.txt' file here, or here and paste it over the 'actions.txt' to the main mod directory, and say yes to overwrite. You should now have the old animations back while retaining the shieldbash and pike bracing animations.

Q: How can I remove the polished trees, expanded horizons and new skyboxes in the Expanded version?
I advise you to play the Gameplay or Basic version if you don't want the graphical enhancements, but if you really want to disable it yourself in the Expanded version, you'll have to do the following:

Disable the new skyboxes:
Replace in the Data folder of the Expanded version the 'skyboxes.txt' by the same file from the Gameplay version.
Disable the Polished Buildings and the Polished Trees:
In the module.ini, disable the following lines by putting a # in front of them:
Code:
load_mod_resource = exp_bui_general
load_mod_resource = exp_bui_swadia
load_mod_resource = exp_bui_vaegir
load_mod_resource = exp_bui_nord
load_mod_resource = exp_bui_rhodok
load_mod_resource = exp_bui_sarranid
load_mod_resource = exp_bui_player_faction

load_mod_resource = exp_env_grass
load_mod_resource = exp_env_objects
load_mod_resource = exp_env_snow_trees
load_mod_resource = exp_env_trees
Add the folloing lines:
Code:
load_mod_resource = min_env_grass
load_mod_resource = min_env_objects
load_mod_resource = min_env_snow_trees
load_mod_resource = min_env_trees
Then add 'min_env_grass.brf', 'min_env_objects.brf', 'min_env_snow_trees.brf' and 'min_env_trees.brf' from the Gameplay's 'Resource' folder to the Expanded 'Resource' folder. Then replace all files in the SceneObj folder by the ones form the Gameplay version. Furthermore replace the 'skybox.txt' in the Data folder by the one from the Gameplay version. Then replace 'scene_props.txt' in the main folder by the one form the Gameplay version.
Finally you can take any texture, look at it, take the Native equivalent, rename it to the name in the Expanded version and then replace it.

Q: How can I remove just a part of the graphical enhancements, like the grass or the original trees, from the mod?
You can remove certain plants (let's call grass and trees and such all plants) from the game, or you can replace them by others (for example, the Native ones). I'll explain both here:
Removing plants:
You can edit flora_kinds.txt, or Flora_kinds.py. It doesn't matter much which you edit, altough you've got more editing options in the source file (like assigning in which area's certain plants should appear, and how often). Let's have a look at how the same line looks like in both files.
In flora_kinds.txt:
Code:
beech 12889099276 2
 tree_20_a  bo_tree_20_a
 Elysian_Fields GateKeeper
 tree_20_b  bo_tree_20_b
 Elysian_Fields GateKeeper
In Flora_kinds.py:
Code:
  ("beech",fkf_plain|fkf_plain_forest|fkf_steppe|fkf_steppe_forest|fkf_tree|density(3),[("tree_20_a","bo_tree_20_a",("Elysian_Fields","GateKeeper")),("tree_20_b","bo_tree_20_b",("Elysian_Fields","GateKeeper"))]),
In both files we see that this is not just one tree, but a collection of two trees. When you place 'beech' in a scene, you'll get one time the first tree, the other time the other. This creates a little variation in the game. You can understand now that 'beech' is the name of a group of trees. I'll call this a 'collection', and the different variations in this group I'll call 'trees'.
In the textfile you then see a number: in the source file you see that this number is actually a collection of stats about where these trees appear in the game. tree_1 appears on both plains and tundras, and in both cases also in the forest scenes. The higher the density, the more often it appears.
The '2' in the textfile is actually the amount of trees this collection contains. If you would remove tree_20_b, you would have to change it into a '1'.
After this, we see the different trees in this collection. tree_20_a is the name of the mesh, bo_tree_20_a is the name of the collision. The mesh is the part you see on the field: the collision ensures that you can't walk through that tree. All collisions start their names with 'bo_'. Most grasses don't have collisions. The 'Elysian_Fields' and 'GateKeeper' are parameters for the tree, something I won't discuss here.

It's easy to remove a tree, add one if you've got a new one or shift a tree from one colleciton to the other. Just change the appropiate line and you're done. Just remember that it's not wise to remove a collection entirely, since then suddenly trees in some scenes might not appear anymore.

Also, it's worth pointing out that this method only covers the plants that can be added or removed in the ingame scene editor. Most grass you see in a scene isn't editable. If you want to change the appearance of that grass, you'll need to do the next step.
Changing plants:
To change the appearance of certain plants (trees, grasses...), you'll need to edit the brf-files. A good editor for .brf-files, is OpenBRF. I advise you to get the latest version.

Why can't you just remove one of the brfs from the pack and add a native one or another one of your liking? Because of the way the brfs are made. I've put all grasses, trees or snowy trees in their own brfs, but in Native this is not the case. While you can find all the grasses in this mod pack in env_grass.brf, you'll find all the grass in Native in tree_f, tree_meshes.brf, xtree_meshes_b.brf and probably a few others (I didn't check all brfs again). But in these files you'll also find trees, rocks, skeletons and other objects that are also in my mod pack. So if you enable these Native brfs, you'll get multiple meshes with the same name. If that's the case, the game loads just the first one that appears in the module.ini, ignores the second one and gives an error (most likely not a crash, but no guarantees there). Since the Floris Mod Pack brfs come at the end of module.ini, the game wil thus load the Native trees and ignore the new ones from this pack. You could of course change the order of files in module.ini, but like I said: I give no guarantees that it won't crash your game.

To get things done properly, we'll need to take the plants from Native (or any other source) and place them in env_grass.brf, while removing the old plant from there. I'm going to show you here how that's done. For this example, I'm going to replace tree_20_a and tree_20_b, from the previous example, by the native ones.

The first thing we need to do, is locate in which brf files those trees are. In the FEMP it's easy: since they are trees, they can be found in env_trees.brf. In native it's a little more difficult to locate: you can find those trees in xtree_meshes_c.brf. Let's move that native brf to our Floris Resource directory before we edit it, so we won't screw up our Native game.



You can click on the picture to get a larger view. Here we see on the left the Native trees we want, and on the right the Polished Landscape trees we don't want. As you can see, the collisions have the same name as the meshes, except for the 'bo_'. This is for easily identifying which mesh and collision are meant to be together. But to be sure, you can always check the text- or source-file.
Also you see that the trees are actually made of two different meshes: tree_20_a and tree_20_a.1. This allows different parts of the tree (the branches, the leaves) to have different textures. We'll obviously need all the different parts to make a whole tree.

We'll delete the trees and their collisions we want to replace in env_trees.brf, so we delete tree_20_a, tree_20_a.1, bo_tree_20_a, tree_20_b, tree_20_b.1 and bo_tree_20_b.

There are two ways we could bring the tree_20's from our Native file to our Floris file:

1) We export each mesh and collision to an object file, and import these object files in env_trees.brf. To export a mesh or collision, right click on the name and select 'Export'. You can export it as an .obj. You can also export multiple meshes as separate files. Once that's done, you can import it in the other brf file by going to 'Import', and select 'Static Mesh'. Now you can import them in the other brf file. It's demonstrated in this picture:



2) Since we copied the Native brf file to our Resource directory and we only need those tree_20 meshes and colisisons, we can also delete the rest. Once that's done, you can go in env_trees to 'Import' and select 'Anything from a BRF'. It's demonstrated in this picture:



No matter what method you used, you'll end up with the right trees in the right file, still having the same name. You've replaced the old trees, but you're not there yet. The tree is too bright and flashy in comparison to the rest of the plants in the game: it will stand out. Luckily this can be adjusted by changing the texture. I've already provided adjusted textures, which you can find in env_materials.brf. You'll need to adjust the textures for both parts of the tree. In our example I change the leaves from 'trees' to 'tr_trees3', and the branches from 'bark' to 'tr_bark_d'



Now you've succesfully transferred the trees into the game. Since they still have the same name, the game will automatically put them in the spot the old trees stood.

I advise you to have at least all the Native names present in your brf file, be it with native, polished landscapes or other meshes. This is especially important for the grasses.

Q: Can I change the music in the mod?
Yes, you can. Here's some explanation on what can and can't be done:
In order to let M&B play the music in the mod's music folder, you need to tell M&B to look there for that song first. Let's look at the source code:
Code:
  ("mount_and_blade_title_screen", "menu.mp3", mtf_module_track|mtf_sit_main_title|mtf_start_immediately, 0),
  ("mount_and_blade_title_screen_old", "mount_and_blade_title_screen.ogg", mtf_sit_main_title|mtf_start_immediately, 0),
The first line is the mp3 in the mod, the second line is the ogg in the main game music folder. Since I like both songs, I had them enabled both, so the game plays one time the one, the other time the other.
The main difference between the two lines is this part: 'mtf_module_track|'. This tells M&B to search the module's music folder in order to play that song, instead of looking in the main directory.

When we look at the text-files, we see these lines:
Code:
menu.mp3 272629888 272629888
mount_and_blade_title_screen.ogg 4194432 4194432

All the information in the lines of the source code is now brought back to two numbers. You'll see that this is the case for all songs. So changing properties for a song (for example, if it's in the mod, or where in the game it should be played) is quite easy in the source, but - unless you know how those unmbers work - not that easy in the textfiles.

Some things you should be able to do in the textfiles without much trouble:
  • Take a song you like, rename it to one of the songs in the mod directory and replace that song.
  • Rename 'menu.mp3' or any other song in the textfile to the name of a song you like (that way M&B will search for that new song instead of the old one).
  • Copy a line in the textfile and repace the name of the song of one of the two lines by one you aded yourself: that way you can add more musical varity to certain scenes.
  • Delete a line of music: the game won't play a song in that scene, place or event anymore.

Q: Can I replace one of the new castles with a native (or other) castle?
Yes, you can:
There are two things you must do when exchanging the castle scenes for the native ones:
1) Replace the scenes you don't like with the Native ones. When you know the name of the castle, you can look at this post I made to check what scene number corresponds to the castle you want to replace. For example, Tevarin Castle has number 23. When you know the number, you'll see that there are three scenes: exterior (the outside of the castle), interior (the lord's hall) and prison (the inside of the prison). You'll obviously want to replace the exterior, so in Tevarin's case you want to replace scn_castle_23_exterior.sco by its native equivalent.
2) Then open scenes.txt from both Native and from the mod. Search for 'scn_castle_23_exterior'. In the Floris textfile you'll find:
Code:
scn_castle_23_exterior castle_23_exterior 256 none none 0.000000 0.000000 100.000000 100.000000 -0.500000 0x00000000300005000005ad6b00000ac2000029d300001217 
  0 
  0 
 outer_terrain_beach
In the native textfile you'll find:
Code:
scn_castle_23_exterior castle_23_exterior 256 none none 0.000000 0.000000 100.000000 100.000000 -100.000000 0x00000002300658bc0007bded000025520000093800006114 
  0 
  0 
 outer_terrain_plain
Replace the Floris lines by the Native ones and save your textfile. Now you've fully replaced the Floris castle scene with the Native one (or form any other mod).
 
Suggesting new features

Q: I'd like to suggest a new feature, or a new mod, for the pack. Where should I do that?
You can make new suggestions in the Suggestions topic.

Q: Could you add the mod Lots of New Companions? Or at least more companions?
This question has been asked quite often, so I set up a poll to determine how many companions people would like to have added. After running it for a month, I came to the following conclusion:
I'll start with creating a few new companions. Once this is done, I'll have a look if it's possible to create a choice at the start of the game, allowing you to choose between a few or many companions. If this is not possible, I'll stick with the few I'll have created by then. If it is possible, I'll start to slowly work on more companions, but won't implement them untill they're all (or at least most of them) done: the results of this vote say that people are really not waiting for an amount in between the few and the lot.

Q: Can you change those foreign names to all English ones, or just remove or change those suffix codes?
Since I do like those foreign names, I'm not changing them into all English ones. You're more than welcome to do it yourself tough. See here for instructions.
 
Modding Floris or How to use the Dev Suite

Windyplains said:
Step 1
You need to update the module_info.py file to have the path for your Floris folder.  This way it knows where to put the text files.  You can find this folder @ "..\Dev Suite Folder\Module Info\info.py".  Editing this file will bring up a lot of path information which we have setup so that we don't have to make this alteration for each person on the team.  You can ignore everything except the section that looks like this near the very top:
Code:
export_dir_main_guest				        = "C:/Program Files/Mount&Blade Warband/"
export_dir_custom_guest					= "./Native/"
The first path (export_dir_main_guest) needs to be the exact path to reach your Warband directory.
The second path (export_dir_custom_guest) needs to be the name of your module folder.  Effectively this is just breaking up the path to your module folder into two segments and removing the "\Modules\" from the middle as that's a given.

Step 2
You need to make sure python files can compile on your computer at all.  You'll need to install python 2.6 as explained here.

Step 3
The old "build module" batch file that the native module system comes with has been altered and renamed.  What you want to find is the file "compile_floris_expanded_source_to_custom_directory" which should reside in the main Dev Suite folder.  If you're not using the expanded version of the module then you'll want the one named "compile_floris_<version>_source_to_custom_directory".  This file copies all of the necessary module system & modmerger files into the same directory, compiles everything, moves the text files to your Floris folder and deletes the python file copies afterwards.  It is important to note that this only updates the text files (mostly what you'll want to do) in an already "built" module folder.  If you want to build a new module folder from scratch you used the "build_floris_expanded_mod_pack" (or whichever version you prefer) batch file.  This will create the module folder you've specified back in Step 1, move all of the necessary game files (sounds, textures, resources, etc) into it and then compile the python files.  This is a much lengthier process than the compile batch, but allows us to mix and match files in order to create the basic, gameplay or expanded versions of the mod.

Step 4
This is just to familiarize you with the locations of certain files.
The main module files can be found in -> "Dev Suite\Source\Source - Floris Expanded Mod Pack\Module\"
This is true for all module files for the expanded version and still true for most module files in the gameplay or basic versions.  Files specific to the gameplay or basic versions can be found in the "..\Source - Floris <version> Mod Pack\Module\" folder.  Since the expanded mod has all of the features and most files are the same it made sense to have one editing location for "shared files".

Specific "modmerger kits" can be found in -> "Dev Suite\Source\Source Kits\"
In here you can find the source for the entire Character Creation setup, Formations, Pre-Battle Orders & Deployment, Tournament Play Enhancements & Freelancer.  These were done as separate kits due to their size and to keep them more easily portable for OSP reasons.  If you edit any of them just keep the file where it is as the compiling batch files know to look there for them already.

Step 5
You're done.  Just make sure if you built a new module to select it when you startup the game.

Hopefully that straightens things out for folks a little.

ModAddict said:
  • Solved
    These questions were about trying to use the compiler and getting edited source code to to be properly exported and compiled.


    I have some questions that might be very stupid.

    Question:
    How do you compile the source code or whatever for floris dev suite 2.54?

    Problem:
    • I wasn't able to find compile_floris_expanded_source_to_custom_directory. (solved)
    • Instead I found compile_floris_expanded_source_to_build_directory.  (solved)

    Solution: It was in warband/modules/Floris dev suite 2.54/modules/floris dev suite 2.54 or /warband/modules/modules/floris_dev suite 2.54
    I ended up moving it, so I'm not quite sure where exactly it was, but it was in a folder called modules that was created by the installation.


    I have found the compile_floris_expanded_source_to_custom_directory, but I have realized that I have no idea how to use it.

    Question 2:
    If that is the right compiler, then how do I make it work?
    How do I make the compiler work?

    Problem 2:
    I've been trying to edit items, and I haven't seen any changes in any of my files at all.
    • I attempted to use the compiler by right clicking the compiler and clicking the run as administrator.
      • The cmd box briefly popped up and disappeared before I could see much more than a glimpse.
      • As far as I can tell, none of the files were changed.
    • I double clicked the compiler and it had a lot of lines and a lot of access denied messages. But at least this time the cmd window didn't close itself immediately.
      • Here is the code there.
Code:
Compiling Floris Expanded Mod Pack to a custom directory
Access is denied.
Access is denied.
Access is denied.
Start Processing...
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
python: can't open file 'info.py': [Errno 2] No such file or directory
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
______________________________

python: can't open file 'process_init.py': [Errno 2] No such file or directory
python: can't open file 'process_global_variables.py': [Errno 2] No such file or
 directory
python: can't open file 'process_strings.py': [Errno 2] No such file or director
y
python: can't open file 'process_skills.py': [Errno 2] No such file or directory

python: can't open file 'process_music.py': [Errno 2] No such file or directory
python: can't open file 'process_animations.py': [Errno 2] No such file or direc
tory
python: can't open file 'process_meshes.py': [Errno 2] No such file or directory

python: can't open file 'process_sounds.py': [Errno 2] No such file or directory

python: can't open file 'process_skins.py': [Errno 2] No such file or directory
python: can't open file 'process_map_icons.py': [Errno 2] No such file or direct
ory
python: can't open file 'process_factions.py': [Errno 2] No such file or directo
ry
python: can't open file 'process_items.py': [Errno 2] No such file or directory
python: can't open file 'process_scenes.py': [Errno 2] No such file or directory

python: can't open file 'process_troops.py': [Errno 2] No such file or directory

python: can't open file 'process_particle_sys.py': [Errno 2] No such file or dir
ectory
python: can't open file 'process_scene_props.py': [Errno 2] No such file or dire
ctory
python: can't open file 'process_tableau_materials.py': [Errno 2] No such file o
r directory
python: can't open file 'process_presentations.py': [Errno 2] No such file or di
rectory
python: can't open file 'process_party_tmps.py': [Errno 2] No such file or direc
tory
python: can't open file 'process_parties.py': [Errno 2] No such file or director
y
python: can't open file 'process_quests.py': [Errno 2] No such file or directory

python: can't open file 'process_info_pages.py': [Errno 2] No such file or direc
tory
python: can't open file 'process_scripts.py': [Errno 2] No such file or director
y
python: can't open file 'process_mission_tmps.py': [Errno 2] No such file or dir
ectory
python: can't open file 'process_game_menus.py': [Errno 2] No such file or direc
tory
python: can't open file 'process_simple_triggers.py': [Errno 2] No such file or
directory
python: can't open file 'process_dialogs.py': [Errno 2] No such file or director
y
python: can't open file 'process_global_variables_unused.py': [Errno 2] No such
file or directory
python: can't open file 'process_postfx.py': [Errno 2] No such file or directory

python: can't open file 'Flora_kinds.py': [Errno 2] No such file or directory
python: can't open file 'Ground_specs.py': [Errno 2] No such file or directory
python: can't open file 'Skyboxes.py': [Errno 2] No such file or directory
Access is denied.
Access is denied.
Access is denied.
python: can't open file 'other_files_custom.py': [Errno 2] No such file or direc
tory
The system cannot find the file specified.
Could Not Find C:\Program Files (x86)\Mount&Blade Warband\Modules\Floris Dev Sui
te 2.54\*.pyc
Could Not Find C:\Program Files (x86)\Mount&Blade Warband\Modules\Floris Dev Sui
te 2.54\*.py
Could Not Find C:\Program Files (x86)\Mount&Blade Warband\Modules\Floris Dev Sui
te 2.54\ground_spec_codes.h

______________________________

All Finished ...
Cleaning up...
______________________________

Script processing has ended.
Press any key to exit. . .
The access is denied can be solved by running it as an administrator; however, I can't see the cmd box long enough to know if anything changed.

I have edited module info/info.py Currently it looks like:
Code:
#################################################################################
#						Welcome to the info file!	#
#										#
# This file was formerly known as module_info.py. Don't change the name of this #
# file!										#
#										#
# Here you set the path where you want to compile the source to.		#
# export_dir_main_guest		is your main Warband directory. The source will	#
#				automatically create the standard Floris 	#
#				directory where you compile and build to.	#
# export_dir_custom_guest	is a custom directory of your liking. If you 	#
#				don't want to compile to the standard directory,#
#				the source will compile to this one.		#
# If you need examples, please scroll down for the directories the devs use.	#
# Make sure you use forward slashes (/) and NOT backward slashes (\).		#
#################################################################################
export_dir_main_guest					= "C:/Program Files (x86)/Mount&Blade Warband/"
export_dir_custom_guest					= "./TotallyCheating/"
#################################################################################
# Don't change anything below this point unless you know what you're doing.	#
#################################################################################





#################################################################################
# Here are the directories used by the devs of the Floris Mod Pack.		#
#################################################################################
# Monnikje:
export_dir_main_monnikje				= "C:/lan/Mount&Blade Warband 1.143/"
export_dir_custom_monnikje				= "./Floris/"
# Duh:
export_dir_main_duh					= "C:/Users/Duh/Desktop/Mount&Blade WarbandNEW/"
export_dir_custom_duh					= "./Floris Expanded Mod Pack 2.4/"
# Caba`Drin:
export_dir_main_caba					= "E:/Games/Mount&Blade Warband/"
export_dir_custom_caba					= "./Floris 2.5 Dev/"
# Windyplains:
export_dir_main_windy					= "C:/Program Files (x86)/Steam/steamapps/common/mountblade warband/"
export_dir_custom_windy					= "./Floris Mod Pack 2.5/"
# WeaponsOfTheMass:
export_dir_main_weapons					= "C:/Program Files (x86)/Mount&Blade Warband/"
export_dir_custom_weapons				= "./Floris Expanded Mod Pack 2.5/"
#################################################################################
# Here are the some standard Warband directories.				#
#################################################################################
# TaleWorlds normal install:
export_dir_main_normal					= "C:/Program Files/Mount&Blade Warband/"
export_dir_custom_normal				= "./Native/"
# Steam install:
export_dir_main_steam					= "C:/Program Files (x86)/Steam/steamapps/common/mountblade warband/"
export_dir_custom_steam					= "./Native/"
#################################################################################
# These are the standard directories where the different versions are build and	#
# compiled to. Changing this will affect the directories that are automatically	#
# created, so do so with care.							#
#################################################################################
export_dir_basic						= "./Modules/Floris Basic Mod Pack 2.5/"
export_dir_expanded						= "./Modules/Floris Expanded Mod Pack 2.5/"
export_dir_gameplay						= "./Modules/Floris Gameplay Mod Pack 2.5/"
export_dir_native						= "./Modules/Native 1.143/"
#################################################################################
# These are the directories where copies of the compiled files are copied to.	#
# It is important for the installer. Don't change this!				#
#################################################################################
intern_dir_basic						= "../Compiled Files/Basic/"
intern_dir_basic_custom					= "./Compiled Files/Basic/"
intern_dir_expanded						= "../Compiled Files/Expanded/"
intern_dir_expanded_custom				= "./Compiled Files/Expanded/"
intern_dir_gameplay						= "../Compiled Files/Gameplay/"
intern_dir_gameplay_custom				= "./Compiled Files/Gameplay/"
intern_dir_native						= "../Compiled Files/Native/"
intern_dir_native_custom				= "./Compiled Files/Native/"
#################################################################################
# This is the main folder where everything is compiled to. Don't change it!	#
#################################################################################
export_dir								= "./"
#################################################################################
# And here is the code which determines automatically what directory to use.	#
# First importing important python stuff:					#
#################################################################################
import os
#################################################################################
# Now check what directory exists, create module_info.py and write the right	#
# info to that directory. This is the exact reason why this file isn't called	#
# module_info.py anymore.							#
#################################################################################
f = open("./module_info.py","w")
line = f.write("from info import *\n")
if os.path.exists(export_dir_main_guest):
	line = f.write("export_dir_main		= export_dir_main_guest\n")
	line = f.write("export_dir_custom	= export_dir_custom_guest\n")
elif os.path.exists(export_dir_main_duh):
	line = f.write("export_dir_main		= export_dir_main_duh\n")
	line = f.write("export_dir_custom	= export_dir_custom_duh\n")
elif os.path.exists(export_dir_main_caba):
	line = f.write("export_dir_main		= export_dir_main_caba\n")
	line = f.write("export_dir_custom	= export_dir_custom_caba\n")
elif os.path.exists(export_dir_main_windy):
	line = f.write("export_dir_main		= export_dir_main_windy\n")
	line = f.write("export_dir_custom	= export_dir_custom_windy\n")
elif os.path.exists(export_dir_main_weapons):
	line = f.write("export_dir_main		= export_dir_main_weapons\n")
	line = f.write("export_dir_custom	= export_dir_custom_weapons\n")
elif os.path.exists(export_dir_main_monnikje):
	line = f.write("export_dir_main		= export_dir_main_monnikje\n")
	line = f.write("export_dir_custom	= export_dir_custom_monnikje\n")	
elif os.path.exists(export_dir_main_steam):
	line = f.write("export_dir_main		= export_dir_main_steam\n")
	line = f.write("export_dir_custom	= export_dir_custom_steam\n")
else:
	line = f.write("export_dir_main		= export_dir_main_normal\n")
	line = f.write("export_dir_custom	= export_dir_custom_normal\n")
f.close()
and the module_info.py file that was made at some point (not by me) seems correct.

I have checked my items files and there's no sign of a change at all.

Solution:
Duh said:
Btw access denied compile errors are prolly related to windows. If you have windows 7, place your warband folder on the desktop or another "free" area, then change the compile path. Alternatively you could try running the compiler as administrator or if you really want to dig deep - change the permissions of your system.
I ended up moving my files out of "C:\Program Files (x86)" because of the issue I had when trying to run as administrator. Will see what happens when the compiling finishes.

Question 3:
Do I need to have an empty mod folder when I start out or something?
No. The only thing the compile actually does is create the text files, which contain the instructions for the game, which tell it how to use the ressources provided in the module folder. It would make no difference if the text files were missing pre-compile, but the actual game files are absolutely necessary for a mod to work (textures, music, scenes, etc).

(Probably not)

Additional Info
  • I have Floris Dev Suite 2.54
  • I have Python 2.73 installed
  • I am editing the source code in the Source files (Source - Floris Expanded Mod Pack)
  • When I opened and ran compile_floris_expanded_source_to_build_directory in python there didn't seem to be any errors
  • When I attempted to run module for the module_items.py file, there were syntax errors that had to do with the end bracket.
  • When I attempted to check module certain items being tabbed over apparently (the items getting tabbed over showed up after or during checking thing).
  • I am using python 2.73 because I could not find a 2.6 on python's download page and I read somewhere that any python 2.x would work.
  • I put python 2.73 into the system paths or whatever it's called in environment variables. (I have windows 7)
  • I'm a total noob to python, and have only done text file editing and tweaking my games with tweak mb

I only ask this because I've been looking around for the past few days. Maybe I haven't been looking hard enough, because I could not find anything that answered/solved my questions/problems.

Thank you very much for any help you can give me.

References:
I have used: [HELP - MS] How use "Floris Dev Suite 2.53"?

Truthfully I had been looking at this thread for a couple of days before I even decided to ask for help, but it is very useful regardless.
(I missed things in the first few reads, some things I missed were quite important).
Thanks for the link.

Floris Dev Suite 2.5 Question ?

Thank you very much for your help Windyplains and Duh.

See the above mentioned thread for further discussion. Some questions may be doubly answered.
 
Status
Not open for further replies.
Back
Top Bottom