[][] [] [][][] [][][][] [][][] [][] [] [][][] [][] [] [] [] [] [] [][] [][] [] [] [] [] [][][] [] [] [][] [] [][][][] [][] [] [] [][][][] [] [] [] [] [] [] [] [] [][] [] [][] [] [][] [] [] [][] [] [][] [][][] [] [] [] [] [][][] [] ---- done: ------------------------------------------------------------------- -- v0.6 ---------- 31.VII.02 * -D enables instant-drop (classic drop), original -D is now -d * addition key for rotating pieces counterclockwise * displays number of pieces dropped and lines made -- v0.6.81 ------- * shows next piece * displays elapsed time instead of clock * shows ppm, apm and yield * uses arrow keys by default (linux workaround, doesn't work on all systems) -- v0.6.82 ------- * counts score (as in gameboy version) * reads default parameters from netris.conf (or other file specified with -f) -- v0.6.83 ------- * conffile can have comments (#) and tabs instead of spaces * level up every 10 lines (speed x1.2) -- v0.6.84 ------- * same handler for configfile/parameters * linedraw characters unless --ascii specified * levelup handeled correctly * handicap with --level (affects yourself only, unlike --speed) * some variables moved and altered * displays name+host above opponent field -- v0.6.85 ------- * titlebar somewhat improved * pause stops time * junklines doesn't move pieces up (unless inside ground) * improved (insta)drop handling * drop/down at bottom forces drop * updated help messages (-[hH]) -- v0.6.86 ------- * server doesn't play -- v0.6.87 ------- * multiplay can handle over 2 players! -- v0.6.88 ------- * player 1 always leftmost * server seperate program -- v0.6.89 ------- * server receive fixed (checked nonexisting sock) * host generates and distributes player's host string * handle sigint correctly (not just exit(0)) * fix multiplay g/o (close connection at g/o or server signal) * spy=n0 in configfile disables spying for player n -- v0.6.810 ------ * seed and initspeed given by server * exits when only 1 player left (or 0 in singleplayer) * version_string in netris.h * fixed pause for multiple players * paused message displayed over pausing player's field * all players start paused in multiplayer * your own hostname isn't displayed -- v0.7 ---------- 10.VIII.02 * display game over over dead player's field * number of connections can be set with server -c * exiting client automatically goes game over * dead players can't pause the game * -t sets team. players in same team don't get junklines from each other * client no longer displays seed * doesn't display fields which don't fit on screen automatically * quit key (q by default) -- v0.7.811 ------ * title bar inverted * scorebar less wide (now 3 fields take 82 chars) -- v0.7.813 ------ * blocks are normal text in !curses (not bold or anything) * server handles incoming connections as events too (continuously) -- v0.7.814 ------ * show (paused) game right after receiving game data, before receiving players * server starts game after receiving minimum number of players (--min-players) * client altered to receive players during game loop * server has --max-players option for player limit (default is 8) * (empty) fields are drawn for maximum number of players * server quits correctly, client quits only when no players are left * players join paused when game hasn't started yet * player's pause state is transmitted by server * server does not keep repeating goahead on every join * ^l (by default) redraws screen (doesn't work correctly on all terms yet) * before game has started, '(not) ready' is displayed instead of 'pause' * 'empty' message over empty fields, 'game over' over dead players * player rejoin fixed -- v0.7.815 ------ * server started w/o --continuous exits when just 1 player or team left * players can't join a started non-continuous game * game starts if non-ready player leaves and everybody else is ready * message when you or enemies add junklines -- v0.7.817 ------ * went g/o when one player of a team went g/o instead of all of 'em * improved handling of closing connections in server * naw player's name refreshed on join * clients don't receive death signal from rejected player anymore -- v0.7.819 ------ * shadow piece (preview current piece dropped down) * new players' fields are cleared at start * players are now 'fragged' by the player last adding them lines * ^ when that last player was himself(m/f) (s)he just 'died' * 'Close connection' message no longer displayed * players in teams are displayed in their teamcolor -- v0.7.820 ------ * server doesn't quit, but just stops game when 1 player/team left * when a game stops, all players are paused and their fields reset * server handles disconnecting clients correctly again * 'player quit' displayed when a client disconnects from server * game ended messages not displayed when a game was ready but not yet started * server sends new game seed at game stop * players' scores and (next) pieces and stuff are reset at new game * scores are erased instead of not drawn (apm/ppm remained at new game) -- v0.7.821 ------ * colorcoding altered a bit (server messages white, player stuff colored) * when no team specified, server assigns a team and sends it to player * client displays teamname of joining players * client disconnects also transmitted to g/o players * lag could delay changes to another game, desyncing clients now game info is not transmitted when game has stopped -- v0.7.825 ------ * shapes are now stored as bitmaps, and slightly altered to match quadra * extensive simplification of many routines because of this (binary just ~1500 bytes smaller) * next piece indicator aligns piece to the right * blocks of a piece are grouped horizontally displays 1 block as [], 2 blocks [[]], 3 blocks [[[]]], stick [[[[]]]] * falling blocks not stored differently from frozen blocks (might cause problems with robot, but i'll deal with that later) * if piece can't be rotated (ie near the edge) it tries to slide it right * fix multiplay transmission of (new) pieces * field reset to 'empty' when player leaves (not 'ready') -- v0.7.826 ------ * new pieces appear near middle again * junklines have the color of the player/team that added them * fix bug causing wrong number of junklines being sent after 1st game * --nick parameter changes nick from default login name * can turn field spying back on on redraw * new messages on top, old messages scroll down -- v0.7.828 ------ * server places unteamed players in first unused team * fields are resized to half width if they don't fit on screen * instadrop is default (as in $any::decent::tetris) * dropmodes as options --slidedrop and --dropmode (-d and -D) -- v0.7.830 ------ * shapes stick vertically as well (not physically visible yet though) * quadra style gravity (shape falls down when possible) * alternate scoring method used in gravity mode * junklines stick horizontally so they don't drop into each other -- v0.7.831 ------ * fix bugs in free blocks detection routine * correct J stickiness * players' names displayed in teamcolor * correct Z stickiness, correct check below mask * client reports winner+time and player stats (ppm+apm), calc client-side -- v0.7.91 ------- * buffered message history, can be redrawn * you can send messages, enter key toggles chat mode * messages can contain multiple color tags * in chat mode, backspace backspaces, escape cancels message -- v0.7.96 ------- * field messages were slightly corrupted sometimes, somehow :P * handler which redraws when window resizes :) -- v0.7.A2 ------- * different source identing, tabs of 8 chars * a couple of botcalls removed * server switches quadra mode with --quadra parameter -- v0.7.A5 ------- * all robot-stuff removed * standard includefiles for each file instead of generated proto.h -- v0.7.A19 ------ * Sets struct for settings * dropmode settings in single var, cleaned up -- v0.7.A20 ------ * last gcc warning fixed * messages now scroll bottom to top * your own input is echoed on screen, _ marks cursor in typing mode * long messages can be displayed over multiple lines * typing messages longer than message window moves cursor over old text * empty messages are escaped * key and network handling in main loop in functions * started moving messages to seperate file -- v0.7.A21 ------ * used curses to invert pause text instead of stdout() so it works in screen * some code cleaned up -- v0.7.A27 ------ * clientspecific playerdata seperated from general playerdata (PlayerDisp[]) * player names printed over top field grid -- v0.8 ---------- * gravity off by default * revert stupid whitespace changes in 0.7.A2 ------------------------------------------------------------------------------