code duplication
[netris.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 13065e74225ceb798ad8c7c5f01f5aae1bc688ec..a6ec28e6b00d25a4736ee6db4af3683fb4a612b6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
        []    [][]   []        [][]   [] [][]  []  []     [][]
        []    [][]   [][][]      []   []   []  []  [][][] []
 
----- done: -------------------------------------------------------------------
+HEAD
 
- -- v0.8 ----------
+       * shape frequency transmitted in game data
+       * seperate keys for drop and soft drop (replaces --dropmode)
+       * commands in message dialog (/quit, /pause, // escapes)
+       * various code cleanups
+       * removed --rules
 
- * gravity off by default
- * code cleanup
-   * revert stupid whitespace changes in 0.7.A2
-   * only use tabs for block indenting
- * cleanup Configure script, rename to more customary ./configure
- * only use ascii drawstyles with --ascii
- * help shows default values
- * fix --dropmode without specified value
- * customizable chat key
- * translatable messages
+v0.8: 2007-03-04
 
- -- v0.7.A27 ------
+       * gravity off by default
+       * code cleanup
+               * revert stupid whitespace changes in 0.7.A2
+               * only use tabs for block indenting
+       * cleanup Configure script, rename to more customary ./configure
+       * only use ascii drawstyles with --ascii
+       * help shows default values
+       * fix --dropmode without specified value
+       * customizable chat key
+       * translatable messages
 
- * clientspecific playerdata seperated from general playerdata (PlayerDisp[])
- * player names printed over top field grid
+v0.7.A27
 
- -- v0.7.A21 ------
+       * clientspecific playerdata seperated from general playerdata (PlayerDisp[])
+       * player names printed over top field grid
 
- * used curses to invert pause text instead of stdout() so it works in screen
- * some code cleaned up
+v0.7.A21
 
- -- v0.7.A20 ------
+       * used curses to invert pause text instead of stdout() so it works in screen
+       * some code cleaned up
 
- * 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.A20
 
- -- v0.7.A19 ------
+       * 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
 
- * Sets struct for settings
- * dropmode settings in single var, cleaned up
+v0.7.A19
 
- -- v0.7.A5 -------
+       * Sets struct for settings
+       * dropmode settings in single var, cleaned up
 
- * all robot-stuff removed
- * standard includefiles for each file instead of generated proto.h
+v0.7.A5
 
- -- v0.7.A2 -------
+       * all robot-stuff removed
+       * standard includefiles for each file instead of generated proto.h
 
- * different source identing, tabs of 8 chars
- * a couple of botcalls removed
- * server switches quadra mode with --quadra parameter
+v0.7.A2
 
- -- v0.7.96 -------
+       * different source identing, tabs of 8 chars
+       * a couple of botcalls removed
+       * server switches quadra mode with --quadra parameter
 
- * field messages were slightly corrupted sometimes, somehow :P
- * handler which redraws when window resizes :)
+v0.7.96
 
- -- v0.7.91 -------
+       * field messages were slightly corrupted sometimes, somehow :P
+       * handler which redraws when window resizes :)
 
- * 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.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.830 ------
+v0.7.91
 
- * 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
+       * 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.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.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.828 ------
+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)
+       * 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.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.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.821
 
- -- 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')
+       * 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.821 ------
+v0.7.820
 
- * 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
+       * 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.820 ------
+v0.7.819
 
- * 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)
+       * 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.819 ------
+v0.7.817
 
- * 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
+       * 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.817 ------
+v0.7.815
 
- * 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
+       * 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.815 ------
+v0.7.814
 
- * 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
+       * 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.814 ------
+v0.7.813
 
- * 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
+       * blocks are normal text in !curses (not bold or anything)
+       * server handles incoming connections as events too (continuously)
 
- -- v0.7.813 ------
+v0.7.811
 
- * blocks are normal text in !curses (not bold or anything)
* server handles incoming connections as events too (continuously)
+       * title bar inverted
      * scorebar less wide (now 3 fields take 82 chars)
 
- -- v0.7.811 ------
+v0.7: 2002-08-10
 
- * title bar inverted
- * scorebar less wide (now 3 fields take 82 chars)
+       * 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 ---------- 10.VIII.02
+v0.6.810
 
- * 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)
+       * 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.6.810 ------
+v0.6.89
 
- * 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
+       * 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.89 -------
+v0.6.88
 
- * 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
+       * player 1 always leftmost
+       * server seperate program
 
- -- v0.6.88 -------
+v0.6.87
 
- * player 1 always leftmost
- * server seperate program
+       * multiplay can handle over 2 players!
 
- -- v0.6.87 -------
+v0.6.86
 
- * multiplay can handle over 2 players!
+       * server doesn't play
 
- -- v0.6.86 -------
+v0.6.85
 
- * server doesn't play
+       * 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.85 -------
+v0.6.84
 
- * 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])
+       * 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.84 -------
+v0.6.83
 
- * 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
+       * conffile can have comments (#) and tabs instead of spaces
+       * level up every 10 lines (speed x1.2)
 
- -- v0.6.83 -------
+v0.6.82
 
- * conffile can have comments (#) and tabs instead of spaces
* level up every 10 lines (speed x1.2)
+       * counts score (as in gameboy version)
      * reads default parameters from netris.conf (or other file specified with -f)
 
- -- v0.6.82 -------
+v0.6.81
 
- * counts score (as in gameboy version)
- * reads default parameters from netris.conf (or other file specified with -f)
+       * 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.81 -------
+v0.6: 2002-07-31
 
- * 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)
+       * -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 ---------- 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
-
-------------------------------------------------------------------------------