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

Sevopedia

Discussion in 'Civ4 - Mod Components' started by Gaurav, Dec 26, 2006.

  1. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402

    Sevopedia 2.2





    Moderator Action: Attention, BtS version 2.3.2 is here.

    This is a real update to the Sevopedia. It is compatible with Warlords 2.08. It contains all changes made by both Progor and Ket.

    Changes in this version:
    • New Option: Show Civ Names For Unique (Enabled by Default)
    • New Option: Skip Blank Page (Disabled by Default)
    • New Option: Show Graphical Only (Disabled by Default)
    • New Option: Hide Identical (Disabled by Default)
    • All options enabled / disabled from CvGlobalDefinesAlt.xml
      Python editing no longer required just to set options.
    • Incorporated "Replaced by Mod" by TheLopez, but rewritten in Python.
      No DLL required to have this feature.
    • Better support for mods which set default units/buildings to NONE.
      Unique units and buildings will still be identified as such.
    • Civilization screen layout redesign to accomodate more unique units/buildings.
    • Era type shown on tech page.
    • Wonder class (World Wonder, Team Wonder, National Wonder) identified on Wonders page.
    • More diverse category graphics. (Thanks to Impaler[WrG], snipperrabbit!!)
    • Miscellaneous layout improvements.
    • Support for <bGraphicalOnly> xml tag to hide arbitrary entries. (Thanks to Kael)
      Sample Civ4UnitSchema.xml provided, all other schemas would have to be written.
    • Python hook to add new custom filter options.
    Spoiler Previous Version History :
    2.1a (by Gaurav)
    • Fixed promotions graph bug
    2.1 (by Gaurav)
    • Based on 2.03 version by Progor.
    • Included all changes made by Ket in his forked version.
    • Upgraded to include all Warlords 2.08 upgrades
    • Upgraded to include all Warlords 2.00 upgrades (Ket did not do this).
    • Fixed bugs related to redrawing subcategory list.
    • Fixed bugs related to scrolling.
    • Fixed missing text keys.
    • Got leaderhead animations working again.
    • Added icon to top of unit category table.
    • Various improvements to tech page based on Roamty's Techwindow.
    • Numerous miscellaneous layout improvements.
    Forked version (by Ket)
    • Updated version 1.93 for Warlords compatibility

    Note: Progor did not use the following version numbers. I am using these version numbers to keep them straight myself.
    2.03 (by Progor)
    • Removed dependency to DiGraph library.
    2.02 (by Progor)
    • Included Air Unit Fix (by Gaurav)
    2.01 (by Progor)
    • Fixed issues with updating categories.
    • Added Fitchn's Civilopedia index.
    • Fixed list selection bug.
    2.0 (by Progor)
    • Improved unit upgrades graph.
    • Added unit promotions graph.

    1.93 (this and all previous versions by Sevo)
    • Fixed error on text page. (Thanks Impaler, Exavier!)
    • Fixed Promotion Scroll problem
    1.92
    • Added History directly to Units Page
    1.91
    • Fixed minor Enum error in CvPediaMain.py
    1.9
    • Fixed in-game load error
    • Unit Chart now allows jump-to unit
    1.8
    • Compatible with cIV 1.52
    • Upgraded to include all vanilla 1.52 page upgrades
    • Added icons to sub-list*
    • Added group icons to main list and re-ordered
    • Included Vovan's Unit Upgrades Chart
    • Fixed Selection errors; fixed re-load 'pedia errors
    1.2
    • Allowed for disabling of animations in pedia screens
    1.1
    • Fixed 1st item select bug, ? fixed history select bug
    1.0 -- Original release

    *[size=-1]Removed by Progor to fix the "list selection bug". Actually, Sevo had turned the sublist into a table, and in CyGInterfaceScreen a table row cannot be "selected". That code is not in the SDK.[/size]
    Spoiler Options :
    [size=+1]Options:[/size]
    [size=-1]
    PEDIA_SHOW_ANIMATIONS:
    Per requests, I have included a way to disable the animations on the civilopedia screens. It will disable the unit, building, resource, and improvement animations; the leaderhead animation will stay. By default the animations are left on.

    PEDIA_SHOW_CIV_NAME_FOR_UNIQUE:
    Shows civilization names for unique units and buildings in subcategory lists. This is not appropriate for some mods, so it can be disabled.

    PEDIA_SHOW_GRAPHICAL_ONLY:
    If enabled, Barbarian Leader, Minor Civ, Lead by Warlord, etc. are hidden from Sevopedia. Disabled by default. Requested by Naze.

    PEDIA_SKIP_BLANK_PAGE:
    If enabled, the first subcategory will automatically be displayed when clicking on a main category link. Disabled by default. Requested by Impaler[WrG].

    PEDIA_HIDE_IDENTICAL:
    This will hide any units from the Sevopedia whose text key is the same as the default unit for its class. Great for mods like Ethnically Diverse Units. Disabled by default.[/size]
    [size=+1]Download: Sevopedia 2.2a (CivFanatics File Database)
    [/size]
    [size=+1]Credits:[/size]
    Sevo
    Vovan
    Progor
    Fitchn
    Ket

    [size=-1]See history for additional credits.[/size]

    Feedback, bug reports, and patches would be greatly appreciated.
     
  2. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402

    Help Wanted:



    The following are the most often requested features for the Sevopedia, going by earlier threads. Anyone up for a python challenge?
    1. Search feature.
    2. Link to or integrated tech tree.

    Known Issues:
    • Entries hidden using the <bGraphicalOnly> XML tags can still be opened in the Sevopedia through buttons and links from outside Sevopedia.
    • Dawn of Man screen and Tech popup still show filtered entries of all kinds.
    • Not compatible with existing Replaced By Units from TheLopez.
     
  3. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    I updated the Sevopedia in Ruff's mod to version 2.2a. All options except 'Enabled' are fully dynamic, only the enabling/disabling of the Sevopedia requires a reload. I also made it work in any of MODS, CustomAssets, and CustomMods directories.



    Ruff's Cobbled SG Modpack v. 2.0.4w with Sevopedia updated to 2.2a

    This should speed up testing a bit for the next version of the Sevopedia.
     
  4. Janook

    Janook Chieftain

    Joined:
    Aug 2, 2006
    Messages:
    43
    I love you.
    I love you.
    This is a much better hanukah present than a measley 20 bux from my grandma.
     
  5. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    Any more updates planed? If so I have some ideas.

    Were seeing so many Unique Units and Buildings added to the game that I find them hard to keep strait, I think the Building and Unit pabes should be split. Have a page for "Building Classes" and "Unit Classes" which would each list the default unit for each Class. The "Unique Buildings" and "Unique Units" list all non-defaults.

    Also I think it would be nice to have a unique icon for each catagory in the side panel, like use the state religion Icon for religions, the Forest Icon for features, the farm Icon for Improvments ect ect. Just something to make them more unique.

    I've always been anoyed at how you initialy get a blank page when opening a high level catagory even when the top entry is highlighted, it should open that entry. And I would realy like to use the mouse wheel to go through the entries.
     
  6. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    Yes, at least one additional update is planned. More if I get some of the help I need.

    These are some very interesting ideas.

    There may be better ways to deal with the unique unit/building problem than the one you suggest, however. How about filters? These could enable you to hide units and buildings at multiple levels. Maybe you could even design one with EDU in mind (filter out identical units only - of course the code to identify "identical" units would be complicated). Another such filter could restore the default behavior of the Civilopedia and allow you to hide "isGraphicalOnly()" elements like the Barbarian leader. The big issue of course is where to put another UI element like that, and how to make it user friendly. What do you all think?

    What is the issue exactly with the mouse wheel? Works for me. It was working for me in Progor's version on 1.61 too.

    With the blank page issue, do you think automatically opening a page is user friendly for a first time user? Edit: I am putting this feature in as an option. It will be disabled by default.

    Quite frankly, as any open source developer would say when asked for new features, if you really want it, write the patch. I stand ready to incorporate any patches anyone wants to submit, although I might make it an advanced option. Otherwise, you might be waiting for some time. At this exact moment, however, I haven't tested this with any mods, and I half expect a torrent of bug reports. :shifty:
     
  7. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    By the way, can anyone give me translations for "No description provided."? Thanks.

    Edit: Thank you Caesium and snipperrabbit. I just need Spanish and Italian.
     
  8. Caesium

    Caesium Radiant!

    Joined:
    Jan 14, 2006
    Messages:
    526
    In german you could say: "Keine Informationen verf&#252;gbar."

    With &#252; = &#252;
     
  9. Roamty

    Roamty BTS

    Joined:
    Nov 30, 2005
    Messages:
    534
    Location:
    South Park
    In the CvPediaMain screen if you change the order in def displayTopics: you will get icons to show up in the next row only bug is the slide bar keeps returning to the top If some one can fix the slide bar please help. Thank you for the update I like that you did.

    Spoiler :
    *****************************************************************************************************************************

    def displayTopics(self, tList, widgeyType, buttonType, iSubCategory):
    CvUtil.pyPrint("displayTopics(tList=<%s>, widgeyType=<%s>, buttonType=<%s>)"%(tList, widgeyType, buttonType))

    screen = self.getScreen()

    screen.addListBoxGFC(self.SUBLIST_ID, "", self.X_ITEMS_PANE, self.Y_ITEMS_PANE, self.W_ITEMS_PANE, self.H_ITEMS_PANE, TableStyles.TABLE_STYLE_STANDARD)
    screen.enableSelect(self.SUBLIST_ID, True)
    screen.setStyle(self.SUBLIST_ID, "Table_StandardCiv_Style")

    link = -1
    for i in range(len(tList)):
    item = tList
    screen.appendListBoxString(self.SUBLIST_ID, u"<font=3>" + item[0] + u"</font>", widgeyType, item[1] + self.REFRESH_FLAG, 0, CvUtil.FONT_LEFT_JUSTIFY )
    if item[1] == iSubCategory:
    link = i
    if (link != -1):
    screen.setSelectedListBoxStringGFC(self.SUBLIST_ID, link)

    '''
    nColumns = 1
    screen.addTableControlGFC(self.SUBLIST_ID, nColumns, self.X_ITEMS_PANE, self.Y_ITEMS_PANE, self.W_ITEMS_PANE, self.H_ITEMS_PANE, False, False, 16, 16, TableStyles.TABLE_STYLE_STANDARD);
    screen.enableSelect(self.SUBLIST_ID, True)
    screen.setStyle(self.SUBLIST_ID, "Table_StandardCiv_Style")

    for i in range(nColumns):
    screen.setTableColumnHeader(self.SUBLIST_ID, i, "", self.W_ITEMS_PANE/nColumns)

    iCounter = 0
    iNumRows = 0
    for item in tList:

    # This line disables the popup text on 'pedia scroll over...hopefully it works

    iColumn = iCounter % nColumns
    iRow = iCounter // nColumns
    if iRow >= iNumRows:
    iNumRows += 1
    screen.appendTableRow(self.SUBLIST_ID)
    screen.setTableText(self.SUBLIST_ID, iColumn, iRow, u"<font=3>" + item[0] + u"</font>", buttonType(item[1]).getButton(), widgeyType, item[1], 1, CvUtil.FONT_LEFT_JUSTIFY)
    iCounter += 1
    '''

    *****************************************************************************************************************************

    def displayTopics(self, tList, widgeyType, buttonType, iSubCategory):
    CvUtil.pyPrint("displayTopics(tList=<%s>, widgeyType=<%s>, buttonType=<%s>)"%(tList, widgeyType, buttonType))

    screen = self.getScreen()

    nColumns = 1
    screen.addTableControlGFC(self.SUBLIST_ID, nColumns, self.X_ITEMS_PANE, self.Y_ITEMS_PANE, self.W_ITEMS_PANE, self.H_ITEMS_PANE, False, False, 16, 16, TableStyles.TABLE_STYLE_STANDARD);
    screen.enableSelect(self.SUBLIST_ID, True)
    screen.setStyle(self.SUBLIST_ID, "Table_StandardCiv_Style")

    for i in range(nColumns):
    screen.setTableColumnHeader(self.SUBLIST_ID, i, "", self.W_ITEMS_PANE/nColumns)

    iCounter = 0
    iNumRows = 0
    for item in tList:

    # This line disables the popup text on 'pedia scroll over...hopefully it works

    iColumn = iCounter % nColumns
    iRow = iCounter // nColumns
    if iRow >= iNumRows:
    iNumRows += 1
    screen.appendTableRow(self.SUBLIST_ID)
    screen.setTableText(self.SUBLIST_ID, iColumn, iRow, u"<font=3>" + item[0] + u"</font>", buttonType(item[1]).getButton(), widgeyType, item[1], 1, CvUtil.FONT_LEFT_JUSTIFY)
    iCounter += 1
    '''
    screen.addListBoxGFC(self.SUBLIST_ID, "", self.X_ITEMS_PANE, self.Y_ITEMS_PANE, self.W_ITEMS_PANE, self.H_ITEMS_PANE, TableStyles.TABLE_STYLE_STANDARD)
    screen.enableSelect(self.SUBLIST_ID, True)
    screen.setStyle(self.SUBLIST_ID, "Table_StandardCiv_Style")

    link = -1
    for i in range(len(tList)):
    item = tList
    screen.appendListBoxString(self.SUBLIST_ID, u"<font=3>" + item[0] + u"</font>", widgeyType, item[1] + self.REFRESH_FLAG, 0, CvUtil.FONT_LEFT_JUSTIFY )
    if item[1] == iSubCategory:
    link = i
    if (link != -1):
    screen.setSelectedListBoxStringGFC(self.SUBLIST_ID, link)

    '''
    *****************************************************************************************************************************
     
  10. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    I was :wallbash: with this a lot last week.

    Spoiler Technical Details :
    By the way, it is better to move around the '''s than to actually change the order. It makes things easier when using WinMerge.

    If I do that, then replace the second item[1] with item[1] + self.REFRESH_FLAG in the call to setTableText, I get "unidentifiable C++ exception".

    I can't see any way to communicate to the jump event that the widget that was just clicked is in the subcategory list (so don't refresh the subcategory list) if I can't change the value of argument iData1. iData2 doesn't seem to get passed through the jump event back to CvScreenInterface.pediaJumpToTech(argsList).

    Even if you could fix that bug, you'd still have Sevo's "list selection bug". You know, the one where a table widget pretending to be a list box widget doesn't have a selection. :lol:

    That was the reason Progor took this feature out. Sevo and Ket got away with just keeping the subcategory list visible all the time and NEVER refreshing it. It was buggy but usable.

    I got sick of this and accepted Progor's compromise, a little less eye candy for a lot more usability. And I was able to put in the fix to stop it from refreshing all the time the way Progor's version did (the cause of the issue you are seeing).

    If anyone does get this to work, I'll be happy to bring the icons back.
     
  11. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    Another *Wish* I have is to be able to see the Tech Tree from within the Pedia so I can access it from the main game menu without starting a game.

    I might start working on this and see what I can come up with, I got such a page made could you add it?
     
  12. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    Yes. As I had already said in post 2. Good Luck.
     
  13. jsurpless

    jsurpless Chieftain

    Joined:
    Jul 5, 2006
    Messages:
    191
    Does this work under MacOS X? I'm guessing it doesn't since I tried installing it into the Mods directory and nothing seems to happen... but maybe I'm doing something wrong?

    Thanks!
     
  14. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    Is the 2.08 patch available for the Mac? If not, I may have to recommend using a previous version of the Sevopedia for now.

    Nothing happens? Are you sure the mod is being loaded? If there is no "Sevopedia 2.1" written on the top right of the main menu screen, go to Advanced - Load A Mod. If Sevopedia 2.1 isn't there either, you probably have it in the wrong directory.
     
  15. snipperrabbit!!

    snipperrabbit!! Chieftain

    Joined:
    Nov 23, 2006
    Messages:
    3,396
    In french, it is " Description non fournie."
     
  16. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    Hi, all.

    I'm trying to get the Promotions Graph to include the new "AND" style prerequisites Warlords has. However, simply putting them in creates this mess:



    Just where is that extra arrow coming out of "Lead by Warlord" going?

    The code change I am using is inserted at line 548 in UnitUpgradesGraph.py:

    Code:
    	def getGraphEdges(self, graph):
    		for unitA in graph.iterkeys():
    			unitB = gc.getPromotionInfo(unitA).getPrereqOrPromotion1()
    			if (unitB > -1):
    				graph[unitA].upgradesFrom.add(unitB)
    				graph[unitB].upgradesTo.add(unitA)
    			unitC = gc.getPromotionInfo(unitA).getPrereqOrPromotion2()
    			if (unitC > -1):
    				graph[unitA].upgradesFrom.add(unitC)
    				graph[unitC].upgradesTo.add(unitA)
    			[b]unitD = gc.getPromotionInfo(unitA).getPrereqPromotion()
    			if (unitD > -1):
    				graph[unitA].upgradesFrom.add(unitD)
    				graph[unitD].upgradesTo.add(unitA)[/b]
    
    Please help!

    Edit: I was able to fix this myself. See here.
     
  17. snipperrabbit!!

    snipperrabbit!! Chieftain

    Joined:
    Nov 23, 2006
    Messages:
    3,396
    just a pic for more variety of icons



    hope that helps
     
  18. Healz

    Healz General

    Joined:
    Jun 11, 2002
    Messages:
    953
    Location:
    Maryborough, Australia
    Does it still work for Vanilla Civ IV? Just wondered as you didn't say...
     
  19. Gaurav

    Gaurav Chieftain

    Joined:
    May 14, 2006
    Messages:
    402
    No.

    While it would not be hard to make it work, I can't legally distribute anything containing Warlords code that would work on 1.61. Those terms and conditions are laid down by Firaxis.

    I recommend this version.
     
  20. Roamty

    Roamty BTS

    Joined:
    Nov 30, 2005
    Messages:
    534
    Location:
    South Park
    Wish can a page be made to show what Era a unit belongs in.

    Ancient era units
    Classical era units
    Medieval era units

    and so on to Future era units
     

Share This Page