1 -------------------------------------------------------------------------------
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.
7 -------------------------------------------------------------------------------
10 * Fixed font renderer to never exceed maximum texture size.
12 -------------------------------------------------------------------------------
15 * Fixed broken Unix build.
16 * Added OSX SDL mouse invert workaround.
17 * A few texture tweaks.
18 * Fixed broken Ball HUD.
20 -------------------------------------------------------------------------------
24 * Added wireframe view to Putt.
25 * Fixed view toward hole when the hole is directly above or below the ball.
27 -------------------------------------------------------------------------------
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.
36 -------------------------------------------------------------------------------
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.
54 -------------------------------------------------------------------------------
57 * Fixed mapc normal optimization bug. Resolves the Putt 16 invisible wall.
59 -------------------------------------------------------------------------------
62 * Fixed mapc normal optimization bug. Resolves the "Level 6" crash.
64 -------------------------------------------------------------------------------
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.
74 -------------------------------------------------------------------------------
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.
81 -------------------------------------------------------------------------------
84 * Removed few remaining bits of GLU code.
85 * Whitened glyph textures manually rather than relying upon pixel bias.
86 * Fixed Neverputt shadow
88 -------------------------------------------------------------------------------
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.
98 -------------------------------------------------------------------------------
101 * Fixed Save Replay not allowing score count to complete.
102 * Fixed bad unlock score in Mehdi 25.
104 -------------------------------------------------------------------------------
107 * Fixed replay header nonportable.
109 -------------------------------------------------------------------------------
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.
122 -------------------------------------------------------------------------------
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.
130 -------------------------------------------------------------------------------
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.
142 -------------------------------------------------------------------------------
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.
153 -------------------------------------------------------------------------------
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.
169 -------------------------------------------------------------------------------
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.
198 -------------------------------------------------------------------------------
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.
211 -------------------------------------------------------------------------------
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.
220 -------------------------------------------------------------------------------
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.
230 -------------------------------------------------------------------------------
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.
241 -------------------------------------------------------------------------------
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.
248 -------------------------------------------------------------------------------
251 * Fixed the path timing bug for real this time.
253 -------------------------------------------------------------------------------
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.
261 -------------------------------------------------------------------------------
264 * Reorganized code, merged Neverputt code.
265 * Added friction physics.
266 * Fixed goal particle radius.
268 -------------------------------------------------------------------------------
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.
274 -------------------------------------------------------------------------------
277 * Fixed pipe.sol dependancy missing from Win32 makefile.
280 -------------------------------------------------------------------------------
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.
289 -------------------------------------------------------------------------------
292 * Added stereo viewing.
293 * Fixed Win32 makefile.
295 -------------------------------------------------------------------------------
298 * Minor tweaks and cleanup for an announced release.
300 -------------------------------------------------------------------------------
303 * Changed default scores file format, removing player names.
304 * Adjusted level order and default scores.
305 * Reimplemented physics lock punt.
307 -------------------------------------------------------------------------------
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.
317 -------------------------------------------------------------------------------
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.
325 -------------------------------------------------------------------------------
328 * Added level set selector. (HIGH SCORE FILE CHANGED)
329 * Modified demo playback to handle level sets.
330 * Added BSP optimization to physics.
333 * Added Mehdi's level set.
334 * Modified switches to act on paths rather than bodies.
335 * Added timer option to switches.
337 -------------------------------------------------------------------------------
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.
344 -------------------------------------------------------------------------------
349 -------------------------------------------------------------------------------
355 -------------------------------------------------------------------------------
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.
363 -------------------------------------------------------------------------------
366 * Fix broken load balancer starving the renderer on early level load.
367 * Disabled music playback entirely when music volume is zero.
369 -------------------------------------------------------------------------------
372 * Demo record and replay.
374 -------------------------------------------------------------------------------
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.
382 -------------------------------------------------------------------------------
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.
392 -------------------------------------------------------------------------------
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.
400 -------------------------------------------------------------------------------
403 * Player name stored in config.
404 * Keyboard camera selection.
407 -------------------------------------------------------------------------------
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.
418 -------------------------------------------------------------------------------
421 * Modified camera tracking, disabled direct camera control.
423 -------------------------------------------------------------------------------
426 * Added default records. Something to shoot for.
428 -------------------------------------------------------------------------------
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.
440 -------------------------------------------------------------------------------
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.
450 -------------------------------------------------------------------------------
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.
459 -------------------------------------------------------------------------------
462 * Native Windows support returned.
463 * Fixed HUD not responding to texture quality setting.
464 * Hyper-paranoid ARB_multitexture usage.
466 -------------------------------------------------------------------------------
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.
474 -------------------------------------------------------------------------------
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.
483 -------------------------------------------------------------------------------
486 * Worked around broken color mask attribute pop in ball_draw on ATI.
488 -------------------------------------------------------------------------------
491 * Sent screenshots to $HOME rather than CWD, fixing segfault.
493 -------------------------------------------------------------------------------
496 * Removed some initial state assumptions that were wrong for some users.
497 * Fixed $HOME determination under Windows.
499 -------------------------------------------------------------------------------
502 * First release as "Neverball".
503 * Added joystick control.
504 * Added camera control.
506 * Added level intros.
507 * Added config file stored in $HOME.
508 * Removed text images and added TTF rendering.