misc/libphyslayer/physfsrwops.h
author S.D.
Tue, 27 Sep 2022 14:59:03 +0300
changeset 15878 fc3cb23fd26f
parent 15853 fcea0f51d94f
permissions -rw-r--r--
Allow to see rooms of incompatible versions in the lobby For the new clients the room version is shown in a separate column. There is also a hack for previous versions clients: the room vesion specifier is prepended to the room names for rooms of incompatible versions, and the server shows 'incompatible version' error if the client tries to join them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7768
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     1
/*
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     2
 * This code provides a glue layer between PhysicsFS and Simple Directmedia
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     3
 *  Layer's (SDL) RWops i/o abstraction.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     4
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     5
 * License: this code is public domain. I make no warranty that it is useful,
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     6
 *  correct, harmless, or environmentally safe.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     7
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     8
 * This particular file may be used however you like, including copying it
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
     9
 *  verbatim into a closed-source project, exploiting it commercially, and
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    10
 *  removing any trace of my name from the source (although I hope you won't
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    11
 *  do that). I welcome enhancements and corrections to this file, but I do
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    12
 *  not require you to send me patches if you make changes. This code has
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    13
 *  NO WARRANTY.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    14
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    15
 * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    16
 *  Please see LICENSE.txt in the root of the source tree.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    17
 *
15853
fcea0f51d94f Fix the sound issues and crashes on some platforms
S.D.
parents: 13538
diff changeset
    18
 * SDL 1.2 falls under the LGPL license. SDL 1.3+ is zlib, like PhysicsFS.
fcea0f51d94f Fix the sound issues and crashes on some platforms
S.D.
parents: 13538
diff changeset
    19
 *  You can get SDL at https://www.libsdl.org/
7768
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    20
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    21
 *  This file was written by Ryan C. Gordon. (icculus@icculus.org).
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    22
 */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    23
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    24
#ifndef _INCLUDE_PHYSFSRWOPS_H_
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    25
#define _INCLUDE_PHYSFSRWOPS_H_
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    26
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    27
#include "physfs.h"
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    28
#include "SDL.h"
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    29
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    30
#ifdef __cplusplus
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    31
extern "C" {
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    32
#endif
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    33
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    34
/**
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    35
 * Open a platform-independent filename for reading, and make it accessible
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    36
 *  via an SDL_RWops structure. The file will be closed in PhysicsFS when the
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    37
 *  RWops is closed. PhysicsFS should be configured to your liking before
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    38
 *  opening files through this method.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    39
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    40
 *   @param filename File to open in platform-independent notation.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    41
 *  @return A valid SDL_RWops structure on success, NULL on error. Specifics
15853
fcea0f51d94f Fix the sound issues and crashes on some platforms
S.D.
parents: 13538
diff changeset
    42
 *           of the error can be gleaned from PHYSFS_getLastError().
7768
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    43
 */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    44
PHYSFS_DECL SDL_RWops *PHYSFSRWOPS_openRead(const char *fname);
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    45
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    46
/**
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    47
 * Open a platform-independent filename for writing, and make it accessible
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    48
 *  via an SDL_RWops structure. The file will be closed in PhysicsFS when the
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    49
 *  RWops is closed. PhysicsFS should be configured to your liking before
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    50
 *  opening files through this method.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    51
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    52
 *   @param filename File to open in platform-independent notation.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    53
 *  @return A valid SDL_RWops structure on success, NULL on error. Specifics
15853
fcea0f51d94f Fix the sound issues and crashes on some platforms
S.D.
parents: 13538
diff changeset
    54
 *           of the error can be gleaned from PHYSFS_getLastError().
7768
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    55
 */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    56
PHYSFS_DECL SDL_RWops *PHYSFSRWOPS_openWrite(const char *fname);
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    57
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    58
/**
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    59
 * Open a platform-independent filename for appending, and make it accessible
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    60
 *  via an SDL_RWops structure. The file will be closed in PhysicsFS when the
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    61
 *  RWops is closed. PhysicsFS should be configured to your liking before
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    62
 *  opening files through this method.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    63
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    64
 *   @param filename File to open in platform-independent notation.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    65
 *  @return A valid SDL_RWops structure on success, NULL on error. Specifics
15853
fcea0f51d94f Fix the sound issues and crashes on some platforms
S.D.
parents: 13538
diff changeset
    66
 *           of the error can be gleaned from PHYSFS_getLastError().
7768
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    67
 */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    68
PHYSFS_DECL SDL_RWops *PHYSFSRWOPS_openAppend(const char *fname);
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    69
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    70
/**
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    71
 * Make a SDL_RWops from an existing PhysicsFS file handle. You should
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    72
 *  dispose of any references to the handle after successful creation of
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    73
 *  the RWops. The actual PhysicsFS handle will be destroyed when the
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    74
 *  RWops is closed.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    75
 *
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    76
 *   @param handle a valid PhysicsFS file handle.
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    77
 *  @return A valid SDL_RWops structure on success, NULL on error. Specifics
15853
fcea0f51d94f Fix the sound issues and crashes on some platforms
S.D.
parents: 13538
diff changeset
    78
 *           of the error can be gleaned from PHYSFS_getLastError().
7768
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    79
 */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    80
PHYSFS_DECL SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_File *handle);
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    81
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    82
#ifdef __cplusplus
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    83
}
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    84
#endif
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    85
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    86
#endif /* include-once blocker */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    87
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    88
/* end of physfsrwops.h ... */
13e2037ebc79 Try using PhysicsFS.
unc0rr
parents:
diff changeset
    89