X-Git-Url: http://git.shiar.nl/netris.git/blobdiff_plain/918eeb55956b4488f005248cdd66303ade5224a8..bed729727d8fef3695e5252f17cfbbe8f2aca879:/client.c diff --git a/client.c b/client.c index b8b7eed..8f2b00b 100644 --- a/client.c +++ b/client.c @@ -44,7 +44,6 @@ static struct option options[] = { { "color", 2, 0, 'C' }, { "slowterm", 2, 0, 'S' }, { "keys", 1, 0, 'k' }, - { "rules", 0, 0, 'R' }, { "info", 0, 0, 'H' }, { "help", 0, 0, 'h' }, { 0, 0, 0, 0 } @@ -73,11 +72,11 @@ static char *cmds[] = { }; static char *hostStr; -static int paused = 0; +static bool paused = 0; static char lastadd; -void handle_setkeys(char *newKeys) +static void handle_setkeys(char *newKeys) { int i, k, ch; char used[256]; @@ -113,7 +112,7 @@ void handle_setkeys(char *newKeys) exit(1); } -void Usage(void) +static void Usage(void) { Header(); fprintf(stderr, @@ -121,7 +120,6 @@ void Usage(void) "\n" " -h, --help\t\tPrint this usage information\n" " -H, --info\t\tShow distribution and warranty information\n" - " -R, --rules\t\tShow game rules\n" "\n" " -S, --slowterm\tDisable inverse/bold/color for slow terminals\n" " -a, --ascii\t\tUse ascii characters\n" @@ -133,15 +131,12 @@ void Usage(void) " -t, --team \tJoin a team (don't receive lines from your teammates)\n" " -l, --level \tBegin at a higher level (can be used as handicap)\n" " -k, --keys \tRemap keys (default is \"%s\" for cursors)\n" - "\n" - " -r, --robot \tExecute program to control the game instead of keyboard\n" - " -F, --fair-robot\tUse fair robot interface\n" "\n", DEFAULT_PORT, DEFAULT_KEYS ); } -void handle_arg(char tag, char *value) +static void handle_arg(char tag, char *value) { switch (tag) { case 'a': //ascii @@ -149,7 +144,7 @@ void handle_arg(char tag, char *value) Sets.drawstyle &= ~Sets.ascii; break; case 'c': //connect - game = GT_classicTwo; + Game.type = GT_classicTwo; hostStr = value; break; case 'p': //port @@ -180,9 +175,6 @@ void handle_arg(char tag, char *value) Header(); DistInfo(); exit(0); - case 'R': //rules - Rules(); - exit(0); case 'h': //help Usage(); exit(0); @@ -192,7 +184,7 @@ void handle_arg(char tag, char *value) } } -void handle_conffile(char *filename) +static void handle_conffile(char *filename) { FILE *file_in; char buf[513]; @@ -225,7 +217,7 @@ void handle_conffile(char *filename) } //defaults } -int game_piece(int scr, char shape) +static int game_piece(int scr, char shape) { Players[scr].score.pieces++; { @@ -245,17 +237,16 @@ int game_piece(int scr, char shape) return 1; } -void game_setpaused(void) +static void game_setpaused(void) { //check whether anyone paused the game int i; paused = Game.started < 1; for (i = 1; i < MAX_SCREENS; i++) if (Players[i].alive > 0) - paused |= Players[i].flags & SCF_paused; - if (paused) paused = 1; + paused |= (Players[i].flags & SCF_paused) != 0; } -void game_reset(void) +static void game_reset(void) { //init new game int i; @@ -278,7 +269,7 @@ void game_reset(void) InitFields(); } -void game_clear(int scr) +static void game_clear(int scr) { //check for full lines int linesCleared; int linevalues[] = { 40, 100, 400, 1200, }; //= 50*lines! - 10*(lines==1) @@ -288,7 +279,7 @@ void game_clear(int scr) 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7500 }; if ((linesCleared = ClearFullLines(scr)) > 0) { - if (game == GT_onePlayer) + if (Game.type == GT_onePlayer) if ((Players[scr].score.lines / 10) < ((Players[scr].score.lines+linesCleared)/10)) { if ((Game.speed /= SPEEDINC) < SPEEDMINIMUM) @@ -301,7 +292,7 @@ void game_clear(int scr) Players[scr].score.lines += linesCleared; Players[scr].score.adds += linesCleared - (linesCleared < 4); //XXX match handicap if (scr == me) { - if (game == GT_classicTwo) { + if (Game.type == GT_classicTwo) { SendPacket(scr, NP_clear, 0, NULL); if (linesCleared > 1) { short junkLines; @@ -322,7 +313,7 @@ void game_clear(int scr) } //lines cleared } -void game_loop(void) +static void game_loop(void) { bool changed = 0; short gameStatus = 2; //2=loop; 1=new piece; 0=quit @@ -347,7 +338,7 @@ void game_loop(void) Message(Players[me].flags & SCF_paused ? "You are not ready" : "You are ready"); game_setpaused(); - if (game == GT_classicTwo) + if (Game.type == GT_classicTwo) SendPacket(me, NP_pause, 0, NULL); ShowPause(me); changed = 1; @@ -387,7 +378,7 @@ void game_loop(void) Message("<\\%d%s\\7> %s", Players[me].team > 7 ? 7 : Players[me].team, Players[me].name, chatText); - if (game == GT_classicTwo) + if (Game.type == GT_classicTwo) SendPacket(me, NP_msg, strlen(chatText) + 1, chatText); } @@ -478,7 +469,7 @@ void game_loop(void) gameStatus = 1; // drop break; case KT_faster: - if (game != GT_onePlayer) break; + if (Game.type != GT_onePlayer) break; if ((Game.speed /= SPEEDINC) < SPEEDMINIMUM) Game.speed = SPEEDMINIMUM; SetITimer(Game.speed, SetITimer(0, 0)); @@ -613,9 +604,6 @@ void game_loop(void) } //stop game case NP_newPlayer: { - char teams[10][7] = { "", "Green", "Cyan", "Blue", "Purple", - "Red", "Grey", "White", "*Orange" }; - if (net.uid>maxPlayer) maxPlayer = net.uid; memcpy(&Players[net.uid], net.data, net.size); ClearField(net.uid); @@ -624,7 +612,7 @@ void game_loop(void) Message("%s joined the game", Players[net.uid].name); else Message("%s joined %s team", Players[net.uid].name, - teams[Players[net.uid].team]); + teamname[Players[net.uid].team]); if (Players[net.uid].flags & SCF_paused) { game_setpaused(); } //player has paused @@ -702,7 +690,7 @@ void game_loop(void) else Message("\\%d%s fragged you", Players[lastadd].team > 7 ? 7 : Players[lastadd].team, Players[lastadd].name); - if (game == GT_classicTwo) + if (Game.type == GT_classicTwo) SendPacket(me, NP_argghhh, sizeof(lastadd), &lastadd); ShowPause(me); changed = 1; @@ -716,7 +704,7 @@ void game_loop(void) } //new piece while (gameStatus == 2) { for (i = 1; i < MAX_SCREENS; i++) - if (Players[i].alive > 0 && PlayerDisp[i]) + if (Players[i].alive > 0 && window[i].shown) changed |= RefreshBoard(i); if (changed) { if (!paused) ShowTime(); @@ -769,7 +757,7 @@ int main(int argc, char **argv) { char ch; - game = GT_onePlayer; + Game.type = GT_onePlayer; port = DEFAULT_PORT; maxPlayer = 1; Game.initspeed = DEFAULT_INTERVAL; @@ -801,7 +789,7 @@ int main(int argc, char **argv) // else handle_conffile(CONFIG_FILE); while ((ch = getopt_long( - argc, argv, "hHRk:c:n:oSCap:i:l:t:", options, NULL + argc, argv, "hHk:c:n:oSCap:i:l:t:", options, NULL )) != -1) handle_arg(ch, optarg); if (optind < argc) { @@ -812,7 +800,7 @@ int main(int argc, char **argv) InitScreens(); //setup screen - if (game == GT_classicTwo) { + if (Game.type == GT_classicTwo) { spied = 1; InitiateConnection(hostStr, port); HandShake();