diff options
author | rodri <rgl@antares-labs.eu> | 2023-01-31 23:46:58 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2023-01-31 23:46:58 +0000 |
commit | 06f817044e7b2ec0bf63ed37a1cadd9f3818a787 (patch) | |
tree | e3f677987e50eaffddfd7c29745ceb090d1c991f /party.c | |
parent | 1ee28cd5ece6c035af2ab445ec774d7e0cc054ec (diff) | |
download | musw-06f817044e7b2ec0bf63ed37a1cadd9f3818a787.tar.gz musw-06f817044e7b2ec0bf63ed37a1cadd9f3818a787.tar.bz2 musw-06f817044e7b2ec0bf63ed37a1cadd9f3818a787.zip |
use libgeometry from the system. got rid of global `theparty`. wrote a little man page draft.
Diffstat (limited to 'party.c')
-rw-r--r-- | party.c | 43 |
1 files changed, 20 insertions, 23 deletions
@@ -2,33 +2,24 @@ #include <libc.h> #include <ip.h> #include <draw.h> -#include "libgeometry/geometry.h" +#include <geometry.h> #include "dat.h" #include "fns.h" -Party theparty; - - -void -inittheparty(void) -{ - theparty.next = theparty.prev = &theparty; -} - Party * -newparty(Player *players) +newparty(Party *p, Player *players) { - Party *p; + Party *np; - p = emalloc(sizeof(Party)); - p->players[0] = players[0]; - p->players[1] = players[1]; + np = emalloc(sizeof(Party)); + np->players[0] = players[0]; + np->players[1] = players[1]; - p->u = newuniverse(); + np->u = newuniverse(); - addparty(p); + addparty(p, np); - return p; + return np; } void @@ -41,10 +32,16 @@ delparty(Party *p) } void -addparty(Party *p) +addparty(Party *theparty, Party *p) +{ + p->prev = theparty->prev; + p->next = theparty; + theparty->prev->next = p; + theparty->prev = p; +} + +void +initparty(Party *p) { - p->prev = theparty.prev; - p->next = &theparty; - theparty.prev->next = p; - theparty.prev = p; + p->next = p->prev = p; } |