- added the needed parts to start the game from the menu.

Levels render, but gameplay has not been hooked up yet.
This commit is contained in:
Christoph Oelckers 2020-10-30 17:27:01 +01:00
parent f09db4c943
commit a31bc4be6b
3 changed files with 26 additions and 3 deletions

View file

@ -223,6 +223,7 @@ void GameInterface::app_init()
readpalettetable();
TileFiles.SetBackup();
InitFonts();
connectpoint2[0] = -1;
if(isWh2()) {
tileDelete(FLOORMIRROR);
@ -245,6 +246,19 @@ void GameInterface::app_init()
//sndInit();
//initpaletteshifts();
InitOriginalEpisodes();
psky_t* pSky = tileSetupSky(0);
pSky->tileofs[0] = 0;
pSky->tileofs[1] = 0;
pSky->tileofs[2] = 0;
pSky->tileofs[3] = 0;
pSky->yoffs = 256;
pSky->lognumtiles = 2;
pSky->horizfrac = 65536;
pSky->yscale = 65536;
parallaxtype = 2;
g_visibility = 2048;
}
void GameInterface::Startup()
@ -402,6 +416,14 @@ void GameInterface::NewGame(MapRecord* map, int skill)
STAT_NewLevel(currentLevel->labelName);
}
bool GameInterface::StartGame(FNewGameStartup& gs)
{
auto map = FindMapByLevelNum(1);
DeferedStartGame(map, gs.Skill);
return true;
}
void GameInterface::MenuSound(EMenuSounds snd)
{

View file

@ -41,7 +41,8 @@ void drawscreen(int num, int dasmoothratio) {
choriz = iHoriz;
cang = inAngle;
}
choriz -= 100; // make it 0-based like the rest of the engine expects.
// wango
if ((gotpic[FLOORMIRROR >> 3] & (1 << (FLOORMIRROR & 7))) != 0) {
int dist = 0x7fffffff;
@ -59,7 +60,7 @@ void drawscreen(int num, int dasmoothratio) {
// Todo: render this with 30% light only.
inpreparemirror = true;
renderSetRollAngle(1024);
renderDrawRoomsQ16(cposx, cposy, cposz, FloatToFixed(cang), FloatToFixed(201 - choriz), floormirrorsector[i]);
renderDrawRoomsQ16(cposx, cposy, cposz, FloatToFixed(cang), FloatToFixed(101 - choriz), floormirrorsector[i]);
analyzesprites(plr, dasmoothratio);
renderDrawMasks();
renderSetRollAngle(0);

View file

@ -527,7 +527,7 @@ struct GameInterface : public ::GameInterface
//void MenuOpened() override;
void MenuSound(EMenuSounds snd) override;
bool CanSave() override;
//bool StartGame(FNewGameStartup& gs) override;
bool StartGame(FNewGameStartup& gs) override;
//FSavegameInfo GetSaveSig() override;
void SerializeGameState(FSerializer& arc) override;
//void QuitToTitle() override;