ChangeLog
11.6 KB
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
****** Release 0.1.1 ******
2003-04-22 Alexander Hollinger <alexander.hollinger@gmx.net>
* globas.c: changed version from 0.0.11 to 0.1.1
2003-05-06 Sebastian Gutsfeld <segoh@gmx.net>
* aliens.c (aliensMissileMove): added test if there is an alien
ship left when starting a new missile; this was the bug which is
responsible for freezing the game when shooting at the last alien
2003-05-05 Sebastian Gutsfeld <segoh@gmx.net>
* nInvaders.c (readInput): updated readInput for reading input in
different states (see status var)
* nInvaders.c (handleTimer): added code for status GAME_HIGHSCORE
so a title screen with animation is shown; updated status
GAME_OVER
* nInvaders.c (main): updated status initialisation from
GAME_NEXTLEVEL to GAME_HIGHSCORE
* view.c: added WINDOW wTitleScreen; added titleScreenInit; added
titleScreenDisplay; added titleScreenClear; added battleFieldClear
* view.c (aliensRefresh): formatted some code
* view.c (ufoRefresh): fixed array length
* view.c (gameOverDisplay): simpified function
* view.c (graphicEngineInit): updated with titleScreenInit
* view.h: sorted function declarations; updated gameOverDisplay,
titleScreenClear, titleScreenDisplay and battleFieldClear
2003-04-22 Alexander Hollinger <alexander.hollinger@gmx.net>
* globals.c (doSleep): added again. still needed in
view.c. added "#ifdef win32" instruction again.
2003-04-22 Alexander Hollinger <alexander.hollinger@gmx.net>
* globals.c (doSleep): deleted method. not used any more.
* globals.c: incremented version number from 0.0.10 to 0.0.11
* globals.c: removed '#ifdef win32' instruction.
* *.c, *.h: added license notice to each file
* renamed ToDo to TODO
2003-04-18 Alexander Hollinger <alexander.hollinger@gmx.net>
* nInvaders.c (finish): "barely mediocre" and "show promise"
both "< 10000". Changed latter to "< 12500"
2003-04-17 Alexander Hollinger <alexander.hollinger@gmx.net>
* view.c (statusDisplay): modified so that buffer is written
to wBattleField. new variable WINDOW* wStatus. added method
(statusInit) which does initialisation of WINDOW wStatus.
Problem: Alien missiles go right to the bottom of screen,
where status is located and overwritten with missile sprite.
Fix: see next point
Changed behaviour of display of lives. Now the _remaining_
lives are displayed. i.e. at the beginning you will see
two little spaceshuttles, because you have two lives left.
* aliens.c (aliensMissileMove): added some checking, if missile
reached bottom where player moves. if so, do not move further
and reload missile. this reduces number of missiles which have
to be hit-tested each round, yet made it necessary to change
the shot-threshold otherwise too many missiles would have been
coming down. Not limiting ALIENS_MAX_MISSILES from 50 to 10 is
possible, because missiles are reloaded when they reach the
bottom. 10 concurrent missiles should be quite hard to manage..
Removed ALIENS_MAX_MISSILES-definition from view.h. Was defined
twice, now only in aliens.h.
optimized threshold-checking. calculation outside for-
instruction, and only comparison within.
2003-04-17 Alexander Hollinger <alexander.hollinger@gmx.net>
* nInvaders.c (readInput): removed (ch==27) for exit
sequence. as dettus pointed out there would be problems
on some terminals. pressing some keys too long will send
an KEY_ESC and quit the game.
2003-04-17 Alexander Hollinger <alexander.hollinger@gmx.net>
* nInvaders.c (setUpTimer): changed method to call handleTimer.
The call signal(SIG_ALRM, handleTimer) didn't work on irix.
There, the timer was only fired once and then the programm
exited. Now using call to sigaction() with flag SA_RESTART.
2003-04-16 Alexander Hollinger <alexander.hollinger@gmx.net>
* nInvaders.c: added a real-time timer that does 50 fps. if you
want it slower toggle the constant FPS. the higher the slower.
A timer is created and does all the gaming stuff while key
checking is still done in (main). Gamehandling is done by
simulating a deterministic finite automaton by setting the
'status'-attribute to e.g. GAME_LOOP, GAME_PAUSED, GAME_EXIT.
the following methods were modified/ added:
(setUpTimer): creates and initializes timer
(handleTimer): this method is called every 1/FPS seconds and
contains most code from old (main)
(readInput): changed so that the 'status'-variable is affected.
pressing of 'p' now changes 'status'
(main): most code moved to (handleTimer), calls setUpTimer and
sets 'status' to GAME_NEXTLEVEL
(gameOver): completely moved to handleTimer
* view.c (graphicEngineInit): removed 'timeout(0);' no longer
needed as we now hava a timer. another advantage: call to
(readInput) in nInvaders.c no longer called permanently.
in (readInput) the getch()-call waits till a key is pressed.
doSleep(1) no longer needed in nInvaders.c (readInput).
2003-04-08 Sebastian Gutsfeld <segoh@gmx.net>
* ufo.c:replaced 'u' with 'ufo' (see ufo.h) and 'a' with 'aliens'
* ufo.h: added typedef for Ufo and renamed 'u' into 'ufo',
* player.c: added typedef for Player and renamed 'p' into 'player',
replaced 'p' with 'player and 'a' with 'aliens'
* aliens.c: replaced 'a' with 'aliens' (see aliens.h)
* aliens.h: added typedef for Aliens and renamed 'a' into 'aliens'
* globals.c (RELEASE): updated release number
2003-04-07 Sebastian Gutsfeld <segoh@gmx.net>
* view.c (ufoRefresh): reverted 'frame' assignement
* nInvaders.c (main): reverted to old ufo speed from revision 1.3
2003-04-06 Alexander Hollinger <alexander.hollinger@gmx.net>
* nInvaders.c (resetPlayer): added a call to playerMisisleClear();
* view.c (aliensRefresh): fully encapsulated. access to aliens-Array
by pointer.
* aliens.c (*HitCheck): moved hit_alien_test and hit_bunker_test to
aliens.c and renamed to aliensHitCheck and bunkersHitCheck. Added
comments and did improvement of bunkersHitCheck-Algorithm
(shoty < BUNKERY + BUNKERHEIGHT instead of <=).
* nInvaders.c (finish): moved short version of GPL to globals.c
(showGplShort)
* view.c (gameOverInit): fixed color code
* player.h: removed lives from structPlayer. This variable belongs
more to the gamehandling in nInvaders.c that to the model of the
player in player.c. This is done because of better encapsulation
of player.c.
* player.c (playerReset): added a playerDisplay. Removed playerDisplay
from nInvaders.c just before refreshScreen() and added another
playerDisplay in the player.c (playerMissileMove) so that the
playerMissileClear does not clear the middle of the player when
a new shot is fired.
* aliens.c (aliensHitCheck): added support for return of alienType so
that different scoring according to type of aliens is possible.
had to change values für alien_type constants in nInvaders.h and
the order of scores in the points-array in nInvaders.c (doScoring).
ufo gets 500pt, aliens 100pt, 150pt or 200pt.
* aliens.c (aliensReset): clears missiles of aliens, if any
* nInvaders.c (main): changed some variable names (*_counter) and
contracted some if-statements.
* view.c (playerExplosionDisplay): renamed from playerExplode. Added
player.c (playerExplode) which calls playerExplosionDisplay and
playerDisplay. Thus, I could remove the playerExplode(p.posX, p.posY)
from nInvaders.c and add a playerExplode(). All Elements of the
structure structPlayer now are "private".
2003-04-05 Sebastian Gutsfeld <segoh@gmx.net>
* Makefile: Updated file for ufo
* aliens.c (aliensMissileMove): fixed comment
* aliens.h: fixed indentation
* globals.h: fixed indentation
* nInvaders.c: included ufo.h, fixed some comments and linebreaks
* nInvaders.c (initlevel): added initialisation for ufo
* nInvaders.c (main): added code for ufo
* nInvaders.c (doScoring): different score for different alien types
* nInvaders.h: added constants for alien types needed by
nInvaders.c (doScoring), fixed declaration of doScoring, fixed
Indentation
* player.c: included ufo.h (needed for playerMoveMissile)
* player.c (playerMoveMissile): added code needed for ufo, fixed
doScoring for alien type
* player.h: fixed indentation, fixed declaration of doScoring
* view.c: added WINDOW *wUfo, void ufoRefresh, static void ufoInit,
void ufoDisplay and void ufoClear
* view.c (aliensRefresh): fixed indentation and color codes
* view.c (graphicEngineInit): added ufoInit to last init section
* view.h: fixed indentation, added constans UFOWIDTH and UFOPOSY, added
declarations of ufoDisplay, ufoRefresh and ufoClear
* ufo.c: files for ufo handling (initial import into cvs)
* ufo.h: header file for ufo.c (initial import into cvs)
2003-04-04 Sebastian Gutsfeld <segoh@gmx.net>
* nInvaders.h, player.c: updated every occurance of hit_player_test
to hit_alientest
* nInvaders.c (hit_alien_test): renamed from 'hit_player_test'
2003-04-05 Alexander Hollinger <alexander.hollinger@gmx.net>
* [view.c] (bunkersDisplay): now fully encapsulated using pointer
*pBunker to get access to bunker-array. Method is called from
[aliens.c] (bunkersReset) instead of [aliens.c] (render) thus
saving some cpu-time. The bunker has to be displayed only at the
beginning of a new level. Then we use bunkerClearElement or
bunkerClear to remove bunker elements. No need why it was in
[aliens.c] (render).
2003-04-04 Sebastian Gutsfeld <segoh@gmx.net>
* nInvaders.c (readInput): draw new number of lives in live-cheat
* aliens.c (aliensReset): put declaration of 'level' at
beginning of function
2003-04-04 Alexander Hollinger <alexander.hollinger@gmx.net>
* [nInvaders.c] added a new cheat: "L" gives player one new life
for better testing
* [aliens.c, player.c] (*Reset) forgot to reset alien-block and
bunkers-block. Now there is a bunkersReset in aliens.c
* [view.c] added method graphicEngineInit()
* [view.c] (refreshScreen) fixed problem with graphic display on some
terminals. bunker and player are now displayed at startup.
* removed init.c and init.h from project
* [globals.c] some minor changes to names of methods. moved code for
displaying version from nInvaders.c to globals.c. Added code to
redefine usleep for WIN32-platforms, this should hopefully fix the
bug that the game was too fast there.
2003-04-03 Alexander Hollinger <alexander.hollinger@gmx.net>
* removed deprecated multi-line-strings in globals.c and nInvaders.c
2003-04-02 Alexander Hollinger <alexander.hollinger@gmx.net>
* view.c now contains all methods which do graphical display
(by using ncurses)
* added file aliens.c and aliens.h. Perhaps these can later melt
with player.c and player.h.
2003-04-01 Sebastian Gutsfeld <segoh@gmx.net>
* *.c (*): formatted with 'indent -kr -i8 -l90' and fixed
some linebreaks
2003-03-30 Alexander Hollinger <alexander.hollinger@gmx.net>
* added file "ToDo": put feature-requests and alike in here
* player.c (player*Missile*): processing of missiles moved to these
functions to reduce size of main().
2003-03-29 Sebastian Gutsfeld <segoh@gmx.net>
* init.c (initplayer): fixed comment
* player.c (playerInit): put declaration of 'playerSprite' at beginning
of function
* init.c (initshots): put declaration of 'a' at beginning of function
2003-03-29 Alexander Hollinger <alexander.hollinger@gmx.net>
* added more comments and added player.c which is intended to hold all
functions concearning the player
* added method playerLaunchMissile in player.c
2003-03-28 Alexander Hollinger <alexander.hollinger@gmx.net>
* added some comments and split up some functions, especially in init.c.