Small changes in order to get the demos to work. Alien demo runs. Marine

and Predator demos used a different HUD font.

Changes that need to be made for demo versions:
1. avp/langenum.h needs to be rebuilt for each demo (easy)
2. Marine and Predator demos need to use a different HUD font
3. There may be other minor differences with enums, etc.
This commit is contained in:
Steven Fuller 2001-08-16 23:09:17 +00:00 committed by Patryk Obara
parent 241e98c3d8
commit c7f0dd737a
7 changed files with 49 additions and 10 deletions

4
README
View file

@ -34,6 +34,10 @@ demos. Plus, I am told that the Regular edition does seem to work by
renaming a file or two.
Unless someone feels strongly about it, I probably will decide not to support
save games (save games were added in the gold edition).
At least with the Gold edition, a number of files are encoded on the CD. So
you would need to install the game in Windows (VMware works also) in order
to get this to work. Currently wine does not work because it fails the CD

View file

@ -13,7 +13,6 @@
extern "C"
{
#include "3dc.h"
#include "module.h"
#include "inline.h"

View file

@ -71,6 +71,9 @@ void InitTextStrings(void)
for (i=1; i<MAX_NO_OF_TEXTSTRINGS; i++)
{
/* scan for a quote mark */
if (*textPtr == 0) /* TODO: probably a broken hack (added for predator demo)... */
break;
while (*textPtr++ != '"');
/* now pointing to a text string after quote mark*/
@ -84,6 +87,7 @@ void InitTextStrings(void)
/* change quote mark to zero terminator */
*textPtr = 0;
textPtr++;
#if SupportWindows95
AddToTable( TextStringPtr[i] );

View file

@ -1,15 +1,20 @@
#ifndef _included_AvP_Menus_h_
#define _included_AvP_Menus_h_
#ifndef MARINE_DEMO
#define MARINE_DEMO 0
#endif
#ifndef PREDATOR_DEMO
#define PREDATOR_DEMO 0
#endif
#ifndef ALIEN_DEMO
#define ALIEN_DEMO 0
// Edmond modified for Mplayer Demo
#ifdef MPLAYER_DEMO
#define DEATHMATCH_DEMO 1
#else
#define DEATHMATCH_DEMO 0 // more multiplayer-only demo really
#endif
#endif
#define DEATHMATCH_DEMO 0 // more multiplayer-only demo really
#ifdef AVP_DEBUG_VERSION
#define CONSOLE_DEBUGGING_COMMANDS_ACTIVATED 1

View file

@ -558,7 +558,9 @@ void InitNPCs(RIFFHANDLE h)
}
}
}
#if 1
/* predator disk not included in demos */
#if !(PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO)
if(AvP.PlayerType==I_Predator || Load_HNPC[HNPC_Predator])
{
//need to load the disk hierarchy
@ -569,7 +571,10 @@ void InitNPCs(RIFFHANDLE h)
}
}
#endif
/* i believe this was added for the gold edition */
#if !(PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO)//||REGULAR_EDITION /* TODO */
if(AvP.PlayerType==I_Marine || Load_HNPC[HNPC_Marine])
{
//need to load the mdisk hierarchy
@ -580,7 +585,7 @@ void InitNPCs(RIFFHANDLE h)
}
}
#endif
#endif
// see what we already have, unloading what we don't need, and ensuring we don't load a npc twice

View file

@ -573,7 +573,17 @@ int main(int argc, char *argv[])
}
AvP.CurrentEnv = AvP.StartingEnv = 0; /* are these even used? */
#if ALIEN_DEMO
AvP.PlayerType = I_Alien;
SetLevelToLoad(AVP_ENVIRONMENT_INVASION_A);
#elif PREDATOR_DEMO
AvP.PlayerType = I_Predator;
SetLevelToLoad(AVP_ENVIRONMENT_INVASION_P);
#elif MARINE_DEMO
AvP.PlayerType = I_Marine;
SetLevelToLoad(AVP_ENVIRONMENT_INVASION);
#else
// AvP.PlayerType = I_Alien;
// SetLevelToLoad(AVP_ENVIRONMENT_TEMPLE); /* starting alien level */
@ -586,6 +596,7 @@ int main(int argc, char *argv[])
// SetLevelToLoad(AVP_ENVIRONMENT_LEADWORKS_MP); /* multiplayer */
// SetLevelToLoad(AVP_ENVIRONMENT_E3DEMOSP); /* demo level */
#endif
// while(AvP_MainMenus()) {

View file

@ -1536,6 +1536,8 @@ void D3D_RenderHUDString(char *stringPtr,int x,int y,int colour)
{
struct VertexTag quadVertices[4];
if (stringPtr == NULL) return;
quadVertices[0].Y = y-1;
quadVertices[1].Y = y-1;
quadVertices[2].Y = y + HUD_FONT_HEIGHT + 1;
@ -1581,6 +1583,7 @@ void D3D_RenderHUDString_Clipped(char *stringPtr,int x,int y,int colour)
struct VertexTag quadVertices[4];
// LOCALASSERT(y<=0);
if (stringPtr == NULL) return;
CheckFilteringModeIsCorrect(FILTERING_BILINEAR_OFF);
@ -1628,6 +1631,8 @@ void D3D_RenderHUDString_Centred(char *stringPtr, int centreX, int y, int colour
int x, length = 0;
char *ptr = stringPtr;
struct VertexTag quadVertices[4];
if (stringPtr == NULL) return;
while(*ptr)
{
@ -1679,6 +1684,8 @@ void D3D_RenderHUDString_Centred(char *stringPtr, int centreX, int y, int colour
void RenderString(char *stringPtr, int x, int y, int colour)
{
if (stringPtr == NULL) return;
D3D_RenderHUDString(stringPtr,x,y,colour);
}
@ -1686,6 +1693,8 @@ void RenderStringCentred(char *stringPtr, int centreX, int y, int colour)
{
int length = 0;
char *ptr = stringPtr;
if (stringPtr == NULL) return;
while(*ptr)
{
@ -1699,6 +1708,8 @@ void RenderStringVertically(char *stringPtr, int centreX, int bottomY, int colou
struct VertexTag quadVertices[4];
int y = bottomY;
if (stringPtr == NULL) return;
quadVertices[0].X = centreX - (HUD_FONT_HEIGHT/2) - 1;
quadVertices[1].X = quadVertices[0].X;
quadVertices[2].X = quadVertices[0].X+2+HUD_FONT_HEIGHT*1;