WASD uses stock moveMap; pitch + HUD placement
This commit is contained in:
1 parent
5990114083
commit
c56065f6a0
1 file changed
+80
-91
@@ -6,7 +6,9 @@ $RPGClient::Version = 2;
|
|||||||
$RPGClient::Active = 0;
|
$RPGClient::Active = 0;
|
||||||
$RPGClient::Yaw = 0;
|
$RPGClient::Yaw = 0;
|
||||||
$RPGClient::Dist = 14;
|
$RPGClient::Dist = 14;
|
||||||
$RPGClient::TopDownPitch = 0.95;
|
$RPGClient::TopDownPitch = 1.22;
|
||||||
|
$RPGClient::OrbitInit = 0;
|
||||||
|
$RPGClient::HudPlaced = 0;
|
||||||
$RPGClient::PanX = 0;
|
$RPGClient::PanX = 0;
|
||||||
$RPGClient::PanY = 0;
|
$RPGClient::PanY = 0;
|
||||||
$RPGClient::PanMax = 48;
|
$RPGClient::PanMax = 48;
|
||||||
@@ -182,23 +184,48 @@ function RPGClient_CameraTick()
|
|||||||
}
|
}
|
||||||
%spin = $RPGClient::YawSpeed;
|
%spin = $RPGClient::YawSpeed;
|
||||||
%zoom = $RPGClient::ZoomSpeed;
|
%zoom = $RPGClient::ZoomSpeed;
|
||||||
if ($RPGClient::MvL)
|
%changed = 0;
|
||||||
|
if ($mvLeftAction > 0)
|
||||||
|
{
|
||||||
|
$RPGClient::Yaw = $RPGClient::Yaw - %spin * $mvLeftAction;
|
||||||
|
%changed = 1;
|
||||||
|
}
|
||||||
|
if ($mvRightAction > 0)
|
||||||
|
{
|
||||||
|
$RPGClient::Yaw = $RPGClient::Yaw + %spin * $mvRightAction;
|
||||||
|
%changed = 1;
|
||||||
|
}
|
||||||
|
if ($mvForwardAction > 0)
|
||||||
|
{
|
||||||
|
$RPGClient::Dist = getMax(6, $RPGClient::Dist - %zoom * $mvForwardAction);
|
||||||
|
%changed = 1;
|
||||||
|
}
|
||||||
|
if ($mvBackwardAction > 0)
|
||||||
|
{
|
||||||
|
$RPGClient::Dist = getMin(32, $RPGClient::Dist + %zoom * $mvBackwardAction);
|
||||||
|
%changed = 1;
|
||||||
|
}
|
||||||
|
if ($RPGClient::MvL > 0)
|
||||||
{
|
{
|
||||||
$RPGClient::Yaw = $RPGClient::Yaw - %spin * $RPGClient::MvL;
|
$RPGClient::Yaw = $RPGClient::Yaw - %spin * $RPGClient::MvL;
|
||||||
|
%changed = 1;
|
||||||
}
|
}
|
||||||
if ($RPGClient::MvR)
|
if ($RPGClient::MvR > 0)
|
||||||
{
|
{
|
||||||
$RPGClient::Yaw = $RPGClient::Yaw + %spin * $RPGClient::MvR;
|
$RPGClient::Yaw = $RPGClient::Yaw + %spin * $RPGClient::MvR;
|
||||||
|
%changed = 1;
|
||||||
}
|
}
|
||||||
if ($RPGClient::MvF)
|
if ($RPGClient::MvF > 0)
|
||||||
{
|
{
|
||||||
$RPGClient::Dist = getMax(6, $RPGClient::Dist - %zoom * $RPGClient::MvF);
|
$RPGClient::Dist = getMax(6, $RPGClient::Dist - %zoom * $RPGClient::MvF);
|
||||||
|
%changed = 1;
|
||||||
}
|
}
|
||||||
if ($RPGClient::MvB)
|
if ($RPGClient::MvB > 0)
|
||||||
{
|
{
|
||||||
$RPGClient::Dist = getMin(32, $RPGClient::Dist + %zoom * $RPGClient::MvB);
|
$RPGClient::Dist = getMin(32, $RPGClient::Dist + %zoom * $RPGClient::MvB);
|
||||||
|
%changed = 1;
|
||||||
}
|
}
|
||||||
RPGClient_ApplyCamera(0);
|
RPGClient_ApplyCamera(%changed);
|
||||||
$RPGClient::CamTickSched = schedule(32, 0, RPGClient_CameraTick);
|
$RPGClient::CamTickSched = schedule(32, 0, RPGClient_CameraTick);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -287,14 +314,6 @@ function RPGClient_EnableOverlay()
|
|||||||
RPGClient_KeyMap.delete();
|
RPGClient_KeyMap.delete();
|
||||||
}
|
}
|
||||||
new ActionMap(RPGClient_KeyMap);
|
new ActionMap(RPGClient_KeyMap);
|
||||||
RPGClient_KeyMap.bind(keyboard, w, RPGClient_KeyMvForward);
|
|
||||||
RPGClient_KeyMap.bind(keyboard, s, RPGClient_KeyMvBackward);
|
|
||||||
RPGClient_KeyMap.bind(keyboard, a, RPGClient_KeyMvLeft);
|
|
||||||
RPGClient_KeyMap.bind(keyboard, d, RPGClient_KeyMvRight);
|
|
||||||
RPGClient_KeyMap.bind(keyboard0, w, RPGClient_KeyMvForward);
|
|
||||||
RPGClient_KeyMap.bind(keyboard0, s, RPGClient_KeyMvBackward);
|
|
||||||
RPGClient_KeyMap.bind(keyboard0, a, RPGClient_KeyMvLeft);
|
|
||||||
RPGClient_KeyMap.bind(keyboard0, d, RPGClient_KeyMvRight);
|
|
||||||
RPGClient_KeyMap.bind(keyboard, left, RPGClient_YawLeft);
|
RPGClient_KeyMap.bind(keyboard, left, RPGClient_YawLeft);
|
||||||
RPGClient_KeyMap.bind(keyboard, right, RPGClient_YawRight);
|
RPGClient_KeyMap.bind(keyboard, right, RPGClient_YawRight);
|
||||||
RPGClient_KeyMap.bind(keyboard0, left, RPGClient_YawLeft);
|
RPGClient_KeyMap.bind(keyboard0, left, RPGClient_YawLeft);
|
||||||
@@ -347,6 +366,32 @@ function RPGClient_DisableOverlay()
|
|||||||
RPGClient_Mouse.delete();
|
RPGClient_Mouse.delete();
|
||||||
}
|
}
|
||||||
$RPGClient::Active = 0;
|
$RPGClient::Active = 0;
|
||||||
|
$RPGClient::OrbitInit = 0;
|
||||||
|
$RPGClient::HudPlaced = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function RPGClient_Hud_Place()
|
||||||
|
{
|
||||||
|
if (!isObject(RPGClient_Hud) || !isObject(Canvas))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
%ext = Canvas.getExtent();
|
||||||
|
%w = getWord(%ext, 0);
|
||||||
|
%h = getWord(%ext, 1);
|
||||||
|
if (%h < 1)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
%pw = %w > 520 ? 520 : %w - 16;
|
||||||
|
%px = mFloor((%w - %pw) * 0.5);
|
||||||
|
%py = %h - 108;
|
||||||
|
if (%py < 8)
|
||||||
|
{
|
||||||
|
%py = 8;
|
||||||
|
}
|
||||||
|
RPGClient_Hud.resize(%px, %py, %pw, 20);
|
||||||
|
$RPGClient::HudPlaced = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
function RPGClient_ApplyCamera(%forceSync)
|
function RPGClient_ApplyCamera(%forceSync)
|
||||||
@@ -381,19 +426,18 @@ function RPGClient_ApplyCamera(%forceSync)
|
|||||||
%conn.setControlObject(%cam);
|
%conn.setControlObject(%cam);
|
||||||
$mvFreeLook = 0;
|
$mvFreeLook = 0;
|
||||||
$firstPerson = 0;
|
$firstPerson = 0;
|
||||||
$mvForwardAction = 0;
|
|
||||||
$mvBackwardAction = 0;
|
|
||||||
$mvLeftAction = 0;
|
|
||||||
$mvRightAction = 0;
|
|
||||||
$RPGClient::PanX = 0;
|
|
||||||
$RPGClient::PanY = 0;
|
|
||||||
%xfm = RPGClient_ViewTransform(%body, $RPGClient::Yaw, $RPGClient::Dist, 0, 0);
|
%xfm = RPGClient_ViewTransform(%body, $RPGClient::Yaw, $RPGClient::Dist, 0, 0);
|
||||||
%cam.unmountImage(0);
|
%cam.unmountImage(0);
|
||||||
|
if (!$RPGClient::OrbitInit)
|
||||||
|
{
|
||||||
|
%cam.setMode("Corpse", %body);
|
||||||
|
%cam.setOrbitMode(%body, %xfm, 0, 32, $RPGClient::Dist);
|
||||||
|
%cam.mode = "Corpse";
|
||||||
|
%cam.thirdPersonOnly = 1;
|
||||||
|
$RPGClient::OrbitInit = 1;
|
||||||
|
}
|
||||||
%cam.setTransform(%xfm);
|
%cam.setTransform(%xfm);
|
||||||
%cam.setMode("Corpse", %body);
|
%cam.setOrbitDist($RPGClient::Dist);
|
||||||
%cam.setOrbitMode(%body, %xfm, 0, 32, $RPGClient::Dist);
|
|
||||||
%cam.mode = "Corpse";
|
|
||||||
%cam.thirdPersonOnly = 1;
|
|
||||||
%now = getSimTime();
|
%now = getSimTime();
|
||||||
if (%forceSync || %now - $RPGClient::LastCamSync > 120)
|
if (%forceSync || %now - $RPGClient::LastCamSync > 120)
|
||||||
{
|
{
|
||||||
@@ -550,8 +594,8 @@ function clientCmdRPG_TopDown(%on, %yaw, %dist)
|
|||||||
$RPGClient::Active = 1;
|
$RPGClient::Active = 1;
|
||||||
$RPGClient::Yaw = %yaw;
|
$RPGClient::Yaw = %yaw;
|
||||||
$RPGClient::Dist = %dist > 0 ? %dist : 14;
|
$RPGClient::Dist = %dist > 0 ? %dist : 14;
|
||||||
$RPGClient::PanX = 0;
|
$RPGClient::OrbitInit = 0;
|
||||||
$RPGClient::PanY = 0;
|
$RPGClient::HudPlaced = 0;
|
||||||
RPGClient_EnableOverlay();
|
RPGClient_EnableOverlay();
|
||||||
RPGClient_BindKeys();
|
RPGClient_BindKeys();
|
||||||
RPGClient_StartCameraTick();
|
RPGClient_StartCameraTick();
|
||||||
@@ -613,14 +657,15 @@ function RPGClient_Hud_Ensure()
|
|||||||
}
|
}
|
||||||
new GuiTextCtrl(RPGClient_Hud)
|
new GuiTextCtrl(RPGClient_Hud)
|
||||||
{
|
{
|
||||||
horizSizing = "center";
|
horizSizing = "absolute";
|
||||||
vertSizing = "bottom";
|
vertSizing = "absolute";
|
||||||
position = "0 88";
|
position = "8 400";
|
||||||
extent = "520 20";
|
extent = "520 20";
|
||||||
profile = "ChatHudMessageProfile";
|
profile = "ChatHudMessageProfile";
|
||||||
text = "";
|
text = "";
|
||||||
};
|
};
|
||||||
PlayGui.add(RPGClient_Hud);
|
PlayGui.add(RPGClient_Hud);
|
||||||
|
RPGClient_Hud_Place();
|
||||||
}
|
}
|
||||||
|
|
||||||
function RPGClient_Hud_Update(%hp, %maxHp, %silver, %load, %cap, %skillId, %skillValue, %tHp, %tMax)
|
function RPGClient_Hud_Update(%hp, %maxHp, %silver, %load, %cap, %skillId, %skillValue, %tHp, %tMax)
|
||||||
@@ -630,6 +675,10 @@ function RPGClient_Hud_Update(%hp, %maxHp, %silver, %load, %cap, %skillId, %skil
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RPGClient_Hud_Ensure();
|
RPGClient_Hud_Ensure();
|
||||||
|
if (!$RPGClient::HudPlaced)
|
||||||
|
{
|
||||||
|
RPGClient_Hud_Place();
|
||||||
|
}
|
||||||
%t = "";
|
%t = "";
|
||||||
if (%tMax > 0)
|
if (%tMax > 0)
|
||||||
{
|
{
|
||||||
@@ -710,68 +759,8 @@ package RPGClient_BlockMouseFire
|
|||||||
};
|
};
|
||||||
activatePackage(RPGClient_BlockMouseFire);
|
activatePackage(RPGClient_BlockMouseFire);
|
||||||
|
|
||||||
package RPGClient_MoveMap
|
package RPGClient_PageKeys
|
||||||
{
|
{
|
||||||
function moveforward(%val)
|
|
||||||
{
|
|
||||||
if ($RPGClient::Active)
|
|
||||||
{
|
|
||||||
$RPGClient::MvF = %val;
|
|
||||||
if (%val && $RunMultiplier > 1)
|
|
||||||
{
|
|
||||||
$RPGClient::MvF = %val * $RunMultiplier;
|
|
||||||
}
|
|
||||||
$mvForwardAction = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Parent::moveforward(%val);
|
|
||||||
}
|
|
||||||
|
|
||||||
function movebackward(%val)
|
|
||||||
{
|
|
||||||
if ($RPGClient::Active)
|
|
||||||
{
|
|
||||||
$RPGClient::MvB = %val;
|
|
||||||
if (%val && $RunMultiplier > 1)
|
|
||||||
{
|
|
||||||
$RPGClient::MvB = %val * $RunMultiplier;
|
|
||||||
}
|
|
||||||
$mvBackwardAction = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Parent::movebackward(%val);
|
|
||||||
}
|
|
||||||
|
|
||||||
function moveleft(%val)
|
|
||||||
{
|
|
||||||
if ($RPGClient::Active)
|
|
||||||
{
|
|
||||||
$RPGClient::MvL = %val;
|
|
||||||
if (%val && $RunMultiplier > 1)
|
|
||||||
{
|
|
||||||
$RPGClient::MvL = %val * $RunMultiplier;
|
|
||||||
}
|
|
||||||
$mvLeftAction = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Parent::moveleft(%val);
|
|
||||||
}
|
|
||||||
|
|
||||||
function moveright(%val)
|
|
||||||
{
|
|
||||||
if ($RPGClient::Active)
|
|
||||||
{
|
|
||||||
$RPGClient::MvR = %val;
|
|
||||||
if (%val && $RunMultiplier > 1)
|
|
||||||
{
|
|
||||||
$RPGClient::MvR = %val * $RunMultiplier;
|
|
||||||
}
|
|
||||||
$mvRightAction = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Parent::moveright(%val);
|
|
||||||
}
|
|
||||||
|
|
||||||
function PageUpNewChatHud(%val)
|
function PageUpNewChatHud(%val)
|
||||||
{
|
{
|
||||||
if ($RPGClient::Active && %val)
|
if ($RPGClient::Active && %val)
|
||||||
@@ -792,7 +781,7 @@ package RPGClient_MoveMap
|
|||||||
Parent::PageDownNewChatHud(%val);
|
Parent::PageDownNewChatHud(%val);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
activatePackage(RPGClient_MoveMap);
|
activatePackage(RPGClient_PageKeys);
|
||||||
|
|
||||||
package RPGClient_Cursor
|
package RPGClient_Cursor
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user