1 [][] [] [][][] [][][][] [][][] [][] [] [][][]
2 [][] [] [] [] [] [] [][] [][] []
4 [] [][] [] [][][][] [][] [] [] [][][][]
6 [] [][] [] [][] [] [][] [] [] [][]
7 [] [][] [][][] [] [] [] [] [][][] []
9 ---- done: -------------------------------------------------------------------
11 -- v0.6 ---------- 31.VII.02
13 * -D enables instant-drop (classic drop), original -D is now -d
14 * addition key for rotating pieces counterclockwise
15 * displays number of pieces dropped and lines made
20 * displays elapsed time instead of clock
21 * shows ppm, apm and yield
22 * uses arrow keys by default (linux workaround, doesn't work on all systems)
26 * counts score (as in gameboy version)
27 * reads default parameters from netris.conf (or other file specified with -f)
31 * conffile can have comments (#) and tabs instead of spaces
32 * level up every 10 lines (speed x1.2)
36 * same handler for configfile/parameters
37 * linedraw characters unless --ascii specified
38 * levelup handeled correctly
39 * handicap with --level (affects yourself only, unlike --speed)
40 * some variables moved and altered
41 * displays name+host above opponent field
45 * titlebar somewhat improved
47 * junklines doesn't move pieces up (unless inside ground)
48 * improved (insta)drop handling
49 * drop/down at bottom forces drop
50 * updated help messages (-[hH])
58 * multiplay can handle over 2 players!
62 * player 1 always leftmost
63 * server seperate program
67 * server receive fixed (checked nonexisting sock)
68 * host generates and distributes player's host string
69 * handle sigint correctly (not just exit(0))
70 * fix multiplay g/o (close connection at g/o or server signal)
71 * spy=n0 in configfile disables spying for player n
75 * seed and initspeed given by server
76 * exits when only 1 player left (or 0 in singleplayer)
77 * version_string in netris.h
78 * fixed pause for multiple players
79 * paused message displayed over pausing player's field
80 * all players start paused in multiplayer
81 * your own hostname isn't displayed
83 -- v0.7 ---------- 10.VIII.02
85 * display game over over dead player's field
86 * number of connections can be set with server -c
87 * exiting client automatically goes game over
88 * dead players can't pause the game
89 * -t sets team. players in same team don't get junklines from each other
90 * client no longer displays seed
91 * doesn't display fields which don't fit on screen automatically
92 * quit key (q by default)
97 * scorebar less wide (now 3 fields take 82 chars)
101 * blocks are normal text in !curses (not bold or anything)
102 * server handles incoming connections as events too (continuously)
106 * show (paused) game right after receiving game data, before receiving players
107 * server starts game after receiving minimum number of players (--min-players)
108 * client altered to receive players during game loop
109 * server has --max-players option for player limit (default is 8)
110 * (empty) fields are drawn for maximum number of players
111 * server quits correctly, client quits only when no players are left
112 * players join paused when game hasn't started yet
113 * player's pause state is transmitted by server
114 * server does not keep repeating goahead on every join
115 * ^l (by default) redraws screen (doesn't work correctly on all terms yet)
116 * before game has started, '(not) ready' is displayed instead of 'pause'
117 * 'empty' message over empty fields, 'game over' over dead players
118 * player rejoin fixed
122 * server started w/o --continuous exits when just 1 player or team left
123 * players can't join a started non-continuous game
124 * game starts if non-ready player leaves and everybody else is ready
125 * message when you or enemies add junklines
129 * went g/o when one player of a team went g/o instead of all of 'em
130 * improved handling of closing connections in server
131 * naw player's name refreshed on join
132 * clients don't receive death signal from rejected player anymore
136 * shadow piece (preview current piece dropped down)
137 * new players' fields are cleared at start
138 * players are now 'fragged' by the player last adding them lines
139 * ^ when that last player was himself(m/f) (s)he just 'died'
140 * 'Close connection' message no longer displayed
141 * players in teams are displayed in their teamcolor
145 * server doesn't quit, but just stops game when 1 player/team left
146 * when a game stops, all players are paused and their fields reset
147 * server handles disconnecting clients correctly again
148 * 'player quit' displayed when a client disconnects from server
149 * game ended messages not displayed when a game was ready but not yet started
150 * server sends new game seed at game stop
151 * players' scores and (next) pieces and stuff are reset at new game
152 * scores are erased instead of not drawn (apm/ppm remained at new game)
156 * colorcoding altered a bit (server messages white, player stuff colored)
157 * when no team specified, server assigns a team and sends it to player
158 * client displays teamname of joining players
159 * client disconnects also transmitted to g/o players
160 * lag could delay changes to another game, desyncing clients
161 now game info is not transmitted when game has stopped
165 * shapes are now stored as bitmaps, and slightly altered to match quadra
166 * extensive simplification of many routines because of this
167 (binary just ~1500 bytes smaller)
168 * next piece indicator aligns piece to the right
169 * blocks of a piece are grouped horizontally
170 displays 1 block as [], 2 blocks [[]], 3 blocks [[[]]], stick [[[[]]]]
171 * falling blocks not stored differently from frozen blocks
172 (might cause problems with robot, but i'll deal with that later)
173 * if piece can't be rotated (ie near the edge) it tries to slide it right
174 * fix multiplay transmission of (new) pieces
175 * field reset to 'empty' when player leaves (not 'ready')
179 * new pieces appear near middle again
180 * junklines have the color of the player/team that added them
181 * fix bug causing wrong number of junklines being sent after 1st game
182 * --nick parameter changes nick from default login name
183 * can turn field spying back on on redraw
184 * new messages on top, old messages scroll down
188 * server places unteamed players in first unused team
189 * fields are resized to half width if they don't fit on screen
190 * instadrop is default (as in $any::decent::tetris)
191 * dropmodes as options --slidedrop and --dropmode (-d and -D)
195 * shapes stick vertically as well (not physically visible yet though)
196 * quadra style gravity (shape falls down when possible)
197 * alternate scoring method used in gravity mode
198 * junklines stick horizontally so they don't drop into each other
202 * fix bugs in free blocks detection routine
203 * correct J stickiness
204 * players' names displayed in teamcolor
205 * correct Z stickiness, correct check below mask
206 * client reports winner+time and player stats (ppm+apm), calc client-side
210 * buffered message history, can be redrawn
211 * you can send messages, enter key toggles chat mode
212 * messages can contain multiple color tags
213 * in chat mode, backspace backspaces, escape cancels message
217 * field messages were slightly corrupted sometimes, somehow :P
218 * handler which redraws when window resizes :)
222 * different source identing, tabs of 8 chars
223 * a couple of botcalls removed
224 * server switches quadra mode with --quadra parameter
228 * all robot-stuff removed
229 * standard includefiles for each file instead of generated proto.h
233 * Sets struct for settings
234 * dropmode settings in single var, cleaned up
238 * last gcc warning fixed
239 * messages now scroll bottom to top
240 * your own input is echoed on screen, _ marks cursor in typing mode
241 * long messages can be displayed over multiple lines
242 * typing messages longer than message window moves cursor over old text
243 * empty messages are escaped
244 * key and network handling in main loop in functions
245 * started moving messages to seperate file
249 * used curses to invert pause text instead of stdout() so it works in screen
250 * some code cleaned up
254 * clientspecific playerdata seperated from general playerdata (PlayerDisp[])
255 * player names printed over top field grid
259 * gravity off by default
260 * revert stupid whitespace changes in 0.7.A2
262 ------------------------------------------------------------------------------