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