Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1898518ade | |||
| 02dd646b78 |
Generated
+1
-1
@@ -4706,7 +4706,7 @@ checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff"
|
||||
|
||||
[[package]]
|
||||
name = "moonwell"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
dependencies = [
|
||||
"benilla-app",
|
||||
"benilla-assets",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "moonwell"
|
||||
version.workspace = true
|
||||
version = "0.3.2"
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
description = "The MoonWell launcher: platform branding on top of benilla"
|
||||
|
||||
@@ -183,7 +183,8 @@ between it and the framing crowns. All additions remain owned by the disposable
|
||||
|
||||
Automatic launcher login (`WOW_USER` and `WOW_PASS`) uses `login_scene/interface.lua`: the
|
||||
stock account controls and branding are hidden; a twelve-dot spinner repeats the installed,
|
||||
localized login status. Realm selection, automatic locale selection, PIN, queue and refusal
|
||||
localized login status. The stock localized Exit button stays available, using its QuitGame handler.
|
||||
Realm selection, automatic locale selection, PIN, queue and refusal
|
||||
dialogs retain their stock handlers. Manual login keeps its fields, with Blizzard branding hidden.
|
||||
`interface.rs::MINIMUM_SCENE_SECONDS=6` and `STAGE_SECONDS=0.85` pace the visible login stages;
|
||||
the optional `benilla_app::login_backdrop::LoginPresentation` holds successful glue transitions
|
||||
|
||||
@@ -53,10 +53,12 @@ function MoonWellLoginPaint(automatic, busy, seconds)
|
||||
if automatic and AccountLoginUI then
|
||||
for _, region in ipairs({AccountLoginUI:GetRegions()}) do region:Hide() end
|
||||
for _, child in ipairs({AccountLoginUI:GetChildren()}) do
|
||||
if child ~= VirtualKeypadFrame then
|
||||
if child ~= VirtualKeypadFrame and child ~= AccountLoginExitButton then
|
||||
child:Hide()
|
||||
end
|
||||
end
|
||||
-- The stock exit keeps its localized label and QuitGame handler during launcher login.
|
||||
if AccountLoginExitButton then AccountLoginExitButton:Show() end
|
||||
AccountLoginAccountEdit:ClearFocus()
|
||||
AccountLoginPasswordEdit:ClearFocus()
|
||||
end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//! Exercise the actual launcher Lua with Benilla's Lua 5.0 host, without a GPU or credentials.
|
||||
use benilla_ui::script::UiScript;
|
||||
use benilla_ui::script::{GlueCall, UiScript};
|
||||
#[test]
|
||||
fn skin_keeps_manual_login_realm_pin_and_errors_usable() {
|
||||
let s = UiScript::new_glue().unwrap();
|
||||
let mut s = UiScript::new_glue().unwrap();
|
||||
s.run(r#"
|
||||
local font=CreateFont('GlueFontNormalLarge'); font:SetFont('Fonts\\FRIZQT__.TTF',16)
|
||||
GlueParent=CreateFrame('Frame','GlueParent'); GlueParent:SetWidth(1024); GlueParent:SetHeight(768)
|
||||
@@ -11,6 +11,8 @@ fn skin_keeps_manual_login_realm_pin_and_errors_usable() {
|
||||
AccountLoginAccountEdit=CreateFrame('EditBox','AccountLoginAccountEdit',AccountLoginUI)
|
||||
LanguageDropDown=CreateFrame('Frame','LanguageDropDown',AccountLoginUI)
|
||||
AccountLoginPasswordEdit=CreateFrame('EditBox','AccountLoginPasswordEdit',AccountLoginUI)
|
||||
AccountLoginExitButton=CreateFrame('Button','AccountLoginExitButton',AccountLoginUI)
|
||||
AccountLoginExitButton:SetScript('OnClick',function() QuitGame() end)
|
||||
VirtualKeypadFrame=CreateFrame('Frame','VirtualKeypadFrame',AccountLoginUI); VirtualKeypadFrame:Hide()
|
||||
RealmList=CreateFrame('Frame','RealmList',GlueParent); RealmList:Hide()
|
||||
RealmWizard=CreateFrame('Frame','RealmWizard',GlueParent); RealmWizard:Hide()
|
||||
@@ -35,6 +37,12 @@ fn skin_keeps_manual_login_realm_pin_and_errors_usable() {
|
||||
assert!(s.frame_visible("MoonWellLoginStatus"));
|
||||
assert!(!s.frame_visible("AccountLoginAccountEdit"));
|
||||
assert!(!s.frame_visible("LanguageDropDown"));
|
||||
assert!(s.frame_visible("AccountLoginExitButton"));
|
||||
s.run("AccountLoginExitButton:Click()").unwrap();
|
||||
assert!(matches!(
|
||||
s.take_glue_calls().as_slice(),
|
||||
[GlueCall::QuitGame]
|
||||
));
|
||||
assert_eq!(
|
||||
s.eval::<f64>("return GlueDialogBackground:GetAlpha()")
|
||||
.unwrap(),
|
||||
@@ -44,6 +52,7 @@ fn skin_keeps_manual_login_realm_pin_and_errors_usable() {
|
||||
.unwrap();
|
||||
assert!(!s.frame_visible("MoonWellLoginStatus"));
|
||||
assert!(s.frame_visible("RealmList"));
|
||||
assert!(s.frame_visible("AccountLoginExitButton"));
|
||||
assert_eq!(
|
||||
s.eval::<f64>("return GlueDialogBackground:GetAlpha()")
|
||||
.unwrap(),
|
||||
@@ -53,12 +62,14 @@ fn skin_keeps_manual_login_realm_pin_and_errors_usable() {
|
||||
.unwrap();
|
||||
assert!(!s.frame_visible("MoonWellLoginStatus"));
|
||||
assert!(s.frame_visible("VirtualKeypadFrame"));
|
||||
assert!(s.frame_visible("AccountLoginExitButton"));
|
||||
assert!(s
|
||||
.eval::<bool>("return AccountLogin:IsKeyboardEnabled() == 1")
|
||||
.unwrap());
|
||||
s.run("VirtualKeypadFrame:Hide(); MoonWellLoginPaint(true,false,4)")
|
||||
.unwrap();
|
||||
assert!(!s.frame_visible("MoonWellLoginStatus"));
|
||||
assert!(s.frame_visible("AccountLoginExitButton"));
|
||||
assert_eq!(
|
||||
s.eval::<f64>("return GlueDialogBackground:GetAlpha()")
|
||||
.unwrap(),
|
||||
|
||||
Reference in New Issue
Block a user