X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=f9ebbccda36a0827afaabac1912019b02e7ed26c;hb=87faaa07872dcc20b7a36a720529d284fc4447fd;hp=10656e46a208fdcc0cf746b226c3345374eece9f;hpb=0eaa7d33772143903b8a93abac8f1dce5422fa66;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 10656e46..f9ebbccd 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -324,7 +324,7 @@ unsigned int init_random_number(int nr, long seed) unsigned int get_random_number(int nr, unsigned int max) { - return (random_linux_libc(nr) % max); + return (max > 0 ? random_linux_libc(nr) % max : 0); } @@ -981,26 +981,28 @@ void putFileChunk(FILE *file, char *chunk_name, int chunk_size, int getFileVersion(FILE *file) { - int version_major, version_minor, version_patch; + int version_major, version_minor, version_patch, version_release; - version_major = fgetc(file); - version_minor = fgetc(file); - version_patch = fgetc(file); - fgetc(file); /* not used */ + version_major = fgetc(file); + version_minor = fgetc(file); + version_patch = fgetc(file); + version_release = fgetc(file); - return VERSION_IDENT(version_major, version_minor, version_patch); + return RELEASE_IDENT(version_major, version_minor, version_patch, + version_release); } void putFileVersion(FILE *file, int version) { - int version_major = VERSION_MAJOR(version); - int version_minor = VERSION_MINOR(version); - int version_patch = VERSION_PATCH(version); + int version_major = VERSION_MAJOR(version); + int version_minor = VERSION_MINOR(version); + int version_patch = VERSION_PATCH(version); + int version_release = VERSION_RELEASE(version); - fputc(version_major, file); - fputc(version_minor, file); - fputc(version_patch, file); - fputc(0, file); /* not used */ + fputc(version_major, file); + fputc(version_minor, file); + fputc(version_patch, file); + fputc(version_release, file); } void ReadUnusedBytesFromFile(FILE *file, unsigned long bytes)