From: <ave...@us...> - 2007-03-03 13:28:19
|
Revision: 4522 http://gemrb.svn.sourceforge.net/gemrb/?rev=4522&view=rev Author: avenger_teambg Date: 2007-03-03 05:28:19 -0800 (Sat, 03 Mar 2007) Log Message: ----------- bg2/tob: containers are now openable (double clicks don't work, only right click+open container button) fixed window darkening in journal window Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/bg2/GUICommonWindows.py gemrb/trunk/gemrb/GUIScripts/bg2/GUIINV.py gemrb/trunk/gemrb/GUIScripts/bg2/GUIJRNL.py gemrb/trunk/gemrb/GUIScripts/bg2/GUISTORE.py gemrb/trunk/gemrb/GUIScripts/tob/GUICommonWindows.py gemrb/trunk/gemrb/GUIScripts/tob/GUIINV.py gemrb/trunk/gemrb/GUIScripts/tob/GUIJRNL.py gemrb/trunk/gemrb/GUIScripts/tob/GUISTORE.py Modified: gemrb/trunk/gemrb/GUIScripts/bg2/GUICommonWindows.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/bg2/GUICommonWindows.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/bg2/GUICommonWindows.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -490,6 +490,9 @@ GemRB.SetTooltip (Window, Button, 10485) GemRB.SetEvent (Window, Button, IE_GUI_BUTTON_ON_PRESS, "SelectAllOnPress") + pc = GemRB.GameGetSelectedPCSingle () + Inventory = GemRB.GetVar ("Inventory") + for i in range (PARTY_SIZE): Button = GemRB.GetControl (Window, i) GemRB.SetVarAssoc (Window, Button, "PressedPortrait", i) @@ -504,6 +507,12 @@ GemRB.SetEvent (Window, Button, IE_GUI_MOUSE_ENTER_BUTTON, "PortraitButtonOnMouseEnter") GemRB.SetEvent (Window, Button, IE_GUI_MOUSE_LEAVE_BUTTON, "PortraitButtonOnMouseLeave") + if Inventory and pc !=i+1: + GemRB.SetButtonFlags (Window, Button, IE_GUI_BUTTON_NO_IMAGE, OP_SET) + GemRB.SetButtonState (Window, Button, IE_GUI_BUTTON_DISABLED) + GemRB.SetText (Window, Button, "") + GemRB.SetTooltip (Window, Button, "") + GemRB.SetButtonBorder (Window, Button, FRAME_PC_SELECTED, 1, 1, 2, 2, 0, 255, 0, 255) GemRB.SetButtonBorder (Window, Button, FRAME_PC_TARGET, 3, 3, 4, 4, 255, 255, 0, 255) #GemRB.SetButtonFont (Window, Button, "NORMAL") @@ -515,9 +524,15 @@ def UpdatePortraitWindow (): Window = PortraitWindow + pc = GemRB.GameGetSelectedPCSingle () + Inventory = GemRB.GetVar ("Inventory") + for i in range (PARTY_SIZE): Button = GemRB.GetControl (Window, i) pic = GemRB.GetPlayerPortrait (i+1, 1) + if Inventory and pc!=i+1: + pic = None + if not pic: GemRB.SetButtonFlags (Window, Button, IE_GUI_BUTTON_NO_IMAGE, OP_SET) GemRB.SetButtonState (Window, Button, IE_GUI_BUTTON_DISABLED) Modified: gemrb/trunk/gemrb/GUIScripts/bg2/GUIINV.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/bg2/GUIINV.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/bg2/GUIINV.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -26,6 +26,7 @@ import string import GemRB import GUICommonWindows +from GUISTORE import * from GUIDefines import * from ie_stats import * from ie_slots import * @@ -68,13 +69,15 @@ InventoryWindow = None GemRB.SetVar ("OtherWindow", -1) GemRB.SetVar ("MessageLabel", -1) - GemRB.SetVisible (0,1) - GemRB.UnhideGUI () GUICommonWindows.PortraitWindow = OldPortraitWindow OldPortraitWindow = None GUICommonWindows.OptionsWindow = OldOptionsWindow OldOptionsWindow = None - SetSelectionChangeHandler (None) + #don't go back to multi selection mode when going to the store screen + if not GemRB.GetVar("Inventory"): + GemRB.SetVisible (0,1) + GemRB.UnhideGUI () + SetSelectionChangeHandler (None) return GemRB.HideGUI () @@ -538,6 +541,19 @@ UpdateInventoryWindow () return +def OpenItemWindow (): + #close inventory + GemRB.SetVar ("Inventory", 1) + GemRB.UnloadWindow (ItemInfoWindow) + OpenInventoryWindow () + pc = GemRB.GameGetSelectedPCSingle () + slot = GemRB.GetVar ("ItemButton") + slot_item = GemRB.GetSlotItem (pc, slot) + ResRef = slot_item['ItemResRef'] + #the store will have to reopen the inventory + GemRB.EnterStore (ResRef) + return + def DialogItemWindow (): GemRB.UnloadWindow (ItemInfoWindow) OpenInventoryWindow () @@ -547,7 +563,7 @@ ResRef = slot_item['ItemResRef'] item = GemRB.GetItem (ResRef) dialog=item["Dialog"] - GemRB.ExecuteString("StartDialog(\""+dialog+"\",Myself)", pc) + GemRB.ExecuteString ("StartDialog(\""+dialog+"\",Myself)", pc) return def IdentifyUseSpell (): @@ -606,7 +622,7 @@ def CloseItemInfoWindow (): GemRB.UnloadWindow (ItemInfoWindow) - UpdateInventoryWindow () + UpdateInventoryWindow() return def DisplayItem (itemresref, type): Modified: gemrb/trunk/gemrb/GUIScripts/bg2/GUIJRNL.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/bg2/GUIJRNL.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/bg2/GUIJRNL.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -61,6 +61,7 @@ OldPortraitWindow = None GUICommonWindows.OptionsWindow = OldOptionsWindow OldOptionsWindow = None + SetSelectionChangeHandler (None) return Table = GemRB.LoadTable("YEARS") @@ -126,9 +127,10 @@ #GemRB.SetEvent (JournalWindow, Button, IE_GUI_BUTTON_ON_PRESS, "OpenJournalWindow") Chapter = GemRB.GetGameVar("chapter") + SetSelectionChangeHandler (UpdateLogWindow) UpdateLogWindow () GemRB.SetVisible (OptionsWindow, 1) - GemRB.SetVisible (Window, 1) + GemRB.SetVisible (Window, 3) GemRB.SetVisible (PortraitWindow, 1) return @@ -174,6 +176,7 @@ GemRB.TextAreaAppend (Window, Text, je['Text'], 3*i+1) GemRB.TextAreaAppend (Window, Text, "", 3*i + 2) + GemRB.SetVisible (Window, 1) return ################################################### Modified: gemrb/trunk/gemrb/GUIScripts/bg2/GUISTORE.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/bg2/GUISTORE.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/bg2/GUISTORE.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -51,6 +51,7 @@ ITEM_PC = 0 ITEM_STORE = 1 +Inventory = None RentIndex = -1 Store = None Buttons = [-1,-1,-1,-1] @@ -95,23 +96,28 @@ global StoreWindow, ActionWindow, PortraitWindow global OldPortraitWindow + GemRB.SetVar ("Inventory", 0) CloseWindows () GemRB.UnloadWindow (StoreWindow) GemRB.UnloadWindow (ActionWindow) GemRB.UnloadWindow (PortraitWindow) StoreWindow = None GemRB.LeaveStore () - GemRB.SetVisible (0,1) #enabling the game control screen - GemRB.UnhideGUI () #enabling the other windows GUICommonWindows.PortraitWindow = OldPortraitWindow - SetSelectionChangeHandler( None ) + if Inventory: + GemRB.RunEventHandler("OpenInventoryWindow") + else: + GemRB.SetVisible (0,1) #enabling the game control screen + GemRB.UnhideGUI () #enabling the other windows + SetSelectionChangeHandler( None ) + return - def OpenStoreWindow (): global Store global StoreWindow, ActionWindow, PortraitWindow global OldPortraitWindow global store_update_funcs + global Inventory #these are function pointers, not strings #can't put this in global init, doh! @@ -123,6 +129,11 @@ GemRB.HideGUI () GemRB.SetVisible (0,0) #removing the game control screen + if GemRB.GetVar ("Inventory"): + Inventory = 1 + else: + Inventory = None + GemRB.SetVar ("Action", 0) GemRB.LoadWindowPack ("GUISTORE", 640, 480) StoreWindow = Window = GemRB.LoadWindow (3) @@ -166,6 +177,7 @@ GemRB.SetVisible (Window, 1) store_update_funcs[store_buttons[0]] () GemRB.SetVisible (PortraitWindow, 1) + #GemRB.SetVar ("Inventory", 0) def OpenStoreShoppingWindow (): @@ -195,12 +207,19 @@ # Buy LeftButton = Button = GemRB.GetControl (Window, 2) - GemRB.SetText (Window, Button, 13703) + if Inventory: + GemRB.SetText (Window, Button, 51882) + else: + GemRB.SetText (Window, Button, 13703) GemRB.SetEvent (Window, Button, IE_GUI_BUTTON_ON_PRESS, "BuyPressed") # Sell RightButton = Button = GemRB.GetControl (Window, 3) - GemRB.SetText (Window, Button, 13704) + if Inventory: + GemRB.SetText (Window, Button, 51883) + else: + GemRB.SetText (Window, Button, 13704) + GemRB.SetEvent (Window, Button, IE_GUI_BUTTON_ON_PRESS, "SellPressed") # inactive button Modified: gemrb/trunk/gemrb/GUIScripts/tob/GUICommonWindows.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/tob/GUICommonWindows.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/tob/GUICommonWindows.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -490,6 +490,9 @@ GemRB.SetTooltip (Window, Button, 10485) GemRB.SetEvent (Window, Button, IE_GUI_BUTTON_ON_PRESS, "SelectAllOnPress") + pc = GemRB.GameGetSelectedPCSingle () + Inventory = GemRB.GetVar ("Inventory") + for i in range (PARTY_SIZE): Button = GemRB.GetControl (Window, i) GemRB.SetVarAssoc (Window, Button, "PressedPortrait", i) @@ -504,6 +507,12 @@ GemRB.SetEvent (Window, Button, IE_GUI_MOUSE_ENTER_BUTTON, "PortraitButtonOnMouseEnter") GemRB.SetEvent (Window, Button, IE_GUI_MOUSE_LEAVE_BUTTON, "PortraitButtonOnMouseLeave") + if Inventory and pc !=i+1: + GemRB.SetButtonFlags (Window, Button, IE_GUI_BUTTON_NO_IMAGE, OP_SET) + GemRB.SetButtonState (Window, Button, IE_GUI_BUTTON_DISABLED) + GemRB.SetText (Window, Button, "") + GemRB.SetTooltip (Window, Button, "") + GemRB.SetButtonBorder (Window, Button, FRAME_PC_SELECTED, 1, 1, 2, 2, 0, 255, 0, 255) GemRB.SetButtonBorder (Window, Button, FRAME_PC_TARGET, 3, 3, 4, 4, 255, 255, 0, 255) #GemRB.SetButtonFont (Window, Button, "NORMAL") @@ -515,9 +524,15 @@ def UpdatePortraitWindow (): Window = PortraitWindow + pc = GemRB.GameGetSelectedPCSingle () + Inventory = GemRB.GetVar ("Inventory") + for i in range (PARTY_SIZE): Button = GemRB.GetControl (Window, i) pic = GemRB.GetPlayerPortrait (i+1, 1) + if Inventory and pc!=i+1: + pic = None + if not pic: GemRB.SetButtonFlags (Window, Button, IE_GUI_BUTTON_NO_IMAGE, OP_SET) GemRB.SetButtonState (Window, Button, IE_GUI_BUTTON_DISABLED) Modified: gemrb/trunk/gemrb/GUIScripts/tob/GUIINV.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/tob/GUIINV.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/tob/GUIINV.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -26,6 +26,7 @@ import string import GemRB import GUICommonWindows +from GUISTORE import * from GUIDefines import * from ie_stats import * from ie_slots import * @@ -68,13 +69,15 @@ InventoryWindow = None GemRB.SetVar ("OtherWindow", -1) GemRB.SetVar ("MessageLabel", -1) - GemRB.SetVisible (0,1) - GemRB.UnhideGUI () GUICommonWindows.PortraitWindow = OldPortraitWindow OldPortraitWindow = None GUICommonWindows.OptionsWindow = OldOptionsWindow OldOptionsWindow = None - SetSelectionChangeHandler (None) + #don't go back to multi selection mode when going to the store screen + if not GemRB.GetVar("Inventory"): + GemRB.SetVisible (0,1) + GemRB.UnhideGUI () + SetSelectionChangeHandler (None) return GemRB.HideGUI () @@ -538,6 +541,19 @@ UpdateInventoryWindow () return +def OpenItemWindow (): + #close inventory + GemRB.SetVar ("Inventory", 1) + GemRB.UnloadWindow (ItemInfoWindow) + OpenInventoryWindow () + pc = GemRB.GameGetSelectedPCSingle () + slot = GemRB.GetVar ("ItemButton") + slot_item = GemRB.GetSlotItem (pc, slot) + ResRef = slot_item['ItemResRef'] + #the store will have to reopen the inventory + GemRB.EnterStore (ResRef) + return + def DialogItemWindow (): GemRB.UnloadWindow (ItemInfoWindow) OpenInventoryWindow () @@ -547,7 +563,7 @@ ResRef = slot_item['ItemResRef'] item = GemRB.GetItem (ResRef) dialog=item["Dialog"] - GemRB.ExecuteString("StartDialog(\""+dialog+"\",Myself)", pc) + GemRB.ExecuteString ("StartDialog(\""+dialog+"\",Myself)", pc) return def IdentifyUseSpell (): @@ -606,7 +622,7 @@ def CloseItemInfoWindow (): GemRB.UnloadWindow (ItemInfoWindow) - UpdateInventoryWindow () + UpdateInventoryWindow() return def DisplayItem (itemresref, type): Modified: gemrb/trunk/gemrb/GUIScripts/tob/GUIJRNL.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/tob/GUIJRNL.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/tob/GUIJRNL.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -61,6 +61,7 @@ OldPortraitWindow = None GUICommonWindows.OptionsWindow = OldOptionsWindow OldOptionsWindow = None + SetSelectionChangeHandler (None) return Table = GemRB.LoadTable("YEARS") @@ -126,9 +127,10 @@ #GemRB.SetEvent (JournalWindow, Button, IE_GUI_BUTTON_ON_PRESS, "OpenJournalWindow") Chapter = GemRB.GetGameVar("chapter") + SetSelectionChangeHandler (UpdateLogWindow) UpdateLogWindow () GemRB.SetVisible (OptionsWindow, 1) - GemRB.SetVisible (Window, 1) + GemRB.SetVisible (Window, 3) GemRB.SetVisible (PortraitWindow, 1) return @@ -174,6 +176,7 @@ GemRB.TextAreaAppend (Window, Text, je['Text'], 3*i+1) GemRB.TextAreaAppend (Window, Text, "", 3*i + 2) + GemRB.SetVisible (Window, 1) return ################################################### Modified: gemrb/trunk/gemrb/GUIScripts/tob/GUISTORE.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/tob/GUISTORE.py 2007-03-03 13:22:00 UTC (rev 4521) +++ gemrb/trunk/gemrb/GUIScripts/tob/GUISTORE.py 2007-03-03 13:28:19 UTC (rev 4522) @@ -51,6 +51,7 @@ ITEM_PC = 0 ITEM_STORE = 1 +Inventory = None RentIndex = -1 Store = None Buttons = [-1,-1,-1,-1] @@ -95,23 +96,28 @@ global StoreWindow, ActionWindow, PortraitWindow global OldPortraitWindow + GemRB.SetVar ("Inventory", 0) CloseWindows () GemRB.UnloadWindow (StoreWindow) GemRB.UnloadWindow (ActionWindow) GemRB.UnloadWindow (PortraitWindow) StoreWindow = None GemRB.LeaveStore () - GemRB.SetVisible (0,1) #enabling the game control screen - GemRB.UnhideGUI () #enabling the other windows GUICommonWindows.PortraitWindow = OldPortraitWindow - SetSelectionChangeHandler( None ) + if Inventory: + GemRB.RunEventHandler("OpenInventoryWindow") + else: + GemRB.SetVisible (0,1) #enabling the game control screen + GemRB.UnhideGUI () #enabling the other windows + SetSelectionChangeHandler( None ) + return - def OpenStoreWindow (): global Store global StoreWindow, ActionWindow, PortraitWindow global OldPortraitWindow global store_update_funcs + global Inventory #these are function pointers, not strings #can't put this in global init, doh! @@ -123,6 +129,11 @@ GemRB.HideGUI () GemRB.SetVisible (0,0) #removing the game control screen + if GemRB.GetVar ("Inventory"): + Inventory = 1 + else: + Inventory = None + GemRB.SetVar ("Action", 0) GemRB.LoadWindowPack ("GUISTORE", 640, 480) StoreWindow = Window = GemRB.LoadWindow (3) @@ -166,6 +177,7 @@ GemRB.SetVisible (Window, 1) store_update_funcs[store_buttons[0]] () GemRB.SetVisible (PortraitWindow, 1) + #GemRB.SetVar ("Inventory", 0) def OpenStoreShoppingWindow (): @@ -195,12 +207,19 @@ # Buy LeftButton = Button = GemRB.GetControl (Window, 2) - GemRB.SetText (Window, Button, 13703) + if Inventory: + GemRB.SetText (Window, Button, 51882) + else: + GemRB.SetText (Window, Button, 13703) GemRB.SetEvent (Window, Button, IE_GUI_BUTTON_ON_PRESS, "BuyPressed") # Sell RightButton = Button = GemRB.GetControl (Window, 3) - GemRB.SetText (Window, Button, 13704) + if Inventory: + GemRB.SetText (Window, Button, 51883) + else: + GemRB.SetText (Window, Button, 13704) + GemRB.SetEvent (Window, Button, IE_GUI_BUTTON_ON_PRESS, "SellPressed") # inactive button This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |