Skip to content
Snippets Groups Projects
Select Git revision
  • 3d5d61ee87026cc2e9c94bc835c97be1a858eb82
  • next default protected
  • animated-textures-with-model-features
  • model-features
  • animated-textures-question-mark
  • softcode-info
  • lua-gfx-2
  • better-player-states
  • lua-debug-library
  • fix-equation-slopes-near-edges
  • fix-1215
  • quick-intro
  • any-resolution
  • gametype-refactor-player-spawns
  • custom-teams
  • gametype-refactor-1
  • custom-map-names
  • action-args
  • master
  • gamepad-morefixes
  • fix-167
  • SRB2_release_2.2.13
  • SRB2_release_2.2.12
  • SRB2_release_2.2.11
  • SRB2_release_2.2.10
  • SRB2_release_2.2.9
  • SRB2_release_2.2.8
  • SRB2_release_2.2.7
  • SRB2_release_2.2.6
  • SRB2_release_2.2.5
  • SRB2_release_2.2.4
  • SRB2_release_2.2.3
  • SRB2_release_2.2.2
  • SRB2_release_2.2.1
  • SRB2_release_2.2.0
  • SRB2_release_2.1.25
  • SRB2_release_2.1.24
  • SRB2_release_2.1.23
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
41 results

endian.h

Blame
  • Forked from STJr / SRB2
    16446 commits behind the upstream repository.
    user avatar
    Dmitry Marakasov authored
    And fix it on FreeBSD, where _BIG_ENDIAN is not a flag indicating
    big endian machine, but a constant to compare _BYTE_ORDER to.
    7d52913a
    History
    endian.h 1.27 KiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 2014 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  endian.h
    /// \brief Endian detection
    
    #ifndef __ENDIAN__
    #define __ENDIAN__
    
    #if defined(SRB2_BIG_ENDIAN) || defined(SRB2_LITTLE_ENDIAN)
      // defined externally
    #else
      #if defined(__FreeBSD__)
        // on FreeBSD, _BIG_ENDIAN is a constant to compare
    	// _BYTE_ORDER to, not a big-endianess flag
        #include <sys/endian.h>
        #if _BYTE_ORDER == _BIG_ENDIAN
          #define SRB2_BIG_ENDIAN
        #else
          #define SRB2_LITTLE_ENDIAN
        #endif
      #elif defined(__BYTE_ORDER__)
        // defined by at least gcc and clang
        #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
          #define SRB2_BIG_ENDIAN
        #else
          #define SRB2_LITTLE_ENDIAN
        #endif
      #else
        // check used in vanilla SRB2 (may work incorrectly if
    	// _BIG_ENDIAN is used as on FreeBSD)
        #if defined(_BIG_ENDIAN)
          #define SRB2_BIG_ENDIAN
        #else
          #define SRB2_LITTLE_ENDIAN
        #endif
      #endif
    #endif
    
    #endif //__ENDIAN__