Annotation of src/corr7tmr.c, revision 1.1.1.1

1.1       root        1: /***************************************************************************
                      2:  *   CORR7TMR.C - Timer related routines for Corridor 7 game
                      3:  *
                      4:  *                                                     02/29/96  Les Bird
                      5:  ***************************************************************************/
                      6: 
                      7: #include "icorp.h"
                      8: #include <memcheck.h>
                      9: 
                     10: #define   CLKIPS         120
                     11: 
                     12: int  timerInitializedFlag;
                     13: 
                     14: W32  hTimer;
                     15: 
                     16: long oTPSClock,
                     17:      oTPSFrames;
                     18: 
                     19: volatile
                     20: long ticsPerFrame=TICWAITPERFRAME;
                     21: 
                     22: void
                     23: TMR_resetTicsPerFrame(void)
                     24: {
                     25:      oTPSClock = totalclock;
                     26:      oTPSFrames = numframes;
                     27: }
                     28: 
                     29: void
                     30: TMR_timerHandler(void)
                     31: {
                     32:      totalclock++;
                     33:      if (!playingGameFlag) {
                     34:           GFX_animatePalette();
                     35:      }
                     36:      keytimerstuff();
                     37: }
                     38: 
                     39: void
                     40: TMR_initTimer(void)
                     41: {
                     42:      if (timerInitializedFlag == 0) {
                     43:           sosTIMERInitSystem(_TIMER_DOS_RATE,_SOS_DEBUG_NORMAL);
                     44:           sosTIMERRegisterEvent(CLKIPS,TMR_timerHandler,&hTimer);
                     45:           timerInitializedFlag=1;
                     46:      }
                     47: }
                     48: 
                     49: void
                     50: TMR_uninitTimer(void)
                     51: {
                     52:      if (timerInitializedFlag) {
                     53:           sosTIMERRemoveEvent(hTimer);
                     54:           SND_uninitSOS();
                     55:           sosTIMERUnInitSystem(0);
                     56:           timerInitializedFlag=0;
                     57:      }
                     58: }
                     59: 
                     60: void
                     61: TMR_registerEvent(W32 rate,void (*pEvent)(void),HANDLE *hEvent)
                     62: {
                     63:      sosTIMERRegisterEvent(rate,pEvent,hEvent);
                     64: }
                     65: 
                     66: void
                     67: TMR_removeEvent(HANDLE hEvent)
                     68: {
                     69:      sosTIMERRemoveEvent(hEvent);
                     70: }
                     71: 
                     72: long
                     73: TMR_getSecondTics(long seconds)
                     74: {
                     75:      return(seconds*CLKIPS);
                     76: }
                     77: 
                     78: long
                     79: TMR_getSecondFraction(int frac)
                     80: {
                     81:      switch (frac) {
                     82:      case TICS_ONESECOND:
                     83:           return(CLKIPS);
                     84:      case TICS_ONEHALF:
                     85:           return(CLKIPS>>1);
                     86:      case TICS_ONEFOURTH:
                     87:           return(CLKIPS>>2);
                     88:      case TICS_ONEEIGHTH:
                     89:           return(CLKIPS>>3);
                     90:      case TICS_ONESIXTEENTH:
                     91:           return(CLKIPS>>4);
                     92:      case TICS_ONETHIRTYSECOND:
                     93:           return(CLKIPS>>5);
                     94:      }
                     95:      return(0);
                     96: }
                     97: 

unix.superglobalmegacorp.com