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
|
Tue Dec 26 13:36:27 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
*
Wed Sep 27 11:41:26 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* Version 0.9 is released.
* matanza.w (@<Player |p| is inside ...@>, PLAYER_INSIDE): The macro
PLAYER_INSIDE was added. Code was changed to use the new macro.
* matanza.w (@<Move ship for player |p|@>): Now we check the value of
arg_limits when moving the ship.
(@<Parse command line arguments@>): We now accept parameter
`--limits'.
* matanza.w (@<Parse command line arguments@>): We now accept parameter
`--no-radar'. If given, we set arg_radar to 0.
(@<Variables for the command line arguments@>): Added variable
arg_radar, defaulting to 1;
(draw_world): If arg_radar evaluates to false, we don't draw the
directions to reach players.
* matanza.w (draw_world): Now before drawing ships, we consider the
value of their visible attribute.
(player_input): Command `i' toggles the value of the visible
attribute of a ship unless it can't be invisible anymore. This is
done in macro @<Toggle visibility of player |p|@>.
(@<Update world@>): If player is invisible, invisible_exp is
decreased. When it gets to 0, the player becomes visible.
(start_game): We set the visible and visible_exp fields of the player
to 1 and arg_visible_initial respectively.
(@<Parse command line arguments@>): We accept argument --invisibility
and store the required_argument in arg_visible_init.
(@<Variables for the command line arguments@>): Added argument
arg_visible_init.
Tue Sep 19 22:33:12 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* matanza.w (@<Initialize world@>): Empty macro removed.
* matanza.w (@<Variables for the command line arguments@>): Increased
the default values for arg_speed_max and arg_ang_speed_max.
* matanza.w (mat_bullet_new): When the player runs out of bullets of a
given type, we show him a message.
(@<Global variables@>): Added variables mat_bullets_name and
mat_bullets_hit.
(@<Bullet |b| hits player |p|@>): Macro added, with code previously in
@<Check if position |mx|, |my| hits player |p|@>. Now, however, when
a player hits another one, we print a message depending on the type
of the bullet.
* matanza.w (mat_image_draw): Fixed assert (matanza.w:3501). Hopefully.
* shipreal.c (mat_graph_astbig): Variable added.
matanza.w (@<Initialize environment@>): Now we calculate the
rotations for the asteroids and flood the world with an initial
ammount of them.
(@<Flood with asteroids@>): Macro added.
(@<Global variables@>): Added variables mat_ast_head and mat_ast_cur.
(@<Struct definitions@>): Added definition MatAst.
(@<Move asteroid |b@>, @<Update asteroids@>): Macros added.
(@<Update world@>): We now do @<Update asteriods@>.
(@<Variables for the command line arguments@>): Added variable
arg_ast_num.
(@<Parse command line arguments@>): Added command line argument
`--asteroids'.
* matanza.w (@<Parse command line arguments@>): Removed argument
--space and added argument --air.
(@<Variables for the command line arguments@>): arg_space now defalts
to true.
Mon Sep 18 19:20:55 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>:
* matanza.w (SPEED_MAX, @<Variables for the command line arguments@>):
Variable arg_speed_max was added to replace SPEED_MAX.
(@<Parse command line arguments@>): We receive argument `--speed-max'
and set arg_speed_max. The help information was updated.
* matanza.w (@<Variables for the command line arguments@>,
ANGLE_SPEED_MAX): Variable arg_ang_speed_max was added to replace
ANGLE_SPEED_MAX.
(@<Parse command line arguments@>): We receive argument
`--ang-speed-max' and set arg_ang_speed_max. The help information
was updated.
(player_input): When we receive 'h' and 'l', if arg_ang_speed_max is
0, we leave ship_angle_speed unmodified and rotate the ship.
* matanza.w (@<Parse command line arguments@>): Now we accept
parameters `--fly-back', `--brake' and `--space' and set variables
arg_fly_back, arg_brake and arg_space to 1, 1 and 1 when we receive
them. The help information (for `--help') was updated as well.
(@<Variables for the command line arguments@>): Variables
arg_fly_back, arg_brake and arg_space added.
(player_input): When the player enters 'h' or 'l', if arg_space
evaluates to false, we recalculate ship_speed_x and ship_speed_y.
When the player enters 'j', if brake evaluats to false we do nothing.
Also when the player enters 'j', if arg_fly_back and arg_space
evaluate to false, we never let the ship fly backwards. When the
player enters 'j' or 'k' and arg_space evaluates to true, rather than
just increase ship_speed and recalculate ship_speed_x and
ship_speed_y, we modify ship_speed_x and ship_speed_y depending on
the player's angle and recalculate ship_speed.
(@<Rotate ship for player |p|@>): If arg_space evaluates to true, we
don't recalculate ship_speed_x nor ship_speed_y.
* matanza.w (@<Data for a player in the game@>, MatPlayer): Fields
ship_pos_x and ship_pos_y were changed to type double.
* matanza.w (@<Functions@>, cos_ang, sin_ang): Added functions cos_ang
and sin_ang. All the time we are calculating the sin/cos of one
angle from a set of arg_ang predefined angles so now we keep a cache
of these values. Calls to sin/cos in many places where replaced by
calls to these functions.
* matanza.w (@<Data for a player in the game@>, MatPlayer): Fields
ship_speed_x and ship_speed_y were added.
(@<Variables for the command line arguments@>): Variable arg_space
was added.
(player_input): When we get 'j' or 'k', we also set ship_speed_x and
ship_speed_y.
(@<Move ship for player |p|@>): We now use ship_speed_x and
ship_speed_y.
(mat_bullet_new): We now use ship_speed_x and ship_speed_y rather
than ship_speed.
(@<Set the startup location for player |p|@>): Now we set
ship_speed_x and ship_speed_y to 0.
(@<Rotate ship for player |p|@>): We recalculate ship_speed_x and
ship_speed_y whenever the ship rotates.
Sun Sep 17 10:30:22 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* matanza.w (@<Player |p| has been killed@>): Rewrite.
* matanza.w (@<Data for a player in the game@>): Added field team_next.
* matanza.w (@<Make sure parameters are sane@>): Now rather than bitch
and refuse to run, this macro bitches and fixes things.
* shipreal.c (mat_graph_missile): Increased size of missiles 2 and 3.
* matanza.w (@<Process and discard data for player |p|@>): We no longer
call key_handler if the character is 0.
* matanza.w (mat_mainmenu_anim): Fixed cosmetic bug.
* matanza.w (MAXNAMELEN): Macro renamed to MAT_USER_MAX for
consistency. Default value is now 8.
(MAT_PASSWORD_MAX): Macro introduced. Default value is 8.
(@<Main Menu: Draw input fields@>): Now we consider the values in
MAT_USER_MAX and MAT_PASSWORD_MAX to draw the widgets.
(mat_mainmenu_key): Now we consider the values in MAT_USER_MAX and
MAT_PASSWORD_MAX when accepting input.
* matanza.w (@<Initialize player |p|@>): Added more names.
* matanza.w (@<Global variables@>): Removed mat_defparams.
(MatPlayer): Removed field driverparams.
* matanza.w (start_game, mat_mainmenu_key): Now we print the initial
messages (calling @<Send a message informing about the new player@>)
in mat_mainmenu_key rather than start_game. The same goes for
setting p->graph_randomval and p->times_dead to 0.
* matanza.w (start_game): We no longer increase players_real nor set
the players state.
* matanza.w (@<Main Menu: Data@>): Added field texterr.
(mat_mainmenu_key): If an error takes place (eg. the player enters an
invalid password) we set texterr to a description. Whenever we
receive a character, we set it back to 0.
(@<Main Menu: Draw input fields@>): If texterr is set, we show it.
* matanza.w (@<Main Menu: Draw input fields@>): If arg_password is
NULL, we no longer show the widget for entering the password.
* matanza.w (@<Global variables@>): Added variables mat_bullets_damage
mat_bullets_speed, mat_bullets_back, mat_bullets_bexp and
mat_bullets_pexp.
* matanza.w (mat_ship, mat_missile): Now we allocate space for these
variables dynamically.
* (player_input): Now we understand command `n'!
* matanza.w (@<Parse command line arguments@>): If parameter
`--no-chat' is used, we set arg_chat to 0.
(player_input): If arg_chat evaluates to false, we don't let the
player go into KEY_STATE_BUFFER.
* matanza.w (@<Add a new team@>): Macro added.
(@<Struct for the teams@>): Type added.
(@<Variables for the command line arguments@>, arg_teams): Variable
added to hold the head of the list of teams.
(@<Parse command line arguments@>): We now recognize argument
`--team'.
(@<Main Menu: Data@>): Added filed team.
(@<Main Menu: Draw input fields@>): If the game is in teams mode, we
display the currently selected team.
(@<Variables for the command line arguments@>, arg_teams_safe):
Variable added, defaults to 0.
(@<Move bullet |b|@>): Bullets don't hit players of the same team as
the one who shot them if arg_teams_safe evaluates to true.
(@<Parse command line arguments@>): If we receive parameter
`--team-safe', we set arg_teams_safe to 1.
* matanza.w (@<Main Menu: Draw input fields@>): Size for the password
was increased. If no password was specified using the command line
arguments, we don't prompt for it.
(@<Global variables@>, arg_password): Variable added.
(@<Parse command line arguments@>): We now look for option
`--password' and, if specified, set arg_password.
* matanza.w (@<Main Menu: Begin@>): Small optimization. No need to call
mat_graph_render and mat_graph_flush here.
* matanza.w (mat_bullet_new, player_input): The prototype of
mat_bullet_new has changed. Adjustments made on player_input. The
return value of mat_bullet_new was fixed.
* matanza.w (@<Data for bullets@>): Added field angle to MatBullet.
* matanza.w (@<Check if position |mx|, |my| hits player |p|@>): Fixed
sprintf with invalid conversion type.
* matanza.w (mat_image_draw): Added a cast.
* matanza.w (@<Parse command line arguments@>,
@<Make sure parameters are sane@>, ANG): Added command line argument
arg_ang.
* shipreal.c (mat_missile): Added images for two more kinds of
missiles.
* matanza.w (@<Make sure parameters are sane@>): Macro added to check
for the values from the command line arguments and report errors.
* matanza.w (ship_bullets, ship_missiles): We removed field
ship_missiles from the MatPlayer struct and now we use an array
ship_bullets for the different kinds of bullets.
* matanza.w (mat_image_draw): Fixed asserts.
* matanza.w (@<Parse command line arguments@>, arg_lives): Now we
accept parameter `--lives'.
* matanza.w (@<Player |p| has been killed@>): If a player runs out of
lives, he is sent to the main menu.
* matanza.w (player_input): Fixed a bug: When a player hit `p', his
ship would start to rotate to the right.
Thu Sep 14 21:12:47 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* Version 0.6 is released.
* matanza.w (@<Check if position |mx|, |my| hits player |p|@>,
mat_image_draw): Fixed asserts.
Tue Sep 12 19:56:06 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* Version 0.5 is released.
* matanza.w (mat_player_free): Now we show the right version number.
* matanza.w (draw_world): The background is now drawn before everything
else.
* matanza.w (@<Initialize player |p|@>): We now give the player a
default initial name, randomly chosen from a list.
* matanza.w (@<Player |p| has been killed@>): When a player dies, we
don't send it to the main menu but have him reappear. Also, we
increase her variable times_dead.
* matanza.w (@<Data for a player in the game@>): Added field
times_dead to hold a count of the number of times the player
has died.
* matanza.w (@<Parse terminal speed@>): Changed some code I could no
longer understand (in one assert; probably harmless).
* matanza.w (start_game, @<Initialize player |p|@>): Now we initialize
the structs for the messages in @<Initialize player |p|@>.
* matanza.w (@<Player |p| has been killed@>): Now we show the number of
times the player has died.
* matanza.w (@<Initialize environment@>): We initialize the rand()
seed depending on the time.
* matanza.w (mat_image_draw): Added a lot of casts to pos_x and pos_y
and fixed an assert that had an `or' instead of an `and'.
* matanza.w (@<Move bullet |b|@>): Bug fix.
* matanza.w (@<Set the terminal control codes@>, mat_flush): Bug fix
related to white backgrounds.
Sat Sep 9 04:40:50 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* Version 0.4 released.
* matanza.w (@<Fill buffer according to the distance in |x| and |y|@>):
Adjustments made to keep things working when the player specifies
different map sizes.
* matanza.w (@<Player |p| is inside of the screen of player |self|@>):
Bug fix.
* matanza.w (mat_image_draw): Bug fix.
* matanza.w (@<Parse command line arguments@>, arg_health,
arg_mapsize_x, arg_mapsize_y, INITIAL_HEALTH, MAPSIZEX, MAPSIZEY):
Now we use command line options `--health', `--mapsize-x' and
`--mapsize-y', storing their arguments
* matanza.w (@<Check if position |mx|, |my| hits player |p|@>): Bug
fix.
Fri Sep 8 12:51:34 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* matanza.w (mat_ship): Variable is now of type MatImage. Many
adjustments made on code that referenced it.
* matanza.w (@<Make palettes@>, mat_ship_palettes): Added code to use
different palettes when drawing images.
* matanza.w (MAT_GRAPH_IMGWIDTH, MAT_GRAPH_IMGHEIGHT, arg_imgwidth,
arg_imgheight): Now we use arg_imgwidth and arg_imgheight instead
of the hard-coded definitions before.
* matanza.w (@<Parse command line arguments@>): If we get --imgwidth or
--imgheight, we store the arguments in arg_imgwidth and
arg_imgheight respectively.
* matanza.w (@<Parse command line arguments@>): Now we understand
parameter --version.
* matanza.w (@<Draw ship for player |p| in screen for player |self|@>):
Now we simply call mat_image_draw.
Thu Sep 7 10:12:55 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* matanza.w (mat_animation_cancel, mat_mainmenu_key): We now
ignore '\r'. This was a bug because some clients sent '\r\n'
when RET was pressed so the server considered it two RETs.
* matanza.w (@<Build tables used for rendering@>,
@<Get the maximum and minimum values for all the characters@>):
Variable supported was removed; now we use MAT_GRAPH_SUPPORTED
everywhere.
* matanza.w (@<Variables for the command line arguments@>): Variable
arg_bold added. It defaults to false.
* matanza.w (@<Parse command line arguments@>): If the user specifies
`--bold', set arg_bold to true. It will be false otherwise.
* matanza.w (MAT_GRAPH_SUPPORTED): If arg_bold evaluates to true, use
bold characters.
* matanza.w (player_input): Bug fix in the code for launching missiles.
* matanza.w (player_input): Fixed invocations of mat_bullet_new.
* matanza.w (mat_bullet_new): Now we accept a new parameter, img, to
set the image used for the bullet.
* matanza.w: @<Make calculations for the game@> was renamed to
@<Rotate the ship in the different angles@>. The invocation at
@<Initialize environment@> was fixed.
* matanza.w (@<Rotate the missile in the different angles@>): The
macro was added. It is called from @<Initialize environment@>.
* matanza.w (@<Data for an image@>): Struct added.
* shipreal.c (mat_graph_missile): Variable added.
Tue Sep 5 20:25:39 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* matanza.w (mat_flush): Bug fix, the cursor was moved to the wrong
position sometimes.
* matanza.w (player_input): Made it possible to shot bullets backwards.
* matanza.w (mat_bullet_new): Function added to reuse code to create
bullets.
* matanza.w (mat_player_free): Now we decrease players_real here.
* matanza.w (mat_graph_resize): The line at the bottom is now used.
Mon Sep 4 19:55:06 COT 2000 Alejandro Forero Cuervo <bachue@bachue.com>
* First release.
|