]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_vl.c
p16 is being worked on a bunch by me wwww [16_ca needs huge amounts of work and I...
[16.git] / src / lib / 16_vl.c
index 833a75a6f8f116c6c0fca834e49bc2988f4d52db..91776466836ea7cb0bd26297e9b02aaa5967d5af 100755 (executable)
@@ -55,6 +55,12 @@ void VGAmodeX(sword vq, boolean cmem, global_game_variables_t *gv)
                default: // init the video\r
                        if(gv->video.VL_Started)\r
                                return;\r
+                       if(!gv->video.VL_Initiated)\r
+                               TL_VidInit(gv);\r
+                       // get old video mode\r
+                       //in.h.ah = 0xf;\r
+                       //int86(0x10, &in, &out);\r
+                       gv->video.old_mode = vgaGetMode();//out.h.al;\r
                        // enter mode\r
                        modexEnter(vq, cmem, gv);\r
                break;\r
@@ -165,7 +171,7 @@ void modexEnter(sword vq, boolean cmem, global_game_variables_t *gv)
                }\r
                break;\r
        }\r
-       VL_SetLineWidth (cm.offset, &gv->video.ofs);\r
+//     VL_SetLineWidth (cm.offset, &gv->video.ofs);\r
        gv->video.VL_Started=1;\r
 }\r
 \r
@@ -175,39 +181,6 @@ modexLeave() {
        vgaSetMode(TEXT_MODE);\r
 }\r
 \r
-/*\r
-====================\r
-=\r
-= VL_SetLineWidth\r
-=\r
-= Line witdh is in WORDS, 40 words is normal width for vgaplanegr\r
-=\r
-====================\r
-*/\r
-\r
-void VL_SetLineWidth (unsigned width, ofs_t *ofs)\r
-{\r
-       int i,offset;\r
-\r
-//\r
-// set wide virtual screen\r
-//\r
-       outport (CRTC_INDEX,CRTC_OFFSET+width*256);\r
-\r
-//\r
-// set up lookup tables\r
-//\r
-       ofs->linewidth = width*2;\r
-\r
-       offset = 0;\r
-\r
-       for (i=0;i<MAXSCANLINES;i++)\r
-       {\r
-               ofs->ylookup[i]=offset;\r
-               offset += ofs->linewidth;\r
-       }\r
-}\r
-\r
 page_t\r
 modexDefaultPage(page_t *p)\r
 {\r
@@ -441,7 +414,7 @@ modexPanPage(page_t *page, int dx, int dy) {
 \r
 void\r
 modexSelectPlane(byte plane) {\r
-       outp(SC_INDEX, MAP_MASK);         /* select plane */\r
+       outp(SC_INDEX, SC_MAPMASK);       /* select plane */\r
        outp(SC_DATA,  plane);\r
 }\r
 \r
@@ -477,7 +450,7 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte color)
                MOV ES, AX\r
                MOV DI, poffset  ; go to the first pixel\r
                MOV DX, SC_INDEX        ; point to the map mask\r
-               MOV AL, MAP_MASK\r
+               MOV AL, SC_MAPMASK\r
                OUT DX, AL\r
                INC DX\r
                MOV AL, color      ; get ready to write colors\r
@@ -566,7 +539,7 @@ modexCopyPageRegion(page_t *dest, page_t *src,
 \r
                MOV AX, SC_INDEX        ; point to the mask register\r
                MOV DX, AX                ;\r
-               MOV AL, MAP_MASK        ;\r
+               MOV AL, SC_MAPMASK      ;\r
                OUT DX, AL                ;\r
                INC DX            ;\r
 \r
@@ -800,7 +773,8 @@ modexPalUpdate(byte *p)
 }\r
 \r
 void\r
-modexPalUpdate0(byte *p)\r
+//modexPalUpdate0(byte *p)\r
+VL_modexPalScramble(byte *p)\r
 {\r
        int i;\r
        //modexWaitBorder();\r