avp/src/main.c

136 lines
2.3 KiB
C
Raw Normal View History

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "fixer.h"
2001-08-04 15:46:22 +00:00
#include "3dc.h"
#include "platform.h"
#include "gamedef.h"
#include "gameplat.h"
#include "ffstdio.h"
#include "vision.h"
#include "comp_shp.h"
#include "avp_envinfo.h"
2001-08-04 15:46:22 +00:00
#include "cdtrackselection.h"
char LevelName[] = {"predbit6\0QuiteALongNameActually"};
static ELO ELOLevelToLoad = {&LevelName};
extern int ScanDrawMode; /* to fix image loading */
2001-07-31 04:06:01 +00:00
PROCESSORTYPES ReadProcessorType()
{
return PType_PentiumMMX;
}
int InitialiseWindowsSystem()
{
ScanDrawMode = ScanDrawD3DHardwareRGB;
2001-07-31 04:06:01 +00:00
return 0;
}
int ExitWindowsSystem()
{
return 0;
}
int main(int argc, char *argv[])
{
int level_to_load = I_Num_Environments;
2001-08-04 15:46:22 +00:00
LoadCDTrackList();
SetFastRandom();
GetPathFromRegistry();
#if MARINE_DEMO
ffInit("fastfile/mffinfo.txt","fastfile/");
#elif ALIEN_DEMO
ffInit("alienfastfile/ffinfo.txt","alienfastfile/");
#else
ffInit("fastfile/ffinfo.txt","fastfile/");
#endif
InitGame();
InitialVideoMode();
Env_List[0] = &(ELOLevelToLoad);
level_to_load = 0;
InitialiseSystem();
InitialiseRenderer();
/* InitOptionsMenu(); NOT YET */
LoadKeyConfiguration();
SoundSys_Start();
CDDA_Start();
InitTextStrings();
BuildMultiplayerLevelNameArray();
ChangeDirectDrawObject();
AvP.LevelCompleted = 0;
LoadSounds("PLAYER");
AvP.CurrentEnv = AvP.StartingEnv = 0; /* ??? */
SetLevelToLoad(AVP_ENVIRONMENT_INVASION); /* because the menus aren't implemented */
// while(AvP_MainMenus()) {
d3d_light_ctrl.ctrl = LCCM_NORMAL;
d3d_overlay_ctrl.ctrl = OCCM_NORMAL;
// GetCorrectDirectDrawObject();
start_of_loaded_shapes = load_precompiled_shapes();
InitCharacter();
LoadRifFile(); /* sets up a map */
AssignAllSBNames();
StartGame();
ffcloseall();
AvP.MainLoopRunning = 1;
/* ScanImagesForFMVs(); NOT YET */
ResetFrameCounter();
/* Game_Has_Loaded(); NOT YET */
ResetFrameCounter();
/* IngameKeyboardInput_ClearBuffer(); NOT YET */
while(AvP.MainLoopRunning) {
CheckForWindowsMessages();
switch(AvP.GameMode) {
case I_GM_Playing:
break;
case I_GM_Menus:
AvP.GameMode = I_GM_Playing;
break;
case I_GM_Paused:
break;
default:
fprintf(stderr, "AvP.MainLoopRunning: gamemode = %d\n", AvP.GameMode);
exit(EXIT_FAILURE);
}
break; /* TODO -- remove when loop works */
}
// }
return 0;
}