From eb820d60637feceb84f559675344cf24a2c2f1cd Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 5 Mar 2007 08:49:04 +0100 Subject: [PATCH] non-exclusive instadrop and soft drop Replaces dropmode setting, allowing both modes at once (or one by binding a single drop key to the preferred action). Continuous soft drop (dropmode=2) is not possible anymore; hopefully not too big a loss. --- client.c | 22 ++++++++++------------ netris.conf | 2 +- netris.h | 6 +++--- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/client.c b/client.c index c4de9b1..788684c 100644 --- a/client.c +++ b/client.c @@ -52,12 +52,12 @@ static struct option options[] = { }; enum { - KT_left, KT_right, KT_rotright, KT_rotleft, KT_drop, KT_down, + KT_left, KT_right, KT_rotright, KT_rotleft, KT_drop, KT_dropsoft, KT_down, 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", "DropSoft", "Down", "Faster", "Pause", "Redraw", "Say", "Quit", NULL }; @@ -333,7 +333,6 @@ void OneGame(void) { int changed = 0; short gameStatus = 2; //2=loop; 1=new piece; 0=quit - int dropMode = 0; int chatMode = 0; char chatText[MSG_WIDTH] = "\0"; @@ -476,14 +475,19 @@ void OneGame(void) else gameStatus = 1; //completely dropped break; - case KT_drop: + case KT_dropsoft: 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 - 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; @@ -495,11 +499,6 @@ void OneGame(void) changed = 1; break; } - - if (dropMode && DropPiece(me) > 0) { - SetITimer(Game.speed, Game.speed); - if (spied) SendPacket(me, NP_drop, 0, NULL); - } return; } //GameKey @@ -770,7 +769,6 @@ GameLoop: oldPaused = paused; } //(un)pause } //game loop - dropMode = 0; Players[me].score.score++; CheckClears(me); } //new piece loop diff --git a/netris.conf b/netris.conf index edc7b30..bddac40 100644 --- a/netris.conf +++ b/netris.conf @@ -1,6 +1,6 @@ ### NETRIS 0.5.82 Config file ### -Keys = 4685 2 +Keys = 4685 02 Color = 1 Handicap = 1 ascii = 0 diff --git a/netris.h b/netris.h index f92817f..489dfac 100644 --- a/netris.h +++ b/netris.h @@ -63,9 +63,9 @@ typedef long netint4; #define CONFIG_FILE "netris.conf" -//#define DEFAULT_KEYS "hlkj mfp^ltq" -//#define DEFAULT_KEYS "4685 2fp^l^mq" -#define DEFAULT_KEYS "dcaf b^fp^l^mq" +//#define DEFAULT_KEYS "hlkj mnfp^ltq" +//#define DEFAULT_KEYS "4685 02fp^l^mq" +#define DEFAULT_KEYS "dcaf xb^fp^l^mq" #define MAX_BOARD_WIDTH 32 #define MAX_BOARD_HEIGHT 64 -- 2.30.0