git-svn-id: https://svn.eduke32.com/eduke32@541 1a8010ca-5511-0410-912e-c29ae57300e0

This commit is contained in:
terminx 2007-04-23 23:36:21 +00:00
parent 2148b4bebc
commit d7b35528a0
9 changed files with 101 additions and 72 deletions

View file

@ -491,7 +491,7 @@ long animateoffs(short tilenum, short fakevar);
void setpolymost2dview(void); // sets up GL for 2D drawing void setpolymost2dview(void); // sets up GL for 2D drawing
long polymost_drawtilescreen(long tilex, long tiley, long wallnum, long dimen); long polymost_drawtilescreen(long tilex, long tiley, long wallnum, long dimen, int tilezoom);
void polymost_glreset(void); void polymost_glreset(void);
void polymost_precache(long dapicnum, long dapalnum, long datype); void polymost_precache(long dapicnum, long dapalnum, long datype);

View file

@ -2669,7 +2669,7 @@ long drawtilescreen(long pictopleft, long picbox)
dax = ((cnt%(xtiles<<gettilezoom))<<(6-gettilezoom)); dax = ((cnt%(xtiles<<gettilezoom))<<(6-gettilezoom));
day = ((cnt/(xtiles<<gettilezoom))<<(6-gettilezoom)); day = ((cnt/(xtiles<<gettilezoom))<<(6-gettilezoom));
if (polymost_drawtilescreen(dax, day, wallnum, 64>>gettilezoom)) { if (polymost_drawtilescreen(dax, day, wallnum, 64>>gettilezoom, 0)) {
vidpos = ylookup[day]+dax+frameplace; vidpos = ylookup[day]+dax+frameplace;
if ((xdime <= (64>>gettilezoom)) && (ydime <= (64>>gettilezoom))) if ((xdime <= (64>>gettilezoom)) && (ydime <= (64>>gettilezoom)))
{ {

View file

@ -179,11 +179,11 @@ if (readconfig(fp, "renderer", val, VL) > 0) { i = Batoi(val); setrendermode(i);
#endif #endif
#ifdef RENDERTYPEWIN #ifdef RENDERTYPEWIN
if (readconfig(fp, "windowpos", val, VL) > 0) windowpos = Batoi(val); if (readconfig(fp, "windowpositioning", val, VL) > 0) windowpos = Batoi(val);
windowx = -1; windowx = -1;
if (readconfig(fp, "windowx", val, VL) > 0) windowx = Batoi(val); if (readconfig(fp, "windowposx", val, VL) > 0) windowx = Batoi(val);
windowy = -1; windowy = -1;
if (readconfig(fp, "windowy", val, VL) > 0) windowy = Batoi(val); if (readconfig(fp, "windowposy", val, VL) > 0) windowy = Batoi(val);
#endif #endif
if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); } if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); }
@ -238,9 +238,9 @@ int writesetup(const char *fn)
"maxrefreshfreq = %d\n" "maxrefreshfreq = %d\n"
"\n" "\n"
"; Window positioning, 0 = center, 1 = memory\n" "; Window positioning, 0 = center, 1 = memory\n"
"windowpos = %d\n" "windowpositioning = %d\n"
"windowx = %d\n" "windowposx = %d\n"
"windowy = %d\n" "windowposy = %d\n"
"\n" "\n"
#endif #endif
"; 3D mode brightness setting\n" "; 3D mode brightness setting\n"

View file

@ -693,7 +693,7 @@ void hicsetpalettetint(long palnum, unsigned char r, unsigned char g, unsigned c
int hicsetsubsttex(long picnum, long palnum, char *filen, float alphacut, float xscale, float yscale, char flags) { return 0; } int hicsetsubsttex(long picnum, long palnum, char *filen, float alphacut, float xscale, float yscale, char flags) { return 0; }
int hicsetskybox(long picnum, long palnum, char *faces[6]) { return 0; } int hicsetskybox(long picnum, long palnum, char *faces[6]) { return 0; }
int hicclearsubst(long picnum, long palnum) { return 0; } int hicclearsubst(long picnum, long palnum) { return 0; }
long polymost_drawtilescreen (long tilex, long tiley, long wallnum, long dimen) { return -1; } long polymost_drawtilescreen (long tilex, long tiley, long wallnum, long dimen, int tilezoom) { return -1; }
#endif #endif
//============================================================================= //POLYMOST ENDS //============================================================================= //POLYMOST ENDS

View file

@ -5012,7 +5012,7 @@ void polymost_fillpolygon (long npoints)
} }
#endif #endif
long polymost_drawtilescreen (long tilex, long tiley, long wallnum, long dimen) long polymost_drawtilescreen (long tilex, long tiley, long wallnum, long dimen, int tilezoom)
{ {
#ifdef USE_OPENGL #ifdef USE_OPENGL
float xdime, ydime, xdimepad, ydimepad, scx, scy, ratio = 1.0; float xdime, ydime, xdimepad, ydimepad, scx, scy, ratio = 1.0;
@ -5048,8 +5048,11 @@ long polymost_drawtilescreen (long tilex, long tiley, long wallnum, long dimen)
bglDisable(GL_ALPHA_TEST); bglDisable(GL_ALPHA_TEST);
if (scx > scy) ratio = dimen/scx; if (tilezoom)
else ratio = dimen/scy; {
if (scx > scy) ratio = dimen/scx;
else ratio = dimen/scy;
}
if (!pth || (pth->flags & 8)) { if (!pth || (pth->flags & 8)) {
bglDisable(GL_TEXTURE_2D); bglDisable(GL_TEXTURE_2D);

View file

@ -380,9 +380,9 @@ static int set_maxrefreshfreq(const osdfuncparm_t *parm)
int freq; int freq;
if (parm->numparms == 0) { if (parm->numparms == 0) {
if (maxrefreshfreq == 0) if (maxrefreshfreq == 0)
OSD_Printf("maxrefreshfreq = No maximum\n"); OSD_Printf("\"maxrefreshfreq\" is \"No maximum\"\n");
else else
OSD_Printf("maxrefreshfreq = %d Hz\n",maxrefreshfreq); OSD_Printf("\"maxrefreshfreq\" is \"%d\"\n",maxrefreshfreq);
return OSDCMD_OK; return OSDCMD_OK;
} }
if (parm->numparms != 1) return OSDCMD_SHOWHELP; if (parm->numparms != 1) return OSDCMD_SHOWHELP;
@ -396,6 +396,20 @@ static int set_maxrefreshfreq(const osdfuncparm_t *parm)
return OSDCMD_OK; return OSDCMD_OK;
} }
static int set_windowpos(const osdfuncparm_t *parm)
{
if (parm->numparms == 0) {
OSD_Printf("\"r_windowpositioning\" is \"%d\"\n",windowpos);
return OSDCMD_OK;
}
if (parm->numparms != 1) return OSDCMD_SHOWHELP;
windowpos = Batol(parm->parms[0])>0;
OSD_Printf("r_windowpositioning %d\n",windowpos);
return OSDCMD_OK;
}
// //
// initsystem() -- init systems // initsystem() -- init systems
// //
@ -498,6 +512,7 @@ int initsystem(void)
initprintf("DirectDraw initialisation failed. Fullscreen modes will be unavailable.\n"); initprintf("DirectDraw initialisation failed. Fullscreen modes will be unavailable.\n");
OSD_RegisterFunction("maxrefreshfreq", "maxrefreshfreq: maximum display frequency to set for OpenGL Polymost modes (0=no maximum)", set_maxrefreshfreq); OSD_RegisterFunction("maxrefreshfreq", "maxrefreshfreq: maximum display frequency to set for OpenGL Polymost modes (0=no maximum)", set_maxrefreshfreq);
OSD_RegisterFunction("r_windowpositioning", "r_windowpositioning: enable/disable window position memory", set_windowpos);
return 0; return 0;
} }

View file

@ -1718,14 +1718,14 @@ static long SelectAllTiles(long iCurrentTile)
static long OnGotoTile(long iTile); static long OnGotoTile(long iTile);
static long OnSelectTile(long iTile); static long OnSelectTile(long iTile);
static long s_Zoom = INITIAL_ZOOM;
static long s_TileZoom = 1;
static long DrawTiles(long iTopLeft, long iSelected, long nXTiles, long nYTiles, long TileDim); static long DrawTiles(long iTopLeft, long iSelected, long nXTiles, long nYTiles, long TileDim);
static long m32gettile(long idInitialTile) static long m32gettile(long idInitialTile)
{ {
static long s_Zoom = INITIAL_ZOOM;
long gap, temp; long gap, temp;
long nXTiles, nYTiles, nDisplayedTiles; long nXTiles, nYTiles, nDisplayedTiles;
long i; long i;
@ -2017,49 +2017,49 @@ static long m32gettile(long idInitialTile)
} }
// 'V' KEYPRESS // 'V' KEYPRESS
if (keystatus[0x2f] > 0) if (keystatus[KEYSC_V] > 0)
{ {
keystatus[0x2f] = 0; keystatus[KEYSC_V] = 0;
iTile = SelectAllTiles(iTile); iTile = SelectAllTiles(iTile);
} }
// 'G' KEYPRESS - Goto frame // 'G' KEYPRESS - Goto frame
if (keystatus[0x22] > 0) if (keystatus[KEYSC_G] > 0)
{ {
keystatus[0x22] = 0; keystatus[KEYSC_G] = 0;
iTile = OnGotoTile(iTile); iTile = OnGotoTile(iTile);
} }
// 'U' KEYPRESS : go straight to user defined art // 'U' KEYPRESS : go straight to user defined art
if (keystatus[0x16]) if (keystatus[KEYSC_U])
{ {
SelectAllTiles(iTile); SelectAllTiles(iTile);
iTile = FIRST_USER_ART_TILE; iTile = FIRST_USER_ART_TILE;
keystatus[0x16] = 0; keystatus[KEYSC_U] = 0;
} }
// 'A' KEYPRESS : Go straight to start of Atomic edition's art // 'A' KEYPRESS : Go straight to start of Atomic edition's art
if (keystatus[0x1E]) if (keystatus[KEYSC_A])
{ {
SelectAllTiles(iTile); SelectAllTiles(iTile);
iTile = FIRST_ATOMIC_TILE; iTile = FIRST_ATOMIC_TILE;
keystatus[0x1e] = 0; keystatus[KEYSC_A] = 0;
} }
// 'T' KEYPRESS = Select from pre-defined tileset // 'T' KEYPRESS = Select from pre-defined tileset
if (keystatus[0x14]) if (keystatus[KEYSC_T])
{ {
keystatus[0x14] = 0; keystatus[KEYSC_T] = 0;
iTile = OnSelectTile(iTile); iTile = OnSelectTile(iTile);
} }
// 'E' KEYPRESS : Go straight to start of extended art // 'E' KEYPRESS : Go straight to start of extended art
if (keystatus[0x12]) if (keystatus[KEYSC_E])
{ {
SelectAllTiles(iTile); SelectAllTiles(iTile);
@ -2067,7 +2067,13 @@ static long m32gettile(long idInitialTile)
iTile = SECOND_EXTENDED_TILE; iTile = SECOND_EXTENDED_TILE;
else iTile = FIRST_EXTENDED_TILE; else iTile = FIRST_EXTENDED_TILE;
keystatus[0x12] = 0; keystatus[KEYSC_E] = 0;
}
if (keystatus[KEYSC_Z])
{
s_TileZoom = !s_TileZoom;
keystatus[KEYSC_Z] = 0;
} }
// //
@ -2236,6 +2242,7 @@ static long OnSelectTile(long iTile)
{ {
if (s_TileGroups[i].szText != NULL) if (s_TileGroups[i].szText != NULL)
{ {
if ((i+2)*16 > ydimgame) break;
Bsprintf(tempbuf,"(%c) %s",s_TileGroups[i].key1,s_TileGroups[i].szText); Bsprintf(tempbuf,"(%c) %s",s_TileGroups[i].key1,s_TileGroups[i].szText);
printext256(10L, (i+1)*16, whitecol, -1, tempbuf, 0); printext256(10L, (i+1)*16, whitecol, -1, tempbuf, 0);
} }
@ -2337,7 +2344,7 @@ static long DrawTiles(long iTopLeft, long iSelected, long nXTiles, long nYTiles,
XPos = XTile * TileDim; XPos = XTile * TileDim;
YPos = YTile * TileDim; YPos = YTile * TileDim;
if (polymost_drawtilescreen(XPos, YPos, idTile, TileDim)) if (polymost_drawtilescreen(XPos, YPos, idTile, TileDim, s_TileZoom))
{ {
TileSizeX = tilesizx[ idTile ]; TileSizeX = tilesizx[ idTile ];
TileSizeY = tilesizy[ idTile ]; TileSizeY = tilesizy[ idTile ];
@ -2542,7 +2549,44 @@ static void Keys3d(void)
} }
} }
if (keystatus[0x2f] > 0) //V if (keystatus[KEYSC_QUOTE]==1 && keystatus[0x2f]==1) // ' V
{
keystatus[0x2f] = 0;
switch (searchstat)
{
case 1:
case 2:
Bstrcpy(tempbuf,"Sector visibility: ");
sector[searchsector].visibility =
getnumber256(tempbuf,sector[searchsector].visibility,256L,0);
break;
}
}
if (keystatus[KEYSC_SEMI] && keystatus[KEYSC_V]) // ; V
{
short currsector;
unsigned char visval;
keystatus[KEYSC_V] = 0;
if (highlightsectorcnt == -1)
{
message("You didn't select any sectors!");
return;
}
visval = (unsigned char)getnumber256("Visibility of selected sectors: ",sector[searchsector].visibility,256L,0);
if (AskIfSure()) return;
for (i = 0; i < highlightsectorcnt; i++)
{
currsector = highlightsector[i];
sector[currsector].visibility = visval;
}
message("Visibility changed on all selected sectors");
}
if (keystatus[KEYSC_V] > 0) //V
{ {
if (searchstat == 0) templong = wall[searchwall].picnum; if (searchstat == 0) templong = wall[searchwall].picnum;
if (searchstat == 1) templong = sector[searchsector].ceilingpicnum; if (searchstat == 1) templong = sector[searchsector].ceilingpicnum;
@ -2672,29 +2716,6 @@ static void Keys3d(void)
message("Palettes changed"); message("Palettes changed");
} }
if (keystatus[KEYSC_SEMI] && keystatus[KEYSC_V]) // ; V
{
short currsector;
unsigned char visval;
keystatus[KEYSC_V] = 0;
if (highlightsectorcnt == -1)
{
message("You didn't select any sectors!");
return;
}
visval = (unsigned char)getnumber256("Visibility of selected sectors: ",sector[searchsector].visibility,256L,0);
if (AskIfSure()) return;
for (i = 0; i < highlightsectorcnt; i++)
{
currsector = highlightsector[i];
sector[currsector].visibility = visval;
}
message("Visibility changed on all selected sectors");
}
if (keystatus[0xd3] > 0) if (keystatus[0xd3] > 0)
{ {
if (searchstat == 3) if (searchstat == 3)
@ -4057,20 +4078,6 @@ static void Keys3d(void)
} }
} }
if (keystatus[KEYSC_QUOTE]==1 && keystatus[0x2f]==1) // ' V
{
keystatus[0x2f] = 0;
switch (searchstat)
{
case 1:
case 2:
Bstrcpy(tempbuf,"Sector visibility: ");
sector[searchsector].visibility =
getnumber256(tempbuf,sector[searchsector].visibility,256L,0);
break;
}
}
if (keystatus[0x3c]>0) // F2 if (keystatus[0x3c]>0) // F2
{ {
usedcount=!usedcount; usedcount=!usedcount;

View file

@ -187,7 +187,7 @@ typedef struct
char *szText ; // description to present to user. char *szText ; // description to present to user.
} TileGroup; } TileGroup;
#define MAX_TILE_GROUPS 10 #define MAX_TILE_GROUPS 32
#define MAX_TILE_GROUP_ENTRIES 1024 #define MAX_TILE_GROUP_ENTRIES 1024
TileGroup s_TileGroups[MAX_TILE_GROUPS]; TileGroup s_TileGroups[MAX_TILE_GROUPS];

View file

@ -16,7 +16,7 @@ tilegroup "Actors"
COMMANDER COMMANDERSTAYPUT COMMANDER COMMANDERSTAYPUT
OCTABRAIN OCTABRAINSTAYPUT OCTABRAIN OCTABRAINSTAYPUT
ORGANTIC ORGANTIC
NEWBEAST NEWBEASTSTAYPUT NEWBEASTJUMP NEWBEAST NEWBEASTSTAYPUT NEWBEASTHANG NEWBEASTJUMP
EGG GREENSLIME ROTATEGUN RECON TANK BOUNCEMINE EGG GREENSLIME ROTATEGUN RECON TANK BOUNCEMINE
FLOORFLAME FLOORFLAME
// FEMS // FEMS
@ -55,13 +55,15 @@ tilegroup "Doors"
} }
} }
tilegroup "Switches" tilegroup "Switches and effectors"
{ {
hotkey "S" hotkey "S"
tilerange 1 10
tiles tiles
{ {
ACCESSSWITCH ACCESSSWITCH2 SLOTDOOR LIGHTSWITCH SPACEDOORSWITCH SPACELIGHTSWITCH ACCESSSWITCH ACCESSSWITCH2 ACCESSCARD SLOTDOOR LIGHTSWITCH SPACEDOORSWITCH SPACELIGHTSWITCH
FRANKENSTINESWITCH MULTISWITCH FRANKENSTINESWITCH MULTISWITCH
DIPSWITCH DIPSWITCH2 DIPSWITCH3 TECHSWITCH DIPSWITCH DIPSWITCH2 DIPSWITCH3 TECHSWITCH
LIGHTSWITCH2 713 // LIGHTSWITCH2+1 LIGHTSWITCH2 713 // LIGHTSWITCH2+1
@ -119,7 +121,7 @@ tilegroup "Exploding stuff"
} }
} }
tilegroup "Letters" tilegroup "Letters and numbers"
{ {
hotkey "L" hotkey "L"
@ -127,4 +129,6 @@ tilegroup "Letters"
tilerange 2929 3022 tilerange 2929 3022
tilerange 3072 3135 tilerange 3072 3135
tilerange 3162 3165 tilerange 3162 3165
tilerange 640 649
tilerange 2472 2481
} }