Fall Further - The Original Thread

There's definitely a problem with the spiders. I started a new game with the latest version 041. Got the same Python error that froze the game when I killed a barb unit with a baby spider.

The error msg below was repeated more than 100 times in the Python log file for some reason...

Spoiler :
Code:
Traceback (most recent call last):

  File "CvScreensInterface", line 849, in forceScreenRedraw

  File "CvMainInterfaceFF", line 2850, in redraw

  File "CvMainInterfaceFF", line 3449, in updatePlotListButtons

  File "CvMainInterfaceFF", line 1149, in displayUnitPlotListObjects

RuntimeError: unidentifiable C++ exception
ERR: Python function forceScreenRedraw failed, module CvScreensInterface
 
I believe it is Plot List Enhancement, a modcomp that used to be part of FfH but was not implemented in the BtS version because of the sticky mouseover issue.
 
If you look in the Schema, everything that is optional says minOccurs = "0" after it.

Doh. Didn't think to look at the Schema. Thanks, and thanks for the explanation.
 
I believe it is Plot List Enhancement, a modcomp that used to be part of FfH but was not implemented in the BtS version because of the sticky mouseover issue.

Yeah... right... so how do I remove it if it's still there?
 
I guess you could try to actually remove the python files that handle it, but it would make more sense to just turn it off. FFHBUG included this modcomp as one of the option that can be turned off and on in the options menu (Ctr-Alt-O, then one of the tabs)

For the sticky mouseover issue, you basically just have to mouseover some other unit to get it to go away.
 
It would be nice if you could tell us what Python errors you have come across before you leave. Thus far I have only seen the one of them reported, and I am reasonably certain it is easily solved, as we already squashed other versions of it.
 
It ought to. Though 1781 is pre-041, so hopefully fixed by the other fix. As for the Baby spider issue, it should be solved if you use this DLL file (unzip and place it in Fall Further 041/Assets, overwriting the file already there). You can ignore the CvUnit.cpp file, that is placed for people who want to modify the base SDK further on their own.



In testing I battled 50 baby spiders against 50 Barbarian ones. I got 3 Giant Spider promotions in that time, and no errors.

EDIT: Attachment removed, DLL included in Patch A
 
Couldn't find it. The point's moot anyway. I've dumped the save files. There seems to be too many Python problems with this mod for my taste. I'll be back some other time when that stuff works better. Thanks for for your help.

It ought to. Though 1781 is pre-041, so hopefully fixed by the other fix. As for the Baby spider issue, it should be solved if you use this DLL file [...]

In testing I battled 50 baby spiders against 50 Barbarian ones. I got 3 Giant Spider promotions in that time, and no errors.

I've made this into PatchA along with another (minor) fix.

====

As nice as the BUG features are, parts of them are being quite troublesome - mostly because the system they were written for (BtS) is considerably simpler than FfH is these days. There are various quirks that the BUG python wasn't handling well, but these are getting ironed out.

It may be however that some hefty portions of BUG gets rewritten in the near future - I know Xienwolf is all for a rewrite and I'm starting to think it'd be necessary in places. If you do encounter any further problems using PatchA - please post either a screenshot, or the file and line numbers (especially the last one) from the stack trace (the list of files that appears in a python window).

I am hoping however that we've seen the last of the "unit changing" problems.
 
Thanks for the new schema files! Makes so much life easier. I was dreading adding all the units and promotions before.

Do modular promotions still have to live in the main file? Or can they safely be moved to Modules?

Played Austerin for 150+ turns - they still are the best for early game flavor. No errors to report so far :)
 
With Undercouncil, Until Deception is researched the "spread council of esus" button should probably be grayed out, otherwise when "Enlist the Nightwatch" is used, the religion is spread, but without a holy city.
 
I made a simple python change to fix the nightwatch problem. Added this code to the reqSpreadTheCouncilOfEsus in cySpellInterface.py

Code:
	if not CyGame().isReligionFounded(gc.getInfoTypeForString('RELIGION_COUNCIL_OF_ESUS')):
		return False

This should prevent the spell from being cast until Council of Esus is founded. I tested it and I *think* it works.
 
With Undercouncil, Until Deception is researched the "spread council of esus" button should probably be grayed out, otherwise when "Enlist the Nightwatch" is used, the religion is spread, but without a holy city.

I made a simple python change to fix the nightwatch problem. Added this code to the reqSpreadTheCouncilOfEsus in cySpellInterface.py

Code:
	if not CyGame().isReligionFounded(gc.getInfoTypeForString('RELIGION_COUNCIL_OF_ESUS')):
		return False

This should prevent the spell from being cast until Council of Esus is founded. I tested it and I *think* it works.

Thanks - will include that with patch B.

It was a side effect of moving the Councils to the "Way of the..." techs.
 
I've made this into PatchA along with another (minor) fix.

====

As nice as the BUG features are, parts of them are being quite troublesome - mostly because the system they were written for (BtS) is considerably simpler than FfH is these days. There are various quirks that the BUG python wasn't handling well, but these are getting ironed out.

It may be however that some hefty portions of BUG gets rewritten in the near future - I know Xienwolf is all for a rewrite and I'm starting to think it'd be necessary in places. If you do encounter any further problems using PatchA - please post either a screenshot, or the file and line numbers (especially the last one) from the stack trace (the list of files that appears in a python window).

I am hoping however that we've seen the last of the "unit changing" problems.

Thanks for the patch, but it didn't fix the problem with the baby spiders.

Traceback (most recent call last):
Spoiler :
Code:
  File "CvScreensInterface", line 849, in forceScreenRedraw

  File "CvMainInterfaceFF", line 2850, in redraw

  File "CvMainInterfaceFF", line 3449, in updatePlotListButtons

  File "CvMainInterfaceFF", line 1149, in displayUnitPlotListObjects

RuntimeError: unidentifiable C++ exception
ERR: Python function forceScreenRedraw failed, module CvScreensInterface
 
Howzat for a start?

attachment.php
 

Attachments

  • Civ4ScreenShot0007.JPG
    Civ4ScreenShot0007.JPG
    170.3 KB · Views: 218
Well craps. I tried again using just the patched base FF 41A and I still cannot duplicate your issue :( I ran hundreds of baby spiders in fights and upgraded quite a few.

If you have an autosave, and are able to reliably get the popup, please post it. Otherwise I'll keep looking for fundamental issues in the code and how to fix them.
 
You can go back to my original post about the baby spiders. I included the save file and the log files. It was the same problem (without Patch A).

Otherwise, sorry, I lost my autosaves when I started a new game. All I have is an old manual save that's twenty turns too early.

In my last attempt to run the game I ran into this interesting Python hiccup with a new start.

attachment.php


------------------------------

EDIT

Here's the actual error text

Spoiler :
Code:
Traceback (most recent call last):

  File "PerfectWorld_Flavoured", line 3923, in addRivers

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3860, in doRiver

RuntimeError: maximum recursion depth exceeded in cmp
ERR: Python function addRivers failed, module PerfectWorld_Flavoured
 

Attachments

Howzat for a start?

Was that a naturally chose start location? Which mapscript?

Nothing we've done so far should influence the start locations at all - with the exception of the the modifications offered for existing map scripts. I've never investigated map scripting in the depth that I'd need to produce one that's approaching as good as the ones available here already - so I basically don't alter the map scripting/start location code at all.

That being said - "I can see the pub from here!"

You can go back to my original post about the baby spiders. I included the save file and the log files. It was the same problem (without Patch A).

Otherwise, sorry, I lost my autosaves when I started a new game. All I have is an old manual save that's twenty turns too early.

In my last attempt to run the game I ran into this interesting Python hiccup with a new start.

attachment.php


------------------------------

EDIT

Here's the actual error text

Spoiler :
Code:
Traceback (most recent call last):

  File "PerfectWorld_Flavoured", line 3923, in addRivers

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver


  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3880, in doRiver

  File "PerfectWorld_Flavoured", line 3860, in doRiver

RuntimeError: maximum recursion depth exceeded in cmp
ERR: Python function addRivers failed, module PerfectWorld_Flavoured

That one is a MapCrash - it's an issue that crops up very rarely with both PerfectWorld and Creation - Cephalo is aware of it but it happens so infrequently that it's fairly hard to fix it.
 
That one is from your Mapscript (PerfectWorld) almost certainly. For the spiders, I'll just keep on trying. Was it your first spider who potentially was upgrading, or had other ones worked, and this one was a fluke (could be a timing issue)? Any special details about the spider (enhanced movement from promotions or whatnot)?
 
Back
Top Bottom