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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
/************************************************************************
* *
* _____ ____ *
* | __ \ / __ \ _ _ _____ *
* | | \ \ / / \_\ | | | | _ \ *
* | | \ \| | | | | | |_| | *
* | | | || | | | | | ___/ *
* | | / /| | __ | | | | _ \ *
* | |__/ / \ \__/ / | |___| | |_| | *
* |_____/ \____/ |_____|_|_____/ *
* *
* A library by Dirk Clemens *
* *
* Copyright (c) 2014-2023 by Dirk Clemens <develop@cle-mens.de> *
* *
************************************************************************
* *
* This file is generated automatically by a script and is *
* therefore always overwritten. So don't EDIT this file, *
* because all modifications will be lost with the next update! *
* *
************************************************************************/
#ifndef DCLIB_MKW_DEF_H
#define DCLIB_MKW_DEF_H 1
#include "dclib-basics.h"
//
///////////////////////////////////////////////////////////////////////////////
//////////////////////////// MKW Track Category ///////////////////////////
///////////////////////////////////////////////////////////////////////////////
// [[MkwTrackCategory]]
typedef enum MkwTrackCategory
{
G_MTCAT_NINTENDO = 0,
G_MTCAT_TEXTURE = 1,
G_MTCAT_TEMP_ALLOW = 2,
G_MTCAT_TEMP_DENY = 3,
G_MTCAT_DENY = 4,
G_MTCAT_DENIED = 5, // [[obsolete]]
G_MTCAT_CHEAT = 6,
G_MTCAT_EDIT = 7,
G_MTCAT_MODEL = 8,
G_MTCAT_CHEAT_EDIT = 9,
G_MTCAT_UNKNOWN = 10,
G_MTCAT_CUSTOM = 11,
G_MTCAT_HNS = 12,
G_MTCAT_HNS_CT = 13,
G_MTCAT_MISSION = 14,
G_MTCAT_MISSION_CT = 15,
G_MTCAT__N = 16,
}
MkwTrackCategory;
// [[MkwTrackCatMode]]
typedef enum MkwTrackCatMode
{
G_MTCAT_MD_UNKNOWN = 0x01,
G_MTCAT_MD_DEFAULT = 0x02,
G_MTCAT_MD_CUSTOM = 0x04,
G_MTCAT_MD_NINTENDO = 0x10,
G_MTCAT_MD_HACK = 0x20,
G_MTCAT_MD_CHEAT = 0x40,
G_MTCAT_MD__MASK = 0x77,
}
MkwTrackCatMode;
// [[MkwTrackCategory_t]]
typedef struct MkwTrackCategory_t
{
ccp info;
ccp attribs;
int fg_color;
int bg_color;
int color_offset;
u8 id;
char ch1[3+1];
char ch2[3+1];
u8 mode;
u8 ban;
char abbrev[7+1];
char title[12+1];
char declared[9+1];
char color[15+1];
}
MkwTrackCategory_t;
MkwTrackCategory_t * GetMkwTrackCategory ( int id );
//
///////////////////////////////////////////////////////////////////////////////
//////////////////////////// LE-CODE track flags //////////////////////////
///////////////////////////////////////////////////////////////////////////////
// [[LecodeFlags_t]]
typedef enum LecodeFlags_t
{
G_LEFL_NEW = 0x0001, // N2: new track
G_LEFL_RND_HEAD = 0x0002, // HX: first track of random group
G_LEFL_RND_GROUP = 0x0004, // GX: member of random group, but not first
G_LEFL_ALIAS = 0x0008, // A-: use TrackByAliasLE(prop,music)
G_LEFL_TEXTURE = 0x0010, // T2: track is declared as texture hack of same property slot
G_LEFL_HIDDEN = 0x0020, // i-: exclude a track from cups.
G_LEFL__RND = 0x0006, // both random flags
G_LEFL__ALL = 0x003f, // all bits of above
G_LEFL_BATTLE = 0x0100, // B-: track is a battle arena
G_LEFL_VERSUS = 0x0200, // V-: track is a versus track
G_LEFL_CUP = 0x0400, // --: track is referenced by a cup
G_LEFL_ORIG_CUP = 0x0800, // ob: track is referenced by a original cup
G_LEFL_CUSTOM_CUP = 0x1000, // cb: track is referenced by a custom cup
G_LEFL_RANDOM = 0x2000, // r-: slot id LE-CODE random
G_LEFL__USED = 0x3c3f, // if any of these bits is set, the track is used
G_LEFL__XALL = 0x3f3f, // all bits of above
}
LecodeFlags_t;
#define DB_LECODE_FLAGS_TYPE "smallint unsigned"
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////// Distrib Track Attributes ////////////////////////
///////////////////////////////////////////////////////////////////////////////
// [[DistribFlags_t]]
typedef enum DistribFlags_t
{
G_DTA_BOOST = 0x0001, // is a boost track
G_DTA_NEW = 0x0002, // new track
G_DTA_AGAIN = 0x0004, // track is back again
G_DTA_UPDATE = 0x0008, // updated track
G_DTA_FILL = 0x0010, // updated track
G_DTA_IS_D = 0x0100, // is a _d file
G_DTA_TITLE = 0x0200, // track marked as title-only
G_DTA_HIDDEN = 0x0400, // track marked as hidden
G_DTA_ORIGINAL = 0x0800, // track marked as original
G_DTA__STATUS = 0x001e, // relevant for status column
G_DTA__ALL = 0x0f1f,
G_DTA_F_CALCULATED = 0x1000, // flags already calculated
}
DistribFlags_t;
#define DB_DTA_TYPE "smallint unsigned"
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////////// Track Class Index ///////////////////////////
///////////////////////////////////////////////////////////////////////////////
// [[TrackClassIndex_t]]
typedef enum TrackClassIndex_t
{
G_TCLSI_UNKNOWN = 0,
G_TCLSI_PRIVATE = 1, // P: marked as private
G_TCLSI_TEST = 2, // T: marked as test
G_TCLSI_BAD = 3, // B: marked as bad
G_TCLSI_FAIL = 4, // F: marked as fail
G_TCLSI_FREEZE = 5, // Z: marked as freeze
G_TCLSI_STOCK = 6, // K: part of stock
G_TCLSI_SELECT = 7, // S: selected track
G_TCLSI_NINTENDO = 8, // N: original Nintendo track
G_TCLSI_BOOST = 9, // O: boost track
G_TCLSI_INCOME = 10, // I: new track, not evaluated yet
G_TCLSI_WAIT = 11, // W: new track, not evaluated yet, have to wait until support
G_TCLSI__N = 12,
}
__attribute__ ((packed)) TrackClassIndex_t;
#define DB_TRACK_CLASS_INDEX_TYPE "tinyint unsigned"
//
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////// Track Class //////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// [[TrackClass_t]]
typedef enum TrackClass_t
{
G_TCLS_UNKNOWN = 0x0000, // u: unknown at all
G_TCLS_PRIVATE = 0x0002, // P: marked as private
G_TCLS_TEST = 0x0004, // T: marked as test
G_TCLS_BAD = 0x0008, // B: marked as bad
G_TCLS_FAIL = 0x0010, // F: marked as fail
G_TCLS_FREEZE = 0x0020, // Z: marked as freeze
G_TCLS_STOCK = 0x0040, // K: part of stock
G_TCLS_SELECT = 0x0080, // S: selected track
G_TCLS_NINTENDO = 0x0100, // N: original Nintendo track
G_TCLS_BOOST = 0x0200, // O: boost track
G_TCLS_INCOME = 0x0400, // I: new track, not evaluated yet
G_TCLS_WAIT = 0x0800, // W: new track, not evaluated yet, have to wait until support
G_TCLS__ALL = 0x0fff,
}
__attribute__ ((packed)) TrackClass_t;
#define DB_TRACK_CLASS_TYPE "smallint unsigned"
//
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// misc //////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#define MKW_MAX_TRACK_SLOT 4095
//
///////////////////////////////////////////////////////////////////////////////
////////////////////////////////// sizeof /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
extern const sizeof_info_t sizeof_info_mkw_def[];
//
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// E N D /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#endif // DCLIB_MKW_DEF_H
|