git-svn-id: https://s.snth.net/svn/neverball/trunk@8 78b8d119-cf0a-0410-b17c-f493084dd1d7
[neverball] / CHANGES
1 -------------------------------------------------------------------------------
2 New in 1.4.1
3
4 * Added the second Mehdi's level set.
5 * Applied major and minor fixes to the first Mehdi's levels set.
6 * New textures.
7 * Added dictionary elements to SOL file in order to allow metadata storage.
8 * Reverted short usage in SOL to int.  Was bumping up against the limit.
9
10 -------------------------------------------------------------------------------
11 New in 1.4.0
12
13 * Fixed font renderer to never exceed maximum texture size.
14
15 -------------------------------------------------------------------------------
16 New in 1.3.11
17
18 * Fixed broken Unix build.
19 * Added OSX SDL mouse invert workaround.
20 * A few texture tweaks.
21 * Fixed broken Ball HUD.
22
23 -------------------------------------------------------------------------------
24 New in 1.3.10
25
26 * Tweaks to pars.
27 * Added wireframe view to Putt.
28 * Fixed view toward hole when the hole is directly above or below the ball.
29
30 -------------------------------------------------------------------------------
31 New in 1.3.9
32
33 * Made a few minor fixes to paxed's holes.
34 * Added score and par to HUD.
35 * Show score card only after a hole is finished.
36 * Added timeouts to all in-game states except Next Player.
37 * Fixed texture ID leak in conf state.
38
39 -------------------------------------------------------------------------------
40 New in 1.3.8
41
42 * Modified joystick traversal of GUIs to wrap top/bottom and left/right.
43 * Converted Putt to use Ball's GUI API.
44 * Merged Putt's and Ball's audio managers into shared.
45 * Added "Paused" screen to Putt.
46 * Generalized Putt's scoring to allow courses of length other than 18.
47 * Enabled switches in Putt.
48 * Added paxed's Putt courses.
49 * Changed a few textures on paxed's courses.
50 * Capped per-hole scores at 12.
51 * Modified several Putt backgrounds.
52 * Applied a change to Mehdi 25.
53 * Added poser mode to Putt.
54 * "Fixed" mouse jump on pointer grab.  SDL is unpredictable here.
55 * By popular demand, set initial ball view toward hole.
56
57 -------------------------------------------------------------------------------
58 New in 1.3.7
59
60 * Fixed mapc normal optimization bug.  Resolves the Putt 16 invisible wall.
61
62 -------------------------------------------------------------------------------
63 New in 1.3.6
64
65 * Fixed mapc normal optimization bug.  Resolves the "Level 6" crash.
66
67 -------------------------------------------------------------------------------
68 New in 1.3.5
69
70 * Applied fixes to Mehdi's levels
71 * Fixed GUI keyboard caps lock bug.
72 * Fixed no default GUI state on Done screen (joystick didn't work).
73 * Added fast camera rotation bound to Shift keys.
74 * Added camera rotation rate to config file.
75 * Modified perspective matrix to match gluPerspective.
76
77 -------------------------------------------------------------------------------
78 New in 1.3.4
79
80 * Removed unnecessary autopause when pointer is not grabbed.
81 * Fixed GUI not hilighting widget under cursor when mouse isn't moved.
82 * Fixed config file written only when changed.
83
84 -------------------------------------------------------------------------------
85 New in 1.3.3
86
87 * Removed few remaining bits of GLU code.
88 * Whitened glyph textures manually rather than relying upon pixel bias.
89 * Fixed Neverputt shadow
90
91 -------------------------------------------------------------------------------
92 New in 1.3.2
93
94 * Rewrote shadow code to use mulipass rather than multitexture.
95 * Removed all multitexture code.
96 * Added shadow option to config screen.
97 * Fixed music fade-in bug.
98 * Fixed badly named static variable "clock".
99 * Added level number to replay save screen.
100
101 -------------------------------------------------------------------------------
102 New in 1.3.1
103
104 * Fixed Save Replay not allowing score count to complete.
105 * Fixed bad unlock score in Mehdi 25.
106
107 -------------------------------------------------------------------------------
108 New in 1.3.0
109
110 * Fixed replay header nonportable.
111
112 -------------------------------------------------------------------------------
113 New in 1.2.11
114
115 * Rewrote SOL reader/writer to remove byte-order dependance.
116 * Rewrote replay handler to remove byte-order dependance
117 * Modified replay selector to ignore partial replays.
118 * Added camera mode gamepad control.
119 * Applied Mehdi's updates to several levels.
120 * Generalized config string handling.  Added coin and ball option strings.
121 * Added two new background music tracks.
122 * Fixed broken set scoring.
123 * Added Set Record screen.
124
125 -------------------------------------------------------------------------------
126 New in 1.2.10
127
128 * Added caps lock key to keyboard.
129 * Worked around Neverputt overwriting Neverball's camera setting.
130 * Added clobber confirmation to replay save.
131 * Fixed an audio bug when fading to the currently playing song.
132
133 -------------------------------------------------------------------------------
134 New in 1.2.9
135
136 * Merged set-complete state into goal state, fixing set-complete crash.
137 * Fixed a few game state init crashes.
138 * Fixed a few pointer grab issues.
139 * Added random replay during attract mode.
140 * Added scene fade in/out.
141 * Fixed a bug causing the texture quality setting to be ignored.
142 * Moved shadow handling in with other geometry, where it belongs.
143 * Moved particle and shadow init/free out of game init/free and into config.
144
145 -------------------------------------------------------------------------------
146 New in 1.2.8
147
148 * Improved directory handling.  No longer depends on CWD.
149 * Moved all config files to ~/.neverball/ directory.
150 * Screenshots now go to CWD, which is not changed.
151 * Reorganized replay handling.
152 * Added replay save / play / delete GUIs.
153 * Added auto disabling of stereo and reflection is mode set fails.
154 * Changed default pointer state to ungrabbed.
155
156 -------------------------------------------------------------------------------
157 New in 1.2.7
158
159 * Changed policy: Goal opens after a set number of coins are collected.
160 * Changed policy: Extra balls are awarded only after a goal.
161 * Changed policy: Game is saved after every goal.
162 * Changed hud to reflect new scoring policies.
163 * Fixed volume set bug.
164 * Fixed shadow visible on reflective surfaces in level shots.
165 * Fixed music on config screen.
166 * Increased ball transparancy to accomodate new view.
167 * Added subtle view distance flexibility.
168 * Merged Goal and High Score states.
169 * Tweaked some levels and scores in line with new scoring policies.
170 * Added better fading to make music less repetitious and annoying.
171
172 -------------------------------------------------------------------------------
173 New in 1.2.6
174
175 * Modularized state functions.
176 * Changed view to make horizon visible.
177 * Added view configuration options for people who whine about the new view.
178 * Changed background images to augment horizon.
179 * Fixed Neverputt far clip set closer than background.
180 * Fixed an audio init bug.
181 * Generalized config handling.
182 * Heavily modified GUI handling.
183 * Replaced all 2D menus with new GUI code.
184 * Changed image loading policy to support non-power-of-two images.
185 * Replaced Win32 makefile with VS.Net solution.
186 * Rewrote HUD to use new GUI handler.
187 * Added billboard objects to .SOL file.
188 * Policy change: .SOL files now go in same directory as .MAP files.
189 * Changed mapc to derive .SOL file name from .MAP file name.
190 * Changed pause screen to include the word "Paused".
191 * Changed internal clock to use integer deciseconds instead of float seconds.
192   (HIGH SCORE FILE CHANGED)
193 * Made some fixes to reflection handling.
194 * Added background .SOLs.
195 * Added wireframe mode.
196 * Added look-around mode.
197 * Added keyboard-to-joystick input mapping.
198 * Added mipmap generation.
199 * Added clamped material type.
200
201 -------------------------------------------------------------------------------
202 New in 1.2.5
203
204 * Fixed refrected background rotation.
205 * Added OBJ loading to mapc.
206 * Finally fixed material hack in mapc.
207 * A few graphical optimizations.
208 * Added shadow config option.
209 * Added sphere-map material type.
210 * Modified many levels to use detail OBJs.
211 * Traded doubles/ints for floats/shorts in the .sol file.  This cuts .sol
212   file size in half, but puts a limit on level complexity.
213
214 -------------------------------------------------------------------------------
215 New in 1.2.4
216
217 * Added camera control key binding to config file.
218 * Fixed some braindead reflection handling code.
219 * Fixed broken config menu.
220 * Fixed sound volume adjustment crash when sound is disabled.
221 * Fixed very stupid game timing bug that had been around far too long.
222
223 -------------------------------------------------------------------------------
224 New in 1.2.3
225
226 * Added reflection material.
227 * Modified several levels to use reflective material.
228 * Added option to disable reflection materials.
229 * Updated mapping documentation.
230 * Changed shadow CLAMP_TO_EDGE to CLAMP to work around some bad drivers.
231 * Added arrow key bindings for camera rotation.
232
233 -------------------------------------------------------------------------------
234 New in 1.2.2
235
236 * Fixed a sneaky bug in menu memory that allowed unopened levels to be played.
237 * Fixed camera rotation joystick button init bug.
238 * Changed options menu to make unavailable modes unselectable.
239 * Implemented auto-pause when the game loses focus externally.
240 * Simplified ARB extension handling.
241 * Made another tweak to the level set screenshot loader.
242 * Applied Mehdi's tweak to level 5.
243
244 -------------------------------------------------------------------------------
245 New in 1.2.1
246
247 * Fixed the scoring bug for real this time.
248 * Documented global set scoring.
249 * Added a ball "ghost" to ensure the ball remains visible when obscured.
250
251 -------------------------------------------------------------------------------
252 New in 1.2.0
253
254 * Fixed the path timing bug for real this time.
255
256 -------------------------------------------------------------------------------
257 New in 1.1.6
258
259 * Updated Mehdi's set to final.
260 * Fixed a path timing bug to correct a slight path pause discrepancy.
261 * Fixed scoring bug that was adding coins from failed level to global score.
262 * Fixed a bug corrupting level set screenshots.
263
264 -------------------------------------------------------------------------------
265 New in 1.1.5
266
267 * Reorganized code, merged Neverputt code.
268 * Added friction physics.
269 * Fixed goal particle radius.
270
271 -------------------------------------------------------------------------------
272 New in 1.1.4
273
274 * Set all menus to remember their last selection.  Now the frustrated player
275   need only pound angrily on the mouse button to get back to his last save.
276
277 -------------------------------------------------------------------------------
278 New in 1.1.3
279
280 * Fixed pipe.sol dependancy missing from Win32 makefile.
281 * Added help screen.
282
283 -------------------------------------------------------------------------------
284 New in 1.1.2
285
286 * Mouse invert and joystick select patches.
287 * Minor level tweaks.
288 * Fixed no levels open after reading old high score file.
289 * Fixed activation of all switches at the same location.
290 * Added camera HUD indicator.
291
292 -------------------------------------------------------------------------------
293 New in 1.1.1
294
295 * Added stereo viewing.
296 * Fixed Win32 makefile.
297
298 -------------------------------------------------------------------------------
299 New in 1.1.0
300
301 * Minor tweaks and cleanup for an announced release.
302
303 -------------------------------------------------------------------------------
304 New in 1.0.5
305
306 * Changed default scores file format, removing player names.
307 * Adjusted level order and default scores.
308 * Reimplemented physics lock punt.
309
310 -------------------------------------------------------------------------------
311 New in 1.0.4
312
313 * New levels
314 * Fixed texture positioning bug
315 * Darkened screen during pause
316 * Modified high scores to keep global highs.  (HIGH SCORE FILE CHANGED)
317 * Added new automatic level shot grabber.
318 * Tweaked BSP optimizer.
319
320 -------------------------------------------------------------------------------
321 New in 1.0.3
322
323 * Modified some textures.
324 * Modified some levels.
325 * Modified switches to switch entire path chains.
326 * Disallowed player from toggling timed switches off manually.
327
328 -------------------------------------------------------------------------------
329 New in 1.0.2
330
331 * Added level set selector.  (HIGH SCORE FILE CHANGED)
332 * Modified demo playback to handle level sets.
333 * Added BSP optimization to physics.
334 * New textures.
335 * New levels.
336 * Added Mehdi's level set.
337 * Modified switches to act on paths rather than bodies.
338 * Added timer option to switches.
339
340 -------------------------------------------------------------------------------
341 New in 1.0.1
342
343 * Modified physics to better handle vertical movers.
344 * Added mover switch entity.
345 * Replaced level 13 with a level using vertical movers and switches.
346
347 -------------------------------------------------------------------------------
348 New in 1.0.0
349
350 * Absolutely nothing
351
352 -------------------------------------------------------------------------------
353 New in 0.25.12
354
355 * FreeBSD support
356 * OSX support
357
358 -------------------------------------------------------------------------------
359 New in 0.25.11
360
361 * Changed platforms to accelerate rather than change velocity instantly.
362 * Changed timer to display minutes.  Increased max time from 99s to 9m59s.
363 * Changed teleport exit to be relative to teleport entry.
364 * Fixed time comparison ambiguity.
365
366 -------------------------------------------------------------------------------
367 New in 0.25.10
368
369 * Fix broken load balancer starving the renderer on early level load.
370 * Disabled music playback entirely when music volume is zero.
371
372 -------------------------------------------------------------------------------
373 New in 0.25.9
374
375 * Demo record and replay.
376
377 -------------------------------------------------------------------------------
378 New in 0.25.8
379
380 * Padded .sol files to make them portable between Linux and Windows.
381 * Added pulsing HUD numbers.
382 * Changed Windows config file path.
383 * Changed pause mode to continue rendering.
384
385 -------------------------------------------------------------------------------
386 New in 0.25.7
387
388 * Added background music.
389 * Changed several sounds.
390 * Added sound and music volume control to options screen and config file.
391 * Fixed discrepancy between reported time and recorded time.
392 * Fixed new coin record not triggering name input state.
393 * Fixed ESC during goal state.
394
395 -------------------------------------------------------------------------------
396 New in 0.25.6
397
398 * Level score and high score list added to goal screen.
399 * Level score added to record screen.
400 * Goal screen requires click-through instead of time-out.
401 * Fixed level time bug.  Clock was running during goal screen.
402
403 -------------------------------------------------------------------------------
404 New in 0.25.5
405
406 * Player name stored in config.
407 * Keyboard camera selection.
408 * Tweaked cameras.
409
410 -------------------------------------------------------------------------------
411 New in 0.25.4
412
413 * Changed save game policy: it must be earned by collecting coins.
414 * Added camera tracking configuration option.
415 * Added coin sub-sort of time records.
416 * Added time sub-sort of coin records.
417 * Fixed exit-during-teleport bug.
418 * Fixed potential infinite loop when ball is crushed.
419 * Warn and continue on audio init failure.
420
421 -------------------------------------------------------------------------------
422 New in 0.25.3
423
424 * Modified camera tracking, disabled direct camera control.
425
426 -------------------------------------------------------------------------------
427 New in 0.25.2
428
429 * Added default records.  Something to shoot for.
430
431 -------------------------------------------------------------------------------
432 New in 0.25.1
433
434 * Added record keeping.
435 * Reorganized level selector to include records.
436 * Added record name input state.
437 * Changed shadow clamp back to CLAMP_TO_EDGE.  Screw broken drivers.
438 * Changed timer to display hundredths of seconds.
439 * Got rid of clock tick until last 10 seconds (it conflicts with music).
440 * Returned original menu pointer motion.  Reorganized point hide.
441 * Globalized pause state to generalize pointer grab handling.
442
443 -------------------------------------------------------------------------------
444 New in 0.25.0
445
446 * Added teleportation.
447 * Changed menus to work with relative pointer motion.
448 * Changed pointer grab policy to lessen grab motion discontinuity impact.
449 * Fixed channel order for TGA textures.
450 * Fixed level selector link topology.
451 * New levels.
452
453 -------------------------------------------------------------------------------
454 New in 0.21.0
455
456 * Display screen shots in level selector.
457 * Cut level selector to 25 to make room for level shot.
458 * Generalized flyby representation.
459 * Added poser state for capturing level shots.
460 * New Levels.
461
462 -------------------------------------------------------------------------------
463 New in 0.16.2
464
465 * Native Windows support returned.
466 * Fixed HUD not responding to texture quality setting.
467 * Hyper-paranoid ARB_multitexture usage.
468
469 -------------------------------------------------------------------------------
470 New in 0.16.0
471
472 * Fixed input smoothing in game_step causing oscillation at low FPS.
473 * Worked around broken shadow CLAMP_TO_EDGE on i845G.
474 * Added high_level config and modified level select.  Documented cheat.
475 * New levels.
476
477 -------------------------------------------------------------------------------
478 New in 0.14.0
479
480 * New version numbering convention.  Minor number is level count.
481 * Broke native Windows support.
482 * Reorganized source and Makefiles.
483 * Modified mapc to take a materials path.
484 * Fixed potential overflow in config_home.
485
486 -------------------------------------------------------------------------------
487 New in 0805b
488
489 * Worked around broken color mask attribute pop in ball_draw on ATI.
490
491 -------------------------------------------------------------------------------
492 New in 0805a
493
494 * Sent screenshots to $HOME rather than CWD, fixing segfault.
495
496 -------------------------------------------------------------------------------
497 New in 0805
498
499 * Removed some initial state assumptions that were wrong for some users.
500 * Fixed $HOME determination under Windows.
501
502 -------------------------------------------------------------------------------
503 New in 0804
504
505 * First release as "Neverball".
506 * Added joystick control.
507 * Added camera control.
508 * Added ball shadow.
509 * Added level intros.
510 * Added config file stored in $HOME.
511 * Removed text images and added TTF rendering.
512 * New textures.
513 * New levels.