Single Player bugs and crashes v36 plus (SVN) - After the 24th of October 2015

Status
Not open for further replies.
After SVN 8945 I get the attached error messages when I load a saved game. The game seems to run anyway (so far).
 

Attachments

  • SVN8945errors.jpg
    SVN8945errors.jpg
    59.3 KB · Views: 47
Solved and pending a commit. There were some OLD OLD OLD flaws in rationale involved in this stuff that perhaps I would've caught much earlier if it was working as intended before. The recent fix brought an old bug back to light. And while I glossed over those function calls when I started here as a modder, a few moments of research and they all made total sense this time. And there were flaws. Very visible flaws. Fixed.


I was saying they wouldn't. Once removed from an active selection list they get forgotten unless you hand select them later or go to the next turn, as you explained.

The problem came down to an old logic from before we even began on this mod. If the unit can't move OR the unit doesn't have blitz then remove it from the selection group after the attack. Big problem with that logic. And those statements have been there since before I was here but again, a deeper bug was covering up the problem.
Is that fix already in the SVN? I ask because I still see the behaviour:
I attack with grouped units a single unit. I win. All of the units have movement points left but the stack gets out of focus and will not be active anymore for this turn (unless I click on it).
 
I believe i have a never ending loop . . as i noted in post 649, same thing is happening here:

I believe it has to do with it being my LAST city and i am a minor still civ (before writing) and the enemy has over-ridden me, and the game wants to make me a NEW civ ?? because the last entry was "Switching team 8 to minor" ? dont know for sure but heres the savedgame 1 turn before the enemy is to take over my city??
Interesting. I'll see what I can do with this as soon as I can.

Is that fix already in the SVN? I ask because I still see the behaviour:
I attack with grouped units a single unit. I win. All of the units have movement points left but the stack gets out of focus and will not be active anymore for this turn (unless I click on it).
Interestingly enough that would be a separate behavior issue to address. Deals with a different function call than the previous issue. I'll run some tests and see where it's taking place. I can most likely solve this as well.
 
A wild boar spawned finaly in north america. GJ. :goodjob:
 

Attachments

  • Civ4ScreenShot0088.JPG
    Civ4ScreenShot0088.JPG
    273.4 KB · Views: 39
Toffer:

i get the same errors after YOUR commit??? both CameraOverlay and TexturePlane have No entries?? Did you run a test game BEFORE commit??

Took them both out and no more errors??
Yeah, I tested the change; then I went on and added a comment in the xml explaining the change and forgot to end the comment with "-->"
Since I didn't think I needed to test my comment I uploaded a mistake.

Will fix asap; sorry for the inconvenience.

When is trade across seas supposed to happen?
Seafaring seems a natural tech for that.
 
Yeah, I tested the change; then I went on and added a comment in the xml explaining the change and forgot to end the comment with "-->"
Since I didn't think I needed to test my comment I uploaded a mistake.

Will fix asap; sorry for the inconvenience.

ahaha see even after you think you made the correct item, then you changed something and POOF, error, lol, used to happen to me alot, but i learned, at least a little bit. lol. . .

also, TB

movements are not being processed correctly, i still have 1 movement on the Master Hunter, but it ended and went to another unit, when it should have stayed on the Master Hunter for that NEXT move, or i changed units ON my own . .
 
@SO,

It's been this way for ages and I do mean for many past versions. If your unit has less than 1/2 it's movement allotment left the game will move on to next unit. You have to manually go back to your unit to finish it's moves. Or remember it if all units with full moves had done their moving. Sometime the game will come back to those with partial moves, after the full set is done, but not always.

Now if T-brd or alberts2 can fix that, then :woohoo: as it's been with us for a long time.

JosEPh
 
@SO,

It's been this way for ages and I do mean for many past versions. If your unit has less than 1/2 it's movement allotment left the game will move on to next unit. You have to manually go back to your unit to finish it's moves. Or remember it if all units with full moves had done their moving. Sometime the game will come back to those with partial moves, after the full set is done, but not always.

Now if T-brd or alberts2 can fix that, then :woohoo: as it's been with us for a long time.

JosEPh
No, this one is new, the old issue was only with capturing 0:strength: units.
Now it happens after every single fight, master hunter must often be selected 3 times in a turn due to the game figuratively clicking the "skip turn" button for the unit automatically after a battle.
 
No, this one is new, the old issue was only with capturing 0:strength: units.
Now it happens after every single fight, master hunter must often be selected 3 times in a turn due to the game figuratively clicking the "skip turn" button for the unit automatically after a battle.

Okay.

But what I described has been in Base C2C for a long time (Not using Any of the SM, FoF, or any CM components Options) and did not center on just 0:strength: units.

JosEPh
 
@SO,

It's been this way for ages and I do mean for many past versions. If your unit has less than 1/2 it's movement allotment left the game will move on to next unit. You have to manually go back to your unit to finish it's moves. Or remember it if all units with full moves had done their moving. Sometime the game will come back to those with partial moves, after the full set is done, but not always.

Now if T-brd or alberts2 can fix that, then :woohoo: as it's been with us for a long time.

JosEPh

But i went back to the unit and it cant move?? even though it still has 1 movement left(so it says)?? Or is the terrain a factor also??


NOW, what the heck is going on with the "animals" being able to attack my gatherer WHEN i have a Master Hunter guarding him/her on the same tile,?? (pic 1)
 
But i went back to the unit and it cant move?? even though it still has 1 movement left(so it says)?? Or is the terrain a factor also??

<snip>

Toffer straightened me out :old:. ;) Seems like growing pains for new features in the game.

JosEPh :D
 
Ok i see one problem, can u fix it? So when some AI player dont have anything to build they dont use meager wealth, but they should do it... if i give them a tech that provides a new building then they start building again. So if some AI dont use meager wealth/research when they dont have anything to build they waste there production as long as they get a new building, some other AI civs use meager wealth or research, so its a trait problem? Can you fix it? Look screenshot... france using meager research, spain, britian and others dont use meager wealth or research.
 

Attachments

  • Civ4ScreenShot0099.JPG
    Civ4ScreenShot0099.JPG
    123.2 KB · Views: 45
NOW, what the heck is going on with the "animals" being able to attack my gatherer WHEN i have a Master Hunter guarding him/her on the same tile,?? (pic 1)
Think of it this way, unless your GH uses standout he is out hunting, paying no mind to the safety of the gatherers. If you want him to be a guide for a bunch of gatherers he would need standout.

@TB: Perhaps we would need a tag for units that says:
Spoiler :
if an enemy unit you can see tries to enter this units tile and this unit is the best defender and has more than 50 %chance to win &#8594; make a defensive ambush (initiate combat).
This does seem to me an awfully complex function to implement, but perhaps it plausible; that would be for you to say.


Scratch that, just thought of a better tag (far more plausible):
&#8226;An Invisibility penalty tag that says - When sharing a tile with another unit on the same team (of a certain UnitCombat), lose x invisibility for every such units.
This tag would affect all types of invisibility and would not be used for criminals and the like.
OR
&#8226; DemandProtection (to be used on UNITCOMBAT_WORKER) - An array that defines what UnitCombats should have their invisibility negated when sharing a tile with this unit.

Edit: And why did we ever introduce the Idle process for cities? Wealth/Research/Culture/Espionage should be the process to default to when having nothing else to build.
 
Yeah, I tested the change; then I went on and added a comment in the xml explaining the change and forgot to end the comment with "-->"
Since I didn't think I needed to test my comment I uploaded a mistake.

As an ex-programmer (of now mostly obsolete languages) and much later a trainer of programmers in new techniques. Faulty comments were the worst thing to detect. Some times a compiler would indicate the problem but a lot of times not.

Guess things have not changed much, especially with all these mixed language platforms. C++, Python, XML etc. Particularly as as some are not pre-compiled. :crazyeye:
 
@TB: Ambush is defined as a command and a mission, is this intentional?
Code:
		<CommandInfo>
			<Type>COMMAND_AMBUSH</Type>
			<Description>TXT_KEY_COMMAND_AMBUSH</Description>
			<bVisible>1</bVisible>
			<Button>art/Buttons/Missions/AmbushCommand.dds</Button>
		</CommandInfo>
		<MissionInfo>
			<Type>MISSION_AMBUSH</Type>
			<Description>TXT_KEY_MISSION_AMBUSH</Description>
			<Help>TXT_KEY_MISSION_AMBUSH_HELP</Help>
			<bVisible>1</bVisible>
			<iOrderPriority>16</iOrderPriority>
			<Button>art/Buttons/Missions/AmbushCommand.dds</Button>
		</MissionInfo>
 
The 'after a unit attacks the stack its part of freezes' problem is my top priority at the moment. However, I do wonder about SO's example... I can't see why the unit cannot move. I'll check into it but I thought that whether a unit can act or not is patently defined by if it has movement left so that one is very confusing how he can select it and still not be able to move the unit.

The rest I have my suspicions regarding and think I can take care of it fairly quickly.

Ok i see one problem, can u fix it? So when some AI player dont have anything to build they dont use meager wealth, but they should do it... if i give them a tech that provides a new building then they start building again. So if some AI dont use meager wealth/research when they dont have anything to build they waste there production as long as they get a new building, some other AI civs use meager wealth or research, so its a trait problem? Can you fix it? Look screenshot... france using meager research, spain, britian and others dont use meager wealth or research.
Are you SURE you can see into the build settings on all those cities that don't have a selection? If that's it then the problem is much deeper than that because, as you suggested, wealth/research/culture IS the default if there's nothing else to do. However, there are numerous situations where as a player I've found my cities building nothing and wondered how they ended up in that position. If the AI is suffering from this kind of thing then at least we need to program in a catch to determine this every round and ensure SOMETHING is set. Problem is, I'm not sure what's causing it or really where to setup such a check... particularly without causing lots of turn time delays. I can look into it but PLEASE, given the complexity of the problem, I NEED you to absolutely rock solidly confirm that this problem really is happening and provide a test save that shows it.

Think of it this way, unless your GH uses standout he is out hunting, paying no mind to the safety of the gatherers. If you want him to be a guide for a bunch of gatherers he would need standout.

@TB: Perhaps we would need a tag for units that says:
Spoiler :
if an enemy unit you can see tries to enter this units tile and this unit is the best defender and has more than 50 %chance to win &#8594; make a defensive ambush (initiate combat).
This does seem to me an awfully complex function to implement, but perhaps it plausible; that would be for you to say.


Scratch that, just thought of a better tag (far more plausible):
•An Invisibility penalty tag that says - When sharing a tile with another unit on the same team (of a certain UnitCombat), lose x invisibility for every such units.
This tag would affect all types of invisibility and would not be used for criminals and the like.
OR
• DemandProtection (to be used on UNITCOMBAT_WORKER) - An array that defines what UnitCombats should have their invisibility negated when sharing a tile with this unit.
I really don't want to do any of those suggestions. However, I realize there's a problem there. What I may be able to do is get the standout promo to show as suggested if 0 str units are sharing the tile with only units that have some forms of invisibility to guard them. (And have the AI care to try to guard them too.)

The reason I don't want to make an automatic solution like that is because I want players to be capable of using such units as bait to attract in attacks on those units so that they can then ambush the unwary attackers that thought they had something to target for free.

However, it's also a learning experience. Once you've figured out what the problem was I'm pretty sure you won't forget to guard your vulnerable units with a unit with standout. The deeper issue for me is the way the AI is currently open to these flaws.

I suppose it also should be noted that I've always felt the 'hunting with a general' strategy was a terrible gimmick that should be somehow discouraged since it has absolutely no real rationale as a way to train up a military commander.

Edit: And why did we ever introduce the Idle process for cities? Wealth/Research/Culture/Espionage should be the process to default to when having nothing else to build.
Those in the pic aren't on idle. Idle always shows itself as a build selected. Those, if visibility is actually there, are simply cities that have no build selected at all.

As an ex-programmer (of now mostly obsolete languages) and much later a trainer of programmers in new techniques. Faulty comments were the worst thing to detect. Some times a compiler would indicate the problem but a lot of times not.

Guess things have not changed much, especially with all these mixed language platforms. C++, Python, XML etc. Particularly as as some are not pre-compiled. :crazyeye:
Which is why we should run our pending xml commits with the debug dll first to ensure there aren't any major bugs.
 
@TB: Ambush is defined as a command and a mission, is this intentional?
Code:
		<CommandInfo>
			<Type>COMMAND_AMBUSH</Type>
			<Description>TXT_KEY_COMMAND_AMBUSH</Description>
			<bVisible>1</bVisible>
			<Button>art/Buttons/Missions/AmbushCommand.dds</Button>
		</CommandInfo>
		<MissionInfo>
			<Type>MISSION_AMBUSH</Type>
			<Description>TXT_KEY_MISSION_AMBUSH</Description>
			<Help>TXT_KEY_MISSION_AMBUSH_HELP</Help>
			<bVisible>1</bVisible>
			<iOrderPriority>16</iOrderPriority>
			<Button>art/Buttons/Missions/AmbushCommand.dds</Button>
		</MissionInfo>

Sorta. It started as a command and I changed it to a mission. To remove a mission or command presents the same savegame compat problem that removing a game option does so the command will be removed when we break compatibility.

In the meantime, although the command is defined it won't show up in-game because no unit can qualify for it. It's automatically false on the candocommand function.
 
Status
Not open for further replies.
Back
Top Bottom