git.shiar.nl
/
netris.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use boolean type where appropriate
[netris.git]
/
client.c
diff --git
a/client.c
b/client.c
index 9c228d857d4a756c4944689ca7b7fd420be88a51..98b9542719c67ccc89796eec14e62935ffc7fac3 100644
(file)
--- a/
client.c
+++ b/
client.c
@@
-21,6
+21,7
@@
#include "netris.h"
#include <stdlib.h>
#include "netris.h"
#include <stdlib.h>
+#include <stdbool.h>
#include <ctype.h>
#include <string.h>
#include <sys/types.h>
#include <ctype.h>
#include <string.h>
#include <sys/types.h>
@@
-40,7
+41,6
@@
static struct option options[] = {
{ "level", 1, 0, 'l' },
{ "nick", 1, 0, 'n' },
{ "team", 1, 0, 't' },
{ "level", 1, 0, 'l' },
{ "nick", 1, 0, 'n' },
{ "team", 1, 0, 't' },
- { "dropmode", 2, 0, 'd' },
{ "color", 2, 0, 'C' },
{ "slowterm", 2, 0, 'S' },
{ "keys", 1, 0, 'k' },
{ "color", 2, 0, 'C' },
{ "slowterm", 2, 0, 'S' },
{ "keys", 1, 0, 'k' },
@@
-51,12
+51,12
@@
static struct option options[] = {
};
enum {
};
enum {
- KT_left, KT_right, KT_rotright, KT_rotleft, KT_drop, KT_down,
+ KT_left, KT_right, KT_rotright, KT_rotleft, KT_drop, KT_d
ropsoft, KT_d
own,
KT_faster, KT_pause, KT_redraw, KT_say, KT_quit, KT_numKeys
};
static char *keyNames[KT_numKeys+1] = {
KT_faster, KT_pause, KT_redraw, KT_say, KT_quit, KT_numKeys
};
static char *keyNames[KT_numKeys+1] = {
- "Left", "Right", "RotRight", "RotLeft", "Drop", "Down",
+ "Left", "Right", "RotRight", "RotLeft", "Drop", "D
ropSoft", "D
own",
"Faster", "Pause", "Redraw", "Say", "Quit", NULL
};
"Faster", "Pause", "Redraw", "Say", "Quit", NULL
};
@@
-133,8
+133,6
@@
void Usage(void)
" -t, --team <team>\tJoin a team (don't receive lines from your teammates)\n"
" -l, --level <lvl>\tBegin at a higher level (can be used as handicap)\n"
" -k, --keys <keys>\tRemap keys (default is \"%s\" for cursors)\n"
" -t, --team <team>\tJoin a team (don't receive lines from your teammates)\n"
" -l, --level <lvl>\tBegin at a higher level (can be used as handicap)\n"
" -k, --keys <keys>\tRemap keys (default is \"%s\" for cursors)\n"
- " -d, --dropmode\tDrops go into drop mode\n"
- " -D, --instadrop\tInstant drop\n"
"\n"
" -r, --robot <cmd>\tExecute program to control the game instead of keyboard\n"
" -F, --fair-robot\tUse fair robot interface\n"
"\n"
" -r, --robot <cmd>\tExecute program to control the game instead of keyboard\n"
" -F, --fair-robot\tUse fair robot interface\n"
@@
-169,9
+167,6
@@
void HandleOption(char tag, char *value)
case 't': //team
Players[0].team = atoi(value);
break;
case 't': //team
Players[0].team = atoi(value);
break;
- case 'd': //dropmode
- Sets.dropmode = value ? atoi(value) : 1;
- break;
case 'C': //color
Sets.color = value && strcasecmp(value, "0") ? 1 : 0;
break;
case 'C': //color
Sets.color = value && strcasecmp(value, "0") ? 1 : 0;
break;
@@
-330,10
+325,9
@@
void CheckClears(int scr)
void OneGame(void)
{
void OneGame(void)
{
-
int
changed = 0;
+
bool
changed = 0;
short gameStatus = 2; //2=loop; 1=new piece; 0=quit
short gameStatus = 2; //2=loop; 1=new piece; 0=quit
- int dropMode = 0;
- int chatMode = 0;
+ bool chatMode = 0;
char chatText[MSG_WIDTH] = "\0";
void handle_cmd(char cmd, char *arg)
char chatText[MSG_WIDTH] = "\0";
void handle_cmd(char cmd, char *arg)
@@
-345,6
+339,7
@@
void OneGame(void)
gameStatus = 0;
return;
case CT_pause:
gameStatus = 0;
return;
case CT_pause:
+ if (Players[me].alive <= 0) return;
Players[me].flags ^= SCF_paused;
if (Game.started > 1)
Message(Players[me].flags & SCF_paused
Players[me].flags ^= SCF_paused;
if (Game.started > 1)
Message(Players[me].flags & SCF_paused
@@
-425,7
+420,8
@@
void OneGame(void)
if (!(p = strchr(keyTable, tolower(key)))) return;
key = p - keyTable;
if (!(p = strchr(keyTable, tolower(key)))) return;
key = p - keyTable;
- // global actions (always possible, even if not playing)
+ void handle_keycmd(char key)
+ {
switch (key) {
case KT_redraw:
clear();
switch (key) {
case KT_redraw:
clear();
@@
-438,17
+434,14
@@
void OneGame(void)
Messagetype(key, strlen(chatText) - 1, chatText);
return;
case KT_quit:
Messagetype(key, strlen(chatText) - 1, chatText);
return;
case KT_quit:
- return handle_cmd(CT_quit, NULL);
- }
-
- if (Players[me].alive <= 0) return;
- // actions available while in game
- switch (key) {
+ handle_cmd(CT_quit, NULL);
+ return;
case KT_pause:
case KT_pause:
- return handle_cmd(CT_pause, NULL);
+ handle_cmd(CT_pause, NULL);
+ return;
}
}
- if (paused) return;
+ if (
Players[me].alive <= 0 ||
paused) return;
// actions only available while actually playing
switch (key) {
case KT_left:
// actions only available while actually playing
switch (key) {
case KT_left:
@@
-471,14
+464,19
@@
void OneGame(void)
else
gameStatus = 1; //completely dropped
break;
else
gameStatus = 1; //completely dropped
break;
- case KT_drop:
+ case KT_drop
soft
:
SetITimer(Game.speed, Game.speed);
if (DropPiece(me)) {
if (spied) SendPacket(me, NP_drop, 0, NULL);
SetITimer(Game.speed, Game.speed);
if (DropPiece(me)) {
if (spied) SendPacket(me, NP_drop, 0, NULL);
- if (!Sets.dropmode) gameStatus = 1; //instadrop
}
else gameStatus = 1; //dropped
}
else gameStatus = 1; //dropped
- dropMode = Sets.dropmode > 1;
+ break;
+ case KT_drop:
+ SetITimer(Game.speed, Game.speed);
+ if (DropPiece(me)) {
+ if (spied) SendPacket(me, NP_drop, 0, NULL);
+ }
+ gameStatus = 1; // drop
break;
case KT_faster:
if (game != GT_onePlayer) break;
break;
case KT_faster:
if (game != GT_onePlayer) break;
@@
-490,12
+488,8
@@
void OneGame(void)
changed = 1;
break;
}
changed = 1;
break;
}
-
- if (dropMode && DropPiece(me) > 0) {
- SetITimer(Game.speed, Game.speed);
- if (spied) SendPacket(me, NP_drop, 0, NULL);
- }
- return;
+ }
+ handle_keycmd(key);
} //GameKey
int oldPaused = 0;
} //GameKey
int oldPaused = 0;
@@
-765,7
+759,6
@@
GameLoop:
oldPaused = paused;
} //(un)pause
} //game loop
oldPaused = paused;
} //(un)pause
} //game loop
- dropMode = 0;
Players[me].score.score++;
CheckClears(me);
} //new piece loop
Players[me].score.score++;
CheckClears(me);
} //new piece loop
@@
-802,7
+795,6
@@
int main(int argc, char **argv)
strncpy(Players[0].name, userName, 16); //sizeof(Player.name)
Players[0].name[16] = 0;
Players[0].alive = 1;
strncpy(Players[0].name, userName, 16); //sizeof(Player.name)
Players[0].name[16] = 0;
Players[0].alive = 1;
- Players[0].dropmode = 0;
} //set defaults
// if (getopt(argc, argv, "f:") == 'f')
} //set defaults
// if (getopt(argc, argv, "f:") == 'f')
@@
-810,7
+802,7
@@
int main(int argc, char **argv)
// else
ReadConf(CONFIG_FILE);
while ((ch = getopt_long(
// else
ReadConf(CONFIG_FILE);
while ((ch = getopt_long(
- argc, argv, "hHRk:c:n:o
dD
SCap:i:l:t:", options, NULL
+ argc, argv, "hHRk:c:n:oSCap:i:l:t:", options, NULL
)) != -1)
HandleOption(ch, optarg);
if (optind < argc) {
)) != -1)
HandleOption(ch, optarg);
if (optind < argc) {