UI修改部分

This commit is contained in:
Lenheart 2024-04-02 09:38:38 +08:00
parent 1e827584c5
commit 853127090d
7 changed files with 230 additions and 196 deletions

View File

@ -0,0 +1,2 @@
dofile("sqr/Plugins/Fiendwar/FiendwarHallTeam.nut");
print("Reloading Script --- sqr/Plugins/Fiendwar/FiendwarHallTeam.nut");

View File

@ -18,7 +18,6 @@ dofile("sqr/LenheartCallBack/Sq_MouseEventCallBack.nut"); //鼠标点击回调
//---@工具API类
dofile("sqr/Tool/Tool.nut"); //主要拓展API工具类
dofile("sqr/Tool/ClassTool.nut"); //主要拓展API工具类
dofile("sqr/Tool/UiClassTool.nut"); //UI
dofile("sqr/Tool/DebugInfo.nut"); //输出人物主要信息类
//-----------------------------------------------------------------------------------------------------
@ -36,6 +35,11 @@ dofile("sqr/Plugins/Ptst/Ptst.nut"); //护石系统
dofile("sqr/Plugins/Ptst/Ptst_Func.nut"); //护石函数系统
//dofile("sqr/UI/MonsterBloodUi/MonsterBloodUi.nut");//怪物血条
//dofile("sqr/UI/MonsterBloodUi/MonsterBloodUi_TWO.nut");//怪物血条
dofile("sqr/Tool/Lenheart_UI/OldWindowsMap.nut"); //窗口Map
dofile("sqr/Tool/Lenheart_UI/Lenheart_UI_Class.nut"); //UI
//-----------------------------------------------------------------------------------------------------
dofile("sqr/Plugins/Luke/luke.nut"); //卢克8人

View File

@ -2,7 +2,7 @@
文件名:Fiendwar.nut
路径:Plugins/Fiendwar/Fiendwar.nut
创建日期:2024-03-03 10:38
文件用途:
文件用途:超时空之战 主文件
*/
class FiendwarTotal extends BasicsDrawTool {
@ -12,10 +12,14 @@ class FiendwarTotal extends BasicsDrawTool {
town_index 城镇编号
channel_index 频道编号
*/
//我的客户端cid
MyCid = null;
//我的攻坚队ID
MyPartyId = null;
//我是否是攻坚队队长
IsCaptain = null;
//全局获取对象方法
function GetInstance() {
return getroottable()["FiendwarCObj"];
}
@ -40,12 +44,13 @@ class FiendwarTotal extends BasicsDrawTool {
if (L_sq_GetTownIndex() != BaseConfig.town_index) {
L_sq_MoveTown(BaseConfig.town_index, 0, 474, 249);
}
}
//在超时空区域
else {
} else {
//在超时空区域的 要转移回普通城镇
if (L_sq_GetTownIndex() == BaseConfig.town_index) {
L_sq_MoveTown(1, 1, 474, 249);
}
}
}
constructor() {
//获取基础配置回调包
@ -71,15 +76,11 @@ function LenheartFiendwar(obj) {
RootTab["FiendwarCObj"].Proc(obj);
}
LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
// LenheartNewUI_CreateWindow(FiendwarHallCreatePartyC, "超时空创建队伍窗口", 290, 220, 284, 154, 18);
// LenheartNewUI_CreateWindow(FiendwarHallMyPartyEditC, "超时空我的队伍编队窗口", 105, 40, 294, 192, 18);
// LenheartNewUI_CreateWindow(FiendwarHallMyPartyC, "超时空我的队伍窗口", 430, 15, 354, 290, 18);
// LenheartNewUI_CreateWindow(FiendwarHallApplyJoinC, "超时空申请加入队伍窗口", 542, 348, 257, 240, 18);
// LenheartNewUI_CreateWindow(FiendwarHallPlayerInteractiveC, "测试", 100, 100, 100, 21, 0);
}
@ -93,8 +94,10 @@ if (getroottable().rawin("LenheartFuncTab")) {
dofile("sqr/Plugins/Fiendwar/FiendwarHall.nut"); //大厅
dofile("sqr/Plugins/Fiendwar/FiendwarHallTeam.nut"); //大厅的队伍
dofile("sqr/Plugins/Fiendwar/FiendwarHall.nut");
dofile("sqr/Plugins/Fiendwar/FiendwarHallCreateParty.nut");
dofile("sqr/Plugins/Fiendwar/FiendwarHallMyParty.nut");
dofile("sqr/Plugins/Fiendwar/FiendwarHallApplyJoin.nut");

View File

@ -4,100 +4,30 @@
创建日期:2024-03-11 12:54
文件用途:超时空之战大厅
*/
class FiendwarHallTeamC extends LenheartNewUI_CommonUi {
X = 0;
Y = 0;
Width = null;
Height = null;
TeamObj = null;
//选中状态
SelectState = false;
//攻坚状态
OffensiveState = 0;
constructor(gTeamObj) {
TeamObj = gTeamObj;
this.Width = 458;
this.Height = 21;
this.OnClick = function() {
local Win = LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
//还原其他 选中自己
foreach(Obj in Win.PartyList) {
Obj.SelectState = false;
}
SelectState = !SelectState;
local T = {
op = 20063013,
teamsId = TeamObj.TeamId
}
BasicsDrawTool.SendPackEx(T);
}
LenheartNewUI_CommonUi.constructor(10, 82, this.Width, this.Height);
}
function Show(obj) {
//绘制底槽
L_sq_DrawImg("hud/fiendwarl.img", 4, X, Y);
//绘制队伍编号
L_sq_DrawCode(TeamObj.TeamId, X + 22 - LenheartTextClass.GetStringLength(TeamObj.TeamId) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
//绘制队长头像
L_sq_DrawImg("interface/lenheartwindowcommon.img", 55, X + 52, Y + 7);
try {
local channel_index = FiendwarTotal.GetInstance().BaseConfig.channel_index;
channel_index = channel_index.slice(channel_index.len() - 2, channel_index.len());
//绘制频道信息
L_sq_DrawCode(channel_index, X + 102 - LenheartTextClass.GetStringLength(channel_index) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
} catch (exception) {
}
//绘制攻坚队名称
L_sq_DrawCode(TeamObj.TeamName, X + 130, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
//绘制攻坚队攻坚状态
L_sq_DrawImg("hud/fiendwarl.img", 6 + TeamObj.State, X + 314, Y + 2);
local PartyPlayerCountStr = TeamObj.TeamPlayerCount + " / " + 8;
//绘制攻坚队队员数量
L_sq_DrawCode(PartyPlayerCountStr, X + 434 - LenheartTextClass.GetStringLength(PartyPlayerCountStr) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
if (SelectState) {
L_sq_DrawImg("hud/fiendwarl.img", 5, X, Y);
}
if (isInRect) {
L_sq_DrawImg("hud/fiendwarl.img", 5, X, Y);
}
}
}
class FiendwarHallC extends LenheartNewUI_Windows {
// DeBugMode = true;
WindowObj = null; //窗口对象
MainState = false; //主状态
X = 320;
Y = 40;
//默认显示状态需要是关闭 因为要通过按钮打开
Visible = false;
//攻坚队List
PartyList = null;
function GetInstance() {
return getroottable()["FiendwarHallCObj"];
}
//获取所有队伍回调包
function GetAllTeamCallBack(Chunk) {
// Sout("收到包 : \n %L", Chunk);
local Jso = Json.Decode(Chunk);
//清除原来的List
//清除原来的List PartyList可以直接清除 但是Childrens中的窗口需要调用底层方法清除队伍类
PartyList = [];
foreach(CIndex, Child in Childrens) {
if (Child instanceof FiendwarHallTeamC) {
Childrens.remove(CIndex);
}
}
this.RemoveChilds(FiendwarHallTeamC);
//遍历包构造攻坚队UI对象
foreach(TeamsSimple in Jso.TeamSimList) {
local T = {
TeamId = TeamsSimple.TeamId.tostring(),
@ -109,59 +39,67 @@ class FiendwarHallC extends LenheartNewUI_Windows {
Childrens.append(TeamBuf);
PartyList.append(TeamBuf);
}
//收到刷新队伍列表包时需要将队伍窗口隐藏
local Win = LenheartNewUI_CreateWindow(FiendwarHallMyPartyC, "超时空我的队伍窗口", 430, 15, 354, 290, 18);
Win.Visible = false;
}
//获取攻坚队信息回调
function GetTeamInfoCallBack(Chunk) {
Sout("收到包 : \n %L", Chunk);
// Sout("收到包 : \n %L", Chunk);
local Jso = Json.Decode(Chunk);
local Win = LenheartNewUI_CreateWindow(FiendwarHallMyPartyC, "超时空我的队伍窗口", 430, 15, 354, 290, 18);
//开启队伍窗口显示
Win.Visible = true;
//设置置顶
Win.ResetFocus();
//清空成员对象集合
Win.MembersList = [];
//赋值队伍名称
Win.TeamName = Jso.team.TeamName;
//赋值队伍ID
Win.TeamID = Jso.team.TeamId;
//遍历Team包 用于构造队伍窗口中的每一位成员
foreach(_index, MemberObj in Jso.team.characNum) {
//说明我在这个攻坚队里
if (Jso.cid == MemberObj.CID) {
Win.IsMyTeam = true;
//存个全局
getroottable().rawset("FiendwarHallMyPartyTeamId", Jso.team.TeamId);
local Fo = FiendwarTotal.GetInstance();
//向全局类存入我的攻坚队伍ID
Fo.MyPartyId = Jso.team.TeamId;
//存入我的CID
Fo.MyCid = Jso.cid;
//说明是队长
if (Jso.cid == Jso.team.captainCid) {
Win.IsCaptain = true;
//存入我是攻坚队队长
Fo.IsCaptain = true;
}
}
local T = {
PartyId = Jso.team.TeamId,
TeamId = MemberObj.characNum + 1,
Level = MemberObj.PlayerLevel.tostring(),
Name = MemberObj.PlayerName,
JobName = MemberObj.PlayerGrowTypeJob,
Job = MemberObj.PlayerJob,
StkHasFlag = MemberObj.isPrepare,
EquVos = MemberObj.equVos,
Captain = MemberObj.CaptainBool,
Cid = MemberObj.CID,
PlayerSession = MemberObj.PlayerSession
PartyId = Jso.team.TeamId, //攻坚队ID
TeamId = MemberObj.characNum + 1, //小队编号
Level = MemberObj.PlayerLevel.tostring(), //等级
Name = MemberObj.PlayerName, //名字
JobName = MemberObj.PlayerGrowTypeJob, //职业名
Job = MemberObj.PlayerJob, //职业编号
StkHasFlag = MemberObj.isPrepare, //是否拥有攻坚材料
EquVos = MemberObj.equVos, //装备List 用于显示头像
Captain = MemberObj.CaptainBool, //是否为攻坚队队长
Cid = MemberObj.CID, //Cid
PlayerSession = MemberObj.PlayerSession //玩家在世界中的Session 用于进行原生用户操作
}
//通过类构造并添加队伍成员UI对象
local TeamBuf = FiendwarHallMyPartyMemberC(T);
Win.Childrens.append(TeamBuf);
Win.MembersList.append(TeamBuf);
}
local Fo = FiendwarTotal.GetInstance();
Fo.MyCid = Jso.cid;
//说明是队长
if (Jso.cid == Jso.team.captainCid) {
Win.IsCaptain = true;
Fo.IsCaptain = true;
}
//刷新界面
Win.RegisterWidget();
}
//获取所有队伍
function GetAllTeamCall() {
local Jso = {
op = 20063011
@ -171,31 +109,17 @@ class FiendwarHallC extends LenheartNewUI_Windows {
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
Childrens = [];
PartyList = [];
//注册控件
RegisterWidget();
PartyList = [];
//注册回调包
Pack_Control.rawset(20063002, GetAllTeamCallBack.bindenv(this));
Pack_Control.rawset(20063004, GetTeamInfoCallBack.bindenv(this));
GetAllTeamCall();
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
//测试数据
// for (local i = 0; i< 20; i++) {
// local T = {
// TeamId = i.tostring(),
// TeamName = "Name " + i,
// TeamPlayerCount = i,
// State = 0
// }
// local TeamBuf = FiendwarHallTeamC(T);
// Childrens.append(TeamBuf);
// PartyList.append(TeamBuf);
// }
}
OnlyPreparingBtn = null;

View File

@ -0,0 +1,76 @@
/*
文件名:FiendwarHallTeam.nut
路径:Plugins/Fiendwar/FiendwarHallTeam.nut
创建日期:2024-04-01 22:30
文件用途:超时空之战 大厅中的队伍对象
*/
class FiendwarHallTeamC extends LenheartNewUI_CommonUi {
X = 0;
Y = 0;
Width = null;
Height = null;
TeamObj = null;
//选中状态
SelectState = false;
//攻坚状态
OffensiveState = 0;
constructor(gTeamObj) {
//拿到信息Map
TeamObj = gTeamObj;
//设定宽高 坐标不重要 会被父窗口的Sync同步坐标
this.Width = 458;
this.Height = 21;
this.OnClick = function() {
//拿到父对象
local Win = LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
//还原其他 选中自己
foreach(Obj in Win.PartyList) {
Obj.SelectState = false;
}
SelectState = !SelectState;
local T = {
op = 20063013,
teamsId = TeamObj.TeamId
}
BasicsDrawTool.SendPackEx(T);
}
LenheartNewUI_CommonUi.constructor(10, 82, this.Width, this.Height);
}
function Show(obj) {
//绘制底槽
L_sq_DrawImg("hud/fiendwarl.img", 4, X, Y);
//绘制队伍编号
L_sq_DrawCode(TeamObj.TeamId, X + 22 - LenheartTextClass.GetStringLength(TeamObj.TeamId) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
//绘制队长头像
L_sq_DrawImg("interface/lenheartwindowcommon.img", 55, X + 52, Y + 7);
try {
local channel_index = FiendwarTotal.GetInstance().BaseConfig.channel_index;
channel_index = channel_index.slice(channel_index.len() - 2, channel_index.len());
//绘制频道信息
L_sq_DrawCode(channel_index, X + 102 - LenheartTextClass.GetStringLength(channel_index) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
} catch (exception) {
}
//绘制攻坚队名称
L_sq_DrawCode(TeamObj.TeamName, X + 130, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
//绘制攻坚队攻坚状态
L_sq_DrawImg("hud/fiendwarl.img", 6 + TeamObj.State, X + 314, Y + 2);
local PartyPlayerCountStr = TeamObj.TeamPlayerCount + " / " + 8;
//绘制攻坚队队员数量
L_sq_DrawCode(PartyPlayerCountStr, X + 434 - LenheartTextClass.GetStringLength(PartyPlayerCountStr) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
if (SelectState) {
L_sq_DrawImg("hud/fiendwarl.img", 5, X, Y - 1);
}
if (isInRect) {
L_sq_DrawImg("hud/fiendwarl.img", 5, X, Y);
}
}
}

View File

@ -7,64 +7,13 @@
//新窗口队列
L_Windows_List <- [];
//渲染窗口的默认层在下层 即A层
WindowsShowABFlag <- false;
//鼠标是否悬停在新窗口上的Flag
NewWindowsHoverFlag <- false;
//如果根空间没有选定AB层的Flag 就新建一个 默认是false 渲染在下层
if (!("WindowsShowABFlag" in getroottable())) {
getroottable().WindowsShowABFlag <- false;
}
//是否鼠标悬停在窗口上
if (!("WindowsHoverFlag" in getroottable())) {
getroottable().WindowsHoverFlag <- false;
}
//用于查询是否鼠标悬停在原生窗口上的Flag 以下编号代表着没有悬停其他均为悬停在原生窗口
NotOldWindowsMap <- {}
NotOldWindowsMap.rawset(92, 1);
NotOldWindowsMap.rawset(79, 1);
NotOldWindowsMap.rawset(2396, 1);
NotOldWindowsMap.rawset(3877, 1);
NotOldWindowsMap.rawset(3878, 1);
NotOldWindowsMap.rawset(3873, 1);
NotOldWindowsMap.rawset(3874, 1);
NotOldWindowsMap.rawset(3858, 1);
NotOldWindowsMap.rawset(3871, 1);
NotOldWindowsMap.rawset(3857, 1);
NotOldWindowsMap.rawset(3861, 1);
NotOldWindowsMap.rawset(3862, 1);
// NotOldWindowsMap.rawset(-1, 1);
NotOldWindowsMap.rawset(93, 1);
NotOldWindowsMap.rawset(94, 1);
NotOldWindowsMap.rawset(95, 1);
NotOldWindowsMap.rawset(96, 1);
NotOldWindowsMap.rawset(97, 1);
NotOldWindowsMap.rawset(98, 1);
NotOldWindowsMap.rawset(99, 1);
NotOldWindowsMap.rawset(100, 1);
NotOldWindowsMap.rawset(101, 1);
NotOldWindowsMap.rawset(114, 1);
NotOldWindowsMap.rawset(88, 1);
NotOldWindowsMap.rawset(102, 1);
NotOldWindowsMap.rawset(108, 1);
NotOldWindowsMap.rawset(109, 1);
NotOldWindowsMap.rawset(103, 1);
NotOldWindowsMap.rawset(104, 1);
NotOldWindowsMap.rawset(110, 1);
NotOldWindowsMap.rawset(111, 1);
NotOldWindowsMap.rawset(105, 1);
NotOldWindowsMap.rawset(106, 1);
NotOldWindowsMap.rawset(112, 1);
NotOldWindowsMap.rawset(113, 1);
NotOldWindowsMap.rawset(107, 1);
NotOldWindowsMap.rawset(87, 1);
NotOldWindowsMap.rawset(86, 1);
NotOldWindowsMap.rawset(80, 1);
NotOldWindowsMap.rawset(81, 1);
NotOldWindowsMap.rawset(82, 1);
NotOldWindowsMap.rawset(83, 1);
NotOldWindowsMap.rawset(4067, 1);
// NotOldWindowsMap.rawset(130, 1);
NotOldWindowsMap.rawset(122, 1);
//基础窗口类
//基础窗口类 所有UI类继承与本类
class LenheartNewUI_BaseWindow extends BasicsDrawTool {
//子控件
Childrens = null;
@ -105,13 +54,13 @@ class LenheartNewUI_BaseWindow extends BasicsDrawTool {
Window.OnMouseWheel(Flag, MousePos_X, MousePos_Y);
}
}
//显示
function Show(obj) {
foreach(Window in Childrens) {
Window.Show(obj);
}
}
//同步坐标
function SyncPos(X, Y) {
foreach(Window in Childrens) {
Window.SyncPos(X, Y);
@ -119,7 +68,7 @@ class LenheartNewUI_BaseWindow extends BasicsDrawTool {
}
}
//窗口类
//游戏窗口类
class LenheartNewUI_Windows extends LenheartNewUI_BaseWindow {
//窗口名称
ObjectId = null;
@ -167,7 +116,7 @@ class LenheartNewUI_Windows extends LenheartNewUI_BaseWindow {
LenheartNewUI_BaseWindow.constructor();
}
//加入窗口队列 并且切换到最上层窗口
//切换到最上层窗口 即得到焦点时
function ResetFocus() {
foreach(Index, WindowObj in L_Windows_List) {
if (WindowObj.ObjectId == this.ObjectId) L_Windows_List.remove(Index);
@ -176,9 +125,36 @@ class LenheartNewUI_Windows extends LenheartNewUI_BaseWindow {
//切换上层显示
getroottable().WindowsShowABFlag <- true;
}
/*
* @函数作用: 移除子对象
* @参数 子对象名称
* @返回值
*/
function RemoveChild(ChildName) {
foreach(_Index, _Child in Childrens) {
if (_Child.ObjectId == ChildName) {
Childrens.remove(_Index);
return;
}
}
}
/*
* @函数作用: 移除子对象类
* @参数 类
* @返回值
*/
function RemoveChilds(ClassName) {
foreach(_Index, _Child in Childrens) {
if (_Child instanceof ClassName) {
Childrens.remove(_Index);
}
}
}
//关闭窗口 -并没有销毁只是隐藏
function CloseWindow() {
this.Visible = false;
//这里判断是否有锁定鼠标 如果有就解锁
if (L_sq_RAB(0x1B46886)) {
L_sq_WAB(0x1B46886, 0);
}
@ -276,7 +252,7 @@ class LenheartNewUI_Windows extends LenheartNewUI_BaseWindow {
LenheartNewUI_BaseWindow.OnMouseRbUp(MousePos_X, MousePos_Y);
}
//override
//鼠标滚轮时间回调
//鼠标滚轮事件回调
function OnMouseWheel(Flag, MousePos_X, MousePos_Y) {
if (!Visible) return;
@ -304,11 +280,11 @@ function CheackMouseInNewWindows(MousePos_X, MousePos_Y) {
if (!Window.Visible) continue;
if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, Window.X, Window.Y, Window.Width, Window.Height)) {
Flag = true;
getroottable().WindowsHoverFlag <- true;
getroottable().NewWindowsHoverFlag <- true;
return Flag;
}
}
getroottable().WindowsHoverFlag <- false;
getroottable().NewWindowsHoverFlag <- false;
return Flag;
}
//遍历是否悬停在原生窗口上
@ -400,7 +376,6 @@ function L_MouseCallBack(MouseState, MouseFlag, MousePos_X, MousePos_Y) {
}
function L_OpenOldWindowCallBack(WindowIndex) {
print(WindowIndex);
//将新窗口渲染队列改为下层
if (WindowIndex != 170) getroottable().WindowsShowABFlag <- false;
}

View File

@ -0,0 +1,50 @@
/*
文件名:OldWindowsMap.nut
路径:Tool/Lenheart_UI/OldWindowsMap.nut
创建日期:2024-04-01 22:43
文件用途:用于查询是否鼠标悬停在原生窗口上的Flag 以下编号代表着没有悬停其他均为悬停在原生窗口
*/
NotOldWindowsMap <- {}
NotOldWindowsMap.rawset(92, 1);
NotOldWindowsMap.rawset(79, 1);
NotOldWindowsMap.rawset(2396, 1);
NotOldWindowsMap.rawset(3877, 1);
NotOldWindowsMap.rawset(3878, 1);
NotOldWindowsMap.rawset(3873, 1);
NotOldWindowsMap.rawset(3874, 1);
NotOldWindowsMap.rawset(3858, 1);
NotOldWindowsMap.rawset(3871, 1);
NotOldWindowsMap.rawset(3857, 1);
NotOldWindowsMap.rawset(3861, 1);
NotOldWindowsMap.rawset(3862, 1);
NotOldWindowsMap.rawset(93, 1);
NotOldWindowsMap.rawset(94, 1);
NotOldWindowsMap.rawset(95, 1);
NotOldWindowsMap.rawset(96, 1);
NotOldWindowsMap.rawset(97, 1);
NotOldWindowsMap.rawset(98, 1);
NotOldWindowsMap.rawset(99, 1);
NotOldWindowsMap.rawset(100, 1);
NotOldWindowsMap.rawset(101, 1);
NotOldWindowsMap.rawset(114, 1);
NotOldWindowsMap.rawset(88, 1);
NotOldWindowsMap.rawset(102, 1);
NotOldWindowsMap.rawset(108, 1);
NotOldWindowsMap.rawset(109, 1);
NotOldWindowsMap.rawset(103, 1);
NotOldWindowsMap.rawset(104, 1);
NotOldWindowsMap.rawset(110, 1);
NotOldWindowsMap.rawset(111, 1);
NotOldWindowsMap.rawset(105, 1);
NotOldWindowsMap.rawset(106, 1);
NotOldWindowsMap.rawset(112, 1);
NotOldWindowsMap.rawset(113, 1);
NotOldWindowsMap.rawset(107, 1);
NotOldWindowsMap.rawset(87, 1);
NotOldWindowsMap.rawset(86, 1);
NotOldWindowsMap.rawset(80, 1);
NotOldWindowsMap.rawset(81, 1);
NotOldWindowsMap.rawset(82, 1);
NotOldWindowsMap.rawset(83, 1);
NotOldWindowsMap.rawset(4067, 1);
NotOldWindowsMap.rawset(122, 1);