ref: 42ea627853d79a54ef956a831e2f8badff5bfdb8
parent: b545537c9a6c7d32976b863cbb14792980d31e3d
author: rodri <rgl@antares-labs.eu>
date: Sun Apr 9 18:14:26 EDT 2023
added a new pulsar animation for the star sprite. wrote a little description for the manpage. generalized the drawconnecting() procedure into a drawprogressing() one that takes an arbitrary, nul-terminated string as input.
binary files /dev/null b/assets/spr/pulsar.pic differ
--- a/musw.c
+++ b/musw.c
@@ -480,7 +480,7 @@
}
void
-drawconnecting(void)
+drawprogressing(char *s)
{static double t0;
static Point p = {100,300};@@ -491,11 +491,11 @@
t0 = nanosec();
if(nanosec()-t0 >= 5e9){ /* every five seconds */- p = Pt(ntruerand(SCRW-2*100)+100,ntruerand(SCRH-100)+100);
+ p = Pt(ntruerand(SCRW-stringwidth(font, s)-3*font->width),ntruerand(SCRH-font->height));
t0 = nanosec();
}
- np = string(screenb, addpt(screenb->r.min, p), display->white, ZP, font, "connecting");
+ np = string(screenb, addpt(screenb->r.min, p), display->white, ZP, font, s);
for(i = 1; i < 3+1; i++){if(nanosec()-t0 > i*1e9)
@@ -518,9 +518,10 @@
intro->draw(intro, screenb, subpt(divpt(screenb->r.max, 2), divpt(intro->r.max, 2)));
break;
case GSConnecting:
- drawconnecting();
+ drawprogressing("connecting");break;
case GSMatching:
+ drawprogressing("waiting for players");break;
case GSPlaying:
drawship(&universe->ships[0], screenb);
@@ -548,8 +549,6 @@
sysfatal("resize failed");unlockdisplay(display);
-// screenrf.p = Pt2(screen->r.min.x+Dx(screen->r)/2,screen->r.max.y-Dy(screen->r)/2,1);
-
/* ignore move events */
if(Dx(screen->r) != SCRW || Dy(screen->r) != SCRH){ fd = open("/dev/wctl", OWRITE);@@ -660,7 +659,7 @@
sysfatal("readvmodel: %r");universe->ships[0].mdl = needlemdl;
universe->ships[1].mdl = wedgemdl;
- universe->star.spr = readsprite("assets/spr/earth.pic", ZP, Rect(0,0,32,32), 5, 20e3);+ universe->star.spr = readsprite("assets/spr/pulsar.pic", ZP, Rect(0,0,64,64), 9, 50); intro = readsprite("assets/spr/intro.pic", ZP, Rect(0,0,640,480), 1, 0);--- a/musw.man
+++ b/musw.man
@@ -4,7 +4,7 @@
.SH SYNOPSIS
.B games/musw
[
-.B -d
+.B -dg
]
.I dialstring
.br
@@ -17,6 +17,10 @@
.I addr
]
.SH DESCRIPTION
+.I Musw
+is a multi-user, on-line version of
+.IR Spacewar! ,
+the space dogfight simulation game developed by Steve Russell in the 1960s for the PDP-1.
.SH EXAMPLE
.SH SOURCE
.B /sys/src/games/musw
--- a/muswd.c
+++ b/muswd.c
@@ -473,11 +473,11 @@
fmtinstall(L'Φ', Φfmt);
addr = "udp!*!112";
ARGBEGIN{- case 'a':
- addr = EARGF(usage());
- break;
case 'd':
debug++;
+ break;
+ case 'a':
+ addr = EARGF(usage());
break;
default:
usage();
--
⑨