mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-08 02:48:26 +00:00
some angle diff arrows in keys
WHICH I CAN'T SEE IF IT LOOKS GOOD BECAUSE THE CHARACTERS DON'T SHOW ON LINUX
This commit is contained in:
parent
7d6d906060
commit
3750c8edeb
@ -117,6 +117,9 @@ float gF_ConnectTime[MAXPLAYERS+1];
|
|||||||
bool gB_FirstPrint[MAXPLAYERS+1];
|
bool gB_FirstPrint[MAXPLAYERS+1];
|
||||||
int gI_PreviousSpeed[MAXPLAYERS+1];
|
int gI_PreviousSpeed[MAXPLAYERS+1];
|
||||||
int gI_ZoneSpeedLimit[MAXPLAYERS+1];
|
int gI_ZoneSpeedLimit[MAXPLAYERS+1];
|
||||||
|
float gF_Angle[MAXPLAYERS+1];
|
||||||
|
float gF_PreviousAngle[MAXPLAYERS+1];
|
||||||
|
float gF_AngleDiff[MAXPLAYERS+1];
|
||||||
|
|
||||||
bool gB_Late = false;
|
bool gB_Late = false;
|
||||||
|
|
||||||
@ -382,9 +385,30 @@ public void Shavit_OnStyleConfigLoaded(int styles)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MakeAngleDiff(int client, float newAngle)
|
||||||
|
{
|
||||||
|
gF_PreviousAngle[client] = gF_Angle[client];
|
||||||
|
gF_Angle[client] = newAngle;
|
||||||
|
|
||||||
|
// stolen from btimes
|
||||||
|
float fAngleDiff = newAngle - gF_PreviousAngle[client];
|
||||||
|
|
||||||
|
if (fAngleDiff > 180)
|
||||||
|
{
|
||||||
|
fAngleDiff -= 360;
|
||||||
|
}
|
||||||
|
else if(fAngleDiff < -180)
|
||||||
|
{
|
||||||
|
fAngleDiff += 360;
|
||||||
|
}
|
||||||
|
|
||||||
|
gF_AngleDiff[client] = fAngleDiff;
|
||||||
|
}
|
||||||
|
|
||||||
public Action Shavit_OnUserCmdPre(int client, int &buttons, int &impulse, float vel[3], float angles[3], TimerStatus status, int track, int style, stylesettings_t stylsettings)
|
public Action Shavit_OnUserCmdPre(int client, int &buttons, int &impulse, float vel[3], float angles[3], TimerStatus status, int track, int style, stylesettings_t stylsettings)
|
||||||
{
|
{
|
||||||
gI_Buttons[client] = buttons;
|
gI_Buttons[client] = buttons;
|
||||||
|
MakeAngleDiff(client, angles[1]);
|
||||||
|
|
||||||
for(int i = 1; i <= MaxClients; i++)
|
for(int i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
@ -423,10 +447,18 @@ public void PostThinkPost(int client)
|
|||||||
{
|
{
|
||||||
int buttons = GetClientButtons(client);
|
int buttons = GetClientButtons(client);
|
||||||
|
|
||||||
if(gI_Buttons[client] != buttons)
|
float ang[3];
|
||||||
|
GetClientEyeAngles(client, ang);
|
||||||
|
|
||||||
|
if(gI_Buttons[client] != buttons || ang[1] != gF_Angle[client])
|
||||||
{
|
{
|
||||||
gI_Buttons[client] = buttons;
|
gI_Buttons[client] = buttons;
|
||||||
|
|
||||||
|
if (ang[1] != gF_Angle[client])
|
||||||
|
{
|
||||||
|
MakeAngleDiff(client, ang[1]);
|
||||||
|
}
|
||||||
|
|
||||||
for(int i = 1; i <= MaxClients; i++)
|
for(int i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if(i != client && (IsValidClient(i) && GetSpectatorTarget(i, i) == client))
|
if(i != client && (IsValidClient(i) && GetSpectatorTarget(i, i) == client))
|
||||||
@ -1584,10 +1616,12 @@ void UpdateKeyOverlay(int client, Panel panel, bool &draw)
|
|||||||
FormatEx(sPanelLine, 64, " %d%s%d\n", gI_ScrollCount[target], (gI_ScrollCount[target] > 9)? " ":" ", gI_LastScrollCount[target]);
|
FormatEx(sPanelLine, 64, " %d%s%d\n", gI_ScrollCount[target], (gI_ScrollCount[target] > 9)? " ":" ", gI_LastScrollCount[target]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Format(sPanelLine, 128, "%s[%s] [%s]\n %s\n%s %s %s\n %s %s", sPanelLine,
|
float fAngleDiff = IsValidClient(target) ? gF_AngleDiff[target] : 0.0;
|
||||||
|
|
||||||
|
Format(sPanelLine, 128, "%s[%s] [%s]\n%s %s %s\n%s %s %s\n %s %s", sPanelLine,
|
||||||
(buttons & IN_JUMP) > 0? "J":"ー", (buttons & IN_DUCK) > 0? "C":"ー",
|
(buttons & IN_JUMP) > 0? "J":"ー", (buttons & IN_DUCK) > 0? "C":"ー",
|
||||||
(buttons & IN_FORWARD) > 0? "W":"ー", (buttons & IN_MOVELEFT) > 0? "A":"ー",
|
(fAngleDiff > 0) ? "←":" ", (buttons & IN_FORWARD) > 0 ? "W":"ー", (fAngleDiff < 0) ? "→":" ",
|
||||||
(buttons & IN_BACK) > 0? "S":"ー", (buttons & IN_MOVERIGHT) > 0? "D":"ー",
|
(buttons & IN_MOVELEFT) > 0? "A":"ー", (buttons & IN_BACK) > 0? "S":"ー", (buttons & IN_MOVERIGHT) > 0? "D":"ー",
|
||||||
(buttons & IN_LEFT) > 0? "L":" ", (buttons & IN_RIGHT) > 0? "R":" ");
|
(buttons & IN_LEFT) > 0? "L":" ", (buttons & IN_RIGHT) > 0? "R":" ");
|
||||||
|
|
||||||
panel.DrawItem(sPanelLine, ITEMDRAW_RAWLINE);
|
panel.DrawItem(sPanelLine, ITEMDRAW_RAWLINE);
|
||||||
@ -1632,12 +1666,13 @@ void UpdateCenterKeys(int client)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int buttons = IsValidClient(target) ? gI_Buttons[target] : Shavit_GetReplayButtons(target);
|
int buttons = IsValidClient(target) ? gI_Buttons[target] : Shavit_GetReplayButtons(target);
|
||||||
|
float fAngleDiff = IsValidClient(target) ? gF_AngleDiff[target] : 0.0;
|
||||||
|
|
||||||
char sCenterText[64];
|
char sCenterText[64];
|
||||||
FormatEx(sCenterText, 64, " %s %s\n %s\n%s %s %s\n %s %s",
|
FormatEx(sCenterText, 64, " %s %s\n%s %s %s\n%s %s %s\n %s %s",
|
||||||
(buttons & IN_JUMP) > 0? "J":"ー", (buttons & IN_DUCK) > 0? "C":"ー",
|
(buttons & IN_JUMP) > 0? "J":"ー", (buttons & IN_DUCK) > 0? "C":"ー",
|
||||||
(buttons & IN_FORWARD) > 0? "W":"ー", (buttons & IN_MOVELEFT) > 0? "A":"ー",
|
(fAngleDiff > 0) ? "←":" ", (buttons & IN_FORWARD) > 0 ? "W":"ー", (fAngleDiff < 0) ? "→":" ",
|
||||||
(buttons & IN_BACK) > 0? "S":"ー", (buttons & IN_MOVERIGHT) > 0? "D":"ー",
|
(buttons & IN_MOVELEFT) > 0? "A":"ー", (buttons & IN_BACK) > 0? "S":"ー", (buttons & IN_MOVERIGHT) > 0? "D":"ー",
|
||||||
(buttons & IN_LEFT) > 0? "L":" ", (buttons & IN_RIGHT) > 0? "R":" ");
|
(buttons & IN_LEFT) > 0? "L":" ", (buttons & IN_RIGHT) > 0? "R":" ");
|
||||||
|
|
||||||
int style = (Shavit_IsReplayEntity(target))? Shavit_GetReplayBotStyle(target):Shavit_GetBhopStyle(target);
|
int style = (Shavit_IsReplayEntity(target))? Shavit_GetReplayBotStyle(target):Shavit_GetBhopStyle(target);
|
||||||
@ -1650,7 +1685,7 @@ void UpdateCenterKeys(int client)
|
|||||||
char autobhop[4];
|
char autobhop[4];
|
||||||
Shavit_GetStyleSetting(style, "autobhop", autobhop, 4);
|
Shavit_GetStyleSetting(style, "autobhop", autobhop, 4);
|
||||||
|
|
||||||
if(gB_BhopStats && !StringToInt(autobhop))
|
if(gB_BhopStats && !StringToInt(autobhop) && IsValidClient(target))
|
||||||
{
|
{
|
||||||
Format(sCenterText, 64, "%s\n %d %d", sCenterText, gI_ScrollCount[target], gI_LastScrollCount[target]);
|
Format(sCenterText, 64, "%s\n %d %d", sCenterText, gI_ScrollCount[target], gI_LastScrollCount[target]);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user