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