-
Notifications
You must be signed in to change notification settings - Fork 0
/
moves.h
45 lines (34 loc) · 1.55 KB
/
moves.h
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
/****************************************************************************
This file is part of XorCurses a port/remake of the game Xor
(originally by Astral Software) to the Linux console using
ncurses.
XorCurses written by James W. Morris - [email protected]
All code licensed under GNU GPL v3.
file: moves.h
purpose: functions for initialising movement (detecting possibility
of movement), and for gravitating gravitational objects.
****************************************************************************/
#ifndef _MOVES_H
#define _MOVES_H
#include "movelist.h"
#include "player.h"
/* determines if movement of object (not player) is possible */
ct_t move_object_init(struct xor_move *move);
/* move_gravity_process
processes the movement of an object, how this object comes
to be moving is decided by player_process_old_pos, and
pushed_process_new_pos. the xor_move* xmv is the object
(decided by the previous two functions) which is to move.
this function checks if other objects need to move because
this object is moving, and moves them also.
*/
void move_gravity_process(struct xor_move *xmv);
/* move_unchain_blocked_bomb
when a chain of objects has gravitated and the path blocked,
look to see if there is a bomb in the chain. if so, remove
it and let the remaining chain continue to be processed -
returns TRUE if this is to happen
*/
struct xor_move *move_unchain_blocked_bomb(struct xmv_link *lnk);
void move_hard_push_doll(struct xor_move *xmv);
#endif