Fallout: Tame The Wastes

I have a serious problem running this mod :badcomp:

It crash at startup and debugging the crash it turns out that CvGame::isDebugMode() is called before the CvGame constructor :confused:
This makes the game crash as it starts to read data it has yet to set. How it can start to use CvGame without triggering the constructor is a mystery (at least according to what I debugged so far). It would appear that it is the exe, which is making this call, which makes it even more weird. However this crash is mod specific meaning the exe should be ok.

Mods with bug required to save data to a file.
Screwed unless you run the game as admin.
Not sure if this is related. I can't run it as admin at the moment :(
It should be possible to write "run as admin detection code" to solve this problem, but if the crash is caused outside the DLL, then that approach appears to be really tricky to follow :sad:
 
My guess would be, if it is because of BuG needing admin run, then any BuG mod should give you the same problem, we are currently debating removing BuG from the mod, and replacing it with Platy's work, I am just trying to figure out if anything REALLY good or important will be lost with tossing BuG. Platy's work is much more straight forward than BuG. He also has a lot of nice fun game features as well that I want.

I have also sent a message to dotter asking him to invite you both to the dev group, so you should get a message as soon as he see's it, he is usually pretty quick!
 
Oh yes, while BUG is great and astonishing as it is, I also really like Platy's work. Mostly because it's new for me and I am used to BUG in every mod too, but it has other appealing factors in addition to freshness.
 
I tried moving the mod to a 64 bit system and then it worked even without using admin rights :confused:
If it works on 64 bit and not on 32 bit, it could indicate that the problem is memory related. This fits well with my failure to allocate CvGame. Why it works like that and why admin rights can influence it I cannot say. It seems a bit weird to me as file permission shouldn't be part of a 32/64 bit memory issue.

Whatever it is, I can start the game now, which I consider the most important fact here and now. Also I can compile and debug it as well. In other words it is set up for making some nice new features. However don't expect too much as my main focus is still M:C.
 
No worries, if you wrote the techimprovement bit and got that solid, I would consider that a major contribution anyway. As that would let me get back to scaling improvements.

Yeah I really like what platy has done in the last 6 months or so, the implementation is also much simpler than BuG, because it uses the basic frame work of civ, rather than adding in all the new files etc. He also has a lot of really nice new game features, which are easier to implement without the problems that BuG introduces (with all it's new files and code connections) Extracting BUG from the mod is going to be... fun though, as we will have to dig it out of all the parts of the code, as well as transplanting modcomps and things that are by necessity plugged into BuG, that need to then be put back into the standard bts/platy locations.

I also really like all the work he has done for movie use, and civ specific backgrounds and DOM texts etc. that will be a really great element in the final version, and add to the sense of diversity and uniqueness of the factions.
 
I've found the reason why a lot of AIs are so bad. They get 1 happiness total! It's noble, and they don't get the +4 "we just enjoy life!". It's also possible to get it yourself if you start a game on included US map with bonuses as NCR:




Another thing which should be changed asap is anavailability of workers. AI does not understand it perfectly well, and it's also not a good design mechanic. We should have workers available at once, but make their work speed slow. Assigned tasks should increase their work speed to reasonable amount, and provide other bonuses like ability to build roads.

P.S. Oh, if I understand it right, it's SUPPOSED to be like that. Derp, I've played a game on a difficulty Prince and higher (I think I played Prince when you said I should play Noble by mistake) and did not realize it's a design mechanic, which just was not ported on higher difficulties. No wonder I kicked AI ass so hard :X.
 
Another question regarding the city screen though, that board covers the top row so I cannot assign workers to the 2nd ring on top.

And please invite me to the team.

A few more questions:

1) Why does the Scavenging civic give "cities with state religion build buildings 25% faster" and "no state religion" at the same time?
2) What's up with units with collateral damage (0 units)? Is it for AI?
 
No worries, if you wrote the techimprovement bit and got that solid, I would consider that a major contribution anyway. As that would let me get back to scaling improvements.
I will look into that. However it likely mean you will have to figure out how to fetch the git source and compile it yourself. It shouldn't be much different from colo mods meaning my guide should help a lot.

Extracting BUG from the mod is going to be... fun though, as we will have to dig it out of all the parts of the code, as well as transplanting modcomps and things that are by necessity plugged into BuG, that need to then be put back into the standard bts/platy locations.
If git had a commit history stretching that far back it would have been easier. You can undo (or reverse) commits. This is one good reason for using git (or some other source control).

Another question regarding the city screen though, that board covers the top row so I cannot assign workers to the 2nd ring on top.
Some (many?) screens are hardcoded in size when they should scale according to resolution. I played yesterday on 2560x1440 and everything was too tiny. The city screen was too zoomed out, making the plots too small. The pedia is a small item in the middle of the screen etc. There is some python work for somebody, who knows how to scale screens.

Speaking of happiness, I started with -8 ARGHHHHHH and only +1, meaning I had to place plenty of units and build as many happiness buildings as possible before a city would become useful. There is likely something not quite right here, but I didn't investigate it any further.

Btw what does ARRGGHHHHH mean anyway? I know the sound, but I don't know what I did wrong to make people unhappy like that. At least give it a name indicating where the unhappiness comes from or people will be clueless on how to deal with it.
 
Ugh... don't get me started on the display... the display was about 6 months of extreme headaches with minimal results... Everything display wise was something I did (successfully) in about a couple of hours reading about it on the forums and then 'experimenting' the experimentation is what you now see.
My hope is the switch to the Platy content will make display issues much easier, as he has both 'access points' for custom graphics (backgrounds) as well as a lot of 'auto scaling' I think. So hopefully this will fix the problems with widely varying resolutions, on my resolution the board clips the map slightly, but not in anyway that affects game play. Like I said it was a quick 'experiment' and hasn't been touched since. (at least not with much in the way of success) the dark 'shadow' over the top of floating boxes, at the top and bottom, (like the menu screen in game) is a particular headache that I spent a long time trying to resolve with no success, when the time to switch to platy comes, I will have to go through and rescue the relevant info, like colours, and rethinkng the rest.. right now the city screen for example is just three DDS image references, at the top and sides, but i have yet to work out what i need to then get bits like this to scale with resolution, same with pedia etc.

Like I have said before, most of what I have made so far in this mod has been with dumb luck and hammers (and the assistance of the forum users for specific issues) So everything is pretty much completely WIP, I know where I want to go with it all, I just can't get there on my own. (As well as everything taking time, and waiting for the guys who are helping to get their stuffs done, which takes as long as it takes, so until then I chill!) :D

Workers: you do not need workers straight away as they have nothing to build, also the AI does beeline to workers, one thing that does need to be added is some extra ai tweaking that changes the maths done for workers when deciding to build a unit. (At the moment the Mk1 AI for unit pop cost, is to balance number of units with city size, so that a city will both grow and build units in a sort of 'even' balance) but this was just a quick first run, so it is very imperfect, such as needing more workers than the 'ratio' allows, or 'exempting' robots from the math, as they don't take pop. plus things like a different 'war time math', to make building units more of a priority than growing cities. So it does understand workers, I have watched the ai be ok with this, the problem right now is that the math doesn't give enough space for workers, it also has a habit of suiciding them outside of borders with no escort (another thing I need to get changed) so it does not always have the necessary 'workforce' to get on and improve itself.

It does work and do this over time, i have run ai games and watched them grow and balance out. It just needs the extra code, logic and tweaks to make it faster and more competitive, and to make the kind of short term loss/long term reward choices that a player will naturally make. Like staying at size 2 or 3 for the sake of getting out workers who then boost up your growth so your town grows mega quick after that..

Civics: That was probably a 'typo' on my part, I probably checked a wrong thing and didn't notice..I sort of left civics alone after a first quick pass of deciding the sort of things I want them to do. Lots more will be added to them in the future. (waiting for other bits of functionality before I go back to them)

Happiness: yeah the no happiness bonus was to make building up the town a bit more grueling and apocalyptic. However the AI does need more work, for one thing it needs to both register and properly value health and happiness from specialists (which was mostly due to an imperfect merge from me) coupled with the need of a bit of 'extra code' to bring it all together in kmod code. I also want to add in the ability for civics to change the happiness and health output of specialists too.

I can't remember what the arggh one is for happiness, I am evenly partly sure that it is a vanilla one, I have no idea how you got a -8 start... unless maybe you were on some bad terrain or something...I would need more details I think to be able to get my brain to track through the source of the arrghness.

github: I still can't really use github, that is flitz's contribution to the team, and I am happy for him to run with it however he sees fit, most DLL changes, I now pipe through him, even if I or someone else(like your map fix) have written the code, I just hand it to him so he can run it through github. I can download and compile the source though, although most days I just leave it to flitz, because he is the one doing most of the changes.
Also I think the project data on hub is 2010, and I can't open it with my 2008 version of visual studio (or whatever it is called) So again I mostly just leave it to him now... it causes me almost no headache what so ever...aahh :D
Also I did once tell flitz about your makefile, but i couldn't sell it very hard as I still barely understand it hehe! :D

BUG came with kmod, and the other bits I added as I went (while still learning what i was doing.. although this implies I now understand what I did.... nope.) it is all clearly marked, and I could even scan through and find it myself, pull it out and then when we have removed BUG hand it over to flitz to put it all back in it's new home. :) I can't remember how many things there are, but simply by the fact I put them in, they are probably not that much or spread out..

Collateral damage: It has been a while, but I THINK, this is a little bit of code trickery on our part, that units can gain extra collateral targets(or damage) from a promotion, but they need to the have at least one collateral target in order for the promotions to then work and be applied. I think it is mostly in connection to melee, and promotions like 'The Reaper' (Is that the right name? The Conan the Barb one where he is sat on a throne of skulls) so it is like they can do collateral of no damage, but then they get promotion X and it activates collateral damage for them. I think that is it...

Oh yes I have also sent a message to dotter (group manager) to invite you both, he hasn't responded yet, so my guess is he is currently swamped with RL, but he is usually pretty quick when he sees the message, so it is probably just a case of waiting till he has some free time to check skype...

...I think that covered everything... right?
 
Screen resizing appears not to be trivial, at least from the code I have seen. I don't blame people for not writing code that I would personally struggle to get right. I would rather say that the screens work decent compared to how you claim your coding skills are :)

Also I think the project data on hub is 2010, and I can't open it with my 2008 version of visual studio (or whatever it is called) So again I mostly just leave it to him now... it causes me almost no headache what so ever...aahh :D
You should get 2010 as it is far superior and everybody use it.
http://www.visualstudio.com/downloads/download-visual-studio-vs
It is "Visual C++ 2010 Express" near the bottom of that page. You can also get the 2010 iso, but it contains all 2010 products and is an unneeded big download. You don't have to be online while installing from the iso though.

I have 2010 mails in my forum inbox right now. I think it is trying to tell me to avoid the 2008 edition :lol:

Also I did once tell flitz about your makefile, but i couldn't sell it very hard as I still barely understand it hehe! :D
Doesn't look like you have any experience in management. Those guys aren't slowed down by simple issues like not understanding their own product :lol:
There are two main differences:
1: it uses all CPU cores instead of just one when compiling (effectively cuts compile time in half)
2: it can compile an optimized DLL with asserts enabled. Asserts are a great way to find bugs. However the old makefile will only use asserts in the debug DLL, which is often too slow for normal gameplay (like 10-15 times slower).

The easiest way to explain this to somebody is to give the link to the makefile thread ;)

...I think that covered everything... right?
Not until you put on this jumpsuit :cringe:
 
What is a solution I can do for myself to fix the tops screen bar (CS_top.tga)? I cannot find where its height/size are defined.

Welcome to my headache Deon! :D

I think right now the solution maybe to edit the actual pic and make it thinner. yes it is CS_top, you can find it art/interface/screens.

But like I said, to provide a solution would require understanding, and after SO very long of fighting and faffing with the code, understanding is something I do not possess.
Hopefully when I get platy impemented it will be better/easier... But i haven't looked at the platy code yet to know for definate.

as to the makefile, i did provide him with the link to your thread, and told him this may be of some use to him. Then I left him to decide, as it would mostly be him that was using it from that point on anyway :)

also cheers for the link to 2010, and NO I will not wear your jump suit!!!!!!!! I prefer combats and a T, thank you very much! :p
 
Nah, the actual pic has nothing to do with itself, it will be just stretched. You did it somehow, right? I need to find the place where the actual size of the pane is defined. Is it in xml, python or dll?
 
It certainly isn't in the DLL. It might be in python in the code displaying the image in question, but generally numbers are defined in XML. However I don't recall size of graphics anywhere in XML.

If it is in python, it would be \python\screens\CvMainInterface.py (at least if that one contains the city screen like it does in colo). Sadly this file is a mess of seemingly unrelated screens and figuring out what code belongs to which screen is tricky.
If that file uses it, it calls a value defined in XML and that XML file then has a link to the image in question. This mean you can't search for the filename itself. Just an extra step to make it a bit more tricky to figure out :p
 
I just searched all python and XML files for the file in question and found this (only in python, no XML)
Screens/CvMainInterface.py: screen.addDDSGFC( "InterfaceTopLeftBackgroundWidget", 'Art/Interface/Screens/CS_top.tga', 258, 0, xResolution - 516, 189, WidgetTypes.WIDGET_GENERAL, -1, -1 )
Screens/CvMainInterface.py: screen.addDDSGFC( "InterfaceTopLeftBackgroundWidget", 'Art/Interface/Screens/CS_top.tga', 258, 0, xResolution - 516, 189, WidgetTypes.WIDGET_GENERAL, -1, -1 )
Screens/CvMainInterface.py: screen.addDDSGFC( "CityScreenTopWidget", 'Art/Interface/Screens/CS_top.tga', 0, -2, xResolution, 41, WidgetTypes.WIDGET_GENERAL, -1, -1 )
Screens/CvMainInterface.py: screen.addDDSGFC( "CityNameBackground", 'Art/Interface/Screens/CS_top.tga', 260, 31, xResolution - (260*2), 38, WidgetTypes.WIDGET_GENERAL, -1, -1 )
I'm pretty sure it's the one I made bold as it sticks to the top widget.
Looking up addDDSGFC() on http://civ4bug.sourceforge.net/PythonAPI/index.html
VOID addDDSGFC (STRING szName, STRING szTexture, INT iX, INT iY, INT iWidth, INT iHeight, WidgetType eWidgetType, INT iData1, INT iData2)
This mean the red numbers are the ones you are looking for. What I notice right away is that height is 41 on all resolutions. I would have expected a calculation based on yResolution. At least I think it should have that as you tell it is too high on your screen and starts to cover something else.

The correct way would be to make a drawing of all widgets and tell where they are compared to each other. We have CityScreenTopWidget and we should give it a height (if it haven't already) and then everything inside it should scale to fit inside this allocated area. No widgets not belonging to the top would be allowed inside. Ideally all sizes are made in percentage of those big widgets meaning all we have to do is change the size of the big widgets and then everything inside will automatically rescale to fit. The big widgets then have a size, which is a percentage of XResolution and yResolution.

I did something like this for the domestic advisor in RaR and moved the code into M:C. hardly anything is hardcoded numbers as it calculates all the needed numbers when opening the window. Likewise it calculates placement of buttons based on number of buttons and stuff like that. In fact it is generic enough for the same file to work with any resolution and the same unmodified file works with M:C, RaR and col2071. (the last was added without modifying anything).
We need "stretchy" coding like this, but the city screen is somewhat more complex than the advisor screen.

Maybe it would be a good idea to look at vanilla to see how they coded the city screen. After all they made it work on multiple resolutions.

Also the fact that it hardcodes the path to the graphic file is not how they code stuff like this everywhere. The code I have examined tend to put the file placement in XML to allow changes without modifying XML.
 
I have a widescreen, it must be why. Thank you. Do you know what determines the zoom level in city? I mean some mods have 3 tile ring cities.

By the way, I don't like rescaled stretched screenshots of various fallout3-style pipboys for a cityscreen. I think that a custom interface would be much better.
 
Once you figure out the screen sizes, I will make you a custom well-looking interface with buttons and screens from Fallout 2, so every separate info is in its own screen. Right now I hacked together this monstrosity. I think it's poorly made but it's a bit nicer.



I will work on it really hard once you figure out what you need :).
 
I have a widescreen, it must be why. Thank you. Do you know what determines the zoom level in city? I mean some mods have 3 tile ring cities.
RaR sets CAMERA_CITY_ZOOM_IN_DISTANCE in GlobalDefinesALT.xml to expand from 3x3 to 5x5. I imagine BTS works in a similar matter, though I haven't looked into the details. Also I'm clueless on how they figured out that the zoomlevel 5650 fits 5x5 plots. Possibly trial and error.

I will work on it really hard once you figure out what you need :).
I didn't say I would start working on it. I said what should be done. Those are two entirely different things.
I can't rule out looking at it at some point, but RL and the fact that the mod fails to start on my laptop I estimate that I will not look at it for say a month. This could have been a lot shorter if I could test modifications on my laptop. At least M:C works fine and so does Fallout 2 meaning boredom is not an issue :)
 
Top Bottom