-
Notifications
You must be signed in to change notification settings - Fork 0
/
stage.h
129 lines (99 loc) · 2.08 KB
/
stage.h
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#pragma once
#include <tari/geometry.h>
#include <tari/datastructures.h>
#include "mugenspritefilereader.h"
// documentation at http://www.elecbyte.com/mugendocs-11b1/bgs.html
typedef struct {
char mName[1024];
char mDisplayName[1024];
char mVersionDate[100];
char mMugenVersion[100];
char mAuthor[100];
} StageInfo;
typedef struct {
Position mStartPosition;
double mBoundLeft;
double mBoundRight;
double mBoundHigh;
double mBoundLow;
double mTension;
double mTensionHigh;
double mTensionLow;
double mVerticalFollow;
double mFloorTension;
int mOverdrawHigh;
int mOverdrawLow;
int mCutHigh;
int mCutLow;
double mStartZoom;
double mZoomOut;
double mZoomIn;
} StageCamera;
typedef struct {
Position mP1Start;
Position mP2Start;
int mP1Facing;
int mP2Facing;
double mLeftBound;
double mRightBound;
} StagePlayerInfo;
typedef struct {
double mScreenLeft;
double mScreenRight;
} StageBound;
typedef struct {
double mZOffset;
int mZOffsetLink;
int mAutoturn;
int mResetBG;
Position mLocalCoordinates;
Vector3D mScale;
} StageStageInfo;
typedef struct {
int mIntensity;
Vector3D mColor;
double mScaleY;
Vector3DI mFadeRange;
double mXShear;
} StageShadow;
typedef struct {
int mReflect;
} StageReflection;
typedef struct {
char mBGMusic[1024];
int mBGVolume;
} StageMusic;
typedef struct {
char mSpritePath[1024];
int mDebugBG;
} StageBackgroundDefinition;
typedef enum {
STAGE_BACKGROUND_STATIC,
STAGE_BACKGROUND_ANIMATED,
} StageBackgroundType;
typedef struct {
StageBackgroundType mType;
Vector3DI mSpriteNo;
int mLayerNo;
Position mStart;
Position mDelta;
int mMask;
Vector3DI mTile;
Vector3DI mTileSpacing;
int mListPosition;
} StageBackgroundElement;
typedef struct {
StageInfo mInfo;
StageCamera mCamera;
StagePlayerInfo mPlayerInfo;
StageBound mBound;
StageStageInfo mStageInfo;
StageShadow mShadow;
StageReflection mReflection;
StageMusic mMusic;
StageBackgroundDefinition mBackgroundDefinition;
List mBackgroundElements;
MugenSpriteFile mSprites;
} Stage;
extern Stage gStage;
void loadStageFromMugenDefinition(char* mPath);