misc/libphyslayer/physfslualoader.c
author S.D.
Tue, 27 Sep 2022 14:59:03 +0300
changeset 15878 fc3cb23fd26f
parent 13537 ecdf6ce2301e
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.

#include "lua.h"
#include "physfs.h"

#include "physfscompat.h"

#define BUFSIZE 1024
#define UNUSED(x) (void)(x)

void *physfsReaderBuffer;

PHYSFS_DECL const char * physfsReader(lua_State *L, PHYSFS_File *f, size_t *size)
{
    UNUSED(L);

    if(PHYSFS_eof(f))
    {
        return NULL;
    }
    else
    {
        *size = PHYSFS_readBytes(f, physfsReaderBuffer, BUFSIZE);

        if(*size == 0)
            return NULL;
        else
            return physfsReaderBuffer;
    }
}

PHYSFS_DECL void physfsReaderSetBuffer(void *buffer)
{
    physfsReaderBuffer = buffer;
}