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