Total RP 3

Total RP 3

4M Downloads

9.0 Wishlist

Solanya opened this issue · 3 comments

commented

To be prepared for when the beta launches, we're going to keep a list of stuff considered for 9.0. This is not a definitive list and it might move around as beta opens and time goes on.

Some of those changes are not TRP3 specific (MSP/Chomp) and will have to be followed up with MRP/XRP.

  • Required API changes (Backdrops...)
  • Chomp serialization improvements ( wow-rp-addons/Chomp#28 )
  • Protocol updates
  • File Data ID & Atlas support for icons (and images?)
  • RP Nameplates ( #18 )
  • Personality traits reordering ( #312 )
  • Profile list search bar ( #35 )
  • Default profile ( #122 )
  • Help tab
  • Russian declension fix (#322)
  • Tooltip builder refactoring ( #188 & #218 )
  • Profile recovery
commented

patch/vnext-backdrop-migration contains the required API changes for backdrops; isn't totally perfect yet but it doesn't error within our own code in its current state.

It'd be nice to have a "test" branch (or something to that effect) where we can freely merge stuff in ad-hoc for testing purposes before PRing it against an actual "next" branch for 9.0.

The below diff covers the necessary changes to our dependencies to get them to play nicely with the 9.0 API changes, in case it's needed.

Submodule totalRP3/libs/Ellyb contains modified content
diff --git a/totalRP3/libs/Ellyb/Enum.lua b/totalRP3/libs/Ellyb/Enum.lua
index b518816..e2456e2 100644
--- a/totalRP3/libs/Ellyb/Enum.lua
+++ b/totalRP3/libs/Ellyb/Enum.lua
@@ -18,15 +18,15 @@ Enum.UI_ESCAPE_SEQUENCES = {
 }
 
 Enum.ITEM_QUALITY = {
-	POOR = LE_ITEM_QUALITY_POOR,
-	COMMON = LE_ITEM_QUALITY_COMMON,
-	UNCOMMON = LE_ITEM_QUALITY_UNCOMMON,
-	RARE = LE_ITEM_QUALITY_RARE,
-	EPIC = LE_ITEM_QUALITY_EPIC,
-	LEGENDARY = LE_ITEM_QUALITY_LEGENDARY,
-	ARTIFACT = LE_ITEM_QUALITY_ARTIFACT,
-	HEIRLOOM = LE_ITEM_QUALITY_HEIRLOOM,
-	WOW_TOKEN = LE_ITEM_QUALITY_WOW_TOKEN,
+	POOR = _G.Enum.ItemQuality.Poor,
+	COMMON = _G.Enum.ItemQuality.Common,
+	UNCOMMON = _G.Enum.ItemQuality.Uncommon,
+	RARE = _G.Enum.ItemQuality.Rare,
+	EPIC = _G.Enum.ItemQuality.Epic,
+	LEGENDARY = _G.Enum.ItemQuality.Legendary,
+	ARTIFACT = _G.Enum.ItemQuality.Artifact,
+	HEIRLOOM = _G.Enum.ItemQuality.Heirloom,
+	WOW_TOKEN = _G.Enum.ItemQuality.WoWToken,
 }
 
 Enum.CLASSES = {
@@ -52,4 +52,4 @@ Enum.LOCALES = {
 Enum.GAME_CLIENT_TYPES = {
 	RETAIL = WOW_PROJECT_MAINLINE,
 	CLASSIC = WOW_PROJECT_CLASSIC
-}
\ No newline at end of file
+}
diff --git a/totalRP3/libs/Ellyb/UI/Popups.xml b/totalRP3/libs/Ellyb/UI/Popups.xml
index 6d9797c..b20bcc1 100644
--- a/totalRP3/libs/Ellyb/UI/Popups.xml
+++ b/totalRP3/libs/Ellyb/UI/Popups.xml
@@ -5,17 +5,6 @@
 			<Anchor point="CENTER" y="30" />
 		</Anchors>
 		<Size x="360" y="160" />
-		<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
-			<BackgroundInsets>
-				<AbsInset left="11" right="12" top="12" bottom="11" />
-			</BackgroundInsets>
-			<TileSize>
-				<AbsValue val="32" />
-			</TileSize>
-			<EdgeSize>
-				<AbsValue val="32" />
-			</EdgeSize>
-		</Backdrop>
 		<Layers>
 			<Layer>
 				<FontString parentKey="Text" inherits="GameFontHighlight">
@@ -117,6 +106,29 @@
 				</Scripts>
 			</Button>
 		</Frames>
+		<Scripts>
+			<OnLoad>
+				if not self.SetBackdrop then
+					Mixin(self, BackdropTemplateMixin);
+					self:OnBackdropLoaded();
+				end
+
+				self:SetBackdrop({
+					bgFile   = "Interface\\DialogFrame\\UI-DialogBox-Background",
+					edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
+					tile     = true,
+					tileEdge = true,
+					tileSize = 32,
+					edgeSize = 32,
+					insets   = { left = 11, right = 12, top = 12, bottom = 11 },
+				});
+			</OnLoad>
+			<OnSizeChanged>
+				if self.OnBackdropSizeChanged then
+					self:OnBackdropSizeChanged();
+				end
+			</OnSizeChanged>
+		</Scripts>
 	</Frame>
 
 	<Script file="Popups.lua"/>
diff --git a/totalRP3/libs/MSA-DropDownMenu-1.0/MSA-DropDownMenu-1.0.lua b/totalRP3/libs/MSA-DropDownMenu-1.0/MSA-DropDownMenu-1.0.lua
index 37f51176..041cf60c 100755
--- a/totalRP3/libs/MSA-DropDownMenu-1.0/MSA-DropDownMenu-1.0.lua
+++ b/totalRP3/libs/MSA-DropDownMenu-1.0/MSA-DropDownMenu-1.0.lua
@@ -208,6 +208,12 @@ local function CreateDropDownList(name, parent)
     DropDownList:EnableMouse(true)
 
     local frame1 = _G[name.."Backdrop"] or CreateFrame("Frame", name.."Backdrop", DropDownList)
+    if not frame1.SetBackdrop then
+        Mixin(frame1, BackdropTemplateMixin)
+        frame1:OnBackdropLoaded()
+        frame1:SetScript("OnSizeChanged", frame1.OnBackdropSizeChanged)
+    end
+
     frame1:SetAllPoints()
     frame1:SetBackdrop({
         bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background-Dark",
@@ -224,6 +230,12 @@ local function CreateDropDownList(name, parent)
     })
 
     local frame2 = _G[name.."MenuBackdrop"] or CreateFrame("Frame", name.."MenuBackdrop", DropDownList)
+    if not frame2.SetBackdrop then
+        Mixin(frame2, BackdropTemplateMixin)
+        frame2:OnBackdropLoaded()
+        frame2:SetScript("OnSizeChanged", frame2.OnBackdropSizeChanged)
+    end
+
     frame2:SetAllPoints()
     frame2:SetBackdrop({
         bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
@@ -1677,4 +1689,4 @@ lib.initFrame:SetScript("OnEvent", function(self, event)
     LoadSkin_Aurora()
     self:UnregisterEvent(event)
 end)
-lib.initFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
\ No newline at end of file
+lib.initFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
commented

A "shadowlands" branch was created for 9.0 changes; rationale being that it's a bit cleaner in case we need to do an interim release for live between now and release, and in the best case merging shadowlands back into development can just be a fast-forward-merge if there's no changes at all.

#412 resolves the backdrop changes for 9.0 - which seem to be the only required API changes, so we can presumably tick that off. Stanzilla/WoWUIBugs#28 needs to be resolved by Blizzard to fix taint issues unfortunately.

#411 resolves an issue @LyranaliaRose led me to investigate where we were tainting the global dropdown menus due to use of Blizzard templates. This changeset could be applied to the development branch if we end up doing another release before Shadowlands (Edit: This was retargetted to development).

commented

MSA author appears to be alive and kicking, so that dependency may get updated soon™.