aboutsummaryrefslogtreecommitdiff
path: root/musw.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2022-06-15 19:57:31 +0000
committerrodri <rgl@antares-labs.eu>2022-06-15 19:57:31 +0000
commitb69fdfbf30beb998c1817784e748ae78806becf8 (patch)
tree51e27ffc4cad89924c73e1e82d8b0dc6102f7a53 /musw.c
parentc69fa66f609925a98acf8dc7f645b9b50ce3a8ba (diff)
downloadmusw-b69fdfbf30beb998c1817784e748ae78806becf8.tar.gz
musw-b69fdfbf30beb998c1817784e748ae78806becf8.tar.bz2
musw-b69fdfbf30beb998c1817784e748ae78806becf8.zip
some corrections to frame processing and nomenclatures.
Diffstat (limited to 'musw.c')
-rw-r--r--musw.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/musw.c b/musw.c
index 10ca01b..106a83a 100644
--- a/musw.c
+++ b/musw.c
@@ -33,7 +33,7 @@ ulong kdown;
RFrame screenrf;
Universe *universe;
-VModel *needlemdl;
+VModel *needlemdl, *wedgemdl;
Image *skymap;
Channel *kchan;
char winspec[32];
@@ -217,7 +217,7 @@ threadnetrecv(void *arg)
void
threadnetsend(void *arg)
{
- uchar buf[1024];
+ uchar buf[MTU];
int fd, n;
ulong kdown;
Frame *frame;
@@ -225,17 +225,18 @@ threadnetsend(void *arg)
fd = *(int*)arg;
frame = emalloc(sizeof(Frame)+sizeof(kdown));
frame->udp = nil;
- frame->seq = 223;
- frame->ack = 222;
- frame->id = ntruerand(100);
+ frame->seq = ntruerand(1000)>>1;
+ frame->ack = 0;
+ frame->id = truerand();
frame->len = sizeof(kdown);
for(;;){
kdown = recvul(kchan);
- frame->data[0] = kdown>>24;
- frame->data[1] = kdown>>16;
- frame->data[2] = kdown>>8;
- frame->data[3] = kdown;
+
+ frame->seq++;
+
+ pack(frame->data, frame->len, "k", kdown);
+
n = pack(buf, sizeof buf, "F", frame);
if(write(fd, buf, n) != n)
sysfatal("write: %r");
@@ -376,8 +377,11 @@ threadmain(int argc, char *argv[])
needlemdl = readvmodel("assets/mdl/needle.vmdl");
if(needlemdl == nil)
sysfatal("readvmodel: %r");
+ wedgemdl = readvmodel("assets/mdl/wedge.vmdl");
+ if(wedgemdl == nil)
+ sysfatal("readvmodel: %r");
universe->ships[0].mdl = needlemdl;
- universe->ships[1].mdl = needlemdl;
+ universe->ships[1].mdl = wedgemdl;
universe->star.spr = readsprite("assets/spr/earth.pic", ZP, Rect(0,0,32,32), 5, 20e3);
initskymap();