12011-08-13 Oohara Yuuma <oohara@libra.interq.or.jp> 2 3 * version 1.8 4 * score.c: compare_entry() is now static 5 * configure.ac: added x before with/enable variables in case 6 their values begin with a special character 7 * player.c: removed the "not shooting" bonus debug message 8 because it is too noisy 9 * boss.c: removed debug messages in BossHit1 because they are 10 too noisy 11 122011-08-10 Oohara Yuuma <oohara@libra.interq.or.jp> 13 14 * version 1.7 15 * joystick.c, joystick.h: define empty functions instead of 16 commenting them out when the joystick support is disabled 17 to avoid an empty .c file 18 * enemyshot.c: included stdio.h and stdlib.h (for abs()) 19 * Makefile.am: removed -Wcast-qual because the file name for 20 XpmReadFileToPixmap is char *, not const char * 21 222011-08-09 Oohara Yuuma <oohara@libra.interq.or.jp> 23 24 * version 1.6 25 * configure.ac: fixed so that --enable options can be disabled 26 correctly 27 * configure.ac: rewrite --with option 28 * configure.ac: added AC_PROG_CPP because AC_CHECK_HEADERS requires it 29 * configure.ac: checks the function atexit because graphic.c uses it 30 * configure.ac: fixed comments 31 * joystick.c, joystick.h: comment out the whole file if JSTK is 32 not defined 33 * Makefile.am: fixed comment so that Makefile doesn't say "process 34 this file with automake" 35 * Makefile.am, configure.ac: use the tar-ustar option of automake 36 instead of AMTAR = ustar in Makefile.am 37 * configure.ac: added the foreign option to AM_INIT_AUTOMAKE 38 * README: says that the joystick support is only on Linux 39 402009-11-08 Oohara Yuuma <oohara@libra.interq.or.jp> 41 42 * version 1.5 43 * game.c, xsoldier.h: make sure that an object never acts at the same 44 frame as it is created 45 * game.c: removed unnecessary variable ocheck 46 * version.h: updated UPDATE 47 482006-09-16 Oohara Yuuma <oohara@libra.interq.or.jp> 49 50 * version 1.4 51 * Makefile.am: minor cleanup 52 - uses some AM_variables 53 - gcc -g and the overkill warnings are now default 54 - set AMTAR to ustar 55 * Makefile.in: regenerated with automake 1.9 56 * configure: ./configure accepts --without-sld as well as --with-sdl 57 * INSTALL: fixed high score file instruction 58 * input.c, main.c, manage.c, xsolder.h: the SDL version respects 59 the TERM signal and closing the window 60 612002-05-26 Oohara Yuuma <oohara@libra.interq.or.jp> 62 63 * version 1.3 64 * configure.ac: does not stop configuring even if --with-sdl is 65 specified but AC_CHECK_LIB([SDL], [SDL_Init]) fails (this won't do 66 any harm because if there is no SDL then "make" will fail correctly) 67 (I don't know why AC_CHECK_LIB fails on a non-i386 architecture 68 (perhaps because of missing -lpthread?)) 69 * configure.ac: regenerated 70 * image.c, manage.c: s/HAVE_LIBSDL_IMAGE/HAVE_LIBSDL/g 71 * common.c, ending.c, enemyshot.c, game.c, joystick.c, opening.c: 72 added some #include to avoid gcc -Wall warnings 73 * enemyshot.c, graphic.c, manage.c, player.c: use division instead 74 of shift 75 * score.c: fake records no longer have loop 0 76 * score.c: fake records are more close to the default 77 * image.c: fixed image loading so that xsoldier displays the correct 78 color on a 16-bit-per-pixel display (thanks to Stephen McCamant 79 <smcc@CSUA.Berkeley.EDU> for the patch) 80 * README: fixed typo 81 * image.c: SDL version sets the palette of pixmaps explicitly if 82 the screen is 8 bpp (without this the window is blank) 83 * README, extern.h, graphic.c, image.c, main.c, xsoldier.6: now 84 -c option does nothing because it does not work with raw X on 85 8 bpp screen 86 * image.h: SDL version uses typedef instead of #define for Image 87 * graphic.c, image.c, star.c: fixed memory leak (I still don't know 88 how to free memory allocated by getpwuid() in manage.c) 89 * README: fixed description (xsoldier is not first-person, "for one 90 player" is the right term) 91 * boss.c: you can't go to the next stage if the game is over 92 932002-04-24 Oohara Yuuma <oohara@libra.interq.or.jp> 94 95 * version 1.2 96 * xsoldier is ported to SDL (the Simple DirectMedia Layer library) 97 * extern.h: fixed a typo in comment 98 * callback.c, game.c, graphic.c, image.c, input.c, joystick.c, 99 main.c, manage.c, config.h, extern.h, graphic.h, image.h, key.h: 100 Added libsdl support (use --with-sdl). Note that libsdl support 101 uses a double-standard for coordinates to keep the 10 pixel 102 boundary 103 * enemyshot.c: enemy shots do move 104 * INSTALL, README: added note on SDL 105 * README: added a game tip 106 1072002-04-21 Oohara Yuuma <oohara@libra.interq.or.jp> 108 109 * version 1.1 110 * now xsolider comes with its own font 111 * graphic.c: no longer use the X font (this is necessary for porting 112 to SDL) 113 * pixmap/font*.xpm: new files, provide the font 114 * boss.c, enemy.c: enemies appear more gracefully 115 * game.c: fixed counter of the number of normal enemies 116 * Makefile.am: "make install" does not overwrite the high score file 117 * INSTALL: added more info on the high score file 118 1192002-04-21 Oohara Yuuma <oohara@libra.interq.or.jp> 120 121 * version 1.0 122 * now I am the official developer of xsoldier (I got a mail from 123 the original of xsoldier, Yuusuke HASHIMOTO <hachi@pm.highway.ne.jp>) 124 * player.c: weapon 1 shoots more and damages less 125 * game.c: set boss time to 2000 instead of 3000 if not in final stage 126 * boss.c: teleportation of boss 6 takes less time 127 * enemy.c: power-up items move faster 128 * boss.c: boss has a fixed (independent of loop) hit point 129 * game.c, player.c, player.h: you lose some of power-up items 130 when you are killed 131 * boss.c: reduced the amount of ring shots of the last boss 132 * boss.c: the last boss shoots a 5way shot in loop 1 133 * enemy.c: enemy 6 may give you an item 134 * player.c: set immutable time to 60 instead of 50 when 135 starting/restarting 136 * xsoldier.h: changed the argument of the srand() macro from s to x 137 because the word "srand" contains the letter "s" 138 * boss.c: homing shot of the last boss is faster 139 * boss.c, enemy.c, enemyshot.c: fixed window edge detection 140 * boss.c: fixed homing shot of boss 2 141 * main.c: you can enter the high score list even if you use the 142 -wait option as long as the wait is not greater than default 143 * game.c: normal enemies appear more frequently 144 * main.c: made sig_handle() static 145 * common.c, common.h, extern.h: translated all comments into English 146 * graphic.c, graphic.h, input.c, input.h: new files, putting all 147 X related stuff here 148 * ending.c, game.c, opening.c: no more X stuff 149 * boss.c: boss 2 can shoot backward in loop 2 or later 150 * ending.c: added my name and fixed a typo 151 * player.c: power-up item is O(loop), not O(loop^2) 152 * main.c, star.c: free what is malloc()ed --- I always put away 153 what I take 154 * main.c: removed unnecessary headers 155 * xsoldier.h: added #include "image.h" 156 * ending.c: you can skip the ending by pressing space key 157 * ending.c: the staff list scrolls at a fixed (independent of loop) 158 speed 159 * ending.c: added "press space key" message 160 * player.c: change weapon item always makes you a bit powerful 161 * INSTALL: added "required libraries" and fixed a typo 162 * xsoldier.6: fixed typo in synopsis 163 * README: new file, including overview, command line options, key 164 control and explanation of bonus 165 * LICENSE: added note on the files GPL and old-doc/CONDITION 166 1672002-04-12 Oohara Yuuma <oohara@libra.interq.or.jp> 168 169 * version 0.99 170 * putting old documents in old-doc/ 171 * translated all comments into English 172 * INSTALL: fixed the FHS way 173 * main.c: fixed -display and -wait option 174 * main.c: improved the error message for bad options 175 * boss.c: the last boss is a bit weaker in loop 2 176 * game.c, main.c, manage.c, xsoldier.h: added -nopausemessage option 177 * boss.c, enemy.c, game.c, player.c, score.c, star.c 178 s/random()/rand()/g 179 * main.c, xsoldier.h: s/random/rand/g, s/srandom/srand/g 180 * configure.ac: checks rand() instead of random() 181 * xsoldher.h: s/HAVE_RANDOM/HAVE_RAND/ 182 * score.c: almost a complete rewrite 183 * GPL: renamed, old name is COPYING 184 * LICENSE: renamed, old name is CONDITION 185 * LICENSE: added my name 186 * boss.c: made boss 4 larger to prevent backstab 187 * boss.c: made boss 8 smaller for better collision-detection 188 * callback.c, game.c: draws a rectangle in the object's "real" 189 size if debug is enabled 190 * game.c: added do_actions() and collision_detection() 191 * enemy.c: enemy 7 escapes from the upper side of the window 192 (now weapon 2 is not the only way to get the perfect bonus) 193 * game.c: improved shoot down bonus (shoot down bonus should be large 194 enough so that missing a boss is a big loss, but small enough not 195 to trivialize non-shooting bonus) 196 * game.c: added shoot_down_bonus() and perfect_bonus() 197 * enemyshot.c: made homing missiles more stupid 198 * boss.c: boss 7 does escape from the window if the time is over 199 * manage.c: always starts a loop with a fixed level (that is, 10) 200 * game.c: normal enemies appear less frequently 201 * enemy.c: normal eneimes have a fixed hit point (independent of loop) 202 * main.c: set max length of player name 203 * manage.c: added paranoid checks to NewPlayerData() 204 2052002-04-02 Oohara Yuuma <oohara@libra.interq.or.jp> 206 207 * version 0.98 208 * uses Makefile.am instead of Imakefile 209 * put all *.c , *.h and the manpage under RCS 210 * boss.c, callback.c, ending.c, enemy.c, game.c, joystick.c, 211 manage.c, opening.c, player.c: hacked to avoid gcc -Wall warnings 212 - added many #include 213 - removed Japanese comments which are encoded to /* 214 - removed unused variables 215 * callback.c, ending.c, game.c, image.c, joystick.c, joystick.h, 216 manage.c, manage.h, opening.c, score.c, sin.c, star.c, star.h: 217 hacked to avoid gcc overkill warnings (see Makefile.am) 218 - added many #include 219 - declared some arguments and variables as const 220 - converted switch statement to if-else because KeySym may 221 not be int 222 - avoid the name of a global variable in prototypes 223 - removed unused arguments from printf 224 * xsoldier.h: now defines WAIT, PIXMAP, SCORE and SCOREFILE 225 * manage.h: added declaration of ClearEnemyShotManage() 226 * player.c: initializes notShootingTime correctly (this fixes 227 a bug which didn't give you the non-shooting bonus unless 228 you shot at least once) 229 * xsoldier.6: renamed, old name is "xsoldier.man" 230 * fix/: dropped because it is not used 231 * version.h: now VERSION is defined in config.h 232 * main.c, xsoldier.6: added -maxlevel option 233 * game.c: removed high score display because you don't need it 234 during the game 235 * main.c: checks invalid options 236 * boss.c, ending.c, game.c, image.c, main.c, opening.c, player.c, 237 score.c: now includes config.h 238 * main.c: removed zero padding from the output of -score 239 * xsoldier.h: replaced SYSV with HAVE_RANDOM because it only 240 affects random() 241 * INSTALL: added 242 * image.c: fixed SplitImage debug message 243 * main.c, manage.c, xsoldier.h: added -loop, -state, -maxpower and 244 -ship options (all for debug only) 245 * game.c, manage.c, xsoldier.h: never show shoot down bonus 246 at the beginning of the game 247 * ending.c: fixed a typo in the ending message 248 * ending.c: the staff list scrolls slow in the loop 3 or later 249 * image.c: fixed "isn't just" debug message 250 * enemy.c: enemy 6 does disappear 251 2522002-03-15 Oohara Yuuma <oohara@libra.interq.or.jp> 253 254 * version 0.97 255 * based on the Debian package (version 1:0.96-14) 256 * bug fixes: 257 - boss.c: fixed the size of boss 1 and 4 (you can't backstab them) 258 - boss.c: enables the hitmask when boss 6 reappears 259 - enemyshot.c: added return NoneDel; at the end of EnemyLaserAct() 260 (without this the function sometimes ends without calling 261 return, resulting a suicide of the boss of the stage 4) 262 - game.c: when handling Hit(), call the enemy's Hit first 263 (necessary because Hit() of the weapon 3 changes its Attack 264 and the damage is calculated in Hit() of the enemy) 265 - joystick.c: applied Right and Down fix (fix available at the 266 original author's webpage: 267 http://www.surfline.ne.jp/hachi/xsoldier.html) 268 - main.c: set the maximum number of player's object to 256 269 (64 seems to be insufficient for the weapon 2) 270 - main.c: modified sig_handle() because sigaction() expects 271 void f(int), not static void f(void) 272 - opening.c: made sure stars moves at the normal speed 273 * game balance tweaks: 274 - ending.c: staff list scrolls faster 275 - game.c: adjusted the interval between enemy's appearances 276 - game.c, opening.c: disabled zero padding of scores 277 - manage.c: max level (internal parameter) is now MaxLevel 278 (which is currently 80), not 85 279 - player.c, player.h: made the player's weapons much more powerful 280 - player.c: speed change is now 3 points/key-type instead of 5 281 - player.c: your weapon does not power down even if you are killed 282 - xsoldier.h: extend every 200,000 points instead of 100,000 283 * new features: 284 - boss.c, enemy.c: act routine improved a lot 285 - boss.c, game.c, manage.c, xsoldier.h: a boss escapes if 286 the time is up (in this case you don't get the shoot down bonus) 287 - callback.c, enemy.c: dealing damage to a enemy gives you a score 288 even if you don't destroy it 289 - callback.c, enemy.c, game.c, manage.c: shows the remaining hit 290 points of a enemy when you shoot it 291 - game.c: shoot down bonus is bigger in second or later loop 292 - game.c: perfect bonus raises the level 293 - game.c: added c (clear enemy shot) key (enabled only when 294 compiled with -DDEBUG) 295 - game.c, manage.c: cleans enemy's shots when you restart 296 - main.c: set max loop to 3 (24 stages total) 297 - manage.c, player.c: gives you a score as long as you don't push 298 the shot key 299 - opening.c: added short help for debug-only commands 300 - player.c: power up item gives you a score and raises the level 301 if you already have enough power up items 302 - player.c: the level will be lowered if you are killed 303 * game.c: set the score limit to 10,000,000 304 * manage.c: added paranoid initialization of objects 305 * score.c: s/strcpy()/strncpy()/g 306