X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.c;h=41b328b240d99b30d68619e1f7f534c24eb5a27a;hb=1e196be4c0a2f1edf823b3a0e5a14a146317686e;hp=35929e882351bde6cc66bbc662ffde6b51d4d641;hpb=a5a03e15b395ba1942c180d1cd0d3a4f43b87f56;p=rocksndiamonds.git diff --git a/src/tape.c b/src/tape.c index 35929e88..41b328b2 100644 --- a/src/tape.c +++ b/src/tape.c @@ -1,12 +1,12 @@ /*********************************************************** * Rocks'n'Diamonds -- McDuffin Strikes Back! * *----------------------------------------------------------* -* ©1997 Artsoft Development * -* Holger Schemel * -* 33604 Bielefeld * -* Telefon: (0521) 290471 * -* eMail: aeglos@valinor.owl.de * -* aeglos@uni-paderborn.de * +* (c) 1995-98 Artsoft Entertainment * +* Holger Schemel * +* Oststrasse 11a * +* 33604 Bielefeld * +* phone: ++49 +521 290471 * +* email: aeglos@valinor.owl.de * *----------------------------------------------------------* * tape.c * ***********************************************************/ @@ -20,6 +20,7 @@ void TapeStartRecording() { time_t zeit1 = time(NULL); struct tm *zeit2 = localtime(&zeit1); + int i; if (!TAPE_IS_STOPPED(tape)) TapeStop(); @@ -28,57 +29,67 @@ void TapeStartRecording() tape.length = 0; tape.counter = 0; tape.pos[tape.counter].delay = 0; - tape.changed = TRUE; tape.recording = TRUE; tape.playing = FALSE; tape.pausing = FALSE; + tape.changed = TRUE; tape.date = 10000*(zeit2->tm_year%100) + 100*zeit2->tm_mon + zeit2->tm_mday; tape.random_seed = InitRND(NEW_RANDOMIZE); - DrawVideoDisplay(VIDEO_STATE_REC_ON,0); - DrawVideoDisplay(VIDEO_STATE_DATE_ON,tape.date); - DrawVideoDisplay(VIDEO_STATE_TIME_ON,0); + for(i=0; i=MAX_TAPELEN-1) + if (tape.counter >= MAX_TAPELEN-1) { TapeStopRecording(); return; } - if (joy) - { - tape.pos[tape.counter].joystickdata = joy; - tape.counter++; - tape.pos[tape.counter].delay = 0; - } + for(i=0; i=MAX_TAPELEN) + if (tape.counter >= MAX_TAPELEN) { TapeStopRecording(); return; @@ -86,9 +97,11 @@ void TapeRecordDelay() tape.pos[tape.counter].delay++; - if (tape.pos[tape.counter].delay>=255) + if (tape.pos[tape.counter].delay >= 255) { - tape.pos[tape.counter].joystickdata = 0; + for(i=0; i=tape.length) + if (tape.counter >= tape.length) { - TapeStopPlaying(); - return(0); + TapeStop(); + return(NULL); } if (tape.delay_played == tape.pos[tape.counter].delay) { tape.delay_played = 0; tape.counter++; - return(tape.pos[tape.counter-1].joystickdata); + + for(i=0; i tape.length_seconds - PAUSE_SECONDS_BEFORE_DEATH) + if (TimePlayed > tape.length_seconds - PAUSE_SECONDS_BEFORE_DEATH) { TapeTogglePause(); return(FALSE); } } - if (tape.counter>=tape.length) + if (tape.counter >= tape.length) { - TapeStopPlaying(); + TapeStop(); return(TRUE); } @@ -205,8 +233,8 @@ void TapeStop() DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0); if (tape.date && tape.length) { - DrawVideoDisplay(VIDEO_STATE_DATE_ON,tape.date); - DrawVideoDisplay(VIDEO_STATE_TIME_ON,tape.length_seconds); + DrawVideoDisplay(VIDEO_STATE_DATE_ON, tape.date); + DrawVideoDisplay(VIDEO_STATE_TIME_ON, tape.length_seconds); } } @@ -226,5 +254,5 @@ unsigned int GetTapeLength() for(i=0;i