X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=7c8291961ee5a7c8fe2217e70ffce318c1dcc41a;hb=2c03953e712c427c94c02cdb1e15cd9e99e9e116;hp=6992ff230bdda9b61150c91bcc9a39252832aab8;hpb=b59a0eedca464cba38e8a6bcfae54db32ac6b15e;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 6992ff23..7c829196 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -159,12 +159,13 @@ boolean FrameReached(unsigned long *frame_counter_var, { unsigned long actual_frame_counter = FrameCounter; - if (actual_frame_counter < *frame_counter_var+frame_delay && + if (actual_frame_counter < *frame_counter_var + frame_delay && actual_frame_counter >= *frame_counter_var) - return(FALSE); + return FALSE; *frame_counter_var = actual_frame_counter; - return(TRUE); + + return TRUE; } boolean DelayReached(unsigned long *counter_var, @@ -174,10 +175,11 @@ boolean DelayReached(unsigned long *counter_var, if (actual_counter < *counter_var + delay && actual_counter >= *counter_var) - return(FALSE); + return FALSE; *counter_var = actual_counter; - return(TRUE); + + return TRUE; } void WaitUntilDelayReached(unsigned long *counter_var, unsigned long delay) @@ -806,7 +808,7 @@ void putFileChunk(FILE *file, char *chunk_name, int chunk_size, void ReadUnusedBytesFromFile(FILE *file, unsigned long bytes) { - while (bytes--) + while (bytes-- && !feof(file)) fgetc(file); } @@ -1159,6 +1161,40 @@ char getCharFromKey(Key key) } +/* ========================================================================= */ +/* functions for checking filenames */ +/* ========================================================================= */ + +boolean FileIsGraphic(char *filename) +{ + if (strlen(filename) > 4 && + strcmp(&filename[strlen(filename) - 4], ".pcx") == 0) + return TRUE; + + return FALSE; +} + +boolean FileIsSound(char *filename) +{ + if (strlen(filename) > 4 && + strcmp(&filename[strlen(filename) - 4], ".wav") == 0) + return TRUE; + + return FALSE; +} + +boolean FileIsMusic(char *filename) +{ + if (strlen(filename) > 4 && + (strcmp(&filename[strlen(filename) - 4], ".mod") == 0 || + strcmp(&filename[strlen(filename) - 4], ".MOD") == 0 || + strncmp(filename, "mod.", 4) == 0 || + strncmp(filename, "MOD.", 4) == 0)) + return TRUE; + + return FALSE; +} + /* ========================================================================= */ /* functions only needed for non-Unix (non-command-line) systems */ /* ========================================================================= */