]> 4ch.mooo.com Git - 16.git/blobdiff - 16/roads/ROADS.C
clear
[16.git] / 16 / roads / ROADS.C
diff --git a/16/roads/ROADS.C b/16/roads/ROADS.C
deleted file mode 100755 (executable)
index 2d153c8..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-#define ROADS_C\r
-\r
-#include <fastgraf.h>\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <time.h> /* FOR RANDOM */\r
-#include "roads.h"\r
-#include "tiles.h"    /* DUE TO R AND C CHEATS        */\r
-#include "fx.h"       /* FOR FADING STUFF             */\r
-#include "version.h"  /* INFO ON THIS VERSION         */\r
-#include "keys.h"     /* KEY AND SCANCODE DEFINITIONS */\r
-\r
-extern int far *topography;      /* BACKGROUND TILE LIST (ARRAY) */\r
-extern int far *terrain;      /* FOREGROUND TILE LIST (ARRAY) */\r
-extern int view_x, view_y;     /* VIEW AREA (UPPER LEFT CORNER) */\r
-extern int viewpage;           /* CURRENTLY VIEWED PAGE */\r
-extern int world_type;         /* TENDENCY TO GRASS */\r
-\r
-extern int edgemode;           /* BLOCKY GRASS/DIRT OR EDGED? */\r
-extern int animatemode;\r
-extern int frogmode;\r
-extern int frogwatchmode;\r
-\r
-int keyboardmode=0;\r
-\r
-/* PROTOTYPES FOR INTERNAL FUNCTIONS */\r
-void time_test (void);\r
-void cheat (int type);\r
-void toggle_mode (int type);\r
-void make_world (int type);\r
-void view_tile_page (void);\r
-void move_view (void);\r
-int keycheck (void);\r
-void init_all (void);\r
-void gogofrog (void);\r
-\r
-#pragma argsused\r
-void main (int argc, char *argv[])\r
-{\r
-    char quitting_time=0;       /* QUIT PROGRAM LOOP   */\r
-\r
-    printf (HEADER);\r
-\r
-    if (argc>1)\r
-    {\r
-        printf (KEY_HELP);\r
-        exit (2);\r
-    }\r
-\r
-    printf ("Loading ... [Escape quits] ... [Type ROADS /? for more keys!]\n");\r
-    init_all(); /* INITIALIZE ALL SYSTEMS */\r
-\r
-    while (!quitting_time) /* LOOP FOREVER */\r
-    {\r
-        quitting_time=keycheck(); /* CHECK FOR REGULAR KEYS */\r
-        if (animatemode) animate(); /* PERFORM ALL ANIMATIONS */\r
-    }\r
-\r
-    program_shutdown("Thank you for running ROADS!", 0);\r
-}\r
-\r
-#define TIMETEST_LENGTH 10 /* TIME TEST LENGTH IN SECONDS */\r
-\r
-/*\r
- *\r
- * Performs time testing to try and guess a FPS.\r
- *\r
- */\r
-void time_test (void)\r
-{\r
-    int x, dir;\r
-    long end_time;\r
-    int frames_shown[2];\r
-\r
-    for (x=0; x<2; x++) /* TEST TWICE, ONCE WITH ANIMATION */\r
-    {\r
-        while (redraw(SCROLL_UL)); /* SCROLL UPPER LEFT TO START */\r
-        fg_music ("L64FAC.AE.B$");\r
-        frames_shown[x]=0; dir=0;\r
-        end_time=TIMETEST_LENGTH*182/10;\r
-        end_time+=fg_getclock();\r
-\r
-        while (fg_getclock()<end_time)\r
-        {\r
-            frames_shown[x]++;\r
-\r
-            switch (dir)\r
-            {\r
-                case 0: if (!redraw (SCROLL_DR   )) dir++; break;\r
-                case 1: if (!redraw (SCROLL_UP   )) dir++; break;\r
-                case 2: if (!redraw (SCROLL_DL   )) dir++; break;\r
-                case 3: if (!redraw (SCROLL_RIGHT)) dir++; break;\r
-                case 4: if (!redraw (SCROLL_UL   )) dir++; break;\r
-                case 5: if (!redraw (SCROLL_DOWN )) dir++; break;\r
-                case 6: if (!redraw (SCROLL_UR   )) dir++; break;\r
-                case 7: if (!redraw (SCROLL_LEFT )) dir=0; break;\r
-            }\r
-\r
-            if (x==0) animate(); /* ANIMATION ON FIRST TEST ONLY */\r
-        }\r
-    }\r
-\r
-    program_shutdown ("",-1); /* DON'T EXIT YET */\r
-    printf ("%d Frames in %i seconds (%i FPS) with animation\n",\r
-        frames_shown[0], TIMETEST_LENGTH, frames_shown[0]/TIMETEST_LENGTH);\r
-    printf ("%d Frames in %i seconds (%i FPS) without animation\n",\r
-        frames_shown[1], TIMETEST_LENGTH, frames_shown[1]/TIMETEST_LENGTH);\r
-    exit (0);\r
-}\r
-\r
-/*\r
- *\r
- * Turns on cheats (fills screen with anims for testing)\r
- *\r
- */\r
-void cheat (int type)\r
-{\r
-    register int x;\r
-\r
-    if (type==0)\r
-    {\r
-        fade_out_all();\r
-        for (x=0; x<WORLD_TILES_TOTAL; x++)\r
-            terrain[x]=ANM_FIRE;\r
-        redraw(REFRESH);\r
-        animatewhilefading=0;\r
-        fade_in_all();\r
-        animatewhilefading=1;\r
-    }\r
-\r
-    else if (type==1)\r
-    {\r
-        fade_out_all();\r
-        for (x=0; x<WORLD_TILES_TOTAL; x++)\r
-            if (!isroad(terrain[x])) terrain[x]=ANM_FIRE;\r
-        redraw(REFRESH);\r
-        animatewhilefading=0; /* DON'T ANIMATE IN FADES -- TOO MANY ANIMS! */\r
-        fade_in_all();\r
-        animatewhilefading=1;\r
-    }\r
-}\r
-\r
-/*\r
- *\r
- * Toggles modes on and off (animation, edging, etc.)\r
- *\r
- */\r
-void toggle_mode (int type)\r
-{\r
-    if (type==0)\r
-    {\r
-        animatemode=!animatemode;\r
-        fg_music ("L64G.AG.A$");\r
-    }\r
-\r
-    else if (type==1)\r
-    {\r
-        edgemode=!edgemode;\r
-        fg_music ("S1L20B..G..F..$");\r
-        if (edgemode)\r
-        {\r
-            add_dirt_edges();\r
-            redraw(REFRESH);\r
-        }\r
-    }\r
-    else if (type==2)\r
-    {\r
-        keyboardmode=!keyboardmode;\r
-        fg_music ("L40BABAGFG.$");\r
-    }\r
-    else if (type==3)\r
-    {\r
-        frogwatchmode=!frogwatchmode;\r
-        fg_music ("O1L30D.ED.A$");\r
-    }\r
-}\r
-\r
-/*\r
- *\r
- * Initializes the world, foreground and/or background.\r
- *\r
- */\r
-void make_world (int type)\r
-{\r
-    if (type==0)\r
-    {\r
-        fade_out_all();\r
-        init_world();\r
-        redraw(REFRESH);\r
-        fade_in_all();\r
-    }\r
-\r
-    else if (type==1)\r
-    {\r
-        init_background();\r
-        redraw(REFRESH);\r
-    }\r
-\r
-    else if (type==2)\r
-    {\r
-        init_foreground();\r
-        redraw(REFRESH);\r
-    }\r
-}\r
-\r
-/*\r
- *\r
- * Shows the contents of the tile page.  Hit any key to fade back.\r
- *\r
- */\r
-void view_tile_page (void)\r
-{\r
-    char key1, key2;\r
-\r
-    fade_out_all();\r
-    fg_setvpage (TILEPAGE);\r
-    fade_in_all();\r
-\r
-    fg_kbinit(0);\r
-\r
-    do {\r
-      fg_intkey (&key1, &key2);\r
-      animate();\r
-    } while (!(key1+key2)); /* DO LOOP WHILE KEYS ARE NOT HIT */\r
-\r
-    fg_kbinit(1);\r
-\r
-    fade_out_all();\r
-    fg_setvpage (viewpage);\r
-    fade_in_all();\r
-}\r
-\r
-/*\r
- *\r
- * Scans for arrow keys and scrolls the view area in reaction to them.\r
- *\r
- */\r
-void move_view (void)\r
-{\r
-    static char left=0, right=0, up=0, down=0; /* KEYBOARD VARS       */\r
-\r
-        /* CHECK FOR ARROWS BEING PRESSED */\r
-    if (fg_kbtest(SCAN_RIGHT))      right++; else right=0;\r
-    if (fg_kbtest(SCAN_LEFT))       left++;  else left=0;\r
-    if (fg_kbtest(SCAN_UP))         up++;    else up=0;\r
-    if (fg_kbtest(SCAN_DOWN))       down++;  else down=0;\r
-\r
-        /* MAKE SURE COUNTERS DON'T GO TOO HIGH */\r
-    if (right>100)  right=100;\r
-    if (left>100)   left=100;\r
-    if (up>100)     up=100;\r
-    if (down>100)   down=100;\r
-\r
-        /* IF "TAP" KEYBOARD MODE IS ON, DON'T MOVE UNTIL KEYS RELEASED */\r
-    if (keyboardmode && (right>1 || left>1 || up>1 || down>1)) return;\r
-\r
-        /* MOVE, CHECKING FOR DIAGONAL MOVEMENT FIRST */\r
-    if (up && right)        redraw (SCROLL_UR);\r
-    else if (down && left)  redraw (SCROLL_DL);\r
-    else if (up && left)    redraw (SCROLL_UL);\r
-    else if (down && right) redraw (SCROLL_DR);\r
-    else if (right)         redraw (SCROLL_RIGHT);\r
-    else if (left)          redraw (SCROLL_LEFT);\r
-    else if (up)            redraw (SCROLL_UP);\r
-    else if (down)          redraw (SCROLL_DOWN);\r
-}\r
-\r
-/*\r
- *\r
- * Initializes all systems and brings display up.\r
- *\r
- */\r
-void init_all (void)\r
-{\r
-    fg_kbinit(1);       /* LATCH LOW-LEVEL KEYBOARD HANDLER */\r
-    randomize();        /* ALLOW RANDOMIZATIONS             */\r
-\r
-    init_anim();        /* CALL BEFORE WORLD CREATION       */\r
-    init_data();        /* CALL BEFORE WORLD CREATION       */\r
-    init_world();       /* RANDOMIZE THE WORLD              */\r
-    init_video();       /* SET OUR VIDEO MODE ETC.          */\r
-\r
-    fade_init();        /* ALLOW FADING                     */\r
-    fade_blackout();    /* SET ALL COLORS TO BLACK          */\r
-    redraw(REFRESH);    /* DRAW THE SCREEN (UNSEEN)         */\r
-    fade_in_all();      /* FADE IN SCREEN                   */\r
-}\r
-\r
-/*\r
- *\r
- * Keycheck checks all keys and reacts upon them.\r
- * Returns 1 if a key has indicated the user has requested to quit.\r
- *\r
- */\r
-int keycheck (void)\r
-{\r
-    if (fg_kbtest(SCAN_T)) time_test();\r
-    if (fg_kbtest(SCAN_C)) cheat (0);\r
-    if (fg_kbtest(SCAN_R)) cheat (1);\r
-    if (fg_kbtest(SCAN_A)) toggle_mode(0);\r
-    if (fg_kbtest(SCAN_E)) toggle_mode(1);\r
-    if (fg_kbtest(SCAN_K)) toggle_mode(2);\r
-    if (fg_kbtest(SCAN_W)) toggle_mode(3);\r
-    if (fg_kbtest(SCAN_F))\r
-    {\r
-        fg_music ("L50O4BAFDEF.$");\r
-        switch (frogmode)\r
-        {\r
-            case 1: frogmode=2; break;\r
-            case 3: frogmode=0; break;\r
-        }\r
-    }\r
-    if (fg_kbtest(SCAN_G)) /* RERANDOMIZE GRASS/DIRT TENDENCY */\r
-    {\r
-        world_type=random(100);\r
-        fg_music ("S1L20C..B..A..$");\r
-    }\r
-    if (fg_kbtest(SCAN_SPACE))  make_world (0);\r
-    if (fg_kbtest(SCAN_B))      make_world (1);\r
-    if (fg_kbtest(SCAN_ENTER))  make_world (2);\r
-    if (fg_kbtest(SCAN_S))      view_tile_page();\r
-\r
-    move_view(); /* RESPOND TO ARROW KEYS MOVING VIEW */\r
-\r
-    if (fg_kbtest(SCAN_ESC) || fg_kbtest(SCAN_Q)) /* ESCAPE TO QUIT */\r
-        return 1;\r
-\r
-    return 0;\r
-}\r
-\r