various code cleanups
authorMischa POSLAWSKY <netris@shiar.org>
Sun, 4 Mar 2007 00:58:58 +0000 (01:58 +0100)
committerMischa POSLAWSKY <netris@shiar.org>
Sun, 4 Mar 2007 00:58:58 +0000 (01:58 +0100)
board.c
curses.c
game.c
inet.c
server.c
util.h

diff --git a/board.c b/board.c
index b240c0ae05c3d23beccac9b98aef917e953c839c..26555809b4d1efdf8ecfcb0a67d8abf7653bdb31 100644 (file)
--- a/board.c
+++ b/board.c
@@ -160,7 +160,7 @@ int RefreshBoard(int scr)
        for (y = Players[scr].boardVisible - 1; y >= 0; y--)
                if ((c = changed[scr][y])) { //line changed
                        for (x = 0; c; (c >>= 1), x++)
-                               if ((c & 1) && board[scr][y][x] != oldBoard[scr][y][x]) {
+                               if (c & 1 && board[scr][y][x] != oldBoard[scr][y][x]) {
                                        PlotBlock(scr, y, x, board[scr][y][x]);
                                        oldBoard[scr][y][x] = board[scr][y][x];
                                }
@@ -320,7 +320,7 @@ int CheckFall(int scr)
        if (!Game.gravity) return 0;
        for (y = Players[scr].boardHeight - 1; y > 0; y--)
                for (x = 0; x < Players[scr].boardWidth; x++) {
-                       if (((z = GetBlock(scr, y, x)) > BT_none) && ((z & 160) == 0)) {
+                       if ((z = GetBlock(scr, y, x)) > BT_none && (z & 160) == 0) {
                        //doesn't stick left/up => topleft block
                                if (BlockFree(scr, x, y, 240)) {
                                        BlockFall(scr, x, y, 240);
@@ -360,9 +360,9 @@ int ClearFullLines(int scr)
                while (LineIsFull(scr, from)) {
                        from++; //skip
                        for (x = 0; x<Players[scr].boardWidth; x++) {
-                               SetBlock(scr, from, x, GetBlock(scr, from, x)&239);
+                               SetBlock(scr, from, x, GetBlock(scr, from, x) & 239);
                                if (from > 1)
-                                       SetBlock(scr, from-2, x, GetBlock(scr, from-2, x)&223);
+                                       SetBlock(scr, from-2, x, GetBlock(scr, from-2, x) & 223);
                        } //don't stick blocks to line which we'll remove
                } //full lines
                CopyLine(scr, from++, to++);
@@ -387,7 +387,7 @@ void InsertJunk(int scr, int color, int count, int column)
                CopyLine(scr, y, y + count);
        for (y = 0; y < count; ++y)
                for (x = 0; x < Players[scr].boardWidth; ++x)
-                       SetBlock(scr, y, x, (x == column) ? BT_none : color + 1
+                       SetBlock(scr, y, x, x == column ? BT_none : color + 1
                                + 64 * (x != column-1 && x < Players[scr].boardWidth-1)
                                + 128 * (x != column+1 && x > 0));
        Players[scr].curY += count; //move piece up..
index b4b0248bb66338c9f7ee5f8fb5d3ed2c88102e9e..e963cce128f580558054dbc7a87c38770f56b9a4 100644 (file)
--- a/curses.c
+++ b/curses.c
@@ -67,7 +67,7 @@ void InitScreens(void)
         * Ctrl-C during initialization might leave the terminal in a bad state.
         */
        BlockSignals(&oldMask, SIGINT, 0);
-       initscr();              //start curses
+       initscr();  //start curses
 
 #ifdef CURSES_HACK
        {
@@ -288,8 +288,8 @@ void InitFields(void)
 
        messageXPos = 2;
        messageYPos = 24;
-       if ((messageWidth = x - messageXPos - 2) > MSG_WIDTH) messageWidth = MSG_WIDTH;
-       if ((messageHeight = y - messageYPos - 1) > MSG_HEIGHT) messageHeight = MSG_HEIGHT;
+       messageWidth  = MIN(x - messageXPos - 2, MSG_WIDTH);
+       messageHeight = MIN(y - messageYPos - 1, MSG_HEIGHT);
        if (messageHeight <= 0) {
                messageWidth = 27;
                messageHeight = y - 3;
@@ -299,7 +299,7 @@ void InitFields(void)
        DrawBox(messageXPos - 2, messageYPos - 1,
                messageXPos + messageWidth + 1, messageYPos+messageHeight);
        if (msgwin = subwin(stdscr, messageHeight, messageWidth,
-                               messageYPos, messageXPos))
+                           messageYPos, messageXPos))
                scrollok(msgwin, 1);  //allow scrolling
        wmove(msgwin, messageHeight - 2, 0);
        for (scr = messageHeight - 2; scr >= 0; scr--) //display message history
@@ -351,7 +351,7 @@ void DisplayMessage(char *p)
        while (psearch = strchr(p, '\\')) {
                *psearch = '\0';
                waddstr(msgwin, p);
-               c = atoi(++psearch)+1;
+               c = atoi(++psearch) + 1;
                if (haveColor) wattrset(msgwin, A_REVERSE | COLOR_PAIR(c));
                p = ++psearch;
        } //search for color escapes (\)
@@ -513,8 +513,8 @@ void ShowScore(int scr, struct _Score score)
 
        mvaddstr(13, statusXPos, MSG_NEXT " ");
        mvaddstr(14, statusXPos + 5,  "        ");
-       ShapeIterate(Players[scr].nextShape, scr,
-               8, statusXPos/2 + (Players[scr].nextShape/4 == 5 ? 3 : 4),
+       ShapeIterate(Players[scr].nextShape, scr, 8,
+               statusXPos/2 + (Players[scr].nextShape/4 == 5 ? 3 : 4),
                GlanceFunc); //draw; stick one more to the left
        mvprintw(3, statusXPos, MSG_LEVEL, score.level);
        mvprintw(5, statusXPos, MSG_SCORE, score.score);
diff --git a/game.c b/game.c
index fcc2379a68ac35e810a70df5651e919faea8278d..9bd9f23bb7446a734473899f702e392c974dfd85 100644 (file)
--- a/game.c
+++ b/game.c
@@ -138,10 +138,7 @@ void HandleOption(char tag, char *value)
                Game.initspeed = atof(value) * 1e6;
                break;
        case 'l':       //level
-               if ((Players[0].score.level = atof(value)) < 1)
-                       Players[0].score.level = 1;
-               if (Players[0].score.level > 15)
-                       Players[0].score.level = 15;
+               Players[0].score.level = MIN(MAX(atof(value), 1), 15);
                break;
        case 'n':       //nick
                memcpy(Players[0].name, value, strlen(value) + 1);
@@ -295,8 +292,7 @@ void CheckClears(int scr)
                                        short junkLines;
                                        netint4 data[1];
 
-                                       if (Game.gravity) junkLines = linesCleared - 1;
-                                       else junkLines = linesCleared - (linesCleared < 4);
+                                       junkLines = linesCleared - (Game.gravity ? 1 : linesCleared < 4);
                                        data[0] = junkLines;
                                        SendPacket(me, NP_giveJunk, sizeof(data), data);
                                        Message("\\%dYou send %d lines",
@@ -329,7 +325,7 @@ void OneGame(void)
                                        Message("<\\%d%s\\7> %s",
                                                Players[me].team > 7 ? 7 : Players[me].team,
                                                Players[me].name, chatText);
-                                       if (game==GT_classicTwo)
+                                       if (game == GT_classicTwo)
                                                SendPacket(me, NP_msg, strlen(chatText) + 1, chatText);
                                        memset(chatText, 0, sizeof(chatText));
                                } //say it
@@ -337,6 +333,7 @@ void OneGame(void)
                                return;
                        } //leave chat mode
                } //enter pressed (start/stop chat mode)
+
                if (chatMode) {
                        if (key == 27) //escape
                                chatMode = 0;
@@ -347,6 +344,7 @@ void OneGame(void)
                        Messagetype(key, strlen(chatText) - 1, chatText);
                        return;
                } //key in chat mode
+
                if (!(p = strchr(keyTable, tolower(key)))) return;
                key = p - keyTable;
                if (Players[me].alive <= 0 && key != KT_quit) return;
@@ -584,24 +582,24 @@ void OneGame(void)
                        break;
                } //(un)pause
                case NP_part:
+                       // player left
                        checkPaused();
                        oldPaused = 0;
-               {
                        Players[net.uid].alive = -1;
                        Message("%s left", Players[net.uid].name);
                        checkPaused();
                        ShowPause(net.uid);
                        changed = 1;
                        break;
-               } //player left
                case NP_argghhh:
                {
                        char i;
                        memcpy(&i, net.data, sizeof(i));
                        Players[net.uid].alive = 0;
-                       if (i == me) Message("\\%dYou fragged %s",
+                       if (i == me)
+                               Message("\\%dYou fragged %s",
                                        Players[me].team > 7 ? 7 : Players[me].team, Players[net.uid].name);
-                       else if (i==net.uid)
+                       else if (i == net.uid)
                                Message("\\%d%s died",
                                        Players[i].team > 7 ? 7 : Players[i].team, Players[i].name);
                        else
diff --git a/inet.c b/inet.c
index c44ec4c842127fec2e9d68f9cda59d52becc346e..4300eb7afc072dbf322f2086defbc4ed3bf0692d 100644 (file)
--- a/inet.c
+++ b/inet.c
@@ -137,8 +137,7 @@ void HandShake(void)
                        }
                else
                        fatal("Hm, the party apparantly ended prematurely.");
-       }
-       while (event.u.net.type != NP_gamedata);
+       } while (event.u.net.type != NP_gamedata);
 }
 
 
index 07548e86e2794dc375638ffcd9405fb254ef38ef..fe7eefc0e59e6dcafd217e480fab0ff824757ee9 100644 (file)
--- a/server.c
+++ b/server.c
@@ -121,7 +121,7 @@ void CloseNets(void)
 
        fprintf(stderr, "- Closing connections...\n");
        for (i = 1; i < MAX_SCREENS; i++)
-               SCloseNet(i); //bye everybuddy
+               SCloseNet(i); // bye everybuddy
        fprintf(stderr, "* All Done\n\n");
 }
 
@@ -141,7 +141,7 @@ MyEventType NetGenFunc(EventGenRec *gen, MyEvent *event)
        if (gen->bufSize < gen->bufGoal)
                return E_none;
        // *ugly* memcpy(data, gen->buf, sizeof(data));
-       uid = ntoh4(data[0]);
+       uid  = ntoh4(data[0]);
        type = ntoh4(data[1]);
        size = ntoh4(data[2]);
        gen->bufGoal = size;
@@ -173,9 +173,10 @@ static MyEventType ConnGenFunc(EventGenRec *gen, MyEvent *event)
                if (netGen[new].fd < 0) break;
        if (new > maxplayers) return;
 
-       if ((netGen[new].fd =
-               accept(gen->fd, (struct sockaddr *)&addr, &addrLen)) < 0)
-                       die("accept");
+       if ((
+               netGen[new].fd = accept(gen->fd, (struct sockaddr *)&addr, &addrLen)
+       ) < 0)
+               die("accept");
        fprintf(stderr, "+ Connection: %s\n", inet_ntoa(addr.sin_addr));
        val2.l_onoff = 1;
        val2.l_linger = 0;
@@ -188,8 +189,9 @@ static MyEventType ConnGenFunc(EventGenRec *gen, MyEvent *event)
 
                sprintf(Players[new].host, "%s", inet_ntoa(addr.sin_addr));
                if (addr.sin_family == AF_INET) {
-                       host = gethostbyaddr((void *)&addr.sin_addr,
-                                                                sizeof(struct in_addr), AF_INET);
+                       host = gethostbyaddr(
+                               (void *)&addr.sin_addr, sizeof(struct in_addr), AF_INET
+                       );
                        if (host) {
                                strncpy(Players[new].host, host->h_name,
                                        sizeof(Players[new].host) - 1);
@@ -205,11 +207,12 @@ void CountPlayers(void)
        int i, j;
        playercount = 0;
        for (i = 1; i < MAX_SCREENS; i++) if (Players[i].alive > 0) {
-               if (Players[i].team < 128) for (j = 1; j < i; j++)
-                       if (Players[j].alive > 0 && (Players[j].team == Players[i].team)) {
-                               playercount--;
+               if (Players[i].team < 128) for (j = 1; j < i; j++) {
+                       if (Players[j].alive > 0 && Players[j].team == Players[i].team) {
+                               playercount--; // player of same team counted before
                                break;
-                       } //player of same team counted before
+                       }
+               }
                playercount++;
        } //player alive
 }
@@ -249,8 +252,7 @@ int StartServer(void)
                                        int major;
                                        int protocolVersion;
 
-                                       memcpy(versiondata, event.u.net.data,
-                                               sizeof(versiondata));
+                                       memcpy(versiondata, event.u.net.data, sizeof(versiondata));
                                        major = ntoh4(versiondata[0]);
                                        protocolVersion = ntoh4(versiondata[1]);
                                        if (major != MAJOR_VERSION
@@ -273,14 +275,14 @@ int StartServer(void)
                                        memcpy(&Players[event.u.net.sender],
                                                event.u.net.data, event.u.net.size);
                                        if (Players[event.u.net.sender].team < 1
-                                       || Players[event.u.net.sender].team > 7) {
+                                        || Players[event.u.net.sender].team > 7) {
                                                int team;
 
                                                for (team = 1; team < 7; team++) {
                                                        for (i = 1; i < MAX_SCREENS; i++)
-                                                               if ((Players[i].alive > 0) && (Players[i].team == team))
+                                                               if (Players[i].alive > 0 && Players[i].team == team)
                                                                        break; //team in use
-                                                       if (i==MAX_SCREENS) break;
+                                                       if (i == MAX_SCREENS) break;
                                                } //find unused team
                                                Players[event.u.net.sender].team = team;
                                                SendPacketTo(event.u.net.sender, event.u.net.sender, NP_team,
@@ -318,8 +320,8 @@ int StartServer(void)
                                        } //send game options
                                        for (i = 1; i < MAX_SCREENS; i++)
                                                if (netGen[i].fd >= 0 && i != event.u.net.sender) {
-                                                       SendPacketTo(event.u.net.sender, i,
-                                                               NP_newPlayer, sizeof(_Player), &Players[i]);
+                                                       SendPacketTo(event.u.net.sender, i, NP_newPlayer,
+                                                               sizeof(_Player), &Players[i]);
                                                        SendPacketTo(event.u.net.sender, i, NP_newPiece,
                                                                sizeof(Players[i].curShape), &Players[i].curShape);
                                                        SendPacketTo(i, event.u.net.sender, NP_newPlayer,
@@ -372,8 +374,8 @@ int StartServer(void)
                                                break;
                                        for (i = 1; i < MAX_SCREENS; i++)
                                                if (i != event.u.net.sender)
-                                               if (event.u.net.type != NP_giveJunk ||
-                                               Players[i].team != Players[event.u.net.sender].team)
+                                               if (event.u.net.type != NP_giveJunk
+                                                || Players[i].team != Players[event.u.net.sender].team)
                                                        SendPacketTo(i, event.u.net.sender,
                                                                event.u.net.type, event.u.net.size,
                                                                event.u.net.data);
@@ -392,7 +394,7 @@ int StartServer(void)
                } //event
                CountPlayers();
                if (Game.started < 1) {
-                       if (playercount > 1) {
+                       if (playercount >= 2) {
                                fprintf(stderr, "* Game (%010d) ready to start\n", Game.seed);
                                Game.started++;
                        } //give goahead
@@ -401,13 +403,14 @@ int StartServer(void)
                        if (playercount < 2) {
                                fprintf(stderr, "* Stopping game\n");
                                if (Game.seed) Game.seed++;
-                               if (Game.started > 1) for (i = 1; i < MAX_SCREENS; i++)
+                               if (Game.started > 1) for (i = 1; i < MAX_SCREENS; i++) {
                                        if (Players[i].alive >= 0) {
                                                Players[i].alive = 1;
                                                Players[i].flags |= SCF_paused;
                                                SendPacketTo(i, 0, NP_stop,
                                                        sizeof(Game.seed), &Game.seed);
                                        } //transmit game stop and set players not ready
+                               }
                                paused = 1;
                                Game.started = 0;
                        } //too few players for game
@@ -484,9 +487,7 @@ void HandleOption(char tag, char *value)
                minplayers = atoi(value);
                break;
        case 'x':  //max-players
-               maxplayers = atoi(value);
-               if (maxplayers >= MAX_SCREENS)
-                       maxplayers = MAX_SCREENS;
+               maxplayers = MIN(atoi(value), MAX_SCREENS);
                break;
        case 'q':  //quadra-style gravity
                Game.gravity ^= 1;
@@ -499,9 +500,11 @@ void HandleOption(char tag, char *value)
                break;
        case 'H':  //info
                SHeader();
-               DistInfo(); exit(0);
+               DistInfo();
+               exit(0);
        case 'h':  //help
-               SUsage(); exit(0);
+               SUsage();
+               exit(0);
        default:
                break;
        }
diff --git a/util.h b/util.h
index fc24f77a3bfb93cf54dcf520e68eff1b0b69afa4..0f4deca1a42d32c6325fecc5ae4e8afed7b63dcd 100644 (file)
--- a/util.h
+++ b/util.h
@@ -1,6 +1,9 @@
 #ifndef __UTIL_H
 #define __UTIL_H
 
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+
 extern void AtExit(void (*handler)(void));
 extern void Header(void);
 extern void Usage(void);