X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fmy.c;h=ad47b24de3bda7239d65a8f3445ce4572c6c4b98;hp=72f444d98c7211b83dcdff5f702d8565141e6183;hb=ef16dea09f87b15fc6d58fae0aa0832e0648c00e;hpb=a2115940e7643dcb1b87286f3d19fe95f7b79bd3 diff --git a/src/my.c b/src/my.c index 72f444d..ad47b24 100644 --- a/src/my.c +++ b/src/my.c @@ -1,33 +1,29 @@ -/* - Copyright (C) Prikol Software 1996-1997 - Copyright (C) Aleksey Volynskov 1996-1997 - Copyright (C) 2011 +/* Copyright (C) 1996-1997 Aleksey Volynskov + * Copyright (C) 2011 Rambo + * Copyright (C) 2020 SovietPony + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3 of the License ONLY. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ - This file is part of the Doom2D:Rembo project. - Doom2D:Rembo is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License version 2 as - published by the Free Software Foundation. - - Doom2D:Rembo is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see or - write to the Free Software Foundation, Inc., - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include #include "glob.h" -#include "keyb.h" #include "error.h" +#include "misc.h" #include +#include +#include -void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) -{ +void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) { const char* end; /* end of processed string */ const char* p; /* search pointer */ const char* s; /* copy pointer */ @@ -79,19 +75,58 @@ void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) } } -void myfread(void *ptr, size_t n, size_t size, FILE *f) { - if (fread(ptr,n,size,f) != size) ERR_fatal("File reading error\n"); +size_t myfreadc (void *ptr, size_t size, size_t n, FILE *f) { + return fread(ptr, size, n, f); +} + +void myfread (void *ptr, size_t size, size_t n, FILE *f) { + if (myfreadc(ptr, size, n, f) != n) { + ERR_fatal("File reading error\n"); + } +} + +int8_t myfread8 (FILE *f) { + int8_t x; + myfread(&x, 1, 1, f); + return x; +} + +int16_t myfread16 (FILE *f) { + int16_t x; + myfread(&x, 2, 1, f); + return short2host(x); +} + +int32_t myfread32 (FILE *f) { + int32_t x; + myfread(&x, 4, 1, f); + return int2host(x); +} + +void myfwrite (void *ptr, size_t size, size_t n, FILE *f) { + assert(fwrite(ptr, size, n, f) == n); +} + +void myfwrite8 (int8_t x, FILE *f) { + myfwrite(&x, 1, 1, f); } -size_t myfreadc(void *ptr, size_t n, size_t size, FILE *f) { - return fread(ptr,n,size,f); +void myfwrite16 (int16_t x, FILE *f) { + x = short2host(x); + myfwrite(&x, 2, 1, f); } -void myfwrite(void *ptr, size_t n, size_t size, FILE *f) { - size_t s = fwrite(ptr,n,size,f); +void myfwrite32 (int32_t x, FILE *f) { + x = int2host(x); + myfwrite(&x, 4, 1, f); } -void myrandomize(void) -{ - srand(SDL_GetTicks()); +int fexists (char *filename) { + FILE *f; + if ((f = fopen(filename, "r"))) + { + fclose(f); + return 1; + } + return 0; }