2019-10-03 18:04:14 -04:00
|
|
|
/**
|
|
|
|
@file constants.h
|
|
|
|
|
|
|
|
This file contains definitions of game constants that are not considered
|
|
|
|
part of game settings and whose change can ffect the game balance and
|
|
|
|
playability, e.g. physics constants.
|
|
|
|
|
|
|
|
by Miloslav Ciz (drummyfish), 2019
|
|
|
|
|
|
|
|
Released under CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/)
|
|
|
|
plus a waiver of all other intellectual property. The goal of this work is
|
|
|
|
be and remain completely in the public domain forever, available for any use
|
|
|
|
whatsoever.
|
|
|
|
*/
|
|
|
|
|
2019-09-25 09:51:19 -04:00
|
|
|
#ifndef _SFG_CONSTANTS_H
|
|
|
|
#define _SFG_CONSTANTS_H
|
|
|
|
|
|
|
|
/**
|
|
|
|
How quickly player turns left/right, in degrees per second.
|
|
|
|
*/
|
2019-10-01 14:25:21 -04:00
|
|
|
#define SFG_PLAYER_TURN_SPEED 210
|
2019-09-25 09:51:19 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
How quickly player moves, in squares per second.
|
|
|
|
*/
|
2019-10-01 14:25:21 -04:00
|
|
|
#define SFG_PLAYER_MOVE_SPEED 10
|
|
|
|
|
|
|
|
/**
|
|
|
|
Gravity acceleration in squares / (second^2).
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define SFG_GRAVITY_ACCELERATION 30
|
2019-09-25 09:51:19 -04:00
|
|
|
|
2019-10-03 14:09:00 -04:00
|
|
|
/**
|
|
|
|
Initial upwards speed of player's jump, in squares per second.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define SFG_PLAYER_JUMP_SPEED 80
|
|
|
|
|
2019-09-26 21:34:49 -04:00
|
|
|
/**
|
|
|
|
How quickly elevators and squeezers move, in RCL_Unit per second.
|
|
|
|
*/
|
|
|
|
#define SFG_MOVING_WALL_SPEED 1024
|
|
|
|
|
2019-10-04 15:09:10 -04:00
|
|
|
/**
|
|
|
|
How quickly doors open and close, in RCL_Unit per second.
|
|
|
|
*/
|
|
|
|
#define SFG_DOOR_OPEN_SPEED 2048
|
|
|
|
|
2019-10-06 10:47:47 -04:00
|
|
|
/**
|
|
|
|
Says the (Chebyshev) distance in game squares at which level elements
|
|
|
|
(items, monsters etc.) become active.
|
|
|
|
*/
|
|
|
|
#define SFG_LEVEL_ELEMENT_ACTIVE_DISTANCE 8
|
|
|
|
|
2019-10-17 17:58:19 -04:00
|
|
|
/**
|
2019-10-18 10:34:51 -04:00
|
|
|
Rate at which AI will be updated, which also affects how fast enemies will
|
|
|
|
appear.
|
2019-10-17 17:58:19 -04:00
|
|
|
*/
|
2019-10-18 11:26:13 -04:00
|
|
|
#define SFG_AI_FPS 2
|
|
|
|
|
|
|
|
/**
|
|
|
|
Says a probability (0 - 255) of the AI changing its state during one update
|
|
|
|
step.
|
|
|
|
*/
|
|
|
|
#define SFG_AI_RANDOM_CHANGE_PROBABILITY 20
|
2019-10-17 17:58:19 -04:00
|
|
|
|
2019-10-21 09:21:22 -04:00
|
|
|
/**
|
|
|
|
Speed of rocket projectile, in squares per second.
|
|
|
|
*/
|
2019-10-21 14:24:15 -04:00
|
|
|
#define SFG_ROCKET_SPEED 20
|
2019-10-21 09:21:22 -04:00
|
|
|
|
2019-10-21 17:50:19 -04:00
|
|
|
/**
|
|
|
|
Distance at which level elements (sprites) collide, in RCL_Unit (1024 per
|
|
|
|
square).
|
|
|
|
*/
|
|
|
|
#define SFG_ELEMENT_COLLISION_DISTANCE 700
|
|
|
|
|
2019-09-25 09:51:19 -04:00
|
|
|
#endif // guard
|