2 ****** Release 0.1.1 ******
4 2003-04-22 Alexander Hollinger <alexander.hollinger@gmx.net>
6 * globas.c: changed version from 0.0.11 to 0.1.1
8 2003-05-06 Sebastian Gutsfeld <segoh@gmx.net>
10 * aliens.c (aliensMissileMove): added test if there is an alien
11 ship left when starting a new missile; this was the bug which is
12 responsible for freezing the game when shooting at the last alien
14 2003-05-05 Sebastian Gutsfeld <segoh@gmx.net>
16 * nInvaders.c (readInput): updated readInput for reading input in
17 different states (see status var)
19 * nInvaders.c (handleTimer): added code for status GAME_HIGHSCORE
20 so a title screen with animation is shown; updated status
23 * nInvaders.c (main): updated status initialisation from
24 GAME_NEXTLEVEL to GAME_HIGHSCORE
26 * view.c: added WINDOW wTitleScreen; added titleScreenInit; added
27 titleScreenDisplay; added titleScreenClear; added battleFieldClear
29 * view.c (aliensRefresh): formatted some code
31 * view.c (ufoRefresh): fixed array length
33 * view.c (gameOverDisplay): simpified function
35 * view.c (graphicEngineInit): updated with titleScreenInit
37 * view.h: sorted function declarations; updated gameOverDisplay,
38 titleScreenClear, titleScreenDisplay and battleFieldClear
40 2003-04-22 Alexander Hollinger <alexander.hollinger@gmx.net>
42 * globals.c (doSleep): added again. still needed in
43 view.c. added "#ifdef win32" instruction again.
45 2003-04-22 Alexander Hollinger <alexander.hollinger@gmx.net>
47 * globals.c (doSleep): deleted method. not used any more.
49 * globals.c: incremented version number from 0.0.10 to 0.0.11
51 * globals.c: removed '#ifdef win32' instruction.
53 * *.c, *.h: added license notice to each file
55 * renamed ToDo to TODO
57 2003-04-18 Alexander Hollinger <alexander.hollinger@gmx.net>
59 * nInvaders.c (finish): "barely mediocre" and "show promise"
60 both "< 10000". Changed latter to "< 12500"
62 2003-04-17 Alexander Hollinger <alexander.hollinger@gmx.net>
64 * view.c (statusDisplay): modified so that buffer is written
65 to wBattleField. new variable WINDOW* wStatus. added method
66 (statusInit) which does initialisation of WINDOW wStatus.
67 Problem: Alien missiles go right to the bottom of screen,
68 where status is located and overwritten with missile sprite.
70 Changed behaviour of display of lives. Now the _remaining_
71 lives are displayed. i.e. at the beginning you will see
72 two little spaceshuttles, because you have two lives left.
74 * aliens.c (aliensMissileMove): added some checking, if missile
75 reached bottom where player moves. if so, do not move further
76 and reload missile. this reduces number of missiles which have
77 to be hit-tested each round, yet made it necessary to change
78 the shot-threshold otherwise too many missiles would have been
79 coming down. Not limiting ALIENS_MAX_MISSILES from 50 to 10 is
80 possible, because missiles are reloaded when they reach the
81 bottom. 10 concurrent missiles should be quite hard to manage..
82 Removed ALIENS_MAX_MISSILES-definition from view.h. Was defined
83 twice, now only in aliens.h.
84 optimized threshold-checking. calculation outside for-
85 instruction, and only comparison within.
88 2003-04-17 Alexander Hollinger <alexander.hollinger@gmx.net>
90 * nInvaders.c (readInput): removed (ch==27) for exit
91 sequence. as dettus pointed out there would be problems
92 on some terminals. pressing some keys too long will send
93 an KEY_ESC and quit the game.
95 2003-04-17 Alexander Hollinger <alexander.hollinger@gmx.net>
97 * nInvaders.c (setUpTimer): changed method to call handleTimer.
98 The call signal(SIG_ALRM, handleTimer) didn't work on irix.
99 There, the timer was only fired once and then the programm
100 exited. Now using call to sigaction() with flag SA_RESTART.
102 2003-04-16 Alexander Hollinger <alexander.hollinger@gmx.net>
104 * nInvaders.c: added a real-time timer that does 50 fps. if you
105 want it slower toggle the constant FPS. the higher the slower.
106 A timer is created and does all the gaming stuff while key
107 checking is still done in (main). Gamehandling is done by
108 simulating a deterministic finite automaton by setting the
109 'status'-attribute to e.g. GAME_LOOP, GAME_PAUSED, GAME_EXIT.
110 the following methods were modified/ added:
111 (setUpTimer): creates and initializes timer
112 (handleTimer): this method is called every 1/FPS seconds and
113 contains most code from old (main)
114 (readInput): changed so that the 'status'-variable is affected.
115 pressing of 'p' now changes 'status'
116 (main): most code moved to (handleTimer), calls setUpTimer and
117 sets 'status' to GAME_NEXTLEVEL
118 (gameOver): completely moved to handleTimer
120 * view.c (graphicEngineInit): removed 'timeout(0);' no longer
121 needed as we now hava a timer. another advantage: call to
122 (readInput) in nInvaders.c no longer called permanently.
123 in (readInput) the getch()-call waits till a key is pressed.
124 doSleep(1) no longer needed in nInvaders.c (readInput).
126 2003-04-08 Sebastian Gutsfeld <segoh@gmx.net>
128 * ufo.c:replaced 'u' with 'ufo' (see ufo.h) and 'a' with 'aliens'
130 * ufo.h: added typedef for Ufo and renamed 'u' into 'ufo',
132 * player.c: added typedef for Player and renamed 'p' into 'player',
133 replaced 'p' with 'player and 'a' with 'aliens'
135 * aliens.c: replaced 'a' with 'aliens' (see aliens.h)
137 * aliens.h: added typedef for Aliens and renamed 'a' into 'aliens'
139 * globals.c (RELEASE): updated release number
141 2003-04-07 Sebastian Gutsfeld <segoh@gmx.net>
143 * view.c (ufoRefresh): reverted 'frame' assignement
145 * nInvaders.c (main): reverted to old ufo speed from revision 1.3
147 2003-04-06 Alexander Hollinger <alexander.hollinger@gmx.net>
149 * nInvaders.c (resetPlayer): added a call to playerMisisleClear();
151 * view.c (aliensRefresh): fully encapsulated. access to aliens-Array
154 * aliens.c (*HitCheck): moved hit_alien_test and hit_bunker_test to
155 aliens.c and renamed to aliensHitCheck and bunkersHitCheck. Added
156 comments and did improvement of bunkersHitCheck-Algorithm
157 (shoty < BUNKERY + BUNKERHEIGHT instead of <=).
159 * nInvaders.c (finish): moved short version of GPL to globals.c
162 * view.c (gameOverInit): fixed color code
164 * player.h: removed lives from structPlayer. This variable belongs
165 more to the gamehandling in nInvaders.c that to the model of the
166 player in player.c. This is done because of better encapsulation
169 * player.c (playerReset): added a playerDisplay. Removed playerDisplay
170 from nInvaders.c just before refreshScreen() and added another
171 playerDisplay in the player.c (playerMissileMove) so that the
172 playerMissileClear does not clear the middle of the player when
175 * aliens.c (aliensHitCheck): added support for return of alienType so
176 that different scoring according to type of aliens is possible.
177 had to change values für alien_type constants in nInvaders.h and
178 the order of scores in the points-array in nInvaders.c (doScoring).
179 ufo gets 500pt, aliens 100pt, 150pt or 200pt.
181 * aliens.c (aliensReset): clears missiles of aliens, if any
183 * nInvaders.c (main): changed some variable names (*_counter) and
184 contracted some if-statements.
186 * view.c (playerExplosionDisplay): renamed from playerExplode. Added
187 player.c (playerExplode) which calls playerExplosionDisplay and
188 playerDisplay. Thus, I could remove the playerExplode(p.posX, p.posY)
189 from nInvaders.c and add a playerExplode(). All Elements of the
190 structure structPlayer now are "private".
193 2003-04-05 Sebastian Gutsfeld <segoh@gmx.net>
195 * Makefile: Updated file for ufo
197 * aliens.c (aliensMissileMove): fixed comment
199 * aliens.h: fixed indentation
201 * globals.h: fixed indentation
203 * nInvaders.c: included ufo.h, fixed some comments and linebreaks
205 * nInvaders.c (initlevel): added initialisation for ufo
207 * nInvaders.c (main): added code for ufo
209 * nInvaders.c (doScoring): different score for different alien types
211 * nInvaders.h: added constants for alien types needed by
212 nInvaders.c (doScoring), fixed declaration of doScoring, fixed
215 * player.c: included ufo.h (needed for playerMoveMissile)
217 * player.c (playerMoveMissile): added code needed for ufo, fixed
218 doScoring for alien type
220 * player.h: fixed indentation, fixed declaration of doScoring
222 * view.c: added WINDOW *wUfo, void ufoRefresh, static void ufoInit,
223 void ufoDisplay and void ufoClear
225 * view.c (aliensRefresh): fixed indentation and color codes
227 * view.c (graphicEngineInit): added ufoInit to last init section
229 * view.h: fixed indentation, added constans UFOWIDTH and UFOPOSY, added
230 declarations of ufoDisplay, ufoRefresh and ufoClear
232 * ufo.c: files for ufo handling (initial import into cvs)
234 * ufo.h: header file for ufo.c (initial import into cvs)
236 2003-04-04 Sebastian Gutsfeld <segoh@gmx.net>
238 * nInvaders.h, player.c: updated every occurance of hit_player_test
241 * nInvaders.c (hit_alien_test): renamed from 'hit_player_test'
243 2003-04-05 Alexander Hollinger <alexander.hollinger@gmx.net>
245 * [view.c] (bunkersDisplay): now fully encapsulated using pointer
246 *pBunker to get access to bunker-array. Method is called from
247 [aliens.c] (bunkersReset) instead of [aliens.c] (render) thus
248 saving some cpu-time. The bunker has to be displayed only at the
249 beginning of a new level. Then we use bunkerClearElement or
250 bunkerClear to remove bunker elements. No need why it was in
253 2003-04-04 Sebastian Gutsfeld <segoh@gmx.net>
255 * nInvaders.c (readInput): draw new number of lives in live-cheat
257 * aliens.c (aliensReset): put declaration of 'level' at
258 beginning of function
260 2003-04-04 Alexander Hollinger <alexander.hollinger@gmx.net>
262 * [nInvaders.c] added a new cheat: "L" gives player one new life
264 * [aliens.c, player.c] (*Reset) forgot to reset alien-block and
265 bunkers-block. Now there is a bunkersReset in aliens.c
266 * [view.c] added method graphicEngineInit()
267 * [view.c] (refreshScreen) fixed problem with graphic display on some
268 terminals. bunker and player are now displayed at startup.
269 * removed init.c and init.h from project
270 * [globals.c] some minor changes to names of methods. moved code for
271 displaying version from nInvaders.c to globals.c. Added code to
272 redefine usleep for WIN32-platforms, this should hopefully fix the
273 bug that the game was too fast there.
275 2003-04-03 Alexander Hollinger <alexander.hollinger@gmx.net>
277 * removed deprecated multi-line-strings in globals.c and nInvaders.c
279 2003-04-02 Alexander Hollinger <alexander.hollinger@gmx.net>
281 * view.c now contains all methods which do graphical display
284 * added file aliens.c and aliens.h. Perhaps these can later melt
285 with player.c and player.h.
287 2003-04-01 Sebastian Gutsfeld <segoh@gmx.net>
289 * *.c (*): formatted with 'indent -kr -i8 -l90' and fixed
292 2003-03-30 Alexander Hollinger <alexander.hollinger@gmx.net>
294 * added file "ToDo": put feature-requests and alike in here
296 * player.c (player*Missile*): processing of missiles moved to these
297 functions to reduce size of main().
300 2003-03-29 Sebastian Gutsfeld <segoh@gmx.net>
302 * init.c (initplayer): fixed comment
304 * player.c (playerInit): put declaration of 'playerSprite' at beginning
307 * init.c (initshots): put declaration of 'a' at beginning of function
309 2003-03-29 Alexander Hollinger <alexander.hollinger@gmx.net>
311 * added more comments and added player.c which is intended to hold all
312 functions concearning the player
314 * added method playerLaunchMissile in player.c
316 2003-03-28 Alexander Hollinger <alexander.hollinger@gmx.net>
318 * added some comments and split up some functions, especially in init.c.