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