diff options
author | Ian C <ianc@noddybox.co.uk> | 2011-06-09 13:46:28 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2011-06-09 13:46:28 +0000 |
commit | a9022b5972dc49d86f617a27940fafe9c4d0e7e7 (patch) | |
tree | 61405aa4ade91ed1057f863ddf118ceb38e14f8e /util.h |
Initial import of (very old) vidoom sources.
Diffstat (limited to 'util.h')
-rw-r--r-- | util.h | 132 |
1 files changed, 132 insertions, 0 deletions
@@ -0,0 +1,132 @@ +/* + + viDOOM - level editor for DOOM + + Copyright (C) 2000 Ian Cowburn (ianc@noddybox.demon.co.uk) + + 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; either version 2 of the License, or + (at your option) any later version. + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------- + + Various utility functions + + $Id$ + + +*/ + +#ifndef VIDOOM_UTIL_H + +#define VIDOOM_UTIL_H + +#include "config.h" +#include <stdio.h> + +/* Returns a static copy of the string, which if it is over n characters long + will be trimmed to n-3 character and "..." appended. + + Note this function's return is static, but there can be 10 invocations + before the same memory is used (ie. it's safe to use more than once in + function calls). + + Note that string longer than a certain length will be trimmed regardless. +*/ +char *TrimStr(char *p, int n); + + +/* Alters the string so that all occurances of '\r\n' are converted to '\n'. + The return is the same pointer passed in p, after the conversion. + + NULL is returned unaltered. +*/ +char *UnMSDOS(char *p); + + +/* Alters the string so that all occurances of '\n' are converted to '\r\n'. + If rel is TRUE, the passed pointer p is released with Release() after + conversion. + + The return is a newly allocated copy of the converted string. +*/ +char *ApplyMSDOS(char *p, int rel); + + +/* Uppercase the supplied string +*/ +void UCase(char *p); + + +/* Lowercase the supplied string +*/ +void LCase(char *p); + + +/* Read a byte from a file +*/ +Byte GetByte(FILE *fp); + + +/* Read a word from a file, and macros to read Short and UShort +*/ +Word GetWord(FILE *fp); + +#define GetShort(fp) ((Short)GetWord(fp)) +#define GetUShort(fp) ((UShort)GetWord(fp)) + + +/* Read a long from a file +*/ +Long GetLong(FILE *fp); + + +/* Put a byte to a file +*/ +void PutByte(FILE *fp,Byte b); + + +/* Put a short to a file +*/ +void PutShort(FILE *fp,Short s); + + +/* Put an unsigned short to a file +*/ +void PutUShort(FILE *fp,UShort s); + + +/* Put a long to a file +*/ +void PutLong(FILE *fp,Long l); + + +/* A skin over fread(), that does any necessary looping. Returns 'size' on + sucess, -1 on failure. size is in bytes. +*/ +int FRead(FILE *fp, void *buff, int size); + + +/* A skin over fwrite(), that does any necessary looping. Returns 'size' on + sucess, -1 on failure. size is in bytes. +*/ +int FWrite(FILE *fp, void *buff, int size); + + +/* Returns the size of a file. Does this by seeking to end and getting the + position. Note that the original position is restored. +*/ +long FLen(FILE *fp); + + +#endif |