From 3d8174361e4fc924ef05c3952106b3b9b20a78ac Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Wed, 7 Sep 2011 10:46:22 +0000
Subject: [PATCH] Added a fourth page of hotkeys bringing the total to 48

git-svn-id: http://svn.net-core.org/repos/t-engine4@4355 51575b47-30f0-44d4-a5cc-537603b46e54
---
 .../engines/default/data/keybinds/hotkeys.lua | 74 +++++++++++++++++++
 .../default/engine/dialogs/ShowEquipInven.lua | 12 +++
 .../default/engine/dialogs/UseTalents.lua     | 12 +++
 .../default/engine/interface/ActorTalents.lua |  2 +-
 .../engine/interface/PlayerHotkeys.lua        |  8 +-
 game/modules/tome/class/Game.lua              | 12 +++
 .../class/interface/ActorInscriptions.lua     |  4 +-
 game/modules/tome/dialogs/MapMenu.lua         |  4 +-
 game/modules/tome/dialogs/UseTalents.lua      | 24 ++++--
 9 files changed, 137 insertions(+), 15 deletions(-)

diff --git a/game/engines/default/data/keybinds/hotkeys.lua b/game/engines/default/data/keybinds/hotkeys.lua
index b9f8f664ca..d7ef60b68d 100644
--- a/game/engines/default/data/keybinds/hotkeys.lua
+++ b/game/engines/default/data/keybinds/hotkeys.lua
@@ -239,6 +239,80 @@ defineAction{
 	name = "Third Hotkey 12",
 }
 
+-- Alt + Hotkeys
+defineAction{
+	default = { "sym:_1:false:false:true:false" },
+	type = "HOTKEY_FOURTH_1",
+	group = "hotkeys",
+	name = "Fourth Hotkey 1",
+}
+defineAction{
+	default = { "sym:_2:false:false:true:false" },
+	type = "HOTKEY_FOURTH_2",
+	group = "hotkeys",
+	name = "Fourth Hotkey 2",
+}
+defineAction{
+	default = { "sym:_3:false:false:true:false" },
+	type = "HOTKEY_FOURTH_3",
+	group = "hotkeys",
+	name = "Fourth Hotkey 3",
+}
+defineAction{
+	default = { "sym:_4:false:false:true:false" },
+	type = "HOTKEY_FOURTH_4",
+	group = "hotkeys",
+	name = "Fourth Hotkey 4",
+}
+defineAction{
+	default = { "sym:_5:false:false:true:false" },
+	type = "HOTKEY_FOURTH_5",
+	group = "hotkeys",
+	name = "Fourth Hotkey 5",
+}
+defineAction{
+	default = { "sym:_6:false:false:true:false" },
+	type = "HOTKEY_FOURTH_6",
+	group = "hotkeys",
+	name = "Fourth Hotkey 6",
+}
+defineAction{
+	default = { "sym:_7:false:false:true:false" },
+	type = "HOTKEY_FOURTH_7",
+	group = "hotkeys",
+	name = "Fourth Hotkey 7",
+}
+defineAction{
+	default = { "sym:_8:false:false:true:false" },
+	type = "HOTKEY_FOURTH_8",
+	group = "hotkeys",
+	name = "Fourth Hotkey 8",
+}
+defineAction{
+	default = { "sym:_9:false:false:true:false" },
+	type = "HOTKEY_FOURTH_9",
+	group = "hotkeys",
+	name = "Fourth Hotkey 9",
+}
+defineAction{
+	default = { "sym:_0:false:false:true:false" },
+	type = "HOTKEY_FOURTH_10",
+	group = "hotkeys",
+	name = "Fourth Hotkey 10",
+}
+defineAction{
+	default = { "sym:_MINUS:false:false:true:false" },
+	type = "HOTKEY_FOURTH_11",
+	group = "hotkeys",
+	name = "Fourth Hotkey 11",
+}
+defineAction{
+	default = { "sym:_EQUALS:false:false:true:false" },
+	type = "HOTKEY_FOURTH_12",
+	group = "hotkeys",
+	name = "Fourth Hotkey 12",
+}
+
 defineAction{
 	default = { "sym:_PAGEUP:false:false:false:false" },
 	type = "HOTKEY_PREV_PAGE",
diff --git a/game/engines/default/engine/dialogs/ShowEquipInven.lua b/game/engines/default/engine/dialogs/ShowEquipInven.lua
index 732efa94cc..aad90445aa 100644
--- a/game/engines/default/engine/dialogs/ShowEquipInven.lua
+++ b/game/engines/default/engine/dialogs/ShowEquipInven.lua
@@ -114,6 +114,18 @@ function _M:init(title, actor, filter, action, on_select)
 		HOTKEY_THIRD_10 = function() self:defineHotkey(34) end,
 		HOTKEY_THIRD_11 = function() self:defineHotkey(35) end,
 		HOTKEY_THIRD_12 = function() self:defineHotkey(36) end,
+		HOTKEY_FOURTH_1 = function() self:defineHotkey(37) end,
+		HOTKEY_FOURTH_2 = function() self:defineHotkey(38) end,
+		HOTKEY_FOURTH_3 = function() self:defineHotkey(39) end,
+		HOTKEY_FOURTH_4 = function() self:defineHotkey(40) end,
+		HOTKEY_FOURTH_5 = function() self:defineHotkey(41) end,
+		HOTKEY_FOURTH_6 = function() self:defineHotkey(42) end,
+		HOTKEY_FOURTH_7 = function() self:defineHotkey(43) end,
+		HOTKEY_FOURTH_8 = function() self:defineHotkey(44) end,
+		HOTKEY_FOURTH_9 = function() self:defineHotkey(45) end,
+		HOTKEY_FOURTH_10 = function() self:defineHotkey(46) end,
+		HOTKEY_FOURTH_11 = function() self:defineHotkey(47) end,
+		HOTKEY_FOURTH_12 = function() self:defineHotkey(48) end,
 		ACCEPT = function()
 			if self.focus_ui and self.focus_ui.ui == self.c_inven then self:use(self.c_inven.list[self.c_inven.sel])
 			elseif self.focus_ui and self.focus_ui.ui == self.c_equip then self:use(self.c_equip.list[self.c_equip.sel])
diff --git a/game/engines/default/engine/dialogs/UseTalents.lua b/game/engines/default/engine/dialogs/UseTalents.lua
index 8561908864..3f606e3b0c 100644
--- a/game/engines/default/engine/dialogs/UseTalents.lua
+++ b/game/engines/default/engine/dialogs/UseTalents.lua
@@ -98,6 +98,18 @@ Check out the keybinding screen in the game menu to bind hotkeys to a key (defau
 		HOTKEY_THIRD_10 = function() self:defineHotkey(34) end,
 		HOTKEY_THIRD_11 = function() self:defineHotkey(35) end,
 		HOTKEY_THIRD_12 = function() self:defineHotkey(36) end,
+		HOTKEY_FOURTH_1 = function() self:defineHotkey(37) end,
+		HOTKEY_FOURTH_2 = function() self:defineHotkey(38) end,
+		HOTKEY_FOURTH_3 = function() self:defineHotkey(39) end,
+		HOTKEY_FOURTH_4 = function() self:defineHotkey(40) end,
+		HOTKEY_FOURTH_5 = function() self:defineHotkey(41) end,
+		HOTKEY_FOURTH_6 = function() self:defineHotkey(42) end,
+		HOTKEY_FOURTH_7 = function() self:defineHotkey(43) end,
+		HOTKEY_FOURTH_8 = function() self:defineHotkey(44) end,
+		HOTKEY_FOURTH_9 = function() self:defineHotkey(45) end,
+		HOTKEY_FOURTH_10 = function() self:defineHotkey(46) end,
+		HOTKEY_FOURTH_11 = function() self:defineHotkey(47) end,
+		HOTKEY_FOURTH_12 = function() self:defineHotkey(48) end,
 		EXIT = function() game:unregisterDialog(self) end,
 	}
 end
diff --git a/game/engines/default/engine/interface/ActorTalents.lua b/game/engines/default/engine/interface/ActorTalents.lua
index 10850e0006..f1d1586a77 100644
--- a/game/engines/default/engine/interface/ActorTalents.lua
+++ b/game/engines/default/engine/interface/ActorTalents.lua
@@ -273,7 +273,7 @@ function _M:learnTalent(t_id, force, nb)
 				end
 			end
 			if not found then
-				for i = 1, 36 do
+				for i = 1, 48 do
 					if not self.hotkey[i] then
 						self.hotkey[i] = {"talent", t_id}
 						break
diff --git a/game/engines/default/engine/interface/PlayerHotkeys.lua b/game/engines/default/engine/interface/PlayerHotkeys.lua
index 8072ac9e11..11003eb622 100644
--- a/game/engines/default/engine/interface/PlayerHotkeys.lua
+++ b/game/engines/default/engine/interface/PlayerHotkeys.lua
@@ -42,15 +42,15 @@ function _M:sortHotkeys()
 				print("[SORTING HOTKEYS] pairing",known_t_id,i)
 				self.hotkey[i] = {"talent", known_t_id}
 				-- Remove from old
-				for z = 1, 36 do if old[z] and old[z][1] == "talent" and old[z][2] == known_t_id then old[z] = nil break end end
+				for z = 1, 48 do if old[z] and old[z][1] == "talent" and old[z][2] == known_t_id then old[z] = nil break end end
 			end
 		end
 	end
 
 	-- Read all the rest
-	for j = 1, 36 do
+	for j = 1, 48 do
 		if old[j] then
-			for i = 1, 36 do if not self.hotkey[i] then
+			for i = 1, 48 do if not self.hotkey[i] then
 				self.hotkey[i] = old[j]
 				print("[SORTING HOTKEYS] added back", old[j][2], i)
 				break
@@ -106,7 +106,7 @@ function _M:hotkeyAutoTalents()
 	for tid, _ in pairs(self.talents) do
 		local t = self:getTalentFromId(tid)
 		if t.mode == "activated" or t.mode == "sustained" then
-			for i = 1, 36 do
+			for i = 1, 48 do
 				if not self.hotkey[i] then
 					self.hotkey[i] = {"talent", tid}
 					break
diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index 2715273197..72146d8294 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -1167,6 +1167,18 @@ function _M:setupCommands()
 		HOTKEY_THIRD_10 = not_wild(function() self.player:activateHotkey(34) end),
 		HOTKEY_THIRD_11 = not_wild(function() self.player:activateHotkey(35) end),
 		HOTKEY_THIRD_12 = not_wild(function() self.player:activateHotkey(36) end),
+		HOTKEY_FOURTH_1 = not_wild(function() self.player:activateHotkey(37) end),
+		HOTKEY_FOURTH_2 = not_wild(function() self.player:activateHotkey(38) end),
+		HOTKEY_FOURTH_3 = not_wild(function() self.player:activateHotkey(39) end),
+		HOTKEY_FOURTH_4 = not_wild(function() self.player:activateHotkey(40) end),
+		HOTKEY_FOURTH_5 = not_wild(function() self.player:activateHotkey(41) end),
+		HOTKEY_FOURTH_6 = not_wild(function() self.player:activateHotkey(42) end),
+		HOTKEY_FOURTH_7 = not_wild(function() self.player:activateHotkey(43) end),
+		HOTKEY_FOURTH_8 = not_wild(function() self.player:activateHotkey(44) end),
+		HOTKEY_FOURTH_9 = not_wild(function() self.player:activateHotkey(45) end),
+		HOTKEY_FOURTH_10 = not_wild(function() self.player:activateHotkey(46) end),
+		HOTKEY_FOURTH_11 = not_wild(function() self.player:activateHotkey(47) end),
+		HOTKEY_FOURTH_12 = not_wild(function() self.player:activateHotkey(48) end),
 		HOTKEY_PREV_PAGE = not_wild(function() self.player:prevHotkeyPage() self.log("Hotkey page %d is now displayed.", self.player.hotkey_page) end),
 		HOTKEY_NEXT_PAGE = not_wild(function() self.player:nextHotkeyPage() self.log("Hotkey page %d is now displayed.", self.player.hotkey_page) end),
 
diff --git a/game/modules/tome/class/interface/ActorInscriptions.lua b/game/modules/tome/class/interface/ActorInscriptions.lua
index a684c0dbfa..f8cd741e33 100644
--- a/game/modules/tome/class/interface/ActorInscriptions.lua
+++ b/game/modules/tome/class/interface/ActorInscriptions.lua
@@ -85,7 +85,7 @@ function _M:setInscription(id, name, data, cooldown, vocal, src, bypass_max_same
 	local oldname = self.inscriptions[id]
 	local oldpos = nil
 	if oldname then
-		for i = 1, 36 do
+		for i = 1, 48 do
 			if self.hotkey[i] and self.hotkey[i][1] == "talent" and self.hotkey[i][2] == "T_"..oldname then oldpos = i break end
 		end
 		self:unlearnTalent(self["T_"..oldname])
@@ -109,7 +109,7 @@ function _M:setInscription(id, name, data, cooldown, vocal, src, bypass_max_same
 
 	-- Hotkey
 	if oldpos then
-		for i = 1, 36 do
+		for i = 1, 48 do
 			if self.hotkey[i] and self.hotkey[i][1] == "talent" and self.hotkey[i][2] == "T_"..name then self.hotkey[i] = nil end
 		end
 		self.hotkey[oldpos] = {"talent", "T_"..name}
diff --git a/game/modules/tome/dialogs/MapMenu.lua b/game/modules/tome/dialogs/MapMenu.lua
index 4e3a998fe0..da86b58f5d 100644
--- a/game/modules/tome/dialogs/MapMenu.lua
+++ b/game/modules/tome/dialogs/MapMenu.lua
@@ -165,8 +165,8 @@ function _M:generateList()
 		end
 		table.sort(tals, function(a, b)
 			local ha, hb
-			for i = 1, 36 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == a.talent.id then ha = i end end
-			for i = 1, 36 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == b.talent.id then hb = i end end
+			for i = 1, 48 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == a.talent.id then ha = i end end
+			for i = 1, 48 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == b.talent.id then hb = i end end
 
 			if ha and hb then return ha < hb
 			elseif ha and not hb then return ha < 999999
diff --git a/game/modules/tome/dialogs/UseTalents.lua b/game/modules/tome/dialogs/UseTalents.lua
index eed78be1a5..8b0157b264 100644
--- a/game/modules/tome/dialogs/UseTalents.lua
+++ b/game/modules/tome/dialogs/UseTalents.lua
@@ -109,6 +109,18 @@ Right click or press '*' to configure.
 		HOTKEY_THIRD_10 = function() self:defineHotkey(34) end,
 		HOTKEY_THIRD_11 = function() self:defineHotkey(35) end,
 		HOTKEY_THIRD_12 = function() self:defineHotkey(36) end,
+		HOTKEY_FOURTH_1 = function() self:defineHotkey(37) end,
+		HOTKEY_FOURTH_2 = function() self:defineHotkey(38) end,
+		HOTKEY_FOURTH_3 = function() self:defineHotkey(39) end,
+		HOTKEY_FOURTH_4 = function() self:defineHotkey(40) end,
+		HOTKEY_FOURTH_5 = function() self:defineHotkey(41) end,
+		HOTKEY_FOURTH_6 = function() self:defineHotkey(42) end,
+		HOTKEY_FOURTH_7 = function() self:defineHotkey(43) end,
+		HOTKEY_FOURTH_8 = function() self:defineHotkey(44) end,
+		HOTKEY_FOURTH_9 = function() self:defineHotkey(45) end,
+		HOTKEY_FOURTH_10 = function() self:defineHotkey(46) end,
+		HOTKEY_FOURTH_11 = function() self:defineHotkey(47) end,
+		HOTKEY_FOURTH_12 = function() self:defineHotkey(48) end,
 		EXIT = function() game:unregisterDialog(self) end,
 	}
 end
@@ -118,7 +130,7 @@ function _M:defineHotkey(id)
 	local item = self.cur_item
 	if not item or not item.talent then return end
 
-	for i = 1, 36 do
+	for i = 1, 48 do
 		if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then self.actor.hotkey[i] = nil end
 	end
 
@@ -163,11 +175,11 @@ function _M:use(item, button)
 		else table.insert(list, 1, {name="Enable automatic use", what="auto-en"})
 		end
 
-		for i = 1, 36 do list[#list+1] = {name="Hotkey "..i, what=i} end
+		for i = 1, 48 do list[#list+1] = {name="Hotkey "..i, what=i} end
 		Dialog:listPopup("Bind talent: "..item.name:toString(), "How do you want to bind this talent?", list, 400, 500, function(b)
 			if not b then return end
 			if type(b.what) == "number" then
-				for i = 1, 36 do
+				for i = 1, 48 do
 					if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then self.actor.hotkey[i] = nil end
 				end
 				self.actor.hotkey[b.what] = {"talent", item.talent}
@@ -181,7 +193,7 @@ function _M:use(item, button)
 			elseif b.what == "unbind" then
 				if self.actor.auto_shoot_talent == item.talent then self.actor.auto_shoot_talent = nil end
 				if self.actor.auto_shoot_midclick_talent == item.talent then self.actor.auto_shoot_midclick_talent = nil end
-				for i = 1, 36 do
+				for i = 1, 48 do
 					if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then self.actor.hotkey[i] = nil end
 				end
 			elseif b.what == "auto-en" then
@@ -233,7 +245,7 @@ function _M:generateList()
 					desc=self.actor:getTalentFullDescription(t),
 					color=function() return {0xFF, 0xFF, 0xFF} end,
 					hotkey=function(item)
-						for i = 1, 36 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then
+						for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then
 							return "H.Key "..i..""
 						end end
 						return ""
@@ -290,7 +302,7 @@ function _M:generateList()
 				desc=self.actor:getTalentFullDescription(t),
 				color=function() return {0xFF, 0xFF, 0xFF} end,
 				hotkey=function(item)
-					for i = 1, 36 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then
+					for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then
 						return "H.Key "..i..""
 					end end
 					return ""
-- 
GitLab