X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fvga.c;h=0d16859efde217bd07cc56e0da4dfda6a726744a;hb=d070670f189ec66ed2ac6b45834a192c004bc92f;hp=e06baf482dd3ed2a891a5e154a5ce38f434b54ac;hpb=a2115940e7643dcb1b87286f3d19fe95f7b79bd3;p=flatwaifu.git diff --git a/src/vga.c b/src/vga.c index e06baf4..0d16859 100644 --- a/src/vga.c +++ b/src/vga.c @@ -25,6 +25,11 @@ #include #include "error.h" #include "view.h" +#include "memory.h" +#include "misc.h" +#include "files.h" + +#include // адрес экранного буфера @@ -43,8 +48,34 @@ int cx1,cx2,cy1,cy2; char fullscreen = OFF; +byte bright[256]; +byte mixmap[256][256]; +byte clrmap[256*12]; + +static byte flametab[16] = { + 0xBC,0xBA,0xB8,0xB6,0xB4,0xB2,0xB0,0xD5,0xD6,0xD7,0xA1,0xA0,0xE3,0xE2,0xE1,0xE0 +}; + +extern void *walp[256]; + #define HQ 2 +vgaimg *V_getvgaimg (int id) { + int loaded = M_was_locked(id); + vgaimg *v = M_lock(id); + if (v != NULL && !loaded) { + v->w = short2host(v->w); + v->h = short2host(v->h); + v->sx = short2host(v->sx); + v->sy = short2host(v->sy); + } + return v; +} + +vgaimg *V_loadvgaimg (char *name) { + return V_getvgaimg(F_getresid(name)); +} + short V_init(void) { Uint32 flags = SDL_SWSURFACE|SDL_DOUBLEBUF|SDL_HWPALETTE; @@ -191,11 +222,6 @@ void V_dot(short x,short y, unsigned char c) putpixel(x,y,c); } - -extern byte bright[256]; -extern byte flametab[16]; -extern byte mixmap[256][256]; - void smoke_sprf(int x, int y, byte c) { byte t = getpixel(x,y); @@ -298,39 +324,6 @@ void V_remap_rect(int x,int y,int w,int h,byte *cmap) mappixel(cx,cy,cmap); } -extern void *walp[256]; -extern byte clrmap[256*12]; - -void Z_drawfld(byte *fld, int bg) -{ - byte *p = fld; - int x,y; - for (y=0; y