]> git.lizzy.rs Git - plan9front.git/blob - sys/src/games/doom/d_think.h
games/doom: fix mips
[plan9front.git] / sys / src / games / doom / d_think.h
1 // Emacs style mode select   -*- C++ -*- 
2 //-----------------------------------------------------------------------------
3 //
4 // $Id:$
5 //
6 // Copyright (C) 1993-1996 by id Software, Inc.
7 //
8 // This source is available for distribution and/or modification
9 // only under the terms of the DOOM Source Code License as
10 // published by id Software. All rights reserved.
11 //
12 // The source is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
15 // for more details.
16 //
17 // DESCRIPTION:
18 //  MapObj data. Map Objects or mobjs are actors, entities,
19 //  thinker, take-your-pick... anything that moves, acts, or
20 //  suffers state changes of more or less violent nature.
21 //
22 //-----------------------------------------------------------------------------
23
24
25 #ifndef __D_THINK__
26 #define __D_THINK__
27
28
29 #ifdef __GNUG__
30 #pragma interface
31 #endif
32
33
34
35 //
36 // Experimental stuff.
37 // To compile this as "ANSI C with classes"
38 //  we will need to handle the various
39 //  action functions cleanly.
40 //
41 typedef  void (*actionf_t)(void*, void*);
42
43
44
45
46
47 // Historically, "think_t" is yet another
48 //  function pointer to a routine to handle
49 //  an actor.
50 typedef actionf_t  think_t;
51
52
53 // Doubly linked list of actors.
54 typedef struct thinker_s
55 {
56     struct thinker_s*   prev;
57     struct thinker_s*   next;
58     think_t             function;
59     
60 } thinker_t;
61
62
63
64 #endif
65 //-----------------------------------------------------------------------------
66 //
67 // $Log:$
68 //
69 //-----------------------------------------------------------------------------