-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e5b1ef1
commit ce6ec27
Showing
12 changed files
with
282 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,44 @@ | ||
gamehud = [ | ||
format "^f7SG: ^f1%1%% ^f7CG: ^f1%2%% ^f7RL: ^f1%3%% ^f7RI: ^f1%4%% ^f7GL: ^f1%5%% ^n^t^f7frags: ^f0%6 ^f7deaths: ^f3%7 ^f7acc: ^f2%8%% ^f7kpd: ^f5%9" ( | ||
round (getaccuracy -1 1) 0.1 )( | ||
round (getaccuracy -1 2) 0.1 )( | ||
round (getaccuracy -1 3) 0.1 )( | ||
round (getaccuracy -1 4) 0.1 )( | ||
round (getaccuracy -1 5) 0.1 )( | ||
getfrags )( | ||
getdeaths )( | ||
round (getaccuracy) 0.1 )( | ||
round (divf (getfrags) (max (getdeaths) 1)) 0.1 | ||
) | ||
] | ||
p1xbratengamehud = [ | ||
local playerstates | ||
playerstates = [ | ||
local playerlist teamlist teams players | ||
playerlist = [ | ||
local players playernamecolor | ||
players = $arg1 | ||
looplistconcatword cn $players [ | ||
playernamecolor = (? (= $getfollow $cn) "^f2" (? (isdead $cn) "^f4" "^f7")) | ||
concatword "^n^fs" $playernamecolor (getclientname $cn) "^fr" | ||
] | ||
] | ||
teamlist = [ | ||
local teamname teamplayers teamnamecolor | ||
teamname = $arg1 | ||
teamplayers = $arg2 | ||
if $teamname [ | ||
teamnamecolor = (? (=s $teamname "spectators") "^f2" (? (=s $teamname $getteam) "^f1" "^f3")) | ||
] | ||
concatword "^fs" $teamnamecolor $teamname ":^fr" (playerlist $teamplayers) | ||
] | ||
teams = (listteams 1 1 0) | ||
if (listlen $teams) [ | ||
looplistconcatword teamname $teams [ | ||
players = (listclients 1 1 0 $teamname) | ||
result (? (listlen $players) (concatword (teamlist $teamname $players) "^n^n") "") | ||
] | ||
] [ | ||
players = (listclients 1 1 0) | ||
result (? (listlen $players) (concatword "^fs^f7players:^fr" (playerlist $players) "^n^n") "") | ||
] | ||
] | ||
|
||
local specgamehud | ||
if (isspectator $getclientnum) [ | ||
specgamehud = (concatword (playerstates) "^fs^f2SPECTATOR^fr^n") | ||
] | ||
|
||
if (> (strlen (getalias "gamehud")) 0) [ | ||
specgamehud = (concatword $specgamehud "^n" (gamehud)) | ||
] | ||
|
||
result $specgamehud | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,40 @@ | ||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x8d, 0x90, | ||
0xcd, 0x0a, 0x82, 0x40, 0x10, 0x80, 0xef, 0x3e, 0xc5, 0x20, 0x2c, 0xb8, | ||
0x87, 0xc2, 0xf5, 0x27, 0x2b, 0xe8, 0xd4, 0x41, 0x82, 0x4e, 0x75, 0x8c, | ||
0x84, 0xc5, 0x75, 0x35, 0x42, 0x8d, 0x6d, 0x8d, 0x7a, 0xfb, 0xf6, 0xc7, | ||
0x0e, 0x91, 0xa1, 0x73, 0x59, 0xbe, 0x99, 0x6f, 0x67, 0x86, 0x29, 0x69, | ||
0x5d, 0x54, 0x1d, 0x83, 0x0d, 0x9c, 0x1c, 0x50, 0xc1, 0x5b, 0x51, 0x53, | ||
0x09, 0x6e, 0xc6, 0x93, 0x63, 0xba, 0x86, 0x8c, 0x13, 0x44, 0x10, 0x52, | ||
0x6f, 0xb2, 0xed, 0x31, 0xb0, 0x78, 0xd8, 0x5b, 0x0c, 0x7b, 0xdc, 0x59, | ||
0x8c, 0x2c, 0xa6, 0x7d, 0x35, 0xd6, 0xd8, 0x64, 0x52, 0xa5, 0xb8, 0xa0, | ||
0xe5, 0x5d, 0x67, 0x7d, 0xb4, 0xd0, 0x0a, 0x2b, 0xa8, 0xac, 0x4c, 0x22, | ||
0x44, 0x89, 0x4e, 0xd0, 0x3c, 0xd7, 0x14, 0xa0, 0xa5, 0xed, 0x71, 0xbd, | ||
0x31, 0xcd, 0x31, 0x5a, 0xb9, 0xe0, 0x99, 0xe5, 0x74, 0x88, 0xb6, 0x6b, | ||
0x18, 0x78, 0x65, 0x21, 0x95, 0xdf, 0x09, 0x9a, 0xbf, 0x60, 0x46, 0x80, | ||
0x60, 0xf0, 0xe7, 0x44, 0x95, 0xf1, 0x98, 0x19, 0x4c, 0x36, 0xc3, 0xc9, | ||
0x66, 0x34, 0xd9, 0x8c, 0x07, 0x4c, 0xa5, 0x98, 0xdb, 0xc0, 0x70, 0x7c, | ||
0x9b, 0xf6, 0x6a, 0xa3, 0xe6, 0xef, 0xf4, 0xcf, 0xe0, 0x3f, 0x26, 0xbb, | ||
0x3c, 0xb8, 0xf1, 0xcd, 0x2a, 0x18, 0xbc, 0x9a, 0x3e, 0x0d, 0xdb, 0x81, | ||
0x58, 0x5d, 0xd8, 0x74, 0x30, 0xff, 0xb0, 0x73, 0x7e, 0x03, 0xfd, 0xc9, | ||
0x5c, 0xac, 0x38, 0x02, 0x00, 0x00 | ||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x8d, 0x94, | ||
0xdf, 0x4b, 0xc3, 0x30, 0x10, 0xc7, 0x9f, 0xd7, 0xbf, 0x22, 0x84, 0x3e, | ||
0xb4, 0x6f, 0x6e, 0x0a, 0x82, 0x30, 0x45, 0xc4, 0x67, 0x45, 0xf7, 0x26, | ||
0x1d, 0xc4, 0x2e, 0x9b, 0x85, 0x2c, 0x29, 0x49, 0xc6, 0xf4, 0xbf, 0xf7, | ||
0x2e, 0xbf, 0x76, 0xc5, 0x9f, 0x8c, 0x6d, 0xcd, 0xe5, 0x9b, 0xef, 0xdd, | ||
0x7d, 0x7a, 0xed, 0x38, 0x7f, 0x7f, 0xb5, 0xc2, 0x4b, 0xbd, 0x13, 0x7b, | ||
0xf9, 0x76, 0xd8, 0xb0, 0x25, 0x7b, 0xa9, 0x66, 0xca, 0xf4, 0x42, 0xb1, | ||
0x51, 0x89, 0x0f, 0x69, 0x9d, 0x87, 0x6d, 0x57, 0xcd, 0xe8, 0x2a, 0xaa, | ||
0x26, 0x32, 0x35, 0x38, 0xcf, 0xbc, 0x14, 0xfb, 0x72, 0xe1, 0xb2, 0x01, | ||
0x28, 0x89, 0x26, 0x1e, 0x9d, 0xa6, 0x48, 0xff, 0x1a, 0x6a, 0xe8, 0x8d, | ||
0x32, 0x16, 0x05, 0x79, 0x6b, 0xc9, 0x6a, 0x61, 0x77, 0x73, 0x0c, 0xc1, | ||
0x21, 0x33, 0xa2, 0x49, 0x6f, 0x74, 0x2f, 0xfc, 0xd1, 0xd8, 0x0d, 0xeb, | ||
0x35, 0xab, 0xb3, 0x34, 0x18, 0xe7, 0x93, 0xc5, 0x0c, 0x1c, 0x9a, 0x1b, | ||
0xd6, 0x80, 0xcf, 0x4e, 0xfa, 0xad, 0x51, 0xca, 0x1c, 0x59, 0xdd, 0xeb, | ||
0x96, 0xf1, 0xf5, 0x76, 0xc1, 0xc3, 0xde, 0xe0, 0x36, 0x52, 0x6c, 0x4a, | ||
0xf4, 0x82, 0xe3, 0xef, 0x25, 0x6f, 0xdb, 0x68, 0x48, 0xd2, 0xf1, 0xb5, | ||
0x5e, 0x6f, 0x1d, 0xcf, 0x39, 0x4f, 0x49, 0x1a, 0x30, 0xef, 0xd5, 0x20, | ||
0xb5, 0xc7, 0x58, 0xb1, 0xb2, 0x3c, 0x58, 0x74, 0x55, 0xfc, 0x16, 0x40, | ||
0x13, 0x0a, 0x18, 0x0d, 0xa7, 0xf0, 0x22, 0x37, 0x93, 0x83, 0x05, 0x48, | ||
0x51, 0x11, 0x22, 0xf4, 0x40, 0x0c, 0x2f, 0x30, 0x3c, 0x6c, 0x59, 0x5d, | ||
0xe4, 0x91, 0xca, 0xc4, 0x2e, 0x23, 0x71, 0x44, 0xc6, 0xdd, 0x28, 0x7b, | ||
0xb8, 0xbb, 0xc6, 0x3a, 0x4e, 0xd9, 0x4c, 0x44, 0x88, 0x10, 0x17, 0x41, | ||
0x30, 0x0f, 0x98, 0xce, 0x13, 0x26, 0x6c, 0x6f, 0x4a, 0x2a, 0x70, 0x9a, | ||
0xe6, 0x25, 0xe9, 0xae, 0x10, 0x0e, 0x6b, 0xc8, 0x64, 0xd4, 0xa4, 0x9b, | ||
0x96, 0x00, 0xc3, 0xd6, 0x1a, 0x54, 0xc4, 0xc5, 0x1c, 0x3e, 0x67, 0xb8, | ||
0x0f, 0x5d, 0x86, 0xb0, 0x92, 0x3a, 0x9e, 0x75, 0x6d, 0xa6, 0xfa, 0x65, | ||
0x4c, 0x4e, 0x1d, 0x44, 0x93, 0x08, 0xe5, 0x84, 0x2e, 0x18, 0xc5, 0xfb, | ||
0x97, 0x32, 0x9c, 0x6a, 0x8d, 0x53, 0x60, 0xa5, 0x3b, 0x28, 0x1f, 0x90, | ||
0x94, 0xa4, 0xb9, 0x58, 0xd6, 0x90, 0x54, 0x4d, 0xb9, 0xc9, 0x84, 0x5b, | ||
0x51, 0xe2, 0x00, 0x69, 0x04, 0xcc, 0x0b, 0xb5, 0x2e, 0x56, 0xf3, 0x5b, | ||
0x31, 0x41, 0xfb, 0xef, 0x0a, 0x10, 0x3d, 0xcc, 0x6f, 0xda, 0xfb, 0x06, | ||
0xf4, 0x0f, 0xd5, 0x40, 0x31, 0x5d, 0x95, 0x9f, 0x7e, 0x1c, 0x87, 0xf4, | ||
0x52, 0xa8, 0x02, 0xea, 0xc1, 0x95, 0x09, 0x09, 0x73, 0x90, 0xa6, 0xfd, | ||
0xb0, 0x8f, 0xd4, 0x89, 0x1e, 0x5b, 0xa0, 0x40, 0xe8, 0xab, 0xa3, 0x4d, | ||
0xd5, 0x2d, 0x9e, 0x1f, 0xef, 0xef, 0x56, 0xb7, 0xab, 0x87, 0x27, 0x28, | ||
0x0f, 0x6b, 0x88, 0xb9, 0x31, 0xd1, 0x35, 0x6b, 0x9c, 0xb7, 0xd8, 0x1e, | ||
0x3e, 0x54, 0x42, 0x0d, 0xc2, 0x31, 0x9e, 0xac, 0x61, 0xd8, 0x80, 0xc6, | ||
0x1f, 0x09, 0x6b, 0xba, 0x05, 0x2d, 0x42, 0xf7, 0x69, 0xd5, 0xa6, 0x34, | ||
0x09, 0x25, 0x15, 0x56, 0x5d, 0xf5, 0x09, 0x2a, 0xc3, 0xa6, 0x1c, 0x0d, | ||
0x05, 0x00, 0x00 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
gamehud = [ | ||
format "^f7SG: ^f1%1%% ^f7CG: ^f1%2%% ^f7RL: ^f1%3%% ^f7RI: ^f1%4%% ^f7GL: ^f1%5%% ^n^f7frags: ^f0%6 ^f7deaths: ^f3%7 ^f7acc: ^f2%8%% ^f7kpd: ^f5%9" ( | ||
round (getaccuracy -1 1) 0.1 )( | ||
round (getaccuracy -1 2) 0.1 )( | ||
round (getaccuracy -1 3) 0.1 )( | ||
round (getaccuracy -1 4) 0.1 )( | ||
round (getaccuracy -1 5) 0.1 )( | ||
getfrags )( | ||
getdeaths )( | ||
round (getaccuracy) 0.1 )( | ||
round (divf (getfrags) (max (getdeaths) 1)) 0.1 | ||
) | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
Index: src/engine/main.cpp | ||
=================================================================== | ||
--- src/engine/main.cpp (revision 6496) | ||
+++ src/engine/main.cpp (working copy) | ||
@@ -1299,3 +1299,4 @@ | ||
+ execfile("data/p1xbraten/gamehud.cfg.gz"); | ||
|
||
identflags |= IDF_PERSIST; | ||
|
||
Index: src/engine/rendergl.cpp | ||
=================================================================== | ||
--- src/engine/rendergl.cpp (revision 6496) | ||
+++ src/engine/rendergl.cpp (working copy) | ||
@@ -2256,8 +2256,12 @@ | ||
int nextfps[3]; | ||
getfps(nextfps[0], nextfps[1], nextfps[2]); | ||
loopi(3) if(prevfps[i]==curfps[i]) curfps[i] = nextfps[i]; | ||
- if(showfpsrange) draw_textf("fps %d+%d-%d", conw-7*FONTH, conh-FONTH*3/2, curfps[0], curfps[1], curfps[2]); | ||
- else draw_textf("fps %d", conw-5*FONTH, conh-FONTH*3/2, curfps[0]); | ||
+ static string buf; | ||
+ if(showfpsrange) formatstring(buf, "(+%d-%d) %d fps", curfps[1], curfps[2], curfps[0]); | ||
+ else formatstring(buf, "%d fps", curfps[0]); | ||
+ int tw, th; | ||
+ text_bounds(buf, tw, th); | ||
+ draw_text(buf, conw-tw-FONTH, conh-FONTH*3/2); | ||
roffset += FONTH; | ||
} | ||
|
||
@@ -2267,7 +2271,7 @@ | ||
time_t walloffset = walltime + totalmillis/1000; | ||
struct tm *localvals = localtime(&walloffset); | ||
static string buf; | ||
- if(localvals && strftime(buf, sizeof(buf), wallclocksecs ? (wallclock24 ? "%H:%M:%S" : "%I:%M:%S%p") : (wallclock24 ? "%H:%M" : "%I:%M%p"), localvals)) | ||
+ if(localvals && strftime(buf, sizeof(buf), wallclocksecs ? (wallclock24 ? "%H:%M:%S" : "%I:%M:%S %p") : (wallclock24 ? "%H:%M" : "%I:%M %p"), localvals)) | ||
{ | ||
// hack because not all platforms (windows) support %P lowercase option | ||
// also strip leading 0 from 12 hour time | ||
@@ -2274,12 +2278,14 @@ | ||
char *dst = buf; | ||
const char *src = &buf[!wallclock24 && buf[0]=='0' ? 1 : 0]; | ||
while(*src) *dst++ = tolower(*src++); | ||
- *dst++ = '\0'; | ||
- draw_text(buf, conw-5*FONTH, conh-FONTH*3/2-roffset); | ||
+ *dst++ = '\0'; | ||
+ int tw, th; | ||
+ text_bounds(buf, tw, th); | ||
+ draw_text(buf, conw-tw-FONTH, conh-FONTH*3/2-roffset); | ||
roffset += FONTH; | ||
} | ||
} | ||
- | ||
+ | ||
if(editmode || showeditstats) | ||
{ | ||
static int laststats = 0, prevstats[8] = { 0, 0, 0, 0, 0, 0, 0 }, curstats[8] = { 0, 0, 0, 0, 0, 0, 0 }; | ||
@@ -2325,7 +2331,7 @@ | ||
DELETEA(editinfo); | ||
} | ||
} | ||
- else if(char *gameinfo = execidentstr("gamehud")) | ||
+ else if(char *gameinfo = execidentstr("p1xbratengamehud")) | ||
{ | ||
if(gameinfo[0]) | ||
{ | ||
@@ -2333,8 +2339,21 @@ | ||
text_bounds(gameinfo, tw, th); | ||
th += FONTH-1; th -= th%FONTH; | ||
roffset += max(th, FONTH); | ||
- draw_text(gameinfo, conw-max(5*FONTH, 2*FONTH+tw), conh-FONTH/2-roffset); | ||
+ int thoffset = 0; | ||
+ char *line = gameinfo, *lineend = line; | ||
+ while(*line && *lineend) | ||
+ { | ||
+ while(*lineend && *lineend!='\n') lineend++; | ||
+ bool atend = !*lineend; | ||
+ *lineend = '\0'; | ||
+ int lw, lh; | ||
+ text_bounds(line, lw, lh); | ||
+ draw_text(line, conw-lw-FONTH, conh-FONTH/2-roffset+thoffset); | ||
+ thoffset += max(lh, FONTH); | ||
+ if(atend) break; | ||
+ line = lineend = lineend+1; | ||
} | ||
+ } | ||
DELETEA(gameinfo); | ||
} | ||
|
||
Index: src/fpsgame/client.cpp | ||
=================================================================== | ||
--- src/fpsgame/client.cpp (revision 6496) | ||
+++ src/fpsgame/client.cpp (working copy) | ||
@@ -332,6 +332,14 @@ | ||
ICOMMAND(getmastermode, "", (), intret(mastermode)); | ||
ICOMMAND(mastermodename, "i", (int *mm), result(server::mastermodename(*mm, ""))); | ||
|
||
+ bool isdead(int cn) | ||
+ { | ||
+ if(player1->state != CS_SPECTATOR) return false; | ||
+ fpsent *d = getclient(cn); | ||
+ return d && d->state==CS_DEAD; | ||
+ } | ||
+ ICOMMAND(isdead, "i", (int *cn), intret(isdead(*cn) ? 1 : 0)); | ||
+ | ||
bool isspectator(int cn) | ||
{ | ||
fpsent *d = getclient(cn); | ||
Index: src/fpsgame/fps.cpp | ||
=================================================================== | ||
--- src/fpsgame/fps.cpp (revision 6496) | ||
+++ src/fpsgame/fps.cpp (working copy) | ||
@@ -1056,23 +1056,6 @@ | ||
hudmatrix.scale(h/1800.0f, h/1800.0f, 1); | ||
flushhudmatrix(); | ||
|
||
- if(player1->state==CS_SPECTATOR) | ||
- { | ||
- int pw, ph, tw, th, fw, fh; | ||
- text_bounds(" ", pw, ph); | ||
- text_bounds("SPECTATOR", tw, th); | ||
- th = max(th, ph); | ||
- fpsent *f = followingplayer(); | ||
- text_bounds(f ? colorname(f) : " ", fw, fh); | ||
- fh = max(fh, ph); | ||
- draw_text("SPECTATOR", w*1800/h - tw - pw, 1650 - th - fh); | ||
- if(f) | ||
- { | ||
- int color = statuscolor(f, 0xFFFFFF); | ||
- draw_text(colorname(f), w*1800/h - fw - pw, 1650 - fh, (color>>16)&0xFF, (color>>8)&0xFF, color&0xFF); | ||
- } | ||
- } | ||
- | ||
fpsent *d = hudplayer(); | ||
if(d->state!=CS_EDITING) | ||
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.