summaryrefslogtreecommitdiff
path: root/src/cutScene.h
blob: ce1ab0d080475e5ccbc8845c8218c3d1beb4b94c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef __CUT_SCENE_H
#define __CUT_SCENE_H

#include <common.h>
#include <game.h>
#include <g3dhax.h>
#include <sfx.h>

void CutSceneDrawFunc();

struct dMovieData_s;

class dScCutScene_c : public dScene_c {
	public:
		dScCutScene_c();
		~dScCutScene_c();

		int onCreate();
		int onDelete();
		int onExecute();
		int onDraw();

		void goToNextScene();

		int currentScene;
		int nextScene;
		int frameOffset;

		nw4r::snd::SoundHandle handles[40];

		dMovieData_s *data;

		dDvdLoader_c settingsLoader;
		dDvdLoader_c *sceneLoaders;

		m2d::EmbedLayout_c *layout;

		dYesNoWindow_c *yesNoWindow;
		int yesNoStage;

		static dScCutScene_c *build();
		static dScCutScene_c *instance;
};


struct dMovieScene_s {
	char *sceneName;
	u8 widescreenFlag;
	u32 commandCount;
	u32 command[1];
};

struct dMovieData_s {
	u32 magic;
	u32 sceneCount;
	dMovieScene_s *scenes[1];
};

#endif