From 23ea3dc32d16db0777105a4c8f056dc1eff22c0c Mon Sep 17 00:00:00 2001 From: Andriy Shinkarchuck Date: Sun, 24 Jul 2011 19:31:51 +0300 Subject: [PATCH] main.c moved to repo. Added license notification --- main.c | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 main.c diff --git a/main.c b/main.c new file mode 100755 index 0000000..0534199 --- /dev/null +++ b/main.c @@ -0,0 +1,156 @@ +/* + Copyright (C) Prikol Software 1996-1997 + Copyright (C) Aleksey Volynskov 1996-1997 + Copyright (C) 2011 + + This file is part of the Doom2D:Rembo project. + + Doom2D:Rembo is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + Doom2D:Rembo is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see or + write to the Free Software Foundation, Inc., + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "glob.h" +#include +///#include +#include +///#include +#include +///#include +#include +#include +#include +#include "error.h" +#include "config.h" +#include "memory.h" +#include "keyb.h" +#include "sound.h" +#include "vga.h" +#include "files.h" +#include "view.h" +#include "menu.h" +#include "player.h" +#include "misc.h" + +#include + +int gammaa=0; + +char main_pal[256][3],std_pal[256][3]; +byte mixmap[256][256]; +byte clrmap[256*12]; + +void logo(const char *s,...) { + va_list ap; + int x,y; + + va_start(ap,s); + vprintf(s,ap); + va_end(ap); + fflush(stdout); +} + +void logo_gas(int cur,int all) { +} + +byte gamcor[5][64]={ + #include "gamma.dat" +}; + +void setgamma(int g) { + int t; + + if(g>4) g=4; + if(g<0) g=0; + gammaa=g; + for(t=0;t<256;++t) { + std_pal[t][0]=gamcor[gammaa][main_pal[t][0]]; + std_pal[t][1]=gamcor[gammaa][main_pal[t][1]]; + std_pal[t][2]=gamcor[gammaa][main_pal[t][2]]; + } + VP_setall(std_pal); +} + +void myrandomize(void); + +byte bright[256]; + +int main(int argc, char *argv[]) { + if (SDL_Init(SDL_INIT_VIDEO)<0) ERR_failinit("Unable to init SDL: %s\n", SDL_GetError()); + SDL_WM_SetCaption("Doom 2D v1.351", "Doom 2D"); + int i; + + pl1.ku=SDLK_KP8; + pl1.kd=SDLK_KP5; + pl1.kl=SDLK_KP4; + pl1.kr=SDLK_KP6; + pl1.kf=SDLK_PAGEDOWN; + pl1.kj=SDLK_DELETE; + pl1.kwl=SDLK_HOME; + pl1.kwr=SDLK_END; + pl1.kp=SDLK_KP8; + pl1.id=-1; + pl2.ku=SDLK_e; + pl2.kd=SDLK_d; + pl2.kl=SDLK_s; + pl2.kr=SDLK_f; + pl2.kf=SDLK_a; + pl2.kj=SDLK_q; + pl2.kwl=SDLK_1; + pl2.kwr=SDLK_2; + pl2.kp=SDLK_e; + pl2.id=-2; + myrandomize(); + F_startup(); + F_addwad("DOOM2D.WAD"); + CFG_args(argc, argv); + CFG_load(); + F_initwads(); + M_startup(); + F_allocres(); + F_loadres(F_getresid("PLAYPAL"),main_pal,0,768); + for(i=0;i<256;++i) + bright[i]=((int)main_pal[i][0]+main_pal[i][1]+main_pal[i][2])*8/(63*3); + F_loadres(F_getresid("MIXMAP"),mixmap,0,0x10000); + F_loadres(F_getresid("COLORMAP"),clrmap,0,256*12); + G_init(); + K_init(); + logo("S_init: настройка звука\n"); + S_init(); + S_initmusic(); + logo("V_init: настройка видео\n"); + if(V_init()!=0) ERR_failinit("Не могу установить видеорежим VGA"); + setgamma(gammaa); + V_setscr(scrbuf); + GM_init(); + F_loadmus("MENU");S_startmusic(0); + + Uint32 ticks = 0; + for(;;) { + + updatee_keys(); + + S_updatemusic(); + + G_act(); + + G_draw(); + + Uint32 t; + while ((t = SDL_GetTicks())-ticks < DELAY) { + SDL_Delay(1); + } + ticks = t - t % DELAY; + + } +} -- 2.29.2