DDraceNetwork Documentation
Loading...
Searching...
No Matches
mapitems.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_MAPITEMS_H
4#define GAME_MAPITEMS_H
5
6#include <base/color.h>
7#include <base/vmath.h>
8
9// layer types
10enum
11{
13 LAYERTYPE_GAME, // unused
21 LAYERTYPE_SOUNDS_DEPRECATED, // deprecated! do not use this, this is just for compatibility reasons
23};
24
25enum
26{
35 // High map item type numbers suggest that they use the alternate
36 // format with UUIDs. See src/engine/shared/datafile.cpp for some of
37 // the implementation.
38};
39
40enum
41{
49};
50
51enum
52{
53 // game layer tiles
54 // TODO define which Layer uses which tiles (needed for mapeditor)
67
68 // DDRace - Main Lasers
76
77 // DDRace - Laser Modifiers
87
88 // DDRace - Plasma
93
94 // DDRace - Shotgun
97
98 // DDNet - Removing specific weapon
103
104 // DDRace - Draggers
108 // Draggers Behind Walls
112
113 // Doors
115 // End Of Lower Tiles
116
117 ENTITY_OFFSET = 255 - 16 * 4,
118};
119
120enum
121{
122 // Start From Top Left
123 // Tile Controllers
146 // Switches
208 // End of higher tiles
209};
210
211enum
212{
213 // Layers
221};
222
223enum
224{
225 // Flags
230};
231
232enum
233{
234 // Rotation
239};
240
241enum
242{
250};
251
252static constexpr size_t MAX_MAPIMAGES = 64;
253static constexpr size_t MAX_MAPSOUNDS = 64;
254
255typedef ivec2 CPoint; // 22.10 fixed point
256typedef ivec4 CColor;
257
259{
261
262public:
263 constexpr CFixedTime() :
264 m_FixedPoint(0) {}
265 constexpr explicit CFixedTime(int FixedPoint) :
266 m_FixedPoint(FixedPoint) {}
267
268 constexpr int GetInternal() const
269 {
270 return m_FixedPoint;
271 }
272
273 constexpr float AsSeconds() const
274 {
275 return m_FixedPoint / 1000.0f;
276 }
277
278 constexpr static CFixedTime FromSeconds(float Seconds)
279 {
280 return CFixedTime((int)std::round(Seconds * 1000.0f));
281 }
282
283 constexpr bool operator<(const CFixedTime &Other) const
284 {
285 return m_FixedPoint < Other.m_FixedPoint;
286 }
287
288 constexpr bool operator<=(const CFixedTime &Other) const
289 {
290 return m_FixedPoint <= Other.m_FixedPoint;
291 }
292
293 constexpr bool operator>(const CFixedTime &Other) const
294 {
295 return m_FixedPoint > Other.m_FixedPoint;
296 }
297
298 constexpr bool operator>=(const CFixedTime &Other) const
299 {
300 return m_FixedPoint >= Other.m_FixedPoint;
301 }
302
303 constexpr bool operator==(const CFixedTime &Other) const
304 {
305 return m_FixedPoint == Other.m_FixedPoint;
306 }
307
308 constexpr bool operator!=(const CFixedTime &Other) const
309 {
310 return m_FixedPoint != Other.m_FixedPoint;
311 }
312
313 constexpr CFixedTime operator+(const CFixedTime &Other) const
314 {
315 return CFixedTime(m_FixedPoint + Other.m_FixedPoint);
316 }
317
318 constexpr CFixedTime operator-(const CFixedTime &Other) const
319 {
320 return CFixedTime(m_FixedPoint - Other.m_FixedPoint);
321 }
322
323 constexpr CFixedTime &operator+=(const CFixedTime &Other)
324 {
325 m_FixedPoint += Other.m_FixedPoint;
326 return *this;
327 }
328
329 constexpr CFixedTime &operator-=(const CFixedTime &Other)
330 {
331 m_FixedPoint -= Other.m_FixedPoint;
332 return *this;
333 }
334};
335
349
350class CTile
351{
352public:
353 unsigned char m_Index;
354 unsigned char m_Flags;
355 unsigned char m_Skip;
356 unsigned char m_Reserved;
357};
358
360{
361public:
367};
368
370{
371public:
373};
374
385
387{
388public:
390};
391
393
406
408{
409public:
415
416 int m_aName[3];
417};
418
420{
421public:
425};
426
428{
429public:
437 static constexpr int VERSION_TEEWORLDS_TILESKIP = 4;
438
441
445
449
452
453 int m_aName[3];
454
455 // DDRace
456
462};
463
465{
466public:
469
473
474 int m_aName[3];
475};
476
478{
479public:
481};
482
483// Represents basic information about envelope points.
484// In upstream Teeworlds, this is only used if all CMapItemEnvelope are version 1 or 2.
486{
487public:
488 enum
489 {
491 };
492
494 int m_Curvetype; // CURVETYPE_* constants, any unknown value behaves like CURVETYPE_LINEAR
495 int m_aValues[MAX_CHANNELS]; // 1-4 depending on envelope (22.10 fixed point)
496
497 bool operator<(const CEnvPoint &Other) const { return m_Time < Other.m_Time; }
498
499 ColorRGBA ColorValue() const;
500 void SetColorValue(const ColorRGBA &Color);
501};
502
503// Represents additional envelope point information for CURVETYPE_BEZIER.
504// In DDNet, these are stored separately in an UUID-based map item.
505// In upstream Teeworlds, CEnvPointBezier_upstream is used instead.
514
515// Written to maps on upstream Teeworlds for envelope points including bezier information instead of the basic
516// CEnvPoint items, if at least one CMapItemEnvelope with version 3 or higher exists in the map.
522
523// Used to represent all envelope point information at runtime in editor.
524// (Can eventually be different than CEnvPointBezier_upstream)
526{
527public:
529};
530
532{
533public:
539 static constexpr int VERSION_TEEWORLDS_BEZIER = 3;
540
545 int m_aName[8];
546};
547
549{
550public:
552};
553
555
557{
558public:
559 enum
560 {
564 };
565
567 {
568 public:
569 int m_Width, m_Height; // fxp 22.10
570 };
571
573 {
574 public:
576 };
577
579
580 union
581 {
584 };
585};
586
588{
589public:
592 int m_Pan; // 0 - no panning, 1 - panning
593 int m_TimeDelay; // in s
594 int m_Falloff; // [0,255] // 0 - No falloff, 255 - full
595
600
602};
603
605{
606public:
609
613
614 int m_aName[3];
615};
616
618{
619public:
621
623
626 // Deprecated. Do not read this value, it could be wrong.
627 // Use GetDataSize instead, which returns the de facto size.
628 // Value must still be written for compatibility.
630};
631
632// DDRace
633
635{
636public:
637 unsigned char m_Number;
638 unsigned char m_Type;
639};
640
642{
643public:
644 unsigned char m_Force;
645 unsigned char m_MaxSpeed;
646 unsigned char m_Type;
647 short m_Angle;
648};
649
651{
652public:
653 unsigned char m_Number;
654 unsigned char m_Type;
655 unsigned char m_Flags;
656 unsigned char m_Delay;
657};
658
660{
661public:
662 unsigned char m_Index;
663 unsigned char m_Flags;
665};
666
668{
669public:
670 unsigned char m_Number;
671 unsigned char m_Type;
672};
673
674bool IsValidGameTile(int Index);
675bool IsValidFrontTile(int Index);
676bool IsValidTeleTile(int Index);
677bool IsTeleTileCheckpoint(int Index); // Assumes that Index is a valid tele tile index
678bool IsTeleTileNumberUsed(int Index, bool Checkpoint); // Assumes that Index is a valid tele tile index
679bool IsTeleTileNumberUsedAny(int Index); // Does not check for checkpoint only
680bool IsValidSpeedupTile(int Index);
681bool IsValidSwitchTile(int Index);
682bool IsSwitchTileFlagsUsed(int Index); // Assumes that Index is a valid switch tile index
683bool IsSwitchTileNumberUsed(int Index); // Assumes that Index is a valid switch tile index
684bool IsSwitchTileDelayUsed(int Index); // Assumes that Index is a valid switch tile index
685bool IsValidTuneTile(int Index);
686bool IsValidEntity(int Index);
687bool IsRotatableTile(int Index);
688bool IsCreditsTile(int TileIndex);
689
690int PackColor(const CColor &Color);
691CColor UnpackColor(int PackedColor);
692
693#endif
Definition mapitems.h:660
int m_Number
Definition mapitems.h:664
unsigned char m_Flags
Definition mapitems.h:663
unsigned char m_Index
Definition mapitems.h:662
Definition mapitems.h:518
CEnvPointBezier m_Bezier
Definition mapitems.h:520
Definition mapitems.h:507
int m_aOutTangentDeltaY[CEnvPoint::MAX_CHANNELS]
Definition mapitems.h:512
CFixedTime m_aOutTangentDeltaX[CEnvPoint::MAX_CHANNELS]
Definition mapitems.h:511
CFixedTime m_aInTangentDeltaX[CEnvPoint::MAX_CHANNELS]
Definition mapitems.h:509
int m_aInTangentDeltaY[CEnvPoint::MAX_CHANNELS]
Definition mapitems.h:510
Definition mapitems.h:526
CEnvPointBezier m_Bezier
Definition mapitems.h:528
Definition mapitems.h:486
void SetColorValue(const ColorRGBA &Color)
Definition mapitems.cpp:8
@ MAX_CHANNELS
Definition mapitems.h:490
CFixedTime m_Time
Definition mapitems.h:493
int m_aValues[MAX_CHANNELS]
Definition mapitems.h:495
ColorRGBA ColorValue() const
Definition mapitems.cpp:3
bool operator<(const CEnvPoint &Other) const
Definition mapitems.h:497
int m_Curvetype
Definition mapitems.h:494
Definition mapitems.h:259
constexpr CFixedTime & operator+=(const CFixedTime &Other)
Definition mapitems.h:323
constexpr float AsSeconds() const
Definition mapitems.h:273
constexpr bool operator>=(const CFixedTime &Other) const
Definition mapitems.h:298
constexpr bool operator==(const CFixedTime &Other) const
Definition mapitems.h:303
static constexpr CFixedTime FromSeconds(float Seconds)
Definition mapitems.h:278
constexpr int GetInternal() const
Definition mapitems.h:268
constexpr bool operator!=(const CFixedTime &Other) const
Definition mapitems.h:308
constexpr CFixedTime(int FixedPoint)
Definition mapitems.h:265
constexpr CFixedTime()
Definition mapitems.h:263
constexpr bool operator<=(const CFixedTime &Other) const
Definition mapitems.h:288
int m_FixedPoint
Definition mapitems.h:260
constexpr bool operator>(const CFixedTime &Other) const
Definition mapitems.h:293
constexpr bool operator<(const CFixedTime &Other) const
Definition mapitems.h:283
constexpr CFixedTime operator+(const CFixedTime &Other) const
Definition mapitems.h:313
constexpr CFixedTime & operator-=(const CFixedTime &Other)
Definition mapitems.h:329
constexpr CFixedTime operator-(const CFixedTime &Other) const
Definition mapitems.h:318
Definition mapitems.h:532
int m_Channels
Definition mapitems.h:542
int m_aName[8]
Definition mapitems.h:545
int m_StartPoint
Definition mapitems.h:543
int m_Version
Definition mapitems.h:541
int m_NumPoints
Definition mapitems.h:544
static constexpr int VERSION_TEEWORLDS_BEZIER
Definition mapitems.h:539
Definition mapitems.h:549
int m_Synchronized
Definition mapitems.h:551
Definition mapitems.h:395
int m_Version
Definition mapitems.h:397
int m_StartLayer
Definition mapitems.h:403
int m_OffsetY
Definition mapitems.h:399
int m_NumLayers
Definition mapitems.h:404
int m_OffsetX
Definition mapitems.h:398
int m_ParallaxY
Definition mapitems.h:401
int m_ParallaxX
Definition mapitems.h:400
Definition mapitems.h:408
int m_ClipX
Definition mapitems.h:411
int m_ClipW
Definition mapitems.h:413
int m_aName[3]
Definition mapitems.h:416
int m_ClipH
Definition mapitems.h:414
int m_UseClipping
Definition mapitems.h:410
int m_ClipY
Definition mapitems.h:412
Definition mapitems.h:376
int m_ImageName
Definition mapitems.h:382
int m_ImageData
Definition mapitems.h:383
int m_Width
Definition mapitems.h:379
int m_Height
Definition mapitems.h:380
int m_Version
Definition mapitems.h:378
int m_External
Definition mapitems.h:381
Definition mapitems.h:387
int m_MustBe1
Definition mapitems.h:389
Definition mapitems.h:370
int m_Settings
Definition mapitems.h:372
Definition mapitems.h:360
int m_Version
Definition mapitems.h:362
int m_MapVersion
Definition mapitems.h:364
int m_Author
Definition mapitems.h:363
int m_License
Definition mapitems.h:366
int m_Credits
Definition mapitems.h:365
Definition mapitems.h:465
int m_Version
Definition mapitems.h:468
int m_NumQuads
Definition mapitems.h:470
int m_Data
Definition mapitems.h:471
int m_Image
Definition mapitems.h:472
CMapItemLayer m_Layer
Definition mapitems.h:467
int m_aName[3]
Definition mapitems.h:474
Definition mapitems.h:605
int m_Version
Definition mapitems.h:608
int m_NumSources
Definition mapitems.h:610
int m_Data
Definition mapitems.h:611
int m_aName[3]
Definition mapitems.h:614
int m_Sound
Definition mapitems.h:612
CMapItemLayer m_Layer
Definition mapitems.h:607
Definition mapitems.h:428
int m_Flags
Definition mapitems.h:444
int m_Version
Definition mapitems.h:440
int m_Tele
Definition mapitems.h:457
int m_Tune
Definition mapitems.h:461
int m_Data
Definition mapitems.h:451
int m_Front
Definition mapitems.h:459
CMapItemLayer m_Layer
Definition mapitems.h:439
int m_aName[3]
Definition mapitems.h:453
int m_Width
Definition mapitems.h:442
CColor m_Color
Definition mapitems.h:446
int m_Image
Definition mapitems.h:450
static constexpr int VERSION_TEEWORLDS_TILESKIP
Definition mapitems.h:437
int m_Height
Definition mapitems.h:443
int m_Switch
Definition mapitems.h:460
int m_ColorEnvOffset
Definition mapitems.h:448
int m_Speedup
Definition mapitems.h:458
int m_ColorEnv
Definition mapitems.h:447
Definition mapitems.h:420
int m_Type
Definition mapitems.h:423
int m_Version
Definition mapitems.h:422
int m_Flags
Definition mapitems.h:424
Definition mapitems.h:618
int m_Version
Definition mapitems.h:620
int m_SoundDataSize
Definition mapitems.h:629
int m_External
Definition mapitems.h:622
int m_SoundData
Definition mapitems.h:625
int m_SoundName
Definition mapitems.h:624
Definition mapitems.h:478
int m_Version
Definition mapitems.h:480
Definition mapitems.h:337
CColor m_aColors[4]
Definition mapitems.h:340
int m_PosEnvOffset
Definition mapitems.h:344
CPoint m_aPoints[5]
Definition mapitems.h:339
int m_ColorEnv
Definition mapitems.h:346
CPoint m_aTexcoords[4]
Definition mapitems.h:341
int m_PosEnv
Definition mapitems.h:343
int m_ColorEnvOffset
Definition mapitems.h:347
Definition mapitems.h:573
int m_Radius
Definition mapitems.h:575
Definition mapitems.h:567
int m_Width
Definition mapitems.h:569
int m_Height
Definition mapitems.h:569
Definition mapitems.h:557
CRectangle m_Rectangle
Definition mapitems.h:582
CCircle m_Circle
Definition mapitems.h:583
@ NUM_SHAPES
Definition mapitems.h:563
@ SHAPE_CIRCLE
Definition mapitems.h:562
@ SHAPE_RECTANGLE
Definition mapitems.h:561
int m_Type
Definition mapitems.h:578
Definition mapitems.h:588
int m_PosEnvOffset
Definition mapitems.h:597
int m_PosEnv
Definition mapitems.h:596
CPoint m_Position
Definition mapitems.h:590
int m_TimeDelay
Definition mapitems.h:593
CSoundShape m_Shape
Definition mapitems.h:601
int m_SoundEnv
Definition mapitems.h:598
int m_SoundEnvOffset
Definition mapitems.h:599
int m_Loop
Definition mapitems.h:591
int m_Falloff
Definition mapitems.h:594
int m_Pan
Definition mapitems.h:592
Definition mapitems.h:642
unsigned char m_Type
Definition mapitems.h:646
unsigned char m_Force
Definition mapitems.h:644
unsigned char m_MaxSpeed
Definition mapitems.h:645
short m_Angle
Definition mapitems.h:647
Definition mapitems.h:651
unsigned char m_Type
Definition mapitems.h:654
unsigned char m_Flags
Definition mapitems.h:655
unsigned char m_Delay
Definition mapitems.h:656
unsigned char m_Number
Definition mapitems.h:653
Definition mapitems.h:635
unsigned char m_Type
Definition mapitems.h:638
unsigned char m_Number
Definition mapitems.h:637
Definition mapitems.h:351
unsigned char m_Reserved
Definition mapitems.h:356
unsigned char m_Flags
Definition mapitems.h:354
unsigned char m_Skip
Definition mapitems.h:355
unsigned char m_Index
Definition mapitems.h:353
Definition mapitems.h:668
unsigned char m_Number
Definition mapitems.h:670
unsigned char m_Type
Definition mapitems.h:671
Definition color.h:182
@ LAYER_GAME
Definition mapitems.h:214
@ LAYER_SWITCH
Definition mapitems.h:218
@ LAYER_TUNE
Definition mapitems.h:219
@ NUM_LAYERS
Definition mapitems.h:220
@ LAYER_TELE
Definition mapitems.h:216
@ LAYER_FRONT
Definition mapitems.h:215
@ LAYER_SPEEDUP
Definition mapitems.h:217
CMapItemEnvelope_v2 CMapItemEnvelope
Definition mapitems.h:554
bool IsValidTeleTile(int Index)
Definition mapitems.cpp:59
bool IsCreditsTile(int TileIndex)
Definition mapitems.cpp:169
ivec2 CPoint
Definition mapitems.h:255
ivec4 CColor
Definition mapitems.h:256
static constexpr size_t MAX_MAPIMAGES
Definition mapitems.h:252
int PackColor(const CColor &Color)
Definition mapitems.cpp:182
bool IsSwitchTileFlagsUsed(int Index)
Definition mapitems.cpp:116
bool IsSwitchTileDelayUsed(int Index)
Definition mapitems.cpp:132
@ TILESLAYERFLAG_TELE
Definition mapitems.h:245
@ TILESLAYERFLAG_TUNE
Definition mapitems.h:249
@ TILESLAYERFLAG_GAME
Definition mapitems.h:244
@ LAYERFLAG_DETAIL
Definition mapitems.h:243
@ TILESLAYERFLAG_FRONT
Definition mapitems.h:247
@ TILESLAYERFLAG_SWITCH
Definition mapitems.h:248
@ TILESLAYERFLAG_SPEEDUP
Definition mapitems.h:246
static constexpr size_t MAX_MAPSOUNDS
Definition mapitems.h:253
@ TILEFLAG_XFLIP
Definition mapitems.h:226
@ TILEFLAG_YFLIP
Definition mapitems.h:227
@ TILEFLAG_OPAQUE
Definition mapitems.h:228
@ TILEFLAG_ROTATE
Definition mapitems.h:229
bool IsValidSwitchTile(int Index)
Definition mapitems.cpp:97
bool IsRotatableTile(int Index)
Definition mapitems.cpp:153
bool IsTeleTileNumberUsed(int Index, bool Checkpoint)
Definition mapitems.cpp:78
@ LAYERTYPE_GAME
Definition mapitems.h:13
@ LAYERTYPE_TUNE
Definition mapitems.h:20
@ LAYERTYPE_TELE
Definition mapitems.h:17
@ LAYERTYPE_FRONT
Definition mapitems.h:16
@ LAYERTYPE_TILES
Definition mapitems.h:14
@ LAYERTYPE_INVALID
Definition mapitems.h:12
@ LAYERTYPE_QUADS
Definition mapitems.h:15
@ LAYERTYPE_SPEEDUP
Definition mapitems.h:18
@ LAYERTYPE_SWITCH
Definition mapitems.h:19
@ LAYERTYPE_SOUNDS
Definition mapitems.h:22
@ LAYERTYPE_SOUNDS_DEPRECATED
Definition mapitems.h:21
bool IsTeleTileCheckpoint(int Index)
Definition mapitems.cpp:73
@ TILE_TELE_GRENADE_DISABLE
Definition mapitems.h:193
@ TILE_SPEED_BOOST_OLD
Definition mapitems.h:153
@ TILE_TIME_CHECKPOINT_FIRST
Definition mapitems.h:161
@ TILE_WALLJUMP
Definition mapitems.h:139
@ TILE_CREDITS_7
Definition mapitems.h:204
@ TILE_EHOOK_ENABLE
Definition mapitems.h:140
@ TILE_THROUGH
Definition mapitems.h:130
@ TILE_LUNFREEZE
Definition mapitems.h:201
@ TILE_CREDITS_6
Definition mapitems.h:203
@ TILE_EHOOK_DISABLE
Definition mapitems.h:141
@ TILE_ENTITIES_OFF_2
Definition mapitems.h:207
@ TILE_UNLIMITED_JUMPS_DISABLE
Definition mapitems.h:180
@ TILE_THROUGH_DIR
Definition mapitems.h:170
@ TILE_NOHOOK
Definition mapitems.h:127
@ TILE_NOLASER
Definition mapitems.h:128
@ TILE_REFILL_JUMPS
Definition mapitems.h:158
@ TILE_FREEZE
Definition mapitems.h:132
@ TILE_SOLO_ENABLE
Definition mapitems.h:144
@ TILE_STOPA
Definition mapitems.h:165
@ TILE_TELECHECKIN
Definition mapitems.h:157
@ TILE_FINISH
Definition mapitems.h:160
@ TILE_SWITCHTIMEDOPEN
Definition mapitems.h:147
@ TILE_TELECHECKINEVIL
Definition mapitems.h:166
@ TILE_TELEINEVIL
Definition mapitems.h:133
@ TILE_TELE_GUN_DISABLE
Definition mapitems.h:185
@ TILE_CREDITS_3
Definition mapitems.h:198
@ TILE_TIME_CHECKPOINT_LAST
Definition mapitems.h:162
@ TILE_TELE_GRENADE_ENABLE
Definition mapitems.h:192
@ TILE_SWITCHOPEN
Definition mapitems.h:149
@ TILE_UNLIMITED_JUMPS_ENABLE
Definition mapitems.h:189
@ TILE_ADD_TIME
Definition mapitems.h:178
@ TILE_STOP
Definition mapitems.h:163
@ TILE_CREDITS_4
Definition mapitems.h:199
@ TILE_CREDITS_5
Definition mapitems.h:202
@ TILE_TELEIN
Definition mapitems.h:151
@ TILE_UNFREEZE
Definition mapitems.h:134
@ TILE_JUMP
Definition mapitems.h:131
@ TILE_TELECHECKOUT
Definition mapitems.h:156
@ TILE_OLDLASER
Definition mapitems.h:172
@ TILE_DUNFREEZE
Definition mapitems.h:136
@ TILE_NPC_ENABLE
Definition mapitems.h:188
@ TILE_SPEED_BOOST
Definition mapitems.h:154
@ TILE_ALLOW_TELE_GUN
Definition mapitems.h:186
@ TILE_HIT_ENABLE
Definition mapitems.h:142
@ TILE_TELEINWEAPON
Definition mapitems.h:137
@ TILE_TELEOUT
Definition mapitems.h:152
@ TILE_ALLOW_BLUE_TELE_GUN
Definition mapitems.h:187
@ TILE_NPH_DISABLE
Definition mapitems.h:182
@ TILE_ENTITIES_OFF_1
Definition mapitems.h:206
@ TILE_HIT_DISABLE
Definition mapitems.h:143
@ TILE_NPC_DISABLE
Definition mapitems.h:179
@ TILE_SWITCHCLOSE
Definition mapitems.h:150
@ TILE_SUBTRACT_TIME
Definition mapitems.h:183
@ TILE_JETPACK_ENABLE
Definition mapitems.h:190
@ TILE_TELE_GUN_ENABLE
Definition mapitems.h:184
@ TILE_SOLID
Definition mapitems.h:125
@ TILE_UNLOCK_TEAM
Definition mapitems.h:177
@ TILE_THROUGH_ALL
Definition mapitems.h:169
@ TILE_THROUGH_CUT
Definition mapitems.h:129
@ TILE_TELECHECK
Definition mapitems.h:155
@ TILE_SWITCHTIMEDCLOSE
Definition mapitems.h:148
@ TILE_SOLO_DISABLE
Definition mapitems.h:145
@ TILE_CP
Definition mapitems.h:167
@ TILE_DEATH
Definition mapitems.h:126
@ TILE_TELE_LASER_ENABLE
Definition mapitems.h:194
@ TILE_TELE_LASER_DISABLE
Definition mapitems.h:195
@ TILE_CREDITS_2
Definition mapitems.h:197
@ TILE_CREDITS_1
Definition mapitems.h:196
@ TILE_START
Definition mapitems.h:159
@ TILE_NOHIT
Definition mapitems.h:175
@ TILE_DFREEZE
Definition mapitems.h:135
@ TILE_STOPS
Definition mapitems.h:164
@ TILE_JETPACK_DISABLE
Definition mapitems.h:181
@ TILE_EHOOK
Definition mapitems.h:174
@ TILE_AIR
Definition mapitems.h:124
@ TILE_NPH
Definition mapitems.h:176
@ TILE_TELEINHOOK
Definition mapitems.h:138
@ TILE_NPH_ENABLE
Definition mapitems.h:191
@ TILE_CREDITS_8
Definition mapitems.h:205
@ TILE_TUNE
Definition mapitems.h:171
@ TILE_CP_F
Definition mapitems.h:168
@ TILE_NPC
Definition mapitems.h:173
@ TILE_LFREEZE
Definition mapitems.h:200
bool IsValidGameTile(int Index)
Definition mapitems.cpp:16
@ MAPITEMTYPE_INFO
Definition mapitems.h:28
@ MAPITEMTYPE_LAYER
Definition mapitems.h:32
@ MAPITEMTYPE_ENVELOPE
Definition mapitems.h:30
@ MAPITEMTYPE_GROUP
Definition mapitems.h:31
@ MAPITEMTYPE_IMAGE
Definition mapitems.h:29
@ MAPITEMTYPE_VERSION
Definition mapitems.h:27
@ MAPITEMTYPE_ENVPOINTS
Definition mapitems.h:33
@ MAPITEMTYPE_SOUND
Definition mapitems.h:34
bool IsTeleTileNumberUsedAny(int Index)
Definition mapitems.cpp:86
@ ENTITY_LASER_O_NORMAL
Definition mapitems.h:85
@ ENTITY_DOOR
Definition mapitems.h:114
@ ENTITY_ARMOR_LASER
Definition mapitems.h:102
@ ENTITY_POWERUP_NINJA
Definition mapitems.h:65
@ ENTITY_WEAPON_SHOTGUN
Definition mapitems.h:63
@ ENTITY_SPAWN_RED
Definition mapitems.h:57
@ ENTITY_LASER_FAST_CW
Definition mapitems.h:75
@ ENTITY_ARMOR_GRENADE
Definition mapitems.h:100
@ ENTITY_ARMOR_SHOTGUN
Definition mapitems.h:99
@ ENTITY_ARMOR_1
Definition mapitems.h:61
@ ENTITY_FLAGSTAND_BLUE
Definition mapitems.h:60
@ ENTITY_LASER_C_SLOW
Definition mapitems.h:81
@ ENTITY_CRAZY_SHOTGUN_EX
Definition mapitems.h:95
@ ENTITY_LASER_SHORT
Definition mapitems.h:78
@ ENTITY_PLASMAE
Definition mapitems.h:89
@ ENTITY_LASER_C_FAST
Definition mapitems.h:83
@ ENTITY_CRAZY_SHOTGUN
Definition mapitems.h:96
@ ENTITY_DRAGGER_STRONG
Definition mapitems.h:107
@ ENTITY_SPAWN_BLUE
Definition mapitems.h:58
@ ENTITY_LASER_SLOW_CW
Definition mapitems.h:73
@ ENTITY_DRAGGER_WEAK_NW
Definition mapitems.h:109
@ ENTITY_PLASMAU
Definition mapitems.h:92
@ ENTITY_LASER_NORMAL_CCW
Definition mapitems.h:70
@ ENTITY_OFFSET
Definition mapitems.h:117
@ ENTITY_DRAGGER_NORMAL
Definition mapitems.h:106
@ ENTITY_LASER_MEDIUM
Definition mapitems.h:79
@ ENTITY_SPAWN
Definition mapitems.h:56
@ ENTITY_LASER_STOP
Definition mapitems.h:72
@ ENTITY_DRAGGER_WEAK
Definition mapitems.h:105
@ ENTITY_ARMOR_NINJA
Definition mapitems.h:101
@ ENTITY_LASER_FAST_CCW
Definition mapitems.h:69
@ ENTITY_DRAGGER_NORMAL_NW
Definition mapitems.h:110
@ ENTITY_LASER_O_FAST
Definition mapitems.h:86
@ ENTITY_LASER_LONG
Definition mapitems.h:80
@ ENTITY_PLASMAF
Definition mapitems.h:90
@ ENTITY_LASER_C_NORMAL
Definition mapitems.h:82
@ ENTITY_NULL
Definition mapitems.h:55
@ ENTITY_LASER_O_SLOW
Definition mapitems.h:84
@ ENTITY_WEAPON_LASER
Definition mapitems.h:66
@ ENTITY_WEAPON_GRENADE
Definition mapitems.h:64
@ ENTITY_PLASMA
Definition mapitems.h:91
@ ENTITY_LASER_SLOW_CCW
Definition mapitems.h:71
@ ENTITY_DRAGGER_STRONG_NW
Definition mapitems.h:111
@ ENTITY_FLAGSTAND_RED
Definition mapitems.h:59
@ ENTITY_LASER_NORMAL_CW
Definition mapitems.h:74
@ ENTITY_HEALTH_1
Definition mapitems.h:62
bool IsValidTuneTile(int Index)
Definition mapitems.cpp:138
@ ROTATION_270
Definition mapitems.h:238
@ ROTATION_0
Definition mapitems.h:235
@ ROTATION_180
Definition mapitems.h:237
@ ROTATION_90
Definition mapitems.h:236
bool IsValidEntity(int Index)
Definition mapitems.cpp:143
CMapItemImage_v1 CMapItemImage
Definition mapitems.h:392
bool IsSwitchTileNumberUsed(int Index)
Definition mapitems.cpp:123
@ NUM_CURVETYPES
Definition mapitems.h:48
@ CURVETYPE_FAST
Definition mapitems.h:45
@ CURVETYPE_SLOW
Definition mapitems.h:44
@ CURVETYPE_BEZIER
Definition mapitems.h:47
@ CURVETYPE_STEP
Definition mapitems.h:42
@ CURVETYPE_LINEAR
Definition mapitems.h:43
@ CURVETYPE_SMOOTH
Definition mapitems.h:46
bool IsValidSpeedupTile(int Index)
Definition mapitems.cpp:92
bool IsValidFrontTile(int Index)
Definition mapitems.cpp:37
CColor UnpackColor(int PackedColor)
Definition mapitems.cpp:192
vector4_base< int > ivec4
Definition vmath.h:429
vector2_base< int > ivec2
Definition vmath.h:163