From: <lyn...@us...> - 2009-06-15 17:36:14
|
Revision: 6455 http://gemrb.svn.sourceforge.net/gemrb/?rev=6455&view=rev Author: lynxlupodian Date: 2009-06-15 17:35:17 +0000 (Mon, 15 Jun 2009) Log Message: ----------- LUSpellSelection: generalised so bg1 and bg2 can share it the bg1 version was done by danamin someone with both bgs should check if all the recommend (bg1/bg2) checks are really necessary Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-15 17:35:06 UTC (rev 6454) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-15 17:35:17 UTC (rev 6455) @@ -22,7 +22,8 @@ from GUIDefines import * from ie_stats import * from GUICommon import GetMageSpells, HasSpell -from GUICommonWindows import * +from BGCommon import * +from CharGenCommon import * # storage variables pc = 0 @@ -41,27 +42,32 @@ SpellLevel = 0 # << current level of spells SpellStart = 0 # << starting id of the spell list SpellPointsLeftLabel = 0 # << label indicating the number of points left +Scroll = 0 # scrollbar toggle # chargen only SpellsPickButton = 0 # << button to select random spells SpellsCancelButton = 0 # << cancel chargen -def OpenSpellsWindow (actor, table, level, diff, kit=0, gen=0): + +def OpenSpellsWindow (actor, table, level, diff, kit=0, gen=0, recommend=True, scroll=True): """Opens the spells selection window. table should refer to the name of the classes MXSPLxxx.2da. level contains the current level of the actor. diff contains the difference from the old level. kit should always be GetKitIndex except when dualclassing. - gen is true if this is for character generation.""" + gen is true if this is for character generation. + recommend is used in bg2 for spell recommendation / autopick. + scroll is used for adding a scrollbar, so more than 24 spells can be shown.""" global SpellsWindow, DoneButton, SpellsSelectPointsLeft, Spells, chargen, SpellPointsLeftLabel global SpellsTextArea, SpellsKnownTable, SpellTopIndex, SpellBook, SpellLevel, pc, SpellStart - global KitMask + global KitMask, Scroll # save our pc pc = actor chargen = gen + Scroll = scroll # this ensures compatibility with chargen, sorc, and dual-classing if kit == 0: @@ -80,30 +86,38 @@ if chargen: GemRB.LoadWindowPack("GUICG", 640, 480) SpellsWindow = GemRB.LoadWindowObject (7) + if not recommend: + CloseOtherWindow (SpellsWindow.Unload) DoneButton = SpellsWindow.GetControl (0) SpellsTextArea = SpellsWindow.GetControl (27) SpellPointsLeftLabel = SpellsWindow.GetControl (0x1000001b) - SpellsWindow.CreateScrollBar (1000, 325,42, 16,252) + if (scroll): + SpellsWindow.CreateScrollBar (1000, 325,42, 16,252) SpellStart = 2 # cancel button only applicable for chargen SpellsCancelButton = SpellsWindow.GetControl(29) SpellsCancelButton.SetState(IE_GUI_BUTTON_ENABLED) - SpellsCancelButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsCancelPress") + if recommend: + SpellsCancelButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsCancelPress") + else: + SpellsCancelButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "BackPress") SpellsCancelButton.SetText(13727) SpellsCancelButton.SetFlags (IE_GUI_BUTTON_CANCEL, OP_OR) - # recommended spell picks - SpellsPickButton = SpellsWindow.GetControl(30) - SpellsPickButton.SetState(IE_GUI_BUTTON_ENABLED) - SpellsPickButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsPickPress") - SpellsPickButton.SetText(34210) + if (recommend): + # recommended spell picks + SpellsPickButton = SpellsWindow.GetControl(30) + SpellsPickButton.SetState(IE_GUI_BUTTON_ENABLED) + SpellsPickButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsPickPress") + SpellsPickButton.SetText(34210) else: SpellsWindow = GemRB.LoadWindowObject (8) DoneButton = SpellsWindow.GetControl (28) SpellsTextArea = SpellsWindow.GetControl(26) SpellPointsLeftLabel = SpellsWindow.GetControl (0x10000018) - SpellsWindow.CreateScrollBar (1000, 290,142, 16,252) + if(scroll): + SpellsWindow.CreateScrollBar (1000, 290,142, 16,252) SpellStart = 0 # setup our variables @@ -152,17 +166,18 @@ SpellLevel = i SpellBook = [0]*len(Spells[i]) - # setup the scrollbar - ScrollBar = SpellsWindow.GetControl (1000) - ScrollBar.SetSprites ("GUISCRCW", 0, 0,1,2,3,5,4) - ScrollBar.SetEvent (IE_GUI_SCROLLBAR_ON_CHANGE, "ShowSpells") - ScrollBar.SetDefaultScrollBar () + if(scroll): + # setup the scrollbar + ScrollBar = SpellsWindow.GetControl (1000) + ScrollBar.SetSprites ("GUISCRCW", 0, 0,1,2,3,5,4) + ScrollBar.SetEvent (IE_GUI_SCROLLBAR_ON_CHANGE, "ShowSpells") + ScrollBar.SetDefaultScrollBar () - # only scroll if we have more than 24 spells - if len (Spells[i]) > 24: - ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23) - else: - ScrollBar.SetVarAssoc ("SpellTopIndex", 0) + # only scroll if we have more than 24 spells + if len (Spells[i]) > 24: + ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23) + else: + ScrollBar.SetVarAssoc ("SpellTopIndex", 0) # show our spells ShowSpells () @@ -170,7 +185,10 @@ # show the selection window if chargen: - SpellsWindow.SetVisible (1) + if recommend: + SpellsWindow.SetVisible (1) + else: + SpellsWindow.ShowModal (MODAL_SHADOW_NONE) else: SpellsWindow.ShowModal (MODAL_SHADOW_GRAY) @@ -197,25 +215,33 @@ SpellLevel = i SpellBook = [0]*len(Spells[i]) - # setup the scrollbar - ScrollBar = SpellsWindow.GetControl (1000) - if len (Spells[i]) > 24: - ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23) - else: - ScrollBar.SetVarAssoc ("SpellTopIndex", 0) + if (Scroll): + # setup the scrollbar + ScrollBar = SpellsWindow.GetControl (1000) + if len (Spells[i]) > 24: + ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23) + else: + ScrollBar.SetVarAssoc ("SpellTopIndex", 0) # show the spells and set the done button to off ShowSpells () DoneButton.SetState (IE_GUI_BUTTON_DISABLED) return - # close our window and update our records - if SpellsWindow: - SpellsWindow.Unload () + if not recommend: + # close our window and update our records + if SpellsWindow: + SpellsWindow.Unload () # move to the next script if this is chargen if chargen: - GemRB.SetNextScript("GUICG6") + if recommend: + GemRB.SetNextScript("GUICG6") + else: + next() + # close our window and update our records + elif SpellsWindow and not recommend: + SpellsWindow.Unload () return @@ -236,13 +262,17 @@ # fill in the button with the spell data Spell = GemRB.GetSpell (Spells[SpellLevel][i+SpellTopIndex][0], 1) SpellButton.SetTooltip(Spell['SpellName']) - SpellButton.SetSpellIcon(Spells[SpellLevel][i+SpellTopIndex][0], 1) SpellButton.SetVarAssoc("ButtonPressed", i) SpellButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsSelectPress") - SpellButton.SetSprites("GUIBTBUT", 0,0,1,2,3) + if recommend: + SpellButton.SetSprites("GUIBTBUT",0, 0,1,24,25) + else: + SpellButton.SetSprites("GUIBTBUT",0, 0,1,2,3) + SpellButton.SetSpellIcon(Spells[SpellLevel][i+SpellTopIndex][0], 1) SpellButton.SetFlags(IE_GUI_BUTTON_PICTURE, OP_OR) # don't allow the selection of an un-learnable spell + #TODO: check if the SetBorder calls work in bg1 if Spells[SpellLevel][i+SpellTopIndex][1] == 0: SpellButton.SetState(IE_GUI_BUTTON_LOCKED) # shade red This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2009-06-16 22:47:57
|
Revision: 6492 http://gemrb.svn.sourceforge.net/gemrb/?rev=6492&view=rev Author: fuzzie Date: 2009-06-16 22:47:55 +0000 (Tue, 16 Jun 2009) Log Message: ----------- LUSpellSelection: fix some GameIsBG1 logic reversals Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-16 22:46:55 UTC (rev 6491) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-16 22:47:55 UTC (rev 6492) @@ -228,7 +228,7 @@ DoneButton.SetState (IE_GUI_BUTTON_DISABLED) return - if GameIsBG1(): + if not GameIsBG1(): # close our window and update our records if SpellsWindow: SpellsWindow.Unload () @@ -240,7 +240,7 @@ else: next() # close our window and update our records - elif SpellsWindow and GameIsBG1(): + elif SpellsWindow and not GameIsBG1(): SpellsWindow.Unload () return @@ -264,7 +264,7 @@ SpellButton.SetTooltip(Spell['SpellName']) SpellButton.SetVarAssoc("ButtonPressed", i) SpellButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsSelectPress") - if not GameIsBG1(): + if GameIsBG1(): SpellButton.SetSprites("GUIBTBUT",0, 0,1,24,25) else: SpellButton.SetSprites("GUIBTBUT",0, 0,1,2,3) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2009-06-17 09:58:16
|
Revision: 6494 http://gemrb.svn.sourceforge.net/gemrb/?rev=6494&view=rev Author: lynxlupodian Date: 2009-06-17 09:57:58 +0000 (Wed, 17 Jun 2009) Log Message: ----------- remove an unneeded code block in LUSpellSelection Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-17 09:57:06 UTC (rev 6493) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-17 09:57:58 UTC (rev 6494) @@ -239,9 +239,6 @@ GemRB.SetNextScript("GUICG6") else: next() - # close our window and update our records - elif SpellsWindow and not GameIsBG1(): - SpellsWindow.Unload () return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2009-06-27 08:38:29
|
Revision: 6635 http://gemrb.svn.sourceforge.net/gemrb/?rev=6635&view=rev Author: lynxlupodian Date: 2009-06-27 08:38:11 +0000 (Sat, 27 Jun 2009) Log Message: ----------- LUSpellSelection: fixed bad borders on the last spell buttons Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-27 08:28:42 UTC (rev 6634) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-27 08:38:11 UTC (rev 6635) @@ -255,6 +255,9 @@ SpellButton.SetState (IE_GUI_BUTTON_DISABLED) SpellButton.SetFlags (IE_GUI_BUTTON_NO_IMAGE, OP_SET) continue + else: + SpellButton.SetState (IE_GUI_BUTTON_ENABLED) + SpellButton.SetFlags (IE_GUI_BUTTON_NO_IMAGE, OP_NAND) # fill in the button with the spell data Spell = GemRB.GetSpell (Spells[SpellLevel][i+SpellTopIndex][0], 1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2009-06-27 20:36:42
|
Revision: 6638 http://gemrb.svn.sourceforge.net/gemrb/?rev=6638&view=rev Author: fuzzie Date: 2009-06-27 20:35:42 +0000 (Sat, 27 Jun 2009) Log Message: ----------- LUSpellSelection: scrolling-by-line improvement patch from Nugrud Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-27 18:55:07 UTC (rev 6637) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-27 20:35:42 UTC (rev 6638) @@ -19,6 +19,7 @@ # $Id:$ import GemRB +from math import ceil from GUIDefines import * from ie_stats import * from GUICommon import GetMageSpells, HasSpell, GameIsBG1 @@ -42,7 +43,8 @@ SpellLevel = 0 # << current level of spells SpellStart = 0 # << starting id of the spell list SpellPointsLeftLabel = 0 # << label indicating the number of points left -Scroll = 0 # scrollbar toggle +Scroll = 0 # << scrollbar toggle +Sorc25thSpellButton = 1 # << toogle for new button for 25th spell icon in sorcerers' level up spells selection window # chargen only SpellsPickButton = 0 # << button to select random spells @@ -118,6 +120,9 @@ SpellPointsLeftLabel = SpellsWindow.GetControl (0x10000018) if(scroll): SpellsWindow.CreateScrollBar (1000, 290,142, 16,252) + #draw the 25th spell button for sorcerers? + if(Sorc25thSpellButton): + SpellsWindow.CreateButton (24, 231, 345, 42, 42) SpellStart = 0 # setup our variables @@ -175,7 +180,12 @@ # only scroll if we have more than 24 spells if len (Spells[i]) > 24: - ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23) + if chargen: + ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-24 ) / 6.0 ) ) + 1 ) + elif Sorc25thSpellButton: #there are five rows of 5 spells in level up of sorcs + ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-25 ) / 5.0 ) ) + 1 ) + else: #scrolling by rows if no 25th spell slot is available in sorcs level up looks weird so fallback to drawing 1 by 1 + ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23 ) else: ScrollBar.SetVarAssoc ("SpellTopIndex", 0) @@ -219,7 +229,12 @@ # setup the scrollbar ScrollBar = SpellsWindow.GetControl (1000) if len (Spells[i]) > 24: - ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23) + if chargen: + ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-24 ) / 6.0 ) ) + 1 ) + elif Sorc25thSpellButton: + ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-25 ) / 5.0 ) ) + 1 ) + else: + ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23 ) else: ScrollBar.SetVarAssoc ("SpellTopIndex", 0) @@ -245,13 +260,16 @@ def ShowSpells (): """Shows the viewable 24 spells.""" - SpellTopIndex = GemRB.GetVar ("SpellTopIndex") + j = RowIndex() + extrabuttons = 0 + if Sorc25thSpellButton and (not chargen): + extrabuttons = 1 # we have a grid of 24 spells - for i in range (24): + for i in range (24 + extrabuttons): # ensure we can learn this many spells SpellButton = SpellsWindow.GetControl (i+SpellStart) - if i+SpellTopIndex >= len (Spells[SpellLevel]): + if i + j >= len (Spells[SpellLevel]): SpellButton.SetState (IE_GUI_BUTTON_DISABLED) SpellButton.SetFlags (IE_GUI_BUTTON_NO_IMAGE, OP_SET) continue @@ -260,7 +278,7 @@ SpellButton.SetFlags (IE_GUI_BUTTON_NO_IMAGE, OP_NAND) # fill in the button with the spell data - Spell = GemRB.GetSpell (Spells[SpellLevel][i+SpellTopIndex][0], 1) + Spell = GemRB.GetSpell (Spells[SpellLevel][i+j][0], 1) SpellButton.SetTooltip(Spell['SpellName']) SpellButton.SetVarAssoc("ButtonPressed", i) SpellButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsSelectPress") @@ -268,16 +286,17 @@ SpellButton.SetSprites("GUIBTBUT",0, 0,1,24,25) else: SpellButton.SetSprites("GUIBTBUT",0, 0,1,2,3) - SpellButton.SetSpellIcon(Spells[SpellLevel][i+SpellTopIndex][0], 1) + + SpellButton.SetSpellIcon(Spells[SpellLevel][i+j][0], 1) SpellButton.SetFlags(IE_GUI_BUTTON_PICTURE, OP_OR) # don't allow the selection of an un-learnable spell #TODO: check if the SetBorder calls work in bg1 - if Spells[SpellLevel][i+SpellTopIndex][1] == 0: + if Spells[SpellLevel][i+j][1] == 0: SpellButton.SetState(IE_GUI_BUTTON_LOCKED) # shade red SpellButton.SetBorder (0, 0,0, 0,0, 200,0,0,100, 1,1) - elif Spells[SpellLevel][i+SpellTopIndex][1] == 1: # learnable + elif Spells[SpellLevel][i+j][1] == 1: # learnable SpellButton.SetState (IE_GUI_BUTTON_ENABLED) # unset any borders on this button or an un-learnable from last level # will still shade red even though it is clickable @@ -301,8 +320,8 @@ global SpellsSelectPointsLeft, Spells, SpellBook # get our variables - SpellTopIndex = GemRB.GetVar ("SpellTopIndex") - i = GemRB.GetVar ("ButtonPressed") + SpellTopIndex + j = RowIndex() + i = GemRB.GetVar ("ButtonPressed") + j # get the spell that's been pushed Spell = GemRB.GetSpell (Spells[SpellLevel][i][0], 1) @@ -345,7 +364,7 @@ If selected is true, the button is highlighted. Be sure i is sent with +SpellTopIndex!""" - SpellTopIndex = GemRB.GetVar ("SpellTopIndex") + j = RowIndex() if select: type = IE_GUI_BUTTON_SELECTED @@ -359,23 +378,26 @@ type = IE_GUI_BUTTON_LOCKED # we have to use the index on the actual grid - SpellButton = SpellsWindow.GetControl(i+SpellStart-SpellTopIndex) + SpellButton = SpellsWindow.GetControl(i+SpellStart-j) SpellButton.SetState(type) return def ShowSelectedSpells (): """Highlights all selected spells.""" - SpellTopIndex = GemRB.GetVar ("SpellTopIndex") + k = RowIndex() + extrabuttons = 0 + if Sorc25thSpellButton and (not chargen): + extrabuttons = 1 # mark all of the spells picked thus far - for j in range (24): - if j+SpellTopIndex >= len (SpellBook): # make sure we don't call unavailable indexes + for j in range (24 + extrabuttons): + if j + k >= len (SpellBook): # make sure we don't call unavailable indexes break - if SpellBook[j+SpellTopIndex]: # selected - MarkButton (j+SpellTopIndex, 1) + if SpellBook[j+k]: # selected + MarkButton (j+k, 1) else: # not selected - MarkButton (j+SpellTopIndex, 0) + MarkButton (j+k, 0) # show how many spell picks are left SpellPointsLeftLabel.SetText (str (SpellsSelectPointsLeft[SpellLevel])) @@ -462,3 +484,19 @@ # no luck return 0 + +def RowIndex (): + """Determines which factor to use in scrolling of spells + + It depends on if it is character generation where you have + 4 rows of 6 spells (24), or it is sorcs level up window where there + is 4 rows of 5 spells and 5th row of 4 spell, but you may also use 25th slot there + and it is 5 rows of 5 with 25 spells seen at once. """ + + SpellTopIndex = GemRB.GetVar ("SpellTopIndex") + if chargen: + return ( SpellTopIndex + 1 ) * 6 - 6 + elif Sorc25thSpellButton: + return ( SpellTopIndex + 1 ) * 5 - 5 + else: + return SpellTopIndex This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2009-06-28 10:23:53
|
Revision: 6642 http://gemrb.svn.sourceforge.net/gemrb/?rev=6642&view=rev Author: fuzzie Date: 2009-06-28 10:23:12 +0000 (Sun, 28 Jun 2009) Log Message: ----------- LUSpellSelection: tidy-up patch from Nugrud Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-28 01:12:27 UTC (rev 6641) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-06-28 10:23:12 UTC (rev 6642) @@ -60,7 +60,7 @@ kit should always be GetKitIndex except when dualclassing. gen is true if this is for character generation. recommend is used in bg2 for spell recommendation / autopick. - scroll is used for adding a scrollbar, so more than 24 spells can be shown.""" + scroll is used for adding a scrollbar, so more than 24 (or 25 in other case) spells can be shown.""" global SpellsWindow, DoneButton, SpellsSelectPointsLeft, Spells, chargen, SpellPointsLeftLabel global SpellsTextArea, SpellsKnownTable, SpellTopIndex, SpellBook, SpellLevel, pc, SpellStart @@ -178,8 +178,8 @@ ScrollBar.SetEvent (IE_GUI_SCROLLBAR_ON_CHANGE, "ShowSpells") ScrollBar.SetDefaultScrollBar () - # only scroll if we have more than 24 spells - if len (Spells[i]) > 24: + # only scroll if we have more than 24 spells or 25 if extra 25th spell slot is available in sorcs LevelUp + if len (Spells[i]) > ( 24 + ExtraSpellButtons() ): if chargen: ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-24 ) / 6.0 ) ) + 1 ) elif Sorc25thSpellButton: #there are five rows of 5 spells in level up of sorcs @@ -228,7 +228,7 @@ if (Scroll): # setup the scrollbar ScrollBar = SpellsWindow.GetControl (1000) - if len (Spells[i]) > 24: + if len (Spells[i]) > ( 24 + ExtraSpellButtons() ): if chargen: ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-24 ) / 6.0 ) ) + 1 ) elif Sorc25thSpellButton: @@ -261,12 +261,9 @@ """Shows the viewable 24 spells.""" j = RowIndex() - extrabuttons = 0 - if Sorc25thSpellButton and (not chargen): - extrabuttons = 1 # we have a grid of 24 spells - for i in range (24 + extrabuttons): + for i in range (24 + ExtraSpellButtons()): # ensure we can learn this many spells SpellButton = SpellsWindow.GetControl (i+SpellStart) if i + j >= len (Spells[SpellLevel]): @@ -386,12 +383,9 @@ """Highlights all selected spells.""" k = RowIndex() - extrabuttons = 0 - if Sorc25thSpellButton and (not chargen): - extrabuttons = 1 # mark all of the spells picked thus far - for j in range (24 + extrabuttons): + for j in range (24 + ExtraSpellButtons()): if j + k >= len (SpellBook): # make sure we don't call unavailable indexes break if SpellBook[j+k]: # selected @@ -500,3 +494,11 @@ return ( SpellTopIndex + 1 ) * 5 - 5 else: return SpellTopIndex + +def ExtraSpellButtons (): + """Determines if extra spell slots are available. """ + + if Sorc25thSpellButton and (not chargen): + return 1 + else: + return 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2009-07-19 13:58:45
|
Revision: 6750 http://gemrb.svn.sourceforge.net/gemrb/?rev=6750&view=rev Author: lynxlupodian Date: 2009-07-19 13:58:23 +0000 (Sun, 19 Jul 2009) Log Message: ----------- LUSpellSelection.py: applied patch by nugrud which results in us making a scrollbar only when it is needed Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-07-19 13:39:12 UTC (rev 6749) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-07-19 13:58:23 UTC (rev 6750) @@ -95,6 +95,7 @@ SpellPointsLeftLabel = SpellsWindow.GetControl (0x1000001b) if (scroll): SpellsWindow.CreateScrollBar (1000, 325,42, 16,252) + HideUnhideScrollBar(1) SpellStart = 2 # cancel button only applicable for chargen @@ -120,6 +121,7 @@ SpellPointsLeftLabel = SpellsWindow.GetControl (0x10000018) if(scroll): SpellsWindow.CreateScrollBar (1000, 290,142, 16,252) + HideUnhideScrollBar(1) #draw the 25th spell button for sorcerers? if(Sorc25thSpellButton): SpellsWindow.CreateButton (24, 231, 345, 42, 42) @@ -180,6 +182,7 @@ # only scroll if we have more than 24 spells or 25 if extra 25th spell slot is available in sorcs LevelUp if len (Spells[i]) > ( 24 + ExtraSpellButtons() ): + HideUnhideScrollBar(0) if chargen: ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-24 ) / 6.0 ) ) + 1 ) elif Sorc25thSpellButton: #there are five rows of 5 spells in level up of sorcs @@ -188,6 +191,7 @@ ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23 ) else: ScrollBar.SetVarAssoc ("SpellTopIndex", 0) + HideUnhideScrollBar(1) # show our spells ShowSpells () @@ -229,6 +233,7 @@ # setup the scrollbar ScrollBar = SpellsWindow.GetControl (1000) if len (Spells[i]) > ( 24 + ExtraSpellButtons() ): + HideUnhideScrollBar(0) if chargen: ScrollBar.SetVarAssoc ("SpellTopIndex", int ( ceil ( ( len (Spells[i])-24 ) / 6.0 ) ) + 1 ) elif Sorc25thSpellButton: @@ -237,6 +242,7 @@ ScrollBar.SetVarAssoc ("SpellTopIndex", len (Spells[i])-23 ) else: ScrollBar.SetVarAssoc ("SpellTopIndex", 0) + HideUnhideScrollBar(1) # show the spells and set the done button to off ShowSpells () @@ -502,3 +508,21 @@ return 1 else: return 0 + +def HideUnhideScrollBar (hide = 0): + ScrollBar = SpellsWindow.GetControl (1000) + + if hide == 1: + ScrollBar.SetPos(-1,-1) + else: + scrollx = 0 + scrolly = 0 + + if chargen: + scrollx = 325 + scrolly = 42 + else: + scrollx = 290 + scrolly = 142 + + ScrollBar.SetPos(scrollx,scrolly) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2009-09-15 19:39:02
|
Revision: 7174 http://gemrb.svn.sourceforge.net/gemrb/?rev=7174&view=rev Author: lynxlupodian Date: 2009-09-15 19:38:54 +0000 (Tue, 15 Sep 2009) Log Message: ----------- LUSpellSelection: small improvement for iwd Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-09-15 19:19:49 UTC (rev 7173) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-09-15 19:38:54 UTC (rev 7174) @@ -244,14 +244,14 @@ DoneButton.SetState (IE_GUI_BUTTON_DISABLED) return - if not GameIsBG1(): + if GameIsBG2(): # close our window and update our records if SpellsWindow: SpellsWindow.Unload () # move to the next script if this is chargen if chargen: - if not GameIsBG1(): + if GameIsBG2(): GemRB.SetNextScript("GUICG6") else: next() @@ -280,10 +280,10 @@ SpellButton.SetTooltip(Spell['SpellName']) SpellButton.SetVarAssoc("ButtonPressed", i) SpellButton.SetEvent(IE_GUI_BUTTON_ON_PRESS, "SpellsSelectPress") - if GameIsBG1(): + if GameIsBG2(): + SpellButton.SetSprites("GUIBTBUT",0, 0,1,2,3) + else: SpellButton.SetSprites("GUIBTBUT",0, 0,1,24,25) - else: - SpellButton.SetSprites("GUIBTBUT",0, 0,1,2,3) SpellButton.SetSpellIcon(Spells[SpellLevel][i+j][0], 1) SpellButton.SetFlags(IE_GUI_BUTTON_PICTURE, OP_OR) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2009-09-15 19:40:39
|
Revision: 7175 http://gemrb.svn.sourceforge.net/gemrb/?rev=7175&view=rev Author: lynxlupodian Date: 2009-09-15 19:40:32 +0000 (Tue, 15 Sep 2009) Log Message: ----------- LUSpellSelection: indentation cleanup in HideUnhideScrollBar Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-09-15 19:38:54 UTC (rev 7174) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-09-15 19:40:32 UTC (rev 7175) @@ -508,16 +508,14 @@ ScrollBar = SpellsWindow.GetControl (1000) if hide == 1: - ScrollBar.SetPos(-1,-1) + scrollx = -1 + scrolly = -1 else: - scrollx = 0 - scrolly = 0 + if chargen: + scrollx = 325 + scrolly = 42 + else: + scrollx = 290 + scrolly = 142 - if chargen: - scrollx = 325 - scrolly = 42 - else: - scrollx = 290 - scrolly = 142 - - ScrollBar.SetPos(scrollx,scrolly) + ScrollBar.SetPos (scrollx, scrolly) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2009-09-15 19:43:23
|
Revision: 7176 http://gemrb.svn.sourceforge.net/gemrb/?rev=7176&view=rev Author: lynxlupodian Date: 2009-09-15 19:43:15 +0000 (Tue, 15 Sep 2009) Log Message: ----------- LUSpellSelection: removed a stale import Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-09-15 19:40:32 UTC (rev 7175) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2009-09-15 19:43:15 UTC (rev 7176) @@ -23,7 +23,6 @@ from GUIDefines import * from ie_stats import * from GUICommon import * -from CharGenCommon import * # storage variables pc = 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lyn...@us...> - 2010-03-23 21:06:00
|
Revision: 7494 http://gemrb.svn.sourceforge.net/gemrb/?rev=7494&view=rev Author: lynxlupodian Date: 2010-03-23 21:05:49 +0000 (Tue, 23 Mar 2010) Log Message: ----------- SpellsDonePress: only call next() in bg1 Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py Modified: gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2010-02-08 17:12:40 UTC (rev 7493) +++ gemrb/trunk/gemrb/GUIScripts/LUSpellSelection.py 2010-03-23 21:05:49 UTC (rev 7494) @@ -252,7 +252,9 @@ if chargen: if GameIsBG2(): GemRB.SetNextScript("GUICG6") - else: + elif GameIsBG1(): + # HACK + from CharGenCommon import next next() return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |