1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Wish list to Firaxis dev or next SDK?

Discussion in 'Civ4 - Community Enchancement Project' started by SimCutie, May 12, 2006.

  1. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    We now have experienced SDK programming for about a month.
    You will have quite a question, info you want to know about, or need help from Firaxis on SDK utilization. And future wish list ...
    Let's start jot down our request for info on SDK and idea or wish-list for next version of SDK. Any topic will do. If we have enough good idea or suggestion on SDK, we may contact Friaxis and let our voice be heard by them.
    Such wish item or new idea are always come and go, So let's write it down here lest we forget it when we will have an oppotunity to accomplish it. This thead can serve as a memorandum or TO-DO list for such case.
     
  2. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    1. Debug compatible build version of Civilization4.exe excutable.
    Current executable will crash if run in debug mode. We need Debug build version of Civ4.exe with nessesary debugging symbol information and linked with debugging Runtime.

    2. Font symbol.
    My first wish is about font symbol. Font symbol is one of frequently modded item for various MOD. But SDK has virtually no provision for adding or manipulating font symbol.
    3. Initialization stub.
    Civ4 has many stage of initialization but we can not get our own init fuction be called by Civ4 exe at right time. I need to init my class just before main menu is displayed. XML loading time seems to be bit early. I want execute my init after all civ sub systems are inited but right before main menu is displayed.
     
  3. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    I too have had trouble with thouse Font symbol thingies, the implementation is very confusing and not at all easy to mod.

    Better Debugging is definatly a must, as my Mods grow more complex the lack of Debugging becomes ever more painfull.
     
  4. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    I'd like to see a bit more power over the inputs to the graphics engine - at the moment it's a bit restricted.
     
  5. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    Amomg some SDK API which is additionally exposed to Python by modder,
    If I have to choose only one function that should be added to next version of Civ4 (virgin) DLL should be :
    gDLL->getModName() which returns path of curently selected mod.
    They should have gc.getDefineSTRING("MOD_PATH") ==> "Mods\<mod-name>\" in python.
    Without it, it is very hard to figure out which mod is selected.
    It is near crime of gross negligence by Firaxis that they didn't included it in first version of Civ4.
     
  6. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    As we found out that Game Option and player Option does not work as intended even if we put addinitional option to it, This should be thing we request Firaxis to fix it.
    With out proper option, we have to rely on our Custom Option screen which may be not suitable for game-specific or player-specfic option.
     
  7. Dale

    Dale Chieftain

    Joined:
    Mar 14, 2002
    Messages:
    6,986
    Email sent to Soren:

     
  8. Dale

    Dale Chieftain

    Joined:
    Mar 14, 2002
    Messages:
    6,986
    This used to work. I'll look into it and find out what broke. :)

    Dale
     
  9. SpoiledFruit

    SpoiledFruit Chieftain

    Joined:
    Mar 11, 2006
    Messages:
    72
    Location:
    Boise, Idaho
    I was wondering what CSV software that Firaxis used as well as what happened to some of the SDK tools like the Unit Position app. (dont know the real name but it defined which direction units faced when attacking, moving, etc.)
     
  10. Dale

    Dale Chieftain

    Joined:
    Mar 14, 2002
    Messages:
    6,986
    Well, some bad news about the setup screens. They've been reverted back out of python and into the exe. Gone forever to adjustment. :(

    I'm looking into other spots we could put the window. IE: while the map is being setup, our options interface pops up over the top. It's before the game, and in a spot where the user is usually waiting (or outside having a ciggie like me ;) ).

    Dale
     
  11. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    I suggested something like that in another thread. Ideally it should all happen while the loading screen is up, and it should certainly come before the dawn of man screen comes up. I think we should be able to set a python trigger to load a screen of options at this stage, but I'd have to check.
     
  12. Dale

    Dale Chieftain

    Joined:
    Mar 14, 2002
    Messages:
    6,986
    Yeah should be able to pretty easily.

    BTW, I checked an old version of the SDK and game options were set in CvGlobals and parsed through to the exe. Now, I'm not even 100% certain that adding game options in CvEnums.h does anything useful. When I added a game option there I couldn't click the OK button to start a game. Wierd. But I'll keep looking to see if we can have invisible game options.

    Dale
     
  13. Olleus

    Olleus Warlord

    Joined:
    Oct 30, 2005
    Messages:
    6,478
    Location:
    England
    I would like the possibility of adding new diplomatic treaties. At the moment it is impossible.
     
  14. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    Agreed - the ability to edit the diplomacy interface would be nice as well.
     
  15. SpoiledFruit

    SpoiledFruit Chieftain

    Joined:
    Mar 11, 2006
    Messages:
    72
    Location:
    Boise, Idaho
    Actually I think that is possible already.
     
  16. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    Hmmm - I haven't been able to find the files which control it. Most of the other interface screens are in the Pyhton/Screens directory, but there doesn't seem to be one for the diplomacy screen.
     
  17. SpoiledFruit

    SpoiledFruit Chieftain

    Joined:
    Mar 11, 2006
    Messages:
    72
    Location:
    Boise, Idaho
    Its in the CvDiplomacy.py in the main folder.
     
  18. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    I think this handles the AI responses, rather than the actual setting of the interface screens like the other screens.
     
  19. SpoiledFruit

    SpoiledFruit Chieftain

    Joined:
    Mar 11, 2006
    Messages:
    72
    Location:
    Boise, Idaho
    sorry, but I found the pointer to the function for the interface:

    Code:
    class CvDiplomacy:
    	"Code used by Civ Diplomacy interface"
    	
    	def __init__(self):
    		"constructor - set up class vars, AI and User strings"
    		if DebugLogging:
    			print "Launching Diplomacy"
    		
    		self.iLastResponseID = -1
    
    		self.diploScreen = CyDiplomacy()
    diploScreen must be the interface, but where is the CyDiplomacy() function defined is the question. At least we know what we are looking for.
     
  20. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    NUM_GAMEOPTION_TYPES and NUM_PLAYEROPTION_TYPES are hard-coded in
    Civ4.exe. It is not just matter of Option screen display, but internal data space allocation. We can add few (less than 4) options , but if we add more than that, the Civ4.exe will crash intermittently. Make it varible number in Civ4.exe or at least, allocate enough space for it so that it will not crash when we add 10 options max. for each types of options.
     

Share This Page