File: Changelog

package info (click to toggle)
luxman 0.41-6
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 1,416 kB
  • ctags: 1,084
  • sloc: cpp: 6,871; ansic: 2,291; makefile: 246
file content (548 lines) | stat: -rw-r--r-- 14,914 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
0.41:
	- updated `Modern' scenario

	- bumps skill level up one on wrap around

	- decrease energized time, etc. when bumping up & already on
 	  max skill level

0.40:
	- implemented search paths per-scenario

0.39:
	- fixed mem leak in util.cc

	- accept ~'s in basenames

	- accept TRANS in level file (transparent color)

	- replaced Bitmaps with Mazes where appropriate

	- seperate paths for fonts, images, mazes, sounds, and
	  `top-level' items.

0.38:
	- changed play.cc to use VLLists to store levels --
	  removed hardwired limit of 100 levels per file

	- updated luxchk to understand the new Level definition

0.37:
	- modified `quit' to really end game so that highscores
	  can be updated and user is returned to main menu

	- removed #if 0 code

	- changed Scenarios to use VLLists (removed hardwired
	  restriction of 10 levels per scenario)

0.36:
	- added prompt for quit if `q' pressed (also for Ctrl-C)

	- removed README.Hacking (HOWTO.Modify is better)

	- updated README's, manpages, etc.

0.35:
	- generalized the VT switch check a bit during startup

	- added scenario selection to main menu

	- backward compatibility fix for routines not expecting
	  state GHOST_WAIT

	- added `Back to Main' to scenario menu

0.34:
	- added delay before ghost `regeneration'

	- made ghost regen delay settable in level file (optional
	  parameter)

	- changed calibration to restart if VT switch detected

	- oops -- put copyright notice in some new files I had missed

	- made next_piece public so that sf.cc could use it

	- wrote scenerio file routines (sf.cc)

0.33:
	- made search depth a per-level parameter (also
	  a required param in level file). Removed
	  command line option. Updated level files.

	- created `luxchk' to check level files (`mapchk' now obsolete)

	- stop making `mapchk' (leaving source there for now)

	- made luxman colors per-level (optional param)

	- made fruit timings per-level (optional param)

	- lf.cc now `correctly' supports #-style comments

	- made manpages for luxman and luxchk

	- re-fixed highscore & credits screen to exit on "any key"

0.32:
	- put new rawkey in (from Russell Marks).
          (VT switching now works)

	- added blank_key_down() call after VT switch back.

	- made all items optional in the level file except for
	  mazename, tilename and fruitname.

	- added notice that -8 option may go away

0.31:
	- made level file old.def -- same level layout as
	  0.26; default is levels.def

	- removed #if 0 code in play.cc

	- made background color settable in level file

0.30:
	- moved blocking out of banner routine and into
	  run loop.

	- changed signal handlers so I can have it dump
	  core in the debugging version -- no change in
	  `user' version.

	- modified collision detection: harder for ghosts
	  to eat you; no change for eating ghosts. Eliminates
	  that annoying `getting killed on a corner' thing.

	- made ghost energized and flashing times settable
	  per-level

	- cleaned up code in play.cc

	- made tile settable per-level

	- modified highscore & about... screens so that any
	  key exits from them

	- made dot color settable per-level

	- made bigdot color settable per-level

	- made external levels file & modified Makefile
	  to install it

	- updated README.Hacking

	- added cmdline option (-f) to specify level file

0.29:
	- explicitly open/close sound at start/end of
	  game so there's no clicking when game over

	- replaced reference to /usr/lib with /usr/games/lib
	  in Makefile

0.28:
	- added some more `stuck' checks in places where
	  we could block

	- changed source to refer to GPL-2 since that's
          what's included

	- made next_piece routine more correct

	- made `fatal' a macro (finally)

	- cleaned up (removed) #if 0'd and commented-out
          code 

	- fixed ./src/Makefile to give error if make run
          from src subdir

0.27:
	- now using regular pipes instead of FIFO's.
	  Thanks to Michael Weller (eowmob@exp-math.uni-essen.de)
	  for the patch.

	- as per suggestion from Michael Weller, the data file
	  directory was changed from /usr/lib/luxman to
	  /usr/games/lib/luxman (to comply with FSSTD).

0.26 (first public release):
	- modified searching routine so that eyes don't
	  follow each other as much. Better to do this now
	  than after release and wreck everyone's patterns :)

	- added small delay when you eat a ghost & sound is
	  disabled -- looks more like real game, IMO

	- modified signal handlers to kill soundserver process

	- fixed that argv_version thing and the exit() thing -
	  should now compile cleanly

	- changed `lux' subdir to `src' to prevent confusion

0.25:
	- made thunderbird level easier (grumble...)

	- modified README.First a bit

0.24:
	- whoa! hold the phone... I THOUGHT I had put the
	  new calibration stuff in there... oops... it
	  seems MUCH smoother now.

	- explicitly set modes on everything when installing

0.23:
	- commented out grx2map target. I'm betting that
	  most people don't have LIBGRX and I don't want
	  everyone to have to use the `-k' switch with
	  make.

	- removed unused .snd files.

	- stop installing bins from gtools directory.
	  still making them, but I don't want to accidentally
	  step on programs of the same name on others' systems.

	- removed babble from Makefile and added targets info.

[Split off release branch after 0.22]

0.22:
	- moved main source to /lux subdir; updated Makefiles

0.21:
	- moved all bitmaps to ./maps in source tree

	- highscore file moved to ~/.luxman.scores

	- oops - was creating fifo's with wrong modes - broken
	  for non-superuser. fixed.

	- removed `debug mode'; it never actually worked anyways

	- show ghosts and luxman during banners

	- now marking the ghost home tile with `home.map'

0.20:
	- changed sound server `pause' and `continue' commands to
	  `sleep' and `wakeup' to keep server from eating cpu while
	  paused.

	- added `open sound' and `close sound' to sound server
	  so that the actual sound device can be opened/closed
	  independently of the memory initialization in the
	  server.

	- sound server now sleeps until sound device opened.
	  this prevents the server from eating the cpu when
	  sound is disabled

	- removed vga_init() from gr.cc; each main() now calls
	  vga_init() as its first action.

	- oops - was broken if sound support wasn't compiled
	  into kernel; fixed

	- added an (untested) compiler switch -DOLD_KERNEL
 	  which may allow the game to work with pre-1.1.50
	  kernels

	- changed program names to `luxman' and `luxman-snd'

	- fixed a few install bugs

0.19:
	- little hack to make animation better when eating a
	  ghost

	- added cmdline option (-8) to use 8kHz sound (11kHz default)

	- added cmdline option (-n) to disable sound

	- main program now starts soundserver process;
	  server should now get killed any time program exits

	- added `pause' and `continue' commands to sound server.
	  updated client. sound now pauses during shell (`p')

0.18:
	- added `sndserver.c' and `sndclient.c'
	  removed soundIt and the cfclass stuff
	  
0.17:
	- can now use `p' to shell during banners and
	  menus

	- ditto for highscore screen and `credits' screen

	- no longer have to run from lux directory --
	  By doing a `make install':
	    binaries install to /usr/games
	    maps, sounds & fonts install to /usr/lib/luxman

	  highscores kept in /var/games/luxman.scores

	  Note: can still play in lux directory if `make install'
	  not used.

0.16:
	- modified menus so that cursor updates before key released

	- added `Credits' screen

	- added highlighting to highscore screen

	- made main menu cursor `sticky' -- i.e., remembers where
	  it was last

	- can now press `p' to pause the game and "shell out" so
	  that you can switch consoles.

	- modified highscore screen to print "Hard".."Simple"
	  in skill column instead of 3..0

	- modified highscores -- in case of a tie, the higher
	  skill level now listed first. if there is a tie and
          the skill levels are equal, the older score is listed
          first.

	- added mini-explanation of `-r' at startup

	- added `fruit quota' to put limit on max number of
	  fruits that will be displayed each screen

0.15:
	- updated Bitmap class to exit gracefully on error

	- ditto for Font class

	- made skill level runtime configurable

	- added skill level menu

	- added `lux-menu' selection code for skill level and
	  main menu

0.14:
	- added high score list

	- split off most of map.cc to play.cc

	- created `main loop' -- title screen -> game -> highscore list

	- added ghost animations, like in real game

	- luxman now first tries to go left or right at start of
	  a level instead of up, which was getting annoying

	- clear pending keystrokes (arrow keys only) before
	  displaying `Ready!' banner

	- modified ghosts so that they don't prefer to keep
	  going in their current direction of movement.
	  As this seems to make it MUCH harder, you can
	  turn off this feature with:

		-DUSE_MOMENTUM

	  This is embarrasing, but I've only managed to make it past
	  the first level once with this new strategy...

	Here's how I'd rank games for difficulty:
 
  	Hard:			No options
	Medium:			-DUSE_MOMENTUM
	Easy:			-DCONFIG_NOSEEK
				(`momentum' is irrelevant if seeking
				turned off)
	Simple:			-DCONFIG_NOSEEK -DCONFIG_NOLOS

0.13:
	- added `free' life every 10000 points

	- added display at bottom showing last 5 `fruits'

	- modified labels so they never go off screen

	- synced up mapchk with map so that they use the
	  same search depth (both read globals.h)

	- updated mapchk to check all items
	  (while doing this, found that `run.cc' was using hardwired
      	   colors... oops... fixed)

	- added runtime calibration routine -- determines (approx)
	  how much overhead there is in the usleep() call
	  Still innacurate (yields ~5fps too high on my machine),
	  but seems to make things smoother

	- redid the time-counting code so hopefully the `fps'
	  figure is somewhat accurate again -- doesn't matter
	  anymore whether you are in `test' mode (0.08) - should get
	  same results

0.12:
	- if you don't put a fruit tile down, it now defaults
	  to luxman init location

	- no longer put dot in ghost `home' tile

	- new option -l, --level, to specify start level

	- ghosts now move away from you when energized (IF they
	  have line-of-sight -- see next note)

	- updated ghosts routines so that the ghosts now actually
	  look for you. This makes it pretty tough, IMO, so
	  I also added two compiler flags:

	  -DCONFIG_NOSEEK -- make ghosts not look for you
	  -DCONFIG_NOLOS  -- make ghosts not `see' you when you are
                             in line-of-sight
			     If you turn this on, the blue ghosts will
		 	     still run towards you (or rather, they
			     won't *care* if they are running towards you).

     	  (Combining these two makes the game pitifully easy -- you
	   nearly have to chase the ghosts down to run into them.)

	- each ghost now has a preferred seek direction -- perhaps
	  this will keep ghosts from overlapping and following each
	  other around so much (?) 

0.11:
	- merged 0.10 and 0.08.snd (from bruce)
	  i.e., we now have sound!!

0.10:
	- added multiple screens

	- added `pending' velocity changes to ghosts so that
	  ghosts don't "jerk" when changing states

	- oops -- seems I haven't been calling vga_init()...
	  hmpf... worked fine until svgalib 1.2.0. oh well,
          it's fixed now
	  (actually, it looks like bruce caught this in 0.08... hmpf!)

	- removed hardwired values in check_collide (run.cc)

0.09:
	- updated fruit to time itself off of # of frames rather
	  than # of seconds -- this means fruit will appear/disappear
	  at same relative time in the game regardless of frame rate
	  (don't want to break those patterns jsut because you're
  	  recompiling the kernel in the background!)

	- ditto for ghost ``energized'' and ``flashing'' times

	- updated code to compile cleanly (well, except for that
	  `argv_version' thing...) with g++ 2.6.2

	- fiddled with Makefiles some -- prevent myself from
	  accidentally running a Makefile in subdir

	- oops!! -- fixed nasty bug in zfclose()
	  (deleting struct before I had closed the file.. duh)

	- oops!!(2) (man, oh man) -- was deleting something I should
	  have Free()'d (not free()'d) in bigdotmap.cc
	  bad, bad, bad, bad, bad... I feel bigstupid

0.08:
	- added score labels when you eat a ghost

	- added `fruit' & score labels

	- added status line & life-counting

	- added scorekeeping

	- added "banners" (e.g. ``Ready!''); banners are disabled in
	  test mode (--test) since they screw up the FPS calculation

	- modified collision detection a bit so there will (hopefully)
	  not be so many bad misses

0.07:
	- Created run.cc - starting to look like real game -
	  ghosts turn blue, you can eat them, etc.			

	- new program `mapchk' to check maps
	  currently checks to make sure eyes can find way back
          from all positions in maze using a given search depth.
	  should run this if you edit the maps so that the
	  program doesn't crash unexpectedly.

	- added command line switch (map): -t, --test
	  turns off collision detection between luxman and
	  ghosts -- will give better FPS number since no
	  delay for path-finding

	- added command line switch (map): -r, --fps
	  (attempts) to set frame-per-second rate. Not very
	  accurate at all, but with some tinkering you
          should be able to get it to run at a comfortable rate.
          defaults to 100 (yeah, right)

	- added command line switch (map): -h, --help
	  prints usage info

	- added command line switch (map): -d, --depth
	  allows you to set the search depth for the `eyes'
	  at runtime.
	  The intended use of this switch is to enter the
          depth value that has been determined experimentally
          by running `mapchk' with different `--depth' values.

	- added ghost flashing

0.06:
	- Note: v0.06 left in the state where ghosts turn into
		eyes when you eat a power pill. This is to test
 		the path-finding routine

	- wrote path finding algorithm (search.cc)

	- added power pills - ghosts turn blue but can still
          kill you

	- added (untested) movement code for eyes

0.05:
	- luxman can now change location at any time

	- rewrote collision detection routine so that the
	  ghosts actually have to overlap luxman 

	- updated Mouse so that it will (hopefully) handle all
	  mouse types correctly

	- added `alarm()' calls to (hopefully) prevent program from
	  becoming stuck in an infinite loop

	- added more signal handlers (created sigs.cc)

	- cleaned up makefiles and #includes to get ready for
	  distribution

0.04:
	- first "real" ghost routine now in place, incorporating
	  "count map" with line-of-sight reset

0.03:
	- made malloc wrappers (Malloc, Mcheck and Free) to add simple
	  fence-post checking

0.02-0.01:	??