2020-06-20 07:46:41 +00:00
|
|
|
#pragma once
|
|
|
|
#include <functional>
|
2020-06-27 09:48:55 +00:00
|
|
|
#include "dobject.h"
|
2020-07-29 21:18:08 +00:00
|
|
|
#include "v_2ddrawer.h"
|
2021-04-15 22:50:13 +00:00
|
|
|
#include "d_eventbase.h"
|
2021-04-21 22:25:55 +00:00
|
|
|
#include "s_soundinternal.h"
|
2021-04-26 20:56:37 +00:00
|
|
|
#include "gamestate.h"
|
2020-06-20 07:46:41 +00:00
|
|
|
|
2020-06-28 08:14:42 +00:00
|
|
|
using CompletionFunc = std::function<void(bool)>;
|
2020-06-27 09:48:55 +00:00
|
|
|
|
2021-04-26 21:10:38 +00:00
|
|
|
void Job_Init();
|
|
|
|
|
2021-04-21 22:18:53 +00:00
|
|
|
enum
|
|
|
|
{
|
2021-04-26 19:13:11 +00:00
|
|
|
SJ_BLOCKUI = 1,
|
2021-05-01 17:46:17 +00:00
|
|
|
SJ_DELAY = 2,
|
2021-04-21 22:18:53 +00:00
|
|
|
};
|
|
|
|
|
2021-04-15 22:50:13 +00:00
|
|
|
void EndScreenJob();
|
2020-07-19 10:48:31 +00:00
|
|
|
void DeleteScreenJob();
|
2021-04-15 22:50:13 +00:00
|
|
|
bool ScreenJobResponder(event_t* ev);
|
2021-04-26 19:13:11 +00:00
|
|
|
bool ScreenJobTick();
|
|
|
|
void ScreenJobDraw();
|
2021-04-26 20:56:37 +00:00
|
|
|
|
2021-04-26 22:01:25 +00:00
|
|
|
struct CutsceneDef;
|
2021-04-27 22:51:28 +00:00
|
|
|
struct MapRecord;
|
|
|
|
struct SummaryInfo;
|
|
|
|
bool StartCutscene(const char* s, int flags, const CompletionFunc& completion);
|
2021-04-26 20:56:37 +00:00
|
|
|
void PlayLogos(gameaction_t complete_ga, gameaction_t def_ga, bool stopmusic);
|
2021-04-27 22:51:28 +00:00
|
|
|
void ShowScoreboard(int numplayers, const CompletionFunc& completion_);
|
|
|
|
void ShowIntermission(MapRecord* fromMap, MapRecord* toMap, SummaryInfo* info, CompletionFunc completion_);
|