Final Fixes Reborn

Reading assembly isn't that hard though. Assuming you know what you are looking at. The real issue is that you don't know what you are looking at when you randomly debug a program like that because you don't really know the entry point. Not without first analyzing a lot of the surrounding code.

But like it can be done. Would just take time, assembly being what it is.
 
Sounds interesting. Will buildings increase/decrease crime rate "forever", or will most be capped at a certain percentage or a certain individual contribution?
At the moment, i only plan a simple per turn effect. I'll see if we need something more complex.

I can do various XML and Python tasks. I can even get into working on the DLL if I can bother setting up the Visual Studio project properly. My schedule might not be the most reliable, though, as I only really do programming on the train to and from work, and that's a little dependent on available seating and how tired I happen to be.
Well, apart from some various cleaning, the main xml/python stuff that really needs work is events. There are several parts to that :

- Remove superfluous alignment restriction and add alignment effects to event choices ( maybe keep the alignment restrictions when broader alignment option is not active)
- add civ restriction to events that don't make sense ( mostly D'Tesh and Infernals usually)
- rebalance certain events
- add new events for variety, in particular for the civs that see plenty of other events deactivated. I had put a list together a while ago but it's not particularly organized : https://docs.google.com/document/d/1PFkS09Ni6VH6_USJCC1p7CylIHhpBq9vzgp5LQJLKqg/edit
- apply landmarks to events giving extra plot yield to help players keep track of them

The barbarians built a city right on top of the Guardian of Pristin Pass in my game, thus destroying it. This probably shouldn't be possible.
i have no idea how they did that. Only possibility i can see is that somewhere in the code there's a way to remove an improvement that doesn't check what it should. Probably a python thing

Druids and Yvain can enter impassable terrain (for example volcanos) but not climb peaks. I tracked it down to CvUnit::canClimbPeaks not calling CvUnit::isMoveImpassable or CvUnit::canMoveImpassable, alternatively CvUnit::canMoveInto could call CvUnit::canMoveImpassable as a part of its peak check...
Fixed.

Yvain starts with both Elemental and Elf. Since these are both races, and thus mutually exclusive, he ends up with only Elf.
There's actually a long controversy on what Yvain is, a Treant or an Elf. I can only imagine this is a consequence of that. I'll delete the Elf part for now.

Lots and lots of redundant 'can enter'/'ignore cost' movement flags on units which start with Flying.
I'll see when i can clean that up.
No way of assigning m_iClimbPeaks directly from the Unit XML, must be added as a promotion.
I might add it, but not sure when, it's not particularly a priority since you can do it with a promotion ^^
 
Last edited:
the debug logs from windows are rarely useful. i will take the log folder from bts though, in Username/Documents/My Games/Bts. Also ideally activate python errors and take a screen of them (in your civ44config file)

Edit : can't read your save, so i imagine you've started before my latest commit (which is not save-compatible)

I just installed the SVN yesterday, so I'm surprised you can't read the save, but okay.

The BtS Log folder contains several files: CvXMLLoadUtilitySetMod_MLFEnumerateFiles, init, MLF, PythonErr2, resmgr, and xml. Do you need all of them or just some? And do you want me to upload the files you need or just copy and past the text, as I've seen others do?
 
The debug option usually tries to start an instance of Visual Studio to inspect the code which caused the crash. It's only really useful if you have a debug build of the game which can be linked to the source code, or are a real wizard at reading assembly.

I usually debug in the hope that I might be able to resume the game by re-loading the last auto-save. Sometimes it works, sometimes it doesn't.
 
I just installed the SVN yesterday, so I'm surprised you can't read the save, but okay.

The BtS Log folder contains several files: CvXMLLoadUtilitySetMod_MLFEnumerateFiles, init, MLF, PythonErr2, resmgr, and xml. Do you need all of them or just some? And do you want me to upload the files you need or just copy and past the text, as I've seen others do?
Well, i commited a new version just yesterday too ^^ I'll take all of them, and i'd prefer the files
 
I wasn't able to upload the Log files, getting a message that they have an extension that's not allowed. Sorry.
 
Okay, so the game crashed when I tried to re-load the most recent Autosave. Hope these Log files are helpful.
 

Attachments

  • Logs.zip
    5.1 KB · Views: 29
is that the steam version of the non-steam one ? (if you've updated since yesterday, give me the save file again.)

Non-steam version. The Log folder is from before I updated today, so Revision 256, I think. I did a new SVN checkout after uploading and saw that you're now at Revision 258, so the Log folder I uploaded is probably out-of-date now. Sorry.
 
Reading assembly isn't that hard though. Assuming you know what you are looking at. The real issue is that you don't know what you are looking at when you randomly debug a program like that because you don't really know the entry point. Not without first analyzing a lot of the surrounding code.

But like it can be done. Would just take time, assembly being what it is.

Well, being able to figure out what you are looking at is definitely a part of advanced reading skills, hence wizard. Getting a debug build up and running is probably a lot easier and less time consuming.

Well, apart from some various cleaning, the main xml/python stuff that really needs work is events. There are several parts to that :

- Remove superfluous alignment restriction and add alignment effects to event choices ( maybe keep the alignment restrictions when broader alignment option is not active)
- add civ restriction to events that don't make sense ( mostly D'Tesh and Infernals usually)
- rebalance certain events
- add new events for variety, in particular for the civs that see plenty of other events deactivated. I had put a list together a while ago but it's not particularly organized : https://docs.google.com/document/d/1PFkS09Ni6VH6_USJCC1p7CylIHhpBq9vzgp5LQJLKqg/edit
- apply landmarks to events giving extra plot yield to help players keep track of them

I'll see if I can look into it as soon as I finish my current game (I'm still at your previous revision and don't want to abandon this save). How do you want me to deliver any changes? Posted here? Committed to the repo? Committed in a branch? Some other way?

By the way, by "landmarks", do you mean some 'graphical only' feature of the tile, or a special improvement, or...?

i have no idea how they did that. Only possibility i can see is that somewhere in the code there's a way to remove an improvement that doesn't check what it should. Probably a python thing

I sadly didn't discover it before the last autosave before they did it dropped off the list, so no way of repeating it either...

There's actually a long controversy on what Yvain is, a Treant or an Elf. I can only imagine this is a consequence of tat. I'll delete the Elf part for now.

Hehehe.

I wouldn't be beyond creating a new race for treants, mostly because I'm annoyed at them being Not Alive thanks to the Elemental race, and thus not eligible for Haste and similar buff spells. Although werewolf treants sounds kinda dumb, but then again, so does werewolf wolves...

I might add it, but not sure when, it's not particularly a priority since you can do it with a promotion ^^

Fair enough. I only wanted it because I wanted to temporarily hot-patch druids and Yvain into being able to move over peaks without having to go into World Builder and reveal information I shouldn't have (they were already built, so adding a free promotion tot the XML wouldn't help). I ended up creating a free spell which enables when units can move impassable but not peaks and gives them the Mountaineer promotion.

Well, i commited a new version just yesterday too ^^ I'll take all of them, and i'd prefer the files

Oh, you did? I was expecting a bit more fanfare, so it totally passed me by!
 
Hello. About Crime project, does crime effects automatically occure when crime points reach the threshold or just have a random chance to occure like random events? And can the crime effects occure simultaneously in one city? It it was the case, i think some effects like -10% on gold or production would be quite devastating.

One more thing, are Jotnar and Noggomortha plugins stable and playable yet?(SVN version)
 
I'll see if I can look into it as soon as I finish my current game (I'm still at your previous revision and don't want to abandon this save). How do you want me to deliver any changes? Posted here? Committed to the repo? Committed in a branch? Some other way?
for now, let us work on it by pm.
By the way, by "landmarks", do you mean some 'graphical only' feature of the tile, or a special improvement, or...?
no, i meant a text label like what's containing the name of the UF. Bu don't mind that, i've seen last night how Caveman2Cosmos does it and i can automatize it so i'll do that for next commit.

Oh, you did? I was expecting a bit more fanfare, so it totally passed me by!
was at the end of the dev diary ^^
A whole bunch of python exceptions here.
ok, those are weird, they're not game bugs, they're debug data messages that don't want to work for some reason. I'll deactivate them.

Hello. About Crime project, does crime effects automatically occure when crime points reach the threshold or just have a random chance to occure like random events? And can the crime effects occure simultaneously in one city? It it was the case, i think some effects like -10% on gold or production would be quite devastating.
They automatically occur and they are simultaneous (as long as requirements are satisfied). And yeah, that can be quite hurtful if you let crime completely unchecked in your cities ^^. For the exact balance, we'll see when implementation comes. If there's something that's too hurtful, i'll tweak it.

One more thing, are Jotnar and Noggomortha plugins stable and playable yet?(SVN version)
The noggomortha and everchanging plugins seem to work correctly. The Jotnar work but they're still their old unbalanced version. I haven't worked on them yet.
 
ok, those are weird, they're not game bugs, they're debug data messages that don't want to work for some reason. I'll deactivate them.

Resumed my game from the latest auto-save and those python errors aren't happening now, for whatever reason.

On another note, would it be possible for the Mercenaries screen to show what promotions the available Mercenaries have? It's not so important for the Level 1 Mercenaries, but when you see available Mercenaries who are Level 9 or something, it would be informative to know what they can do before hiring. I don't know if that's too difficult to program, but thought I'd ask.
 
Top Bottom