Small menu changes

This commit is contained in:
Steven Fuller 2001-11-03 03:39:38 +00:00 committed by Patryk Obara
parent 7ef81cbc6e
commit a1d0e0dc87
4 changed files with 163 additions and 50 deletions

10
README
View file

@ -31,9 +31,9 @@ http://www.avpnews.com/mods/tools/
Yes, the code does something. No, it's not ready for a release. No, it is not
vaporware. I hope to at least complete the single portion of the game before
making an official release. Check out the TODO to see what's needed to be
done.
vaporware. I hope to at least complete the single player part of the game
before making an official release. Check out the TODO to see what's needed to
be done.
If you are really itching to try this out, either install the Gold Ed. in
@ -89,8 +89,8 @@ http://www.aliensvpredator.com/ubb/Forum2/HTML/001680.html
The full motion sequences cannot be played because they are encoded with
proprietary codecs (Bink and Smacker). But I do not think they will be
greatly missed.
proprietary codecs (Bink and Smacker - http://www.radgametools.com). But I
do not think they will be greatly missed.
More information about the game and the series can be found at

View file

@ -37,7 +37,7 @@ int MouseVelX;
int MouseVelY;
extern int ScanDrawMode; /* to fix image loading */
extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock; /* this should be put in a header file */
extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock;
extern unsigned char KeyboardInput[MAX_NUMBER_OF_INPUT_KEYS];
extern unsigned char GotAnyKey;
extern int NormalFrameTime;
@ -65,20 +65,90 @@ PROCESSORTYPES ReadProcessorType()
return PType_PentiumMMX;
}
int SetVideoMode(int Width, int Height)
int SetSoftVideoMode(int Width, int Height, int Depth)
{
SDL_GrabMode isgrab;
int isfull;
ScanDrawMode = ScanDrawD3DHardwareRGB;
GotMouse = 1;
if (surface != NULL) {
isfull = (surface->flags & SDL_FULLSCREEN);
isgrab = SDL_WM_GrabInput(SDL_GRAB_QUERY);
SDL_FreeSurface(surface);
} else {
isfull = 0;
isgrab = SDL_GRAB_OFF;
}
if ((surface = SDL_SetVideoMode(Width, Height, Depth, SDL_SWSURFACE|SDL_DOUBLEBUF)) == NULL) {
fprintf(stderr, "SDL SetVideoMode failed: %s\n", SDL_GetError());
SDL_Quit();
exit(EXIT_FAILURE);
}
SDL_WM_SetCaption("Aliens vs Predator", "Aliens vs Predator");
/* this is for supporting keyboard input processing with little hassle */
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
SDL_EnableUNICODE(1); /* toggle it to ON */
/* -w will disable first fullscreen, -f will turn it on */
// SDL_WM_ToggleFullScreen(surface);
// SDL_WM_GrabInput(SDL_GRAB_ON);
// SDL_ShowCursor(0);
if (isfull) {
SDL_WM_ToggleFullScreen(surface);
if (surface->flags & SDL_FULLSCREEN)
SDL_ShowCursor(0);
}
if (isgrab == SDL_GRAB_ON) {
SDL_WM_GrabInput(SDL_GRAB_ON);
SDL_WM_ToggleFullScreen(surface);
}
ScreenDescriptorBlock.SDB_Width = Width;
ScreenDescriptorBlock.SDB_Height = Height;
ScreenDescriptorBlock.SDB_CentreX = Width/2;
ScreenDescriptorBlock.SDB_CentreY = Height/2;
ScreenDescriptorBlock.SDB_ProjX = Width/2;
ScreenDescriptorBlock.SDB_ProjY = Height/2;
ScreenDescriptorBlock.SDB_ClipLeft = 0;
ScreenDescriptorBlock.SDB_ClipRight = Width;
ScreenDescriptorBlock.SDB_ClipUp = 0;
ScreenDescriptorBlock.SDB_ClipDown = Height;
return 0;
}
int SetOGLVideoMode(int Width, int Height)
{
SDL_GrabMode isgrab;
int isfull;
ScanDrawMode = ScanDrawD3DHardwareRGB;
GotMouse = 1;
if (surface != NULL) {
isfull = (surface->flags & SDL_FULLSCREEN);
isgrab = SDL_WM_GrabInput(SDL_GRAB_QUERY);
SDL_FreeSurface(surface);
} else {
isfull = 0;
isgrab = SDL_GRAB_OFF;
}
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
if (surface != NULL)
SDL_FreeSurface(surface);
if ((surface = SDL_SetVideoMode(Width, Height, 0, SDL_OPENGL)) == NULL) {
fprintf(stderr, "SDL SetVideoMode failed: %s\n", SDL_GetError());
SDL_Quit();
@ -91,11 +161,22 @@ int SetVideoMode(int Width, int Height)
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
SDL_EnableUNICODE(1); /* toggle it to ON */
/* -w will disable to first fullscreen, -f will turn it on */
/* -w will disable first fullscreen, -f will turn it on */
// SDL_WM_ToggleFullScreen(surface);
// SDL_WM_GrabInput(SDL_GRAB_ON);
// SDL_ShowCursor(0);
if (isfull) {
SDL_WM_ToggleFullScreen(surface);
if (surface->flags & SDL_FULLSCREEN)
SDL_ShowCursor(0);
}
if (isgrab == SDL_GRAB_ON) {
SDL_WM_GrabInput(SDL_GRAB_ON);
SDL_WM_ToggleFullScreen(surface);
}
glViewport(0, 0, Width, Height);
glMatrixMode(GL_PROJECTION);
@ -402,8 +483,10 @@ static void handle_keypress(int key, int unicode, int press)
RE_ENTRANT_QUEUE_WinProc_AddMessage_WM_KEYDOWN(VK_TAB);
break;
default:
if (unicode && !(unicode & 0xFF80))
if (unicode && !(unicode & 0xFF80)) {
RE_ENTRANT_QUEUE_WinProc_AddMessage_WM_CHAR(unicode);
KeyboardEntryQueue_Add(unicode);
}
break;
}
}
@ -551,16 +634,49 @@ int ExitWindowsSystem()
return 0;
}
int InitSDL()
{
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
fprintf(stderr, "SDL Init failed: %s\n", SDL_GetError());
exit(EXIT_FAILURE);
}
#if 0
if ((surface = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE|SDL_DOUBLEBUF)) == NULL) {
fprintf(stderr, "SDL SetVideoMode failed: %s\n", SDL_GetError());
SDL_Quit();
exit(EXIT_FAILURE);
}
SDL_FreeSurface(surface);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
if ((surface = SDL_SetVideoMode(640, 480, 0, SDL_OPENGL)) == NULL) {
fprintf(stderr, "SDL SetVideoMode failed: %s\n", SDL_GetError());
SDL_Quit();
exit(EXIT_FAILURE);
}
SDL_FreeSurface(surface);
#endif
surface = NULL;
return 0;
}
int main(int argc, char *argv[])
{
int menusActive = 0;
int thisLevelHasBeenCompleted = 0;
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
fprintf(stderr, "SDL Init failed: %s\n", SDL_GetError());
exit(EXIT_FAILURE);
}
InitSDL();
LoadCDTrackList();
SetFastRandom();
@ -581,7 +697,7 @@ int main(int argc, char *argv[])
#endif
InitGame();
SetVideoMode(640, 480);
SetOGLVideoMode(640, 480);
InitialVideoMode();
@ -667,20 +783,7 @@ while(AvP_MainMenus()) {
d3d_light_ctrl.ctrl = LCCM_NORMAL;
d3d_overlay_ctrl.ctrl = OCCM_NORMAL;
SetVideoMode(MyWidth, MyHeight);
#if 0
/* this was in windows SetGameVideoMode: */
ScreenDescriptorBlock.SDB_Width = MyWidth;
ScreenDescriptorBlock.SDB_Height = MyHeight;
ScreenDescriptorBlock.SDB_CentreX = MyWidth/2;
ScreenDescriptorBlock.SDB_CentreY = MyHeight/2;
ScreenDescriptorBlock.SDB_ProjX = MyWidth/2;
ScreenDescriptorBlock.SDB_ProjY = MyHeight/2;
ScreenDescriptorBlock.SDB_ClipLeft = 0;
ScreenDescriptorBlock.SDB_ClipRight = MyWidth;
ScreenDescriptorBlock.SDB_ClipUp = 0;
ScreenDescriptorBlock.SDB_ClipDown = MyHeight;
#endif
SetOGLVideoMode(MyWidth, MyHeight);
InitialiseGammaSettings(RequestedGammaSetting);
@ -821,7 +924,7 @@ while(AvP_MainMenus()) {
ClearMemoryPool();
SetVideoMode(640, 480);
SetOGLVideoMode(640, 480);
}
SoundSys_StopAll();

View file

@ -22,6 +22,15 @@
extern int AAFontImageNumber;
int PlayMenuBackgroundBink()
{
fprintf(stderr, "PlayMenuBackgroundBink()\n");
glClear(GL_COLOR_BUFFER_BIT);
return 0;
}
AVPMENUGFX AvPMenuGfxStorage[MAX_NO_OF_AVPMENUGFXS] =
{
{"Menus\\fractal.rim"},
@ -118,17 +127,16 @@ int LengthOfMenuText(char *textPtr)
int RenderMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format)
{
fprintf(stderr, "RenderMenuText(%s, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format);
return Hardware_RenderSmallMenuText(textPtr, x, y, alpha, format);
/*
fprintf(stderr, "RenderMenuText(%s, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format);
return 0;
*/
}
int RenderMenuText_Clipped(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format, int topY, int bottomY)
{
{
fprintf(stderr, "RenderMenuText_Clipped(%s, %d, %d, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format, topY, bottomY);
return 0;
@ -136,40 +144,40 @@ int RenderMenuText_Clipped(char *textPtr, int x, int y, int alpha, enum AVPMENUF
int RenderSmallMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format)
{
return Hardware_RenderSmallMenuText(textPtr, x, y, alpha, format);
/*
fprintf(stderr, "RenderSmallMenuText(%s, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format);
return 0;
*/
}
int RenderSmallMenuText_Coloured(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format, int red, int green, int blue)
{
return Hardware_RenderSmallMenuText_Coloured(textPtr, x, y, alpha, format, red, green, blue);
/*
fprintf(stderr, "RenderSmallMenuText_Coloured(%s, %d, %d, %d, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format, red, green, blue);
return 0;
*/
return 0;
}
void RenderKeyConfigRectangle(int alpha)
{
void Hardware_RenderKeyConfigRectangle(int alpha);
Hardware_RenderKeyConfigRectangle(alpha);
/*
fprintf(stderr, "RenderKeyConfigRectangle(%d)\n", alpha);
*/
fprintf(stderr, "RenderKeyConfigRectangle(%d)\n", alpha);
}
void RenderHighlightRectangle(int x1, int y1, int x2, int y2, int r, int g, int b)
{
void Hardware_RenderHighlightRectangle(int x1,int y1,int x2,int y2,int r, int g, int b);
Hardware_RenderHighlightRectangle(x1, y1, x2, y2, r, g, b);
/*
fprintf(stderr, "RenderHighlightRectangle(%d, %d, %d, %d, %d, %d, %d)\n", x1, y1, x2, y2, r, g, b);
*/
}
void RenderSmallFontString_Wrapped(char *textPtr,RECT* area,int alpha,int* output_x,int* output_y)
@ -191,7 +199,7 @@ void LoadAvPMenuGfx(enum AVPMENUGFX_ID menuGfxID)
/* TODO: make sure this doesn't cause a leak */
InitialiseTextures();
CL_GetImageFileName(buffer, 100, gfxPtr->FilenamePtr, LIO_RELATIVEPATH);
pFastFileData = ffreadbuf(buffer, &fastFileLength);
if (pFastFileData) {
@ -273,7 +281,7 @@ void InitialiseMenuGfx()
AvPMenuGfxStorage[i].ImagePtr = NULL;
}
glDisable(GL_BLEND);
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);

View file

@ -127,12 +127,14 @@ void StartMenuBackgroundBink()
fprintf(stderr, "StartMenuBackgroundBink()\n");
}
#if 0
int PlayMenuBackgroundBink()
{
fprintf(stderr, "PlayMenuBackgroundBink()\n");
return 0;
}
#endif
void EndMenuBackgroundBink()
{