XenevaOS
Loading...
Searching...
No Matches
XenevaOS
Process
Doomgeneric
d_think.h
Go to the documentation of this file.
1
//
2
// Copyright(C) 1993-1996 Id Software, Inc.
3
// Copyright(C) 2005-2014 Simon Howard
4
//
5
// This program is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU General Public License
7
// as published by the Free Software Foundation; either version 2
8
// of the License, or (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// DESCRIPTION:
16
// MapObj data. Map Objects or mobjs are actors, entities,
17
// thinker, take-your-pick... anything that moves, acts, or
18
// suffers state changes of more or less violent nature.
19
//
20
21
22
#ifndef __D_THINK__
23
#define __D_THINK__
24
25
26
27
28
29
//
30
// Experimental stuff.
31
// To compile this as "ANSI C with classes"
32
// we will need to handle the various
33
// action functions cleanly.
34
//
35
typedef
void (*
actionf_v
)();
36
typedef
void (*
actionf_p1
)(
void
* );
37
typedef
void (*
actionf_p2
)(
void
*,
void
* );
38
39
typedef
union
40
{
41
actionf_v
acv
;
42
actionf_p1
acp1
;
43
actionf_p2
acp2
;
44
45
}
actionf_t
;
46
47
48
49
50
51
// Historically, "think_t" is yet another
52
// function pointer to a routine to handle
53
// an actor.
54
typedef
actionf_t
think_t
;
55
56
57
// Doubly linked list of actors.
58
typedef
struct
thinker_s
59
{
60
struct
thinker_s
*
prev
;
61
struct
thinker_s
*
next
;
62
think_t
function
;
63
64
}
thinker_t
;
65
66
67
68
#endif
actionf_v
void(* actionf_v)()
Definition
d_think.h:35
think_t
actionf_t think_t
Definition
d_think.h:54
thinker_t
struct thinker_s thinker_t
actionf_p2
void(* actionf_p2)(void *, void *)
Definition
d_think.h:37
actionf_p1
void(* actionf_p1)(void *)
Definition
d_think.h:36
thinker_s
Definition
d_think.h:59
thinker_s::next
struct thinker_s * next
Definition
d_think.h:61
thinker_s::function
think_t function
Definition
d_think.h:62
thinker_s::prev
struct thinker_s * prev
Definition
d_think.h:60
actionf_t
Definition
d_think.h:40
actionf_t::acp1
actionf_p1 acp1
Definition
d_think.h:42
actionf_t::acv
actionf_v acv
Definition
d_think.h:41
actionf_t::acp2
actionf_p2 acp2
Definition
d_think.h:43
Generated by
1.9.8