Sevopedia

Gaurav

Prince
Joined
May 14, 2006
Messages
404

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.
 

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.
 
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.
 
I love you.
I love you.
This is a much better hanukah present than a measley 20 bux from my grandma.
 
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.
 
Impaler[WrG];4917507 said:
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.

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:
 
In german you could say: "Keine Informationen verf&#252;gbar."

With &#252; = &#252;
 
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)

'''
*****************************************************************************************************************************
 
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.

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.
 
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?
 
Impaler[WrG];4923401 said:
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?

Yes. As I had already said in post 2. Good Luck.
 
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!
 
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!

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.
 
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.
 
Does it still work for Vanilla Civ IV? Just wondered as you didn't say...

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.
 
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
 
Top Bottom