ref: 7ab940ff1683c49a3dfb54aa0b3f8683052c8ea4
parent: 3364baa681f3f9c2e4b60405bfcf81dd6f825e37
author: Konstantinn Bonnet <qu7uux@gmail.com>
date: Wed Mar 16 12:18:53 EDT 2016
nuke more useless files and fix silly typo
--- a/act2.c
+++ b/act2.c
@@ -3786,7 +3786,7 @@
PM_UnlockMainMem ();
CA_UpLevel ();
- Write(0,7,STR_SEEAGAIN);
+ Write(0,7,"Let's see that again!");
CA_DownLevel ();
PM_CheckMainMem ();
--- a/f_spear.h
+++ /dev/null
@@ -1,14 +1,0 @@
-#define ENDSTR1 "Heroes don't quit, but\ngo ahead and press Y\nif you aren't one."
-#define ENDSTR2 "Press Y to quit,\nor press N to enjoy\nmore violent diversion."
-#define ENDSTR3 "Depressing the Y key means\nyou must return to the\nhumdrum workday world."
-#define ENDSTR4 "Hey, quit or play,\nY or N:\nit's your choice."
-#define ENDSTR5 "Sure you don't want to\nwaste a few more\nproductive hours?"
-#define ENDSTR6 "I think you had better\nplay some more. Please\npress N...please?"
-#define ENDSTR7 "If you are tough, press N.\nIf not, press Y daintily."
-#define ENDSTR8 "I'm thinkin' that\nyou might wanna press N\nto play more. You do it."
-#define ENDSTR9 "Sure. Fine. Quit.\nSee if we care.\nGet it over with.\nPress Y."
-
-#define STR_ENDGAME1 "We owe you a great debt, Mr. Blazkowicz."
-#define STR_ENDGAME2 "You have served your country well."
-#define STR_ENDGAME3 "With the spear gone, the Allies will finally"
-#define STR_ENDGAME4 "by able to destroy Hitler..."
--- a/foreign.h
+++ /dev/null
@@ -1,110 +1,0 @@
-#define QUITSUR "Are you sure you want\n"\
- "to quit this great game?"
-
-#define CURGAME "You are currently in\n"\
- "a game. Continuing will\n"\
- "erase old game. Ok?"
-
-#define GAMESVD "There's already a game\n"\
- "saved at this position.\n"\
- " Overwrite?"
-
-#define ENDGAMESTR "Are you sure you want\n"\
- "to end the game you\n"\
- "are playing? (Y or N):"
-
-#define STR_NG "New Game"
-#define STR_SD "Sound"
-#define STR_CL "Control"
-#define STR_LG "Load Game"
-#define STR_SG "Save Game"
-#define STR_CV "Change View"
-#define STR_VS "View Scores"
-#define STR_EG "End Game"
-#define STR_BD "Back to Demo"
-#define STR_QT "Quit"
-
-#define STR_LOADING "Loading"
-#define STR_SAVING "Saving"
-
-#define STR_GAME "Game"
-#define STR_DEMO "Demo"
-#define STR_LGC "Load Game called\n\""
-#define STR_EMPTY "empty"
-#define STR_CALIB "Calibrate"
-#define STR_JOYST "Joystick"
-#define STR_MOVEJOY "Move joystick to\nupper left and\npress button 0\n"
-#define STR_MOVEJOY2 "Move joystick to\nlower right and\npress button 1\n"
-#define STR_ESCEXIT "ESC to exit"
-
-#define STR_NONE "None"
-#define STR_PC "PC Speaker"
-#define STR_ALSB "AdLib/Sound Blaster"
-#define STR_DISNEY "Disney Sound Source"
-#define STR_SB "Sound Blaster"
-
-#define STR_MOUSEEN "Mouse Enabled"
-#define STR_JOYEN "Joystick Enabled"
-#define STR_PORT2 "Use joystick port 2"
-#define STR_GAMEPAD "Gravis GamePad Enabled"
-#define STR_SENS "Mouse Sensitivity"
-#define STR_CUSTOM "Customize controls"
-
-#define STR_DADDY "Can I play, Daddy?"
-#define STR_HURTME "Don't hurt me."
-#define STR_BRINGEM "Bring 'em on!"
-#define STR_DEATH "I am Death incarnate!"
-
-#define STR_MOUSEADJ "Adjust Mouse Sensitivity"
-#define STR_SLOW "Slow"
-#define STR_FAST "Fast"
-
-#define STR_CRUN "Run"
-#define STR_COPEN "Open"
-#define STR_CFIRE "Fire"
-#define STR_CSTRAFE "Strafe"
-
-#define STR_LEFT "Left"
-#define STR_RIGHT "Right"
-#define STR_FRWD "Frwd"
-#define STR_BKWD "Bkwrd"
-#define STR_THINK "Thinking"
-
-#define STR_SIZE1 "Use arrows to size"
-#define STR_SIZE2 "ENTER to accept"
-#define STR_SIZE3 "ESC to cancel"
-
-#define STR_YOUWIN "you win!"
-
-#define STR_TOTALTIME "total time"
-
-#define STR_RATKILL "kill %"
-#define STR_RATSECRET "secret %"
-#define STR_RATTREASURE "treasure %"
-
-#define STR_BONUS "bonus"
-#define STR_TIME "time"
-#define STR_PAR " par"
-
-#define STR_RAT2KILL "kill ratio %"
-#define STR_RAT2SECRET "secret ratio %"
-#define STR_RAT2TREASURE "treasure ratio %"
-
-#define STR_DEFEATED "defeated!"
-
-#define STR_CHEATER1 "You now have 100% Health,"
-#define STR_CHEATER2 "99 Ammo and both Keys!"
-#define STR_CHEATER3 "Note that you have basically"
-#define STR_CHEATER4 "eliminated your chances of"
-#define STR_CHEATER5 "getting a high score!"
-
-#define STR_NOSPACE1 "There is not enough space"
-#define STR_NOSPACE2 "on your disk to Save Game!"
-
-#define STR_SAVECHT1 "Your Save Game file is,"
-#define STR_SAVECHT2 "shall we say, \"corrupted\"."
-#define STR_SAVECHT3 "But I'll let you go on and"
-#define STR_SAVECHT4 "play anyway...."
-
-#define STR_SEEAGAIN "Let's see that again!"
-
\ No newline at end of file
--- a/game.c
+++ b/game.c
@@ -1315,7 +1315,7 @@
CheckHighScore (gamestate.score,gamestate.mapon+1);
#pragma warn -sus
- _fstrcpy(MainMenu[viewscores].string,STR_VS);
+ _fstrcpy(MainMenu[viewscores].string,"View Scores");
MainMenu[viewscores].routine = CP_ViewScores;
#pragma warn +sus
@@ -1385,7 +1385,7 @@
CheckHighScore (gamestate.score,gamestate.mapon+1);
#pragma warn -sus
- _fstrcpy(MainMenu[viewscores].string,STR_VS);
+ _fstrcpy(MainMenu[viewscores].string,"View Scores");
MainMenu[viewscores].routine = CP_ViewScores;
#pragma warn +sus
@@ -1407,7 +1407,7 @@
CheckHighScore (gamestate.score,gamestate.mapon+1);
#pragma warn -sus
- _fstrcpy(MainMenu[viewscores].string,STR_VS);
+ _fstrcpy(MainMenu[viewscores].string,"View Scores");
MainMenu[viewscores].routine = CP_ViewScores;
#pragma warn +sus
--- a/inter.c
+++ b/inter.c
@@ -58,8 +58,8 @@
WindowW = 320;
PrintX = 0;
PrintY = 180;
- US_CPrint (STR_ENDGAME1"\n");
- US_CPrint (STR_ENDGAME2);
+ US_CPrint ("We owe you a great debt, Mr. Blazkowicz.\n");
+ US_CPrint ("You have served your country well.");
VW_UpdateScreen ();
IN_StartAck ();
TimeCount = 0;
@@ -68,8 +68,8 @@
PrintX = 0;
PrintY = 180;
VWB_Bar(0,180,320,20,0);
- US_CPrint (STR_ENDGAME3"\n");
- US_CPrint (STR_ENDGAME4);
+ US_CPrint ("With the spear gone, the Allies will finally\n");
+ US_CPrint ("be able to destroy Hitler...");
VW_UpdateScreen ();
IN_StartAck ();
TimeCount = 0;
@@ -142,15 +142,15 @@
ClearSplitVWB ();
VWB_Bar (0,0,320,200-STATUSLINES,127);
- Write(18,2,STR_YOUWIN);
+ Write(18,2,"you win!");
- Write(TIMEX,TIMEY-2,STR_TOTALTIME);
+ Write(TIMEX,TIMEY-2,"total time");
Write(12,RATIOY-2,"averages");
- Write(RATIOX+8,RATIOY, STR_RATKILL);
- Write(RATIOX+4,RATIOY+2, STR_RATSECRET);
- Write(RATIOX, RATIOY+4,STR_RATTREASURE);
+ Write(RATIOX+8,RATIOY,"kill %");
+ Write(RATIOX+4,RATIOY+2,"secret %");
+ Write(RATIOX, RATIOY+4,"treasure %");
VWB_DrawPic (8,4,Pwin);
@@ -524,13 +524,13 @@
{
Write(14,2,"floor\ncompleted");
- Write(14,7,STR_BONUS" 0");
- Write(16,10,STR_TIME);
- Write(16,12,STR_PAR);
+ Write(14,7,"bonus 0");
+ Write(16,10,"time");
+ Write(16,12," par");
- Write(9,14, STR_RAT2KILL);
- Write(5,16, STR_RAT2SECRET);
- Write(1,18,STR_RAT2TREASURE);
+ Write(9,14,"kill ratio %");
+ Write(5,16,"secret ratio %");
+ Write(1,18,"treasure ratio %");
Write(26,2,itoa(gamestate.mapon+1,tempstr,10));
@@ -776,23 +776,12 @@
#ifndef SPEARDEMO
switch(mapon)
{
- case 4: Write(14,4," trans\n"
- " grosse\n"
- STR_DEFEATED); break;
- case 9: Write(14,4,"barnacle\n"
- "wilhelm\n"
- STR_DEFEATED); break;
- case 15: Write(14,4,"ubermutant\n"
- STR_DEFEATED); break;
- case 17: Write(14,4," death\n"
- " knight\n"
- STR_DEFEATED); break;
- case 18: Write(13,4,"secret tunnel\n"
- " area\n"
- " completed!"); break;
- case 19: Write(13,4,"secret castle\n"
- " area\n"
- " completed!"); break;
+ case 4: Write(14,4," trans\n grosse\ndefeated!"); break;
+ case 9: Write(14,4,"barnacle\nwilhelm\ndefeated!"); break;
+ case 15: Write(14,4,"ubermutant\ndefeated!"); break;
+ case 17: Write(14,4," death\n knight\ndefeated!"); break;
+ case 18: Write(13,4,"secret tunnel\n area\n completed!"); break;
+ case 19: Write(13,4,"secret castle\n area\n completed!"); break;
}
#endif
#else
--- a/main.c
+++ b/main.c
@@ -302,8 +302,8 @@
if (avail < size)
{
- Message(STR_NOSPACE1"\n"
- STR_NOSPACE2);
+ Message("There is not enough space\n"
+ "on your disk to Save Game!");
return false;
}
@@ -471,10 +471,10 @@
if (oldchecksum != checksum)
{
- Message(STR_SAVECHT1"\n"
- STR_SAVECHT2"\n"
- STR_SAVECHT3"\n"
- STR_SAVECHT4);
+ Message("Your Save Game file is,\n"
+ "shall we say, \"corrupted\".\n"
+ "But I'll let you go on and\n"
+ "play anyway....");
IN_ClearKeysDown();
IN_Ack();
--- a/menu.c
+++ b/menu.c
@@ -1,19 +1,11 @@
-////////////////////////////////////////////////////////////////////
-//
-// WL_MENU.C
-// by John Romero (C) 1992 Id Software, Inc.
-//
-////////////////////////////////////////////////////////////////////
-#include "wl_def.h"
-#pragma hdrstop
-
-//
-// PRIVATE PROTOTYPES
-//
void CP_ReadThis(void);
#define STARTITEM newgame
+#define ENDGAMESTR "Are you sure you want\nto end the game you\nare playing? (Y or N):"
+#define GAMESVD "There's already a game\nsaved at this position.\n Overwrite?"
+#define CURGAME "You are currently in\na game. Continuing will\nerase old game. Ok?"
+
char far endStrings[9][80]=
{
#ifndef SPEAR
@@ -27,15 +19,16 @@
{"You are at an intersection.\nA sign says, 'Press Y to quit.'\n>"},
{"For guns and glory, press N.\nFor work and worry, press Y."}
#else
- ENDSTR1,
- ENDSTR2,
- ENDSTR3,
- ENDSTR4,
- ENDSTR5,
- ENDSTR6,
- ENDSTR7,
- ENDSTR8,
- ENDSTR9
+ "Heroes don't quit, but\ngo ahead and press Y\nif you aren't one.",
+ "Press Y to quit,\nor press N to enjoy\nmore violent diversion.",
+ "Depressing the Y key means\nyou must return to the\nhumdrum workday world.",
+ "Hey, quit or play,\nY or N:\nit's your choice.",
+ "Sure you don't want to\nwaste a few more\nproductive hours?",
+ "I think you had better\nplay some more. Please\npress N...please?",
+ "If you are tough, press N.\nIf not, press Y daintily.",
+ "I'm thinkin' that\nyou might wanna press N\nto play more. You do it.",
+ "Sure. Fine. Quit.\nSee if we care.\nGet it over with.\nPress Y."
+
#endif
};
@@ -52,44 +45,44 @@
CP_itemtype far
MainMenu[]=
{
- {1,STR_NG,CP_NewGame},
- {1,STR_SD,CP_Sound},
- {1,STR_CL,CP_Control},
- {1,STR_LG,CP_LoadGame},
- {0,STR_SG,CP_SaveGame},
- {1,STR_CV,CP_ChangeView},
+ {1,"New Game",CP_NewGame},
+ {1,"Sound",CP_Sound},
+ {1,"Control",CP_Control},
+ {1,"Load Game",CP_LoadGame},
+ {0,"Save Game",CP_SaveGame},
+ {1,"Change View",CP_ChangeView},
#ifndef SPEAR
{2,"Read This!",CP_ReadThis},
#endif
- {1,STR_VS,CP_ViewScores},
- {1,STR_BD,0},
- {1,STR_QT,0}
+ {1,"View Scores",CP_ViewScores},
+ {1,"Back to Demo",0},
+ {1,"Quit",0}
},
far SndMenu[]=
{
- {1,STR_NONE,0},
- {1,STR_PC,0},
- {1,STR_ALSB,0},
+ {1,"None",0},
+ {1,"PC Speaker",0},
+ {1,"AdLib/Sound Blaster",0},
{0,"",0},
{0,"",0},
- {1,STR_NONE,0},
- {1,STR_DISNEY,0},
- {1,STR_SB,0},
+ {1,"None",0},
+ {1,"Disney Sound Source",0},
+ {1,"Sound Blaster",0},
{0,"",0},
{0,"",0},
- {1,STR_NONE,0},
- {1,STR_ALSB,0}
+ {1,"None",0},
+ {1,"AdLib/Sound Blaster",0}
},
far CtlMenu[]=
{
- {0,STR_MOUSEEN,0},
- {0,STR_JOYEN,0},
- {0,STR_PORT2,0},
- {0,STR_GAMEPAD,0},
- {0,STR_SENS,MouseSensitivity},
- {1,STR_CUSTOM,CustomControls}
+ {0,"Mouse Enabled",0},
+ {0,"Joystick Enabled",0},
+ {0,"Use joystick port 2",0},
+ {0,"Gravis GamePad Enabled",0},
+ {0,"Mouse Sensitivity",MouseSensitivity},
+ {1,"Customize controls",CustomControls}
},
#pragma warn +sus
@@ -120,10 +113,10 @@
far NewMenu[]=
{
- {1,STR_DADDY,0},
- {1,STR_HURTME,0},
- {1,STR_BRINGEM,0},
- {1,STR_DEATH,0}
+ {1,"Can I play, Daddy?",0},
+ {1,"Don't hurt me.",0},
+ {1,"Bring 'em on!",0},
+ {1,"I am Death incarnate!",0}
},
far LSMenu[]=
@@ -354,7 +347,7 @@
{
#pragma warn -sus
MainMenu[viewscores].routine = NULL;
- _fstrcpy(MainMenu[viewscores].string,STR_EG);
+ _fstrcpy(MainMenu[viewscores].string,"End Game");
#pragma warn +sus
}
}
@@ -379,12 +372,12 @@
//
if (ingame)
{
- _fstrcpy(&MainMenu[backtodemo].string[8],STR_GAME);
+ _fstrcpy(&MainMenu[backtodemo].string[8],"Game");
MainMenu[backtodemo].active=2;
}
else
{
- _fstrcpy(&MainMenu[backtodemo].string[8],STR_DEMO);
+ _fstrcpy(&MainMenu[backtodemo].string[8],"Demo");
MainMenu[backtodemo].active=1;
}
@@ -440,7 +433,7 @@
{
CA_CacheGrChunk(STARTFONT+1);
fontnumber = 1;
- Message(STR_SAVING"...");
+ Message("Saving...");
CP_SaveGame(1);
fontnumber=0;
}
@@ -478,7 +471,7 @@
case sc_F9:
if (SaveGamesAvail[LSItems.curpos] && pickquick)
{
- char string[100]=STR_LGC;
+ char string[100]="Load Game called\n\"";
CA_CacheGrChunk(STARTFONT+1);
@@ -574,7 +567,7 @@
#pragma warn -sus
MainMenu[savegame].active = 0;
MainMenu[viewscores].routine=CP_ViewScores;
- _fstrcpy(MainMenu[viewscores].string,STR_VS);
+ _fstrcpy(MainMenu[viewscores].string,"View Scores");
#pragma warn +sus
return 1;
@@ -988,9 +981,9 @@
PrintY=LSA_Y+13;
if (!which)
- US_Print(STR_LOADING"...");
+ US_Print("Loading...");
else
- US_Print(STR_SAVING"...");
+ US_Print("Saving...");
VW_UpdateScreen();
}
@@ -1141,7 +1134,7 @@
if (SaveGamesAvail[w])
US_Print(SaveGameNames[w]);
else
- US_Print(" - "STR_EMPTY" -");
+ US_Print(" - empty -");
fontnumber=1;
}
@@ -1331,14 +1324,14 @@
WindowW=320;
PrintY=82;
SETFONTCOLOR(READCOLOR,BKGDCOLOR);
- US_CPrint(STR_MOUSEADJ);
+ US_CPrint("Adjust Mouse Sensitivity");
SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);
PrintX=14;
PrintY=95;
- US_Print(STR_SLOW);
+ US_Print("Slow");
PrintX=269;
- US_Print(STR_FAST);
+ US_Print("Fast");
VWB_Bar(60,97,200,10,TEXTCOLOR);
DrawOutline(60,97,200,10,0,HIGHLIGHT);
@@ -1901,13 +1894,13 @@
SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);
PrintX=CST_START;
- US_Print(STR_CRUN);
+ US_Print("Run");
PrintX=CST_START+CST_SPC*1;
- US_Print(STR_COPEN);
+ US_Print("Open");
PrintX=CST_START+CST_SPC*2;
- US_Print(STR_CFIRE);
+ US_Print("Fire");
PrintX=CST_START+CST_SPC*3;
- US_Print(STR_CSTRAFE"\n");
+ US_Print("Strafe\n");
DrawWindow(5,PrintY-1,310,13,BKGDCOLOR);
DrawCustMouse(0);
@@ -1931,13 +1924,13 @@
SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);
PrintX=CST_START;
- US_Print(STR_CRUN);
+ US_Print("Run");
PrintX=CST_START+CST_SPC*1;
- US_Print(STR_COPEN);
+ US_Print("Open");
PrintX=CST_START+CST_SPC*2;
- US_Print(STR_CFIRE);
+ US_Print("Fire");
PrintX=CST_START+CST_SPC*3;
- US_Print(STR_CSTRAFE"\n");
+ US_Print("Strafe\n");
DrawWindow(5,PrintY-1,310,13,BKGDCOLOR);
//DrawCustJoy(0);
US_Print("\n");
@@ -1954,13 +1947,13 @@
#endif
SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);
PrintX=CST_START;
- US_Print(STR_CRUN);
+ US_Print("Run");
PrintX=CST_START+CST_SPC*1;
- US_Print(STR_COPEN);
+ US_Print("Open");
PrintX=CST_START+CST_SPC*2;
- US_Print(STR_CFIRE);
+ US_Print("Fire");
PrintX=CST_START+CST_SPC*3;
- US_Print(STR_CSTRAFE"\n");
+ US_Print("Strafe\n");
DrawWindow(5,PrintY-1,310,13,BKGDCOLOR);
DrawCustKeybd(0);
US_Print("\n");
@@ -1971,13 +1964,13 @@
//
SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);
PrintX=CST_START;
- US_Print(STR_LEFT);
+ US_Print("Left");
PrintX=CST_START+CST_SPC*1;
- US_Print(STR_RIGHT);
+ US_Print("Right");
PrintX=CST_START+CST_SPC*2;
- US_Print(STR_FRWD);
+ US_Print("Frwd");
PrintX=CST_START+CST_SPC*3;
- US_Print(STR_BKWD"\n");
+ US_Print("Bkwrd\n");
DrawWindow(5,PrintY-1,310,13,BKGDCOLOR);
DrawCustKeys(0);
//
@@ -2139,7 +2132,7 @@
if (oldview!=newview)
{
SD_PlaySound (Sshoot);
- Message(STR_THINK"...");
+ Message("Thinking...");
NewViewSize(newview);
}
@@ -2162,9 +2155,9 @@
WindowY=320;
SETFONTCOLOR(HIGHLIGHT,BKGDCOLOR);
- US_CPrint(STR_SIZE1"\n");
- US_CPrint(STR_SIZE2"\n");
- US_CPrint(STR_SIZE3);
+ US_CPrint("Use arrows to size\n");
+ US_CPrint("ENTER to accept\n");
+ US_CPrint("ESC to cancel");
VW_UpdateScreen();
MenuFadeIn();
--- a/munge.c
+++ /dev/null
@@ -1,48 +1,0 @@
-
-/*
-=================
-=
-= VL_MungePic
-=
-=================
-*/
-
-void VL_MungePic (uchar far *source, u16int width, u16int height)
-{
- u16int x,y,plane,size,pwidth;
- uchar far *temp, far *dest, far *srcline;
-
- size = width*height;
-
- if (width&3)
- errout ("VL_MungePic: Not divisable by 4!\n");
-
-//
-// copy the pic to a temp buffer
-//
- temp = (uchar far *)farmalloc (size);
- if (!temp)
- errout ("Non enough memory for munge buffer!\n");
-
- _fmemcpy (temp,source,size);
-
-//
-// munge it back into the original buffer
-//
- dest = source;
- pwidth = width/4;
-
- for (plane=0;plane<4;plane++)
- {
- srcline = temp;
- for (y=0;y<height;y++)
- {
- for (x=0;x<pwidth;x++)
- *dest++ = *(srcline+x*4+plane);
- srcline+=width;
- }
- }
-
- free (temp);
-}
-
--- a/play.c
+++ b/play.c
@@ -579,11 +579,11 @@
ClearSplitVWB ();
VW_ScreenToScreen (displayofs,bufferofs,80,160);
- Message(STR_CHEATER1"\n"
- STR_CHEATER2"\n\n"
- STR_CHEATER3"\n"
- STR_CHEATER4"\n"
- STR_CHEATER5);
+ Message("You now have 100% Health,\n"
+ "99 Ammo and both Keys!\n\n"
+ "Note that you have basically\n"
+ "eliminated your chances of\n"
+ "getting a high score!");
PM_CheckMainMem ();
IN_ClearKeysDown();
IN_Ack();
--- a/wolfhack.c
+++ /dev/null
@@ -1,186 +1,0 @@
-// WOLFHACK.C
-
-#include "WL_DEF.H"
-
-#define MAXVIEWHEIGHT 200
-
-s16int spanstart[MAXVIEWHEIGHT/2];
-
-s32int stepscale[MAXVIEWHEIGHT/2];
-s32int basedist[MAXVIEWHEIGHT/2];
-
-extern char far planepics[8192]; // 4k of ceiling, 4k of floor
-
-s16int halfheight = 0;
-
-u8int far *planeylookup[MAXVIEWHEIGHT/2];
-u16int mirrorofs[MAXVIEWHEIGHT/2];
-
-s32int psin, pcos;
-
-s32int FixedMul (s32int a, s32int b)
-{
- return (a>>8)*(b>>8);
-}
-
-
-s16int mr_rowofs;
-s16int mr_count;
-s16int mr_xstep;
-s16int mr_ystep;
-s16int mr_xfrac;
-s16int mr_yfrac;
-s16int mr_dest;
-
-
-/*
-==============
-=
-= DrawSpans
-=
-= Height ranges from 0 (infinity) to viewheight/2 (nearest)
-==============
-*/
-
-void DrawSpans (s16int x1, s16int x2, s16int height)
-{
- s32int length;
- s16int ofs;
- s16int prestep;
- s32int startxfrac, startyfrac;
-
- s16int x, startx, count, plane, startplane;
- u8int far *toprow, far *dest;
-
- toprow = planeylookup[height]+bufferofs;
- mr_rowofs = mirrorofs[height];
-
- mr_xstep = (psin<<1)/height;
- mr_ystep = (pcos<<1)/height;
-
- length = basedist[height];
- startxfrac = (viewx + FixedMul(length,pcos));
- startyfrac = (viewy - FixedMul(length,psin));
-
-// draw two spans simultaniously
-
- plane = startplane = x1&3;
- prestep = viewwidth/2 - x1;
- do
- {
- outportb (SC_INDEX+1,1<<plane);
- mr_xfrac = startxfrac - (mr_xstep>>2)*prestep;
- mr_yfrac = startyfrac - (mr_ystep>>2)*prestep;
-
- startx = x1>>2;
- mr_dest = (u16int)toprow + startx;
- mr_count = ((x2-plane)>>2) - startx + 1;
- x1++;
- prestep--;
- if (mr_count)
- MapRow ();
- plane = (plane+1)&3;
- } while (plane != startplane);
-
-}
-
-
-
-
-/*
-===================
-=
-= SetPlaneViewSize
-=
-===================
-*/
-
-void SetPlaneViewSize (void)
-{
- s16int x,y;
- u8int far *dest, far *src;
-
- halfheight = viewheight>>1;
-
-
- for (y=0 ; y<halfheight ; y++)
- {
- planeylookup[y] = (u8int far *)0xa0000000l + (halfheight-1-y)*SCREENBWIDE;
- mirrorofs[y] = (y*2+1)*SCREENBWIDE;
-
- stepscale[y] = y*GLOBAL1/32;
- if (y>0)
- basedist[y] = GLOBAL1/2*scale/y;
- }
-
- src = PM_GetPage(0);
- dest = planepics;
- for (x=0 ; x<4096 ; x++)
- {
- *dest = *src++;
- dest += 2;
- }
- src = PM_GetPage(1);
- dest = planepics+1;
- for (x=0 ; x<4096 ; x++)
- {
- *dest = *src++;
- dest += 2;
- }
-
-}
-
-
-/*
-===================
-=
-= DrawPlanes
-=
-===================
-*/
-
-void DrawPlanes (void)
-{
- s16int height, lastheight;
- s16int x;
-
- if (viewheight>>1 != halfheight)
- SetPlaneViewSize (); // screen size has changed
-
-
- psin = viewsin;
- if (psin < 0)
- psin = -(psin&0xffff);
- pcos = viewcos;
- if (pcos < 0)
- pcos = -(pcos&0xffff);
-
-//
-// loop over all columns
-//
- lastheight = halfheight;
-
- for (x=0 ; x<viewwidth ; x++)
- {
- height = wallheight[x]>>3;
- if (height < lastheight)
- { // more starts
- do
- {
- spanstart[--lastheight] = x;
- } while (lastheight > height);
- }
- else if (height > lastheight)
- { // draw spans
- if (height > halfheight)
- height = halfheight;
- for ( ; lastheight < height ; lastheight++)
- DrawSpans (spanstart[lastheight], x-1, lastheight);
- }
- }
-
- height = halfheight;
- for ( ; lastheight < height ; lastheight++)
- DrawSpans (spanstart[lastheight], x-1, lastheight);
-}
-