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