Menu Close

DS TownHouses & a message to Steam subscribers

DS TownHouses v3

I have released a new update to DS TownHouses: v3

A minor hiccup in the first v3.0 release with a too easily achieved (& sorry, known about) crash problem with too large a family moving into a too small a house. The other, a missing demolish button from the UI panel of a road-buildable townhouse storage. A quick update and the main release is v3.0.1. If anyone was misfortune enough - sorry - to download and start playing v3.0 I have also released a patch mod that will add the missing demolish button to the storage. The crash will only persist if you free build with debug tool and force a larger family into a too small home at the start. It is unlikely you will encounter this crash if you play normally and build the houses later after you produce or trade for the items.

The changes bring the mod up to 'level' with DS Industry Mining BETAv.02. It is suggested you play with this mod, and place DS TownHouses above DS Industry Mining (unless I really say otherwise, you should do this with all my mods; latest at the top of mod list).

The update adds a new Brick town house with copper roof, lime mortar, offering exceptional heating and warmth ratings, they are a sure step up for your citizens once you have the required construction materials. This of course makes use with Bricks, Copper, Lime, Timber, Iron Fittings, Glass and more. All available to produce with DS Industry Mining, but I also recommend adding many of my other mods like DS Jetty & Bridge, DS Thompson Trade Merchants, DS Oil Mill, DS Timber Mill, DS Mead Brewing to name but a few.

v3.0.1 can be downloaded from worldofbanished forums, or it can be downloaded from nexus mods along with early versions and the patch for v3.0. I have also made a single separate compile of the new Brick housing added in v3, DSTownHousesTypeC.pkm, it can be used with the earlier v2 in a save-game. But I also intend to release the other types as single downloads, these single townhouse compiles will only be available on Nexus Mods.

download from nexusmods.com or the worldofbanished.com forums: Nexus Mods World of Banished


a message to Steam subscribers of my mods:

After such a time period away, and starting to release mods on other platforms, I felt I should post a message to Steam subscribers of my mods about my decision to not update my mods on steam workshop at this current time. I outline the reasons in the message below, posted here.

After a break from modding Banished, I have now been able to find some time to return.

I had already planned on making my mods a little different than the rest, this was started late last year. The introduction of a slightly re-worked Flag Limit system, different to both CC and The North (and standard Banished game) I began introducing with my latest updated mods at the start of the year: DS Mead Brewery and DS Thompson Trade Merchants. The changes are small, and for the most part it remains 'semi-compatible' with both of them mods.

For the good part of 2-3 years I have been working on a mod that was firstly released as a single Iron Ore Blast Furnace (DS Blast Furnace), it had a few changes in development, one orientated towards playing with CC, and the other with The North. As I expanded the mod I realised that I was being hampered by the constraints that other mods made upon my own vision. This was particularly evident with CC, though nothing against it, their game economy was built around a whole different set of resources than what I wanted to achieve. As CC uses many of the standard vanilla production outputs, values and recipes this was always going to cause an issue, as I wanted to essentially add a need to mine. The standard production and resource variables do not lend themselves to making an in game economy that would be beneficial for mining, it is already easier to trade for iron than simply mining for it.

I switched to making the mod around the values in The North, which had already greatly increased the value of Iron, as well as already having a multi-levelled iron production (iron ore - iron bloom - iron). I changed the name to Industry Mining in the North, expanded the mod greatly, but I still came to a place where I was being forced to abandon ideas and my vision because the variables were still not weighted in the direction I needed them, but even more so I felt I was impeding upon the North. The North by Tom Sawyer remains one of those great mods that is perfectly polished and a joy to play. I actually play Banished rarely apart from play testing my mods, but when I do, I normally play a game with just The North.

So I changed the mod again... changed my whole outlook. Name changed again to simply DS Industry Mining. A long time in production started, and I knew if I was going to start going my own direction, I had to bring all my other mods with me! a daunting task as there are mods that are so far out of date, I always feel dread at updating them. I have learnt everything as I have went in the last few years of modding, I had no real previous experience in any modding, and had only just started to play around with using blender to create 3d models, with no experience in texturing or even exporting them from blender!

...

So what does this all mean?
Well I hit a roadblock. I was struggling to find a balance in the game from my changes I was making, things were over-powered, while others were massively under. I altered the production and values, struggled to get consistent results, then tried adjusting the citizen ageing which caused me even greater problems. Real-life intervened and saved me from burning my computer.

I've been back and modding the last month, getting my head around what I had done, and was attempting to do. I reverted a lot of the ageing and production changes back a bit and started going back at it from a standard vanilla ageing. But not a week into it and I was feeling pretty burdened and couldn't get a balance at all. The same problems persisted, but I decided I had to release what I had and get some feedback.
I find when I'm modding banished now, I think I struggle to get a good perception of what a player experiences when they play the game. Perhaps because I cannot seem to play a long enough game with my own mods without stopping and wanting to alter or add something. There is not often now that I go above 30 game years, whereas when i was a player I was normally playing to around the 200yr mark.

I would say I've had a bit of a perception shift. I haven't been good in the past at maintaining and updating my mods to a good enough standard. I have a lot of ideas and this made me produce a large output, but my quality was not there (I think) in properly producing and expressing the ideas. Some mods were rushed, and add that to my inexperience and constantly learning and evolving in my methods, some of my early mods are a mess and shamble even to me, so I'm sure some players are mystified. I can't make the same mistakes again, but I still need to push 'unfinished' mods out to the public for perception, ideas and feedback. But I'm going to ensure I keep them updated and serviceable.

Behind the scenes in my latest mods I have made large 'structural' changes. This now allows me to easily share resources, and keep a common trend amongst my mods. The 'engine' of this; the core UI changes, texts and icons are still being added to and altered. But the same is with the resources, though the problem lies in my ever having to alter the resource production values to cater the DS Industry Mining mod.

This ever changing and altering is not good for save-games or players on Steam who subscribe to my mods, that is why I never released the mod to the steam workshop as players would have no control of the update and break their save. I know I have done this before many times, but now I knew it was to be more often, and I could only hope to have some testing done with some players who were aware that this was a beta and could choose to opt in to a new update. So I made a decision to not yet add to steam, but as I said earlier, I needed to bring all of my previous back catalogue into this new game economy, so that means there will not be any new updates to my content mods on steam until I am happy I have a consistent game economy and there will not be any major changes to the resource and production files.

You can of course choose to update manually to my latest versions and mods I release by downloading from Nexus Mods or joining and downloading from the World of Banished forums.

DS

beta v.02 of DS Industry Mining

A week later and back with an update. I set myself a deadline and stuck to it. It was not easy, and only by chance have I been able to keep to it.

The new update isn’t big on new additions, just one new building; the Worker’s Construction Yard. The building hires 1-2 Workers who will randomly produce a variety of ‘advanced construction resources (Timber, Iron Fittings, Bricks, Roof-tiles, Lime and Glass).

I added spawned deposits of Clay and Sand to the map. Was very much a test, but have decided to keep it in for now.

A lot of alterations, fixes and changes. Added missing diseases and health/happiness changes, water furnace build models.

Balancing is still ongoing, and as such I decided not to update the values in the Info panels this update. With changes still likely to occur I didn’t want to be bogged down by that time-consuming task at this stage.

view the Change Log:

BETAv.02 – beta update: fixes and minor update — 20190712
– enabled the new illnesses and diseases, made changes to the existing, this was incorrectly disabled in previous version.
– lessened the unhealthy and happiness levels, this should slightly improve the work efficiency with poor food diversity.
– meanwhile I have increased the max. required food diversity.
– slight improvements (closer to standard) to the random disease chance within citizen file.
– lessened the depressed level in relation to the unhappy and happy level, was 15% of happy level, now: d=10%,u=20%, h=100%
– increased the medicine (herb) effectiveness.
– increased the trade value of Iron Fittings to 3, increased the create count per cycle to 5/8.
– increased the create count per cycle for Copper Ore, Iron Ore, and Tin Ore to 5/8.
– increased the create count per cycle for Silver Ore to 3/5.
– increased the create count per cycle for Coal to 5/6.
– and reduced the weights of Copper Ore, Iron Ore and Tin Ore to 12 (from 25/30/25).
– shortened the work time and work required by all of the mines – they are much faster now.
– fixed inconsistent and too low total production output and speed of the 6×6 Clay and Sand Quarries.
– increased the create count per cycle of Linseed to 13.
– increased the create count per cycle of Tallow to 2/3.
– increased the work time required by the Press Shed and Oil Kiln.
– increased work time and reduced work required by the Glass Maker.
– improved the Smith’s Hearth particle flame.
– added missing menu icon sprite for the Assayers Office.
– added build models for the Water-powered Blast Furnace.
– fixed issue of some items not being stored in Industrial Market.
– made further alterations to the following standard (vanilla) game template files for the buildings:
TradingPost, Market, Quarry, Herbalist, DoctorHouse, CutterYard, Chapel, Well, Tunnel, Tavern, IronMine
most buildings received updates to radius and ui changes to display radius,
— Quarry had consumeproduce and storage updated to reflect usage of new stonemason tools,
— CutterYard had worker count increased to 2 workers but a slower speed penalty.
— Herbalist changes included increased worker count to 3 and the ability to now store Herbs.
— Tunnel received a change in build cost with the addition of 1 Candle per tile.
— IronMine now again makes Iron, but will have a cost of Logs, Candles and Charcoal to mine/smelter, with increased worktime penalty.
— IronMine cost of Coal extraction is Logs and Candles.
– reduced the spawn chance (amount) of Copper Ore and Stone on a map.
– added Clay and Sand deposits to the map.
– added collect Clay and Sand buttons to the menu.
– increased the create count per cycle of Sand to 8 for both uneducated and educated.
– increased the create count per cycle of Clay to 5 for both uneducated and educated.
– moved the Charcoal-piles menu out of ‘Mineral, Ore & Raw material processing’ menu and into the ‘Firewood & Charcoal production’ menu.
– fixed incorrectly flagged resources in the Open-Top Up-Draft kiln.
– added new building: Worker’s Construction Yard.

BETAv.01 – initial beta release — 20190705

 

 

download from nexusmods.com or the worldofbanished.com forums: Nexus Mods World of Banished

beta v.01 of DS Industry Mining

I won’t deny I am struggling to put into practice much of what I envisioned for this mod.

The Banished modkit is limited, and from my notes and outline of this mod I can see that. On scribbled paper, documents and spreadsheets I have numerous ideas, attempts at game interaction and use…. but much of what I did 12-18 months ago working on the outline of this mod is not possible within the Banished game environment. I attempted it with the charcoal pile, but it could only be an immature version of what I would have liked it to be.

It forced me to narrow my ideas, but this has created a larger issue with finding reason for the integration of the new resources within the base game and even more so, when played along with other mods by different creators.

For now I am tempted to release a beta version of the mod. We’ll call it BETA v.01, for it very much is back at the beginning for me.

I will leave it at that. There is much to explore within the mod, I disabled some of the unfinished parts for now, but others are included like the coins and assayer building, also the water furnace build models are missing from the build. The Info panels are not complete and may mention things not currently active, or display things wrong.
I disabled the flax farmer and gatherer as they were causing crashes for me… not sure why as I’m sure they didn’t before?

Citizens are likely to remain at a 3-4 star happiness max. You may even find it difficult to achieve a happiness of this level for a very long time either.
Health is similar, but can be worse. Ensure you supply an adequate variation of food groups; herbalists are essential, as are hospitals, with the chance and severity of diseases and ailments increased.

There is also included a collection of alternative town status panels available from the ‘Tools and Reports’-‘BUI’ menu.

a large mod, 111mb .zip, 188mb .pkm

download from nexusmods.com or the worldofbanished.com forums: Nexus Mods World of Banished

Welcome!

… to another new website.

I felt it was right to start it all anew, and gone is the old website, as well as the banishednorth sub site.

Going forward my Banished mods are to be purely centric towards my own vision, and workings of the game environment. This gives me better scope, imagination and ability to experiment with expressing the ideas I have. This is nothing against any of the other wonderfully talented Banished modders or the creator of Banished itself, for I have utmost respect for them all.

I started expressing these views and ideas and began implementing them six odd months ago in a couple of my mods, but time got away. Life dealt a hand that took me away and the work on modding banished halted.

With a little time, I am now back slowly modding and getting around everything I had done previously. A couple of my mods that were near completion are a little messy, and stepping back into them six months later is a little confusing at times.

I had really started to explore the creation, adaption and polishing of GUI elements with building information tabs and much more. Within the banished code framework this is all very long and exhausting code.

a lot of code? perhaps not

The image above shows a simple GUI panel with text purely for information, though if you hover over some elements you will get tooltips show up. To achieve the layout it required a large proportion of code which is posted below, but this still doesn’t include the code for the main container, other tabs, as well as much of the code that is called for with the outside code file calls:

click to view the code:
ContainerDescription content { int _topPad = 0; int _leftPad = 4; int _bottomPad = 2; int _rightPad = 0; int _width = 516; int _height = 412; int _scrollSpacing = 4; bool _allowShrinkHeight = false; //ElementDescription _horizontalScroll = "Dialog/SharedElements.rsc:horizontalScrollbar"; ElementDescription _content = "layout"; } LayoutDescription layout { int _topPad = 2; LayoutItem _elements [ { String _name = "ribbon"; ElementDescription _element = "groupContent"; LayoutHorizontal _xLayout = LeftToRight; LayoutVertical _yLayout = TopToTop; } ] } ContainerDescription groupContent { int _topPad = 6; int _leftPad = 0; int _bottomPad = 0; int _rightPad = 0; int _width = 512; int _height = 398; int _scrollSpacing = 4; bool _allowShrinkHeight = false; //ElementDescription _horizontalScroll = "Dialog/SharedElements.rsc:horizontalScrollbar"; ElementDescription _verticalScroll = "Dialog/SharedElements.rsc:verticalScrollbar"; ElementDescription _content = "groupRibbonTitle"; } RibbonDescription groupRibbonTitle : "groupCommon" { Alignment _alignment = TopCenter; ElementDescription _elements [ "groupTitle", "groupRibbon", ] ElementDescription _border = "border"; int _minWidth = 32; int _minHeight = 32; int _topPad = 2; int _bottomPad = 2; bool _vertical = true; } RibbonDescription groupTitle : "groupCommon" { Alignment _alignment = TopCenter; ElementDescription _elements [ "Title1", "Title2", ] int _minWidth = 460; int _minHeight = 48; int _topPad = 2; int _bottomPad = 2; bool _vertical = true; } TextDescription Title1 : "textCommon3" { int _leftPad = -8; int _topPad = 4; String _text = "HouseholdFuelsTitle1"; } TextDescription Title2 : "textCommon3s" { int _leftPad = -4; int _topPad = 2; String _text = "HouseholdFuelsTitle2"; } RibbonDescription groupRibbon : "groupCommon" { ElementDescription _elements [ "column1", "column2", ] //ElementDescription _border = "border"; int _minWidth = 512; int _minHeight = 72; int _topPad = 2; int _bottomPad = 2; bool _vertical = false; } RibbonDescription column1 : "groupCommon" { Alignment _alignment = TopLeft; ElementDescription _elements [ "column1text01a", "column1text01b", "column1text01c", "textBLANK", ] int _minWidth = 280; int _minHeight = 600; int _topPad = 1; int _rightPad = 1; int _bottomPad = 1; bool _vertical = true; } TextDescription column1text01a : "textCommon" { int _topPad = 2; String _text = "column1text01a"; } TextDescription column1text01b : "textCommon" { int _topPad = 2; String _text = "column1text01b"; } TextDescription column1text01c : "textCommon" { int _topPad = 2; String _text = "column1text01c"; TextDescription column1text01 : "textCommon" { int _topPad = 6; String _text = "column1text02"; } TextDescription column1text02 : "textCommon" { int _topPad = 6; String _text = "column1text02"; } TextDescription column1text03 : "textCommon" { int _topPad = 6; String _text = "column1text03"; } TextDescription column1text04 : "textCommon" { int _topPad = -4; String _text = "column1text04"; } TextDescription column1text05 : "textCommon" { int _topPad = 0; String _text = "column1text05"; } TextDescription column1text06 : "textCommon" { int _topPad = 0; String _text = "column1text06"; } TextDescription column1text07 : "textCommon" { int _leftPad = 14; int _topPad = 0; String _text = "column1text07"; int _wordWrapSize = 220; } TextDescription column1text08 : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text08"; int _wordWrapSize = 220; } TextDescription column1text08a : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text08a"; int _wordWrapSize = 220; } TextDescription column1text09 : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text09"; int _wordWrapSize = 220; } TextDescription column1text09a : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text09a"; int _wordWrapSize = 220; } TextDescription column1text10 : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text10"; int _wordWrapSize = 220; } TextDescription column1text10a : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text10a"; int _wordWrapSize = 220; } TextDescription column1text10b : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text10b"; int _wordWrapSize = 220; } TextDescription column1text10c : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text10c"; int _wordWrapSize = 220; } TextDescription column1text11 : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text11"; int _wordWrapSize = 220; } LabelDescription column1text11aa : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSProfessions/DSProfessionsSpriteSheet.rsc:Blacksmith"; String _spriteName = "ProfessionBlacksmithWork48x32"; int _imageWidth = 24; int _imageHeight = 16; } TextDescription column1text11a : "textCommon" { int _topPad = 0; String _text = "column1text11a"; int _wordWrapSize = 240; } TextDescription column1text11b : "textCommon" { int _topPad = 0; String _text = "column1text11b"; int _wordWrapSize = 240; } TextDescription column1text12 : "textCommon" { int _topPad = 0; String _text = "column1text12"; } LabelDescription column1text13a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:ToolStonecutter"; String _spriteName = "ToolStonecutter"; String _text = "column1text13a"; } TextDescription column1text13b : "textCommon" { int _leftPad = 24; int _topPad = 0; String _text = "column1text13b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } TextDescription column1text13c { } LabelDescription column1text14a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:FishingGear"; String _spriteName = "FishingGear"; String _text = "column1text14a"; } TextDescription column1text14b : "textCommon" { int _leftPad = 23; int _topPad = 0; String _text = "column1text14b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } LabelDescription column1text15a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:HuntingGear"; String _spriteName = "HuntingGear"; String _text = "column1text15a"; } TextDescription column1text15b : "textCommon" { int _leftPad = 23; int _topPad = 0; String _text = "column1text15b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } LabelDescription column1text16a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:GatheringBasket"; String _spriteName = "GatheringBasket"; String _text = "column1text16a"; } TextDescription column1text16b : "textCommon" { int _leftPad = 23; int _topPad = 0; String _text = "column1text16b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } TextDescription column1text17 : "textCommon" { int _topPad = 0; String _text = "column1text17"; } LabelDescription column1text17a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:LampOil"; String _spriteName = "LampOil"; String _text = "column1text17a"; } TextDescription column1text17b : "textCommon" { int _leftPad = 23; int _topPad = 0; String _text = "column1text17b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } LabelDescription column1text18a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:Candles"; String _spriteName = "Candles"; String _text = "column1text18a"; } TextDescription column1text18b : "textCommon" { int _leftPad = 23; int _topPad = 0; String _text = "column1text18b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } LabelDescription column1text19a : "columnlabelDisList" { int _leftPad = 12; int _topPad = 4; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:LinSeedOil"; String _spriteName = "LinSeedOil"; String _text = "column1text19a"; } TextDescription column1text19b : "textCommon" { int _leftPad = 23; int _topPad = 0; String _text = "column1text19b"; int _wordWrapSize = 220; Color _color = 0xFFcccccc; } RibbonDescription column2 : "groupCommon" { Alignment _alignment = TopLeft; ElementDescription _elements [ "Firewood", "textBLANK", ] //String _toolTipText = "WeatherTip"; int _minWidth = 42; int _minHeight = 600; int _topPad = 1; int _rightPad = 0; int _bottomPad = 1; bool _vertical = true; } TextDescription column2MadeFrom : "textCommon" { int _leftPad = 48; int _topPad = 5; int _bottomPad = 0; String _text = "column2MadeFrom"; Color _color = 0xFFcccccc; } TextDescription column2MadeFromOr : "textCommon" { int _leftPad = 48; int _topPad = 0; String _text = "column2MadeFromOr"; Color _color = 0xFFcccccc; } TextDescription column2ToolsTITLE : "textCommonMed" { int _leftPad = 28; int _topPad = 0; String _text = "column2ToolsTITLE"; Color _color = 0xFFcccccc; } TextDescription column2CraftedTITLE : "textCommonMed" { int _leftPad = 28; int _topPad = 0; String _text = "column2CraftedTITLE"; Color _color = 0xFFcccccc; } TextDescription column2Usedby : "textCommon" { int _leftPad = 28; int _topPad = 0; String _text = "column2Usedby"; Color _color = 0xFFcccccc; } // Firewood RibbonDescription Firewood : "groupCommon" { Alignment _alignment = TopLeft; ElementDescription _elements [ "column2FirewoodHeader", "column2MadeFrom", "column2Firewood1", "column2MadeFromOr", "column2Firewood2", ] bool _vertical = true; ElementDescription _border = "Dialog/SharedElements.rsc:buttonEnabledBorder"; int _bottomPad = 3; } RibbonDescription column2FirewoodHeader : "groupCommon" { Alignment _alignment = TopCenter; ElementDescription _elements [ "column2Firewood1a", "column2FirewoodHeader2", ] bool _vertical = false; //int _minWidth = 12; int _bottomPad = 0; } LabelDescription column2Firewood1a : "column2label1" { int _leftPad = 12; int _topPad = 8; int _bottomPad = 0; SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; String _spriteName = "Firewood"; String _text = "Firewood00"; String _toolTipText = "Firewood00Tip"; } RibbonDescription column2FirewoodHeader2 : "groupCommon" { Alignment _alignment = TopLeft; ElementDescription _elements [ "column2FirewoodHeader2b", "column2FirewoodHeader2c", "column2FirewoodHeader2d", ] bool _vertical = true; //int _minWidth = 12; int _leftPad = 48; int _bottomPad = 0; } LabelDescription column2FirewoodHeader2b : "columnlabelHead" { int _leftPad = 12; int _topPad = 2; String _spriteName = "ValueCoins"; String _text = "FirewoodValue"; String _toolTipText = "valueTip"; } LabelDescription column2FirewoodHeader2c : "columnlabelHead" { int _leftPad = 12; int _topPad = 2; String _spriteName = "WeightScales"; String _text = "FirewoodWeight"; String _toolTipText = "weightTip"; } LabelDescription column2FirewoodHeader2d : "columnlabelHead" { int _leftPad = -28; int _topPad = 2; int _bottomPad = 0; String _text = "FirewoodQty"; String _toolTipText = "quantityTip"; } RibbonDescription column2Firewood1 : "groupCommon" { Alignment _alignment = TopLeft; ElementDescription _elements [ "column2labelFirewood1", ] bool _vertical = false; //int _minWidth = 12; ElementDescription _border = "Dialog/SharedElements.rsc:dialogBorder"; String _toolTipText = "Firewood01Tip"; } LabelDescription column2labelFirewood1 : "column2label3" { int _leftPad = 4; int _topPad = 9; int _bottomPad = 9; SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; String _spriteName = "Log"; String _text = "Firewood01"; } RibbonDescription column2Firewood2 : "groupCommon" { Alignment _alignment = TopLeft; ElementDescription _elements [ "column2labelFirewood2", ] bool _vertical = false; //int _minWidth = 12; ElementDescription _border = "Dialog/SharedElements.rsc:dialogBorder"; String _toolTipText = "Firewood02Tip"; } LabelDescription column2labelFirewood2 : "column2label2" { int _leftPad = 4; int _topPad = 9; int _bottomPad = 9; SpriteSheet _spriteSheet = "UI/DSResources/DSResourcesSpriteSheet.rsc:Timber"; String _spriteName = "Timber"; String _text = "Firewood02"; } TextDescription textBLANK { Alignment _alignment = TopLeft; Font _font = "Font\FontSmall.rsc"; StringTable _stringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; //int _minWidth = 142; String _text = "blank"; } LabelDescription columnlabelBUI : "columnlabel" { int _imageWidth = 64; int _imageHeight = 80; int _leftPad = 6; SpriteSheet _spriteSheet = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoSpriteSheet.rsc:BanishedUIInfo"; } LabelDescription columnlabelDis : "columnlabel" { int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 68; int _wordWrapSize = 132; } LabelDescription columnlabelDis2 : "columnlabel" { int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 54; int _wordWrapSize = 132; } LabelDescription column2label3 : "columnlabel" { Alignment _textAlignment = TopLeft; SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; int _imageWidth = 16; int _imageHeight = 16; int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 12; int _spacing = 4; int _wordWrapSize = 80; Color _color = 0xFFffffff; } LabelDescription column2label2 : "columnlabel" { SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; int _imageWidth = 16; int _imageHeight = 16; int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 48; int _spacing = 4; int _wordWrapSize = 112; Color _color = 0xFFffffff; } LabelDescription column2label2pic32 : "column2label3" { int _imageWidth = 20; int _imageHeight = 20; } LabelDescription column2label2pic26x18 : "column2label3" { int _imageWidth = 26; int _imageHeight = 18; } LabelDescription column2label1 : "columnlabel" { SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; int _imageWidth = 32; int _imageHeight = 32; int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 48; int _spacing = 6; int _wordWrapSize = 132; Color _color = 0xFFffffff; Font _font = "Font\FontMedium.rsc"; } LabelDescription columnlabelDisList : "columnlabel" { SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; int _imageWidth = 16; int _imageHeight = 16; int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 48; int _spacing = 6; int _wordWrapSize = 132; Color _color = 0xFFffffff; } LabelDescription columnlabelHead1 : "columnlabelHead" { SpriteSheet _spriteSheet = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoSpriteSheet.rsc:BanishedUIInfo"; int _imageWidth = 50; int _imageHeight = 16; int _spacing = 6; } LabelDescription columnlabelHead : "columnlabel" { SpriteSheet _spriteSheet = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoSpriteSheet.rsc:BanishedUIInfo"; int _imageWidth = 16; int _imageHeight = 16; int _spacing = 6; Alignment _alignment = TopLeft; Alignment _textAlignment = MidLeft; bool _wordWrap = false; } LabelDescription columnlabel : "tabLabelText1" { SpriteSheet _spriteSheet = "Dialog/DSDialog/Sprite/DSUISpriteSheet.rsc:Bullets"; int _imageWidth = 8; int _imageHeight = 8; int _topPad = 0; int _rightPad = 2; int _bottomPad = 0; int _leftPad = 2; Color _color = 0xFFcccccc; Alignment _alignment = TopLeft; Font _font = "Font\FontSmall.rsc"; LabelPosition _labelPosition = TextRight; Alignment _textAlignment = MidLeft; bool _wordWrap = true; int _wordWrapSize = 102; Dialog _toolTipDialog = "Dialog/DSDialog/BanishedUI/Info/ToolTip.rsc"; StringTable _toolTipStringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; } LabelDescription tabTextlineBulletToolQuality : "tabTextlineBullet" { SpriteSheet _spriteSheet = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoSpriteSheet.rsc:BanishedUIInfo"; String _spriteName = "ToolQuality"; Color _color = 0xFFcccccc; int _imageWidth = 16; int _imageHeight = 16; int _topPad = -8; int _rightPad = 44; Alignment _alignment = TopRight; } LabelDescription tabTextlineBulletBlacksmith : "tabTextlineBullet" { SpriteSheet _spriteSheet = "UI/DSProfessions/DSProfessionsSpriteSheet.rsc:Blacksmith"; String _spriteName = "ProfessionBlacksmithWork"; Color _color = 0xFFcccccc; int _imageWidth = 16; int _imageHeight = 16; int _topPad = 2; int _rightPad = 4; int _bottomPad = 0; int _leftPad = 4; } LabelDescription tabTextlineBulletTools : "tabTextlineBullet" { SpriteSheet _spriteSheet = "Dialog/SpriteSheet.rsc"; String _spriteName = "ClearResources"; Color _color = 0xFFcccccc; int _imageWidth = 16; int _imageHeight = 16; int _topPad = 2; int _rightPad = 4; int _bottomPad = 0; int _leftPad = 4; } LabelDescription tabTextlineBullet : "tabLabelText1" { SpriteSheet _spriteSheet = "Dialog/DSDialog/Sprite/DSUISpriteSheet.rsc:Bullets"; String _spriteName = "DSBullet01"; int _imageWidth = 8; int _imageHeight = 8; int _topPad = 4; int _rightPad = 4; int _bottomPad = 4; int _leftPad = 4; Color _color = 0xFF669966; Alignment _alignment = MidCenter; } LabelDescription tabLabelText1 { Alignment _alignment = MidLeft; int _topPad = 4; int _leftPad = 22; int _rightPad = 4; int _bottomPad = 0; Font _font = "Font\FontSmall.rsc"; LabelPosition _labelPosition = TextRight; Alignment _textAlignment = MidLeft; StringTable _stringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; } RibbonDescription groupCommon { Flags _flags = ExpandWidth; bool _vertical = false; //int _minWidth = 32; Dialog _toolTipDialog = "Dialog/DSDialog/BanishedUI/Info/ToolTip.rsc"; StringTable _toolTipStringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; } BorderDescription border : "Dialog/SharedElements.rsc:sunkenBorder" { int _topPad = 1; int _bottomPad = 1; int _rightPad = 1; int _leftPad = 1; } TextDescription textCommonDis : "textCommon" { int _rightPad = 2; int _leftPad = 12; int _wordWrapSize = 162; } TextDescription textCommon { Alignment _alignment = TopLeft; int _rightPad = 4; int _leftPad = 4; Font _font = "Font\FontSmall.rsc"; StringTable _stringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; //int _minWidth = 142; bool _wordWrap = true; int _wordWrapSize = 260; } TextDescription textCommonMed : "textCommon" { Font _font = "Font\FontMedium.rsc"; } TextDescription textCommon2 { Alignment _alignment = TopLeft; int _rightPad = 4; int _leftPad = 4; Font _font = "Font\FontSmall.rsc"; StringTable _stringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; //int _minWidth = 142; bool _wordWrap = true; int _wordWrapSize = 98; } TextDescription textCommon3 { Alignment _alignment = TopCenter; int _rightPad = 4; int _leftPad = 4; Font _font = "Font\FontMedium.rsc"; StringTable _stringTable = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoStringTable.rsc:InfoHouseholdFuels"; //int _minWidth = 142; bool _wordWrap = true; int _wordWrapSize = 310; } TextDescription textCommon3s : "textCommon3" { Font _font = "Font\FontSmall.rsc"; int _wordWrapSize = 410; } ImageDescription imageCommon { int _leftPad = 2; int _rightPad = 2; int _topPad = 2; int _bottomPad = 2; SpriteSheet _spriteSheet = "Dialog/DSDialog/BanishedUI/Info/BanishedUIInfoSpriteSheet.rsc:BanishedUIInfo"; }

This might offer some a bit of insight into the amount of code is needed for something so simple in design.

Perhaps I’m being too critical… and perhaps too lazy in my outlook at it. Is it too much code for something like that? probably not. It is simple enough to see in the mind when reading it. The code speaks for itself, and looking through it now I can see parts where I could have simplified it more with template codes and better organised code structure.


For the past 4-5 months I was unable to mod banished or have access to the files to do so, but I did however pick up a few books on C# coding. But I’ll leave that for another time.

A few of the mods I was working on before I had to take a break seem to be left in ‘workable-prototype’ states (Industry Mining, Housing Collection 01, updates to Thompson Trade Merchants, DSSV: Production). I am still unsure of what yet to do…. but may just release DS Industry Mining & Housing Collection 01 as beta releases, in their unfinished form and get feedback and give me time to adjust and learn where I left off from!

I’m slowly adding information into the website, this gives me my own benefit in looking over things and learning all the changes I made to the base game. It might also give you a glimpse into the changes my mods will make to the game when you finally play with these long awaited mods. There isn’t much right now but I am concentrating on getting the basic information first.

Stay tuned,

DS

Cookies are used in this site, do you agree to the use of? more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close