Skip to content
Snippets Groups Projects
Select Git revision
  • main
  • gl_gifs
  • jimita-thing
  • lj-srb2hp2
  • lj-srb2hp
  • connect-ip-textbox
  • lj-resendgamestate
  • thin-fixed
  • next
  • models
  • no-delayedpackets
  • thin-fps-offsets
  • thin-fps
  • orbital-camera
  • fps-offsets
  • fix-fixedrem
  • 2gb-maxsend
  • main-models
  • master default protected
  • fixed-string-colormaps
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
  • SRB2_release_2.1.19
  • SRB2_release_2.1.18
  • td-release-v1.0.0
  • SRB2_release_2.1.17
  • SRB2_release_2.1.16a
  • SRB2_release_2.1.16
  • SRB2_release_2.1.15
  • SRB2_release_2.1.14
  • SRB2_release_2.1.12
  • SRB2_release_2.1.11
  • SRB2_release_2.1.10
  • SRB2_release_2.1.9
  • SRB2_release_2.1.8
  • SRB2_release_2.1.7
  • SRB2_release_2.1.6
  • SRB2_release_2.1.5
  • SRB2_release_2.1.4
40 results

d_think.h

Blame
  • Inuyasha's avatar
    Inuyasha authored
    (no actual SLOC changes)
    f0758519
    History
    d_think.h 1.44 KiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 1993-1996 by id Software, Inc.
    // Copyright (C) 1998-2000 by DooM Legacy Team.
    // Copyright (C) 1999-2016 by Sonic Team Junior.
    //
    // This program is free software distributed under the
    // terms of the GNU General Public License, version 2.
    // See the 'LICENSE' file for more details.
    //-----------------------------------------------------------------------------
    /// \file  d_think.h
    /// \brief MapObj data. Map Objects or mobjs are actors, entities,
    ///        thinker, take-your-pick
    ///
    ///        anything that moves, acts, or suffers state changes of more or less violent nature.
    
    #ifndef __D_THINK__
    #define __D_THINK__
    
    #ifdef __GNUG__
    #pragma interface
    #endif
    
    //
    // Experimental stuff.
    // To compile this as "ANSI C with classes" we will need to handle the various
    //  action functions cleanly.
    //
    typedef void (*actionf_v)();
    typedef void (*actionf_p1)(void *);
    
    typedef union
    {
    	actionf_v acv;
    	actionf_p1 acp1;
    } actionf_t;
    
    // Historically, "think_t" is yet another function pointer to a routine
    // to handle an actor.
    typedef actionf_t think_t;
    
    // Doubly linked list of actors.
    typedef struct thinker_s
    {
    	struct thinker_s *prev;
    	struct thinker_s *next;
    	think_t function;
    
    	// killough 11/98: count of how many other objects reference
    	// this one using pointers. Used for garbage collection.
    	INT32 references;
    } thinker_t;
    
    #endif