DDNet documentation
Loading...
Searching...
No Matches
editor_actions.h
Go to the documentation of this file.
1#ifndef GAME_EDITOR_EDITOR_ACTIONS_H
2#define GAME_EDITOR_EDITOR_ACTIONS_H
3
4#include "editor_action.h"
5
13#include <game/mapitems.h>
14
15#include <memory>
16#include <string>
17#include <vector>
18
19class CEditorMap;
21class CLayerGroup;
22
24{
25public:
26 CEditorActionLayerBase(CEditorMap *pMap, int GroupIndex, int LayerIndex);
27
28protected:
31 std::shared_ptr<CLayer> m_pLayer;
32};
33
35{
36public:
37 CEditorBrushDrawAction(CEditorMap *pMap, int Group);
38
39 void Undo() override;
40 void Redo() override;
41 bool IsEmpty() override;
42
43private:
45 // m_vTileChanges is a list of changes for each layer that was modified.
46 // The std::pair is used to pair one layer (index) with its history (2D map).
47 // EditorTileStateChangeHistory<T> is a 2D map, storing a change item at a specific y,x position.
48 std::vector<std::pair<int, EditorTileStateChangeHistory<STileStateChange>>> m_vTileChanges;
53
56
57 void Apply(bool Undo);
58 void SetInfos();
59};
60
61// ---------------------------------------------------------
62
64{
65public:
66 CEditorActionQuadPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector<CQuad> &vBrush);
67
68 void Undo() override;
69 void Redo() override;
70
71private:
72 std::vector<CQuad> m_vBrush;
73};
74
76{
77public:
78 CEditorActionSoundPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector<CSoundSource> &vBrush);
79
80 void Undo() override;
81 void Redo() override;
82
83private:
84 std::vector<CSoundSource> m_vBrush;
85};
86
87// -------------------------------------------------------------
88
90{
91public:
92 CEditorActionDeleteQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector<int> const &vQuadsIndices, std::vector<CQuad> const &vDeletedQuads);
93
94 void Undo() override;
95 void Redo() override;
96
97private:
98 std::vector<int> m_vQuadsIndices;
99 std::vector<CQuad> m_vDeletedQuads;
100};
101
102// -------------------------------------------------------------
103
105{
106public:
107 CEditorActionEditQuadPoint(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector<CPoint> const &vPreviousPoints, std::vector<CPoint> const &vCurrentPoints);
108
109 void Undo() override;
110 void Redo() override;
111
112private:
114 std::vector<CPoint> m_vPreviousPoints;
115 std::vector<CPoint> m_vCurrentPoints;
116
117 void Apply(const std::vector<CPoint> &vValue);
118};
119
121{
122public:
123 CEditorActionEditQuadColor(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector<CColor> const &vPreviousColors, std::vector<CColor> const &vCurrentColors);
124
125 void Undo() override;
126 void Redo() override;
127
128private:
130 std::vector<CColor> m_vPreviousColors;
131 std::vector<CColor> m_vCurrentColors;
132
133 void Apply(std::vector<CColor> &vValue);
134};
135
137{
138public:
139 CEditorActionEditQuadProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, EQuadProp Prop, int Previous, int Current);
140
141 void Undo() override;
142 void Redo() override;
143
144private:
149
150 void Apply(int Value);
151};
152
154{
155public:
156 CEditorActionEditQuadPointProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, int PointIndex, EQuadPointProp Prop, int Previous, int Current);
157
158 void Undo() override;
159 void Redo() override;
160
161private:
167
168 void Apply(int Value);
169};
170
171// -------------------------------------------------------------
172
174{
175public:
176 CEditorActionBulk(CEditorMap *pMap, const std::vector<std::shared_ptr<IEditorAction>> &vpActions, const char *pDisplay = nullptr, bool Reverse = false);
177
178 void Undo() override;
179 void Redo() override;
180
181private:
182 std::vector<std::shared_ptr<IEditorAction>> m_vpActions;
183 std::string m_Display;
185};
186
187//
188
190{
191public:
192 CEditorActionTileChanges(CEditorMap *pMap, int GroupIndex, int LayerIndex, const char *pAction, const EditorTileStateChangeHistory<STileStateChange> &Changes);
193
194 void Undo() override;
195 void Redo() override;
196
197private:
200
201 void ComputeInfos();
202 void Apply(bool Undo);
203};
204
205// -------------------------------------------------------------
206
208{
209public:
210 CEditorActionAddLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex, bool Duplicate = false);
211
212 void Undo() override;
213 void Redo() override;
214
215private:
217};
218
220{
221public:
222 CEditorActionDeleteLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex);
223
224 void Undo() override;
225 void Redo() override;
226};
227
229{
230public:
231 CEditorActionGroup(CEditorMap *pMap, int GroupIndex, bool Delete);
232
233 void Undo() override;
234 void Redo() override;
235
236private:
239 std::shared_ptr<CLayerGroup> m_pGroup;
240};
241
243{
244public:
245 CEditorActionEditGroupProp(CEditorMap *pMap, int GroupIndex, EGroupProp Prop, int Previous, int Current);
246
247 void Undo() override;
248 void Redo() override;
249
250private:
255
256 void Apply(int Value);
257};
258
259template<typename E>
261{
262public:
263 CEditorActionEditLayerPropBase(CEditorMap *pMap, int GroupIndex, int LayerIndex, E Prop, int Previous, int Current);
264
265protected:
269};
270
272{
273public:
274 CEditorActionEditLayerProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerProp Prop, int Previous, int Current);
275
276 void Undo() override;
277 void Redo() override;
278
279private:
280 void Apply(int Value);
281};
282
284{
285public:
286 CEditorActionEditLayerTilesProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ETilesProp Prop, int Previous, int Current);
287
288 void Undo() override;
289 void Redo() override;
290
291 void SetSavedLayers(const std::map<int, std::shared_ptr<CLayer>> &SavedLayers);
292
293private:
294 std::map<int, std::shared_ptr<CLayer>> m_SavedLayers;
295
296 void RestoreLayer(int Layer, const std::shared_ptr<CLayerTiles> &pLayerTiles);
297};
298
300{
301public:
302 CEditorActionEditLayerQuadsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerQuadsProp Prop, int Previous, int Current);
303
304 void Undo() override;
305 void Redo() override;
306
307private:
308 void Apply(int Value);
309};
310
312{
313public:
314 CEditorActionEditLayersGroupAndOrder(CEditorMap *pMap, int GroupIndex, const std::vector<int> &LayerIndices, int NewGroupIndex, const std::vector<int> &NewLayerIndices);
315
316 void Undo() override;
317 void Redo() override;
318
319private:
321 std::vector<int> m_LayerIndices;
323 std::vector<int> m_NewLayerIndices;
324};
325
326// --------------
327
329{
330public:
332 {
337 };
338
339 CEditorActionAppendMap(CEditorMap *pMap, const char *pMapName, const SPrevInfo &PrevInfo, std::vector<int> &vImageIndexMap);
340
341 void Undo() override;
342 void Redo() override;
343
344private:
347 std::vector<int> m_vImageIndexMap;
348};
349
350// --------------
351
353{
354public:
355 CEditorActionTileArt(CEditorMap *pMap, int PreviousImageCount, const char *pFilename, std::vector<int> &vImageIndexMap);
356
357 void Undo() override;
358 void Redo() override;
359
360private:
363 std::vector<int> m_vImageIndexMap;
364};
365
366// --------------
367
369{
370public:
371 CEditorActionQuadArt(CEditorMap *pMap, const std::shared_ptr<CLayerGroup> &pGroup);
372
373 void Undo() override;
374 void Redo() override;
375
376private:
377 std::shared_ptr<CLayerGroup> m_pGroup;
378};
379
380// ----------------------
381
383{
384public:
393
394 CEditorCommandAction(CEditorMap *pMap, EType Type, int *pSelectedCommandIndex, int CommandIndex, const char *pPreviousCommand = nullptr, const char *pCurrentCommand = nullptr);
395
396 void Undo() override;
397 void Redo() override;
398
399private:
403 std::string m_PreviousCommand;
404 std::string m_CurrentCommand;
405};
406
407// ------------------------------
408
410{
411public:
413
414 void Undo() override;
415 void Redo() override;
416
417private:
420};
421
423{
424public:
425 CEditorActionEnvelopeDelete(CEditorMap *pMap, int EnvelopeIndex, std::vector<std::shared_ptr<IEditorEnvelopeReference>> &vpObjectReferences, std::shared_ptr<CEnvelope> &pEnvelope);
426
427 void Undo() override;
428 void Redo() override;
429
430private:
432 std::shared_ptr<CEnvelope> m_pEnv;
433 std::vector<std::shared_ptr<IEditorEnvelopeReference>> m_vpObjectReferences;
434};
435
437{
438public:
439 enum class EEditType
440 {
443 };
444
445 CEditorActionEnvelopeEdit(CEditorMap *pMap, int EnvelopeIndex, EEditType EditType, int Previous, int Current);
446
447 void Undo() override;
448 void Redo() override;
449
450private:
455};
456
458{
459public:
460 CEditorActionEnvelopeEditPointTime(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, CFixedTime Previous, CFixedTime Current);
461
462 void Undo() override;
463 void Redo() override;
464
465private:
470
471 void Apply(CFixedTime Value);
472};
473
475{
476public:
477 enum class EEditType
478 {
481 };
482
483 CEditorActionEnvelopeEditPoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EEditType EditType, int Previous, int Current);
484
485 void Undo() override;
486 void Redo() override;
487
488private:
495
496 void Apply(int Value);
497};
498
500{
501public:
502 CEditorActionAddEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, CFixedTime Time, ColorRGBA Channels);
503
504 void Undo() override;
505 void Redo() override;
506
507private:
511};
512
514{
515public:
516 CEditorActionDeleteEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex);
517
518 void Undo() override;
519 void Redo() override;
520
521private:
525};
526
528{
529public:
530 enum class EType
531 {
535 };
536
537 CEditorActionEditEnvelopePointValue(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EType Type, CFixedTime OldTime, int OldValue, CFixedTime NewTime, int NewValue);
538
539 void Undo() override;
540 void Redo() override;
541
542private:
551
552 void Apply(bool Undo);
553};
554
556{
557public:
558 CEditorActionResetEnvelopePointTangent(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, bool In, CFixedTime OldTime, int OldValue);
559};
560
562{
563public:
564 CEditorActionEditLayerSoundsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerSoundsProp Prop, int Previous, int Current);
565
566 void Undo() override;
567 void Redo() override;
568
569private:
570 void Apply(int Value);
571};
572
574{
575public:
576 CEditorActionDeleteSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex);
577
578 void Undo() override;
579 void Redo() override;
580
581private:
584};
585
587{
588public:
589 CEditorActionEditSoundSourceShape(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, int Value);
590
591 void Undo() override;
592 void Redo() override;
593
594private:
597
598 std::vector<int> m_vOriginalValues;
600
601 void Save();
602};
603
605{
606public:
607 CEditorActionEditSoundSourceProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ESoundProp Prop, int Previous, int Current);
608
609 void Undo() override;
610 void Redo() override;
611
612private:
614
615 void Apply(int Value);
616};
617
619{
620public:
621 CEditorActionEditRectSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ERectangleShapeProp Prop, int Previous, int Current);
622
623 void Undo() override;
624 void Redo() override;
625
626private:
628
629 void Apply(int Value);
630};
631
633{
634public:
635 CEditorActionEditCircleSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ECircleShapeProp Prop, int Previous, int Current);
636
637 void Undo() override;
638 void Redo() override;
639
640private:
642
643 void Apply(int Value);
644};
645
647{
648public:
649 CEditorActionNewEmptySound(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y);
650
651 void Undo() override;
652 void Redo() override;
653
654private:
655 int m_X;
656 int m_Y;
657};
658
660{
661public:
662 CEditorActionNewEmptyQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y);
663
664 void Undo() override;
665 void Redo() override;
666
667private:
668 int m_X;
669 int m_Y;
670};
671
673{
674public:
675 CEditorActionNewQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex);
676
677 void Undo() override;
678 void Redo() override;
679
680private:
682};
683
685{
686public:
687 CEditorActionMoveSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, CPoint OriginalPosition, CPoint CurrentPosition);
688
689 void Undo() override;
690 void Redo() override;
691
692private:
696};
697
698#endif
void Redo() override
Definition editor_actions.cpp:1702
ColorRGBA m_Channels
Definition editor_actions.h:510
void Undo() override
Definition editor_actions.cpp:1687
int m_EnvelopeIndex
Definition editor_actions.h:508
CEditorActionAddEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, CFixedTime Time, ColorRGBA Channels)
Definition editor_actions.cpp:1681
CFixedTime m_Time
Definition editor_actions.h:509
void Undo() override
Definition editor_actions.cpp:576
void Redo() override
Definition editor_actions.cpp:605
bool m_Duplicate
Definition editor_actions.h:216
CEditorActionAddLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex, bool Duplicate=false)
Definition editor_actions.cpp:570
char m_aMapName[IO_MAX_PATH_LENGTH]
Definition editor_actions.h:345
SPrevInfo m_PrevInfo
Definition editor_actions.h:346
std::vector< int > m_vImageIndexMap
Definition editor_actions.h:347
CEditorActionAppendMap(CEditorMap *pMap, const char *pMapName, const SPrevInfo &PrevInfo, std::vector< int > &vImageIndexMap)
Definition editor_actions.cpp:1192
void Redo() override
Definition editor_actions.cpp:1258
void Undo() override
Definition editor_actions.cpp:1199
std::string m_Display
Definition editor_actions.h:183
bool m_Reverse
Definition editor_actions.h:184
CEditorActionBulk(CEditorMap *pMap, const std::vector< std::shared_ptr< IEditorAction > > &vpActions, const char *pDisplay=nullptr, bool Reverse=false)
Definition editor_actions.cpp:470
void Redo() override
Definition editor_actions.cpp:508
std::vector< std::shared_ptr< IEditorAction > > m_vpActions
Definition editor_actions.h:182
void Undo() override
Definition editor_actions.cpp:488
CEditorActionDeleteEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex)
Definition editor_actions.cpp:1710
CEnvPoint_runtime m_Point
Definition editor_actions.h:524
void Redo() override
Definition editor_actions.cpp:1724
int m_PointIndex
Definition editor_actions.h:523
void Undo() override
Definition editor_actions.cpp:1716
int m_EnvelopeIndex
Definition editor_actions.h:522
CEditorActionDeleteLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex)
Definition editor_actions.cpp:632
void Undo() override
Definition editor_actions.cpp:667
void Redo() override
Definition editor_actions.cpp:638
std::vector< CQuad > m_vDeletedQuads
Definition editor_actions.h:99
void Redo() override
Definition editor_actions.cpp:308
std::vector< int > m_vQuadsIndices
Definition editor_actions.h:98
CEditorActionDeleteQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector< int > const &vQuadsIndices, std::vector< CQuad > const &vDeletedQuads)
Definition editor_actions.cpp:293
void Undo() override
Definition editor_actions.cpp:299
CSoundSource m_Source
Definition editor_actions.h:583
void Undo() override
Definition editor_actions.cpp:1785
void Redo() override
Definition editor_actions.cpp:1793
int m_SourceIndex
Definition editor_actions.h:582
CEditorActionDeleteSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex)
Definition editor_actions.cpp:1776
void Undo() override
Definition editor_actions.cpp:1985
void Redo() override
Definition editor_actions.cpp:1990
int m_SourceIndex
Definition editor_actions.h:641
void Apply(int Value)
Definition editor_actions.cpp:1995
CEditorActionEditCircleSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ECircleShapeProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1976
EType
Definition editor_actions.h:531
@ TANGENT_OUT
Definition editor_actions.h:533
@ POINT
Definition editor_actions.h:534
@ TANGENT_IN
Definition editor_actions.h:532
CEditorActionEditEnvelopePointValue(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EType Type, CFixedTime OldTime, int OldValue, CFixedTime NewTime, int NewValue)
Definition editor_actions.cpp:1614
int m_EnvelopeIndex
Definition editor_actions.h:543
int m_Channel
Definition editor_actions.h:545
int m_PointIndex
Definition editor_actions.h:544
void Undo() override
Definition editor_actions.cpp:1620
int m_OldValue
Definition editor_actions.h:548
EType m_Type
Definition editor_actions.h:546
int m_NewValue
Definition editor_actions.h:550
void Redo() override
Definition editor_actions.cpp:1625
CFixedTime m_NewTime
Definition editor_actions.h:549
void Apply(bool Undo)
Definition editor_actions.cpp:1630
CFixedTime m_OldTime
Definition editor_actions.h:547
EGroupProp m_Prop
Definition editor_actions.h:252
int m_Previous
Definition editor_actions.h:253
void Redo() override
Definition editor_actions.cpp:772
CEditorActionEditGroupProp(CEditorMap *pMap, int GroupIndex, EGroupProp Prop, int Previous, int Current)
Definition editor_actions.cpp:741
int m_Current
Definition editor_actions.h:254
int m_GroupIndex
Definition editor_actions.h:251
void Apply(int Value)
Definition editor_actions.cpp:784
void Undo() override
Definition editor_actions.cpp:760
int m_Current
Definition editor_actions.h:268
E m_Prop
Definition editor_actions.h:266
int m_Previous
Definition editor_actions.h:267
CEditorActionEditLayerPropBase(CEditorMap *pMap, int GroupIndex, int LayerIndex, E Prop, int Previous, int Current)
Definition editor_actions.cpp:811
CEditorActionEditLayerProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerProp Prop, int Previous, int Current)
Definition editor_actions.cpp:816
void Apply(int Value)
Definition editor_actions.cpp:852
void Undo() override
Definition editor_actions.cpp:828
void Redo() override
Definition editor_actions.cpp:840
CEditorActionEditLayerQuadsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerQuadsProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1104
void Apply(int Value)
Definition editor_actions.cpp:1123
void Undo() override
Definition editor_actions.cpp:1113
void Redo() override
Definition editor_actions.cpp:1118
void Redo() override
Definition editor_actions.cpp:1755
CEditorActionEditLayerSoundsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerSoundsProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1741
void Undo() override
Definition editor_actions.cpp:1750
void Apply(int Value)
Definition editor_actions.cpp:1760
std::map< int, std::shared_ptr< CLayer > > m_SavedLayers
Definition editor_actions.h:294
void RestoreLayer(int Layer, const std::shared_ptr< CLayerTiles > &pLayerTiles)
Definition editor_actions.cpp:1070
void SetSavedLayers(const std::map< int, std::shared_ptr< CLayer > > &SavedLayers)
Definition editor_actions.cpp:895
void Undo() override
Definition editor_actions.cpp:900
void Redo() override
Definition editor_actions.cpp:986
CEditorActionEditLayerTilesProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ETilesProp Prop, int Previous, int Current)
Definition editor_actions.cpp:874
int m_GroupIndex
Definition editor_actions.h:320
CEditorActionEditLayersGroupAndOrder(CEditorMap *pMap, int GroupIndex, const std::vector< int > &LayerIndices, int NewGroupIndex, const std::vector< int > &NewLayerIndices)
Definition editor_actions.cpp:1139
void Redo() override
Definition editor_actions.cpp:1169
std::vector< int > m_LayerIndices
Definition editor_actions.h:321
std::vector< int > m_NewLayerIndices
Definition editor_actions.h:323
void Undo() override
Definition editor_actions.cpp:1148
int m_NewGroupIndex
Definition editor_actions.h:322
void Apply(std::vector< CColor > &vValue)
Definition editor_actions.cpp:368
void Undo() override
Definition editor_actions.cpp:358
CEditorActionEditQuadColor(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector< CColor > const &vPreviousColors, std::vector< CColor > const &vCurrentColors)
Definition editor_actions.cpp:352
std::vector< CColor > m_vPreviousColors
Definition editor_actions.h:130
int m_QuadIndex
Definition editor_actions.h:129
std::vector< CColor > m_vCurrentColors
Definition editor_actions.h:131
void Redo() override
Definition editor_actions.cpp:363
int m_PointIndex
Definition editor_actions.h:163
EQuadPointProp m_Prop
Definition editor_actions.h:164
CEditorActionEditQuadPointProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, int PointIndex, EQuadPointProp Prop, int Previous, int Current)
Definition editor_actions.cpp:417
int m_QuadIndex
Definition editor_actions.h:162
void Redo() override
Definition editor_actions.cpp:435
int m_Previous
Definition editor_actions.h:165
void Apply(int Value)
Definition editor_actions.cpp:440
int m_Current
Definition editor_actions.h:166
void Undo() override
Definition editor_actions.cpp:430
void Apply(const std::vector< CPoint > &vValue)
Definition editor_actions.cpp:344
void Redo() override
Definition editor_actions.cpp:339
void Undo() override
Definition editor_actions.cpp:334
std::vector< CPoint > m_vPreviousPoints
Definition editor_actions.h:114
CEditorActionEditQuadPoint(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector< CPoint > const &vPreviousPoints, std::vector< CPoint > const &vCurrentPoints)
Definition editor_actions.cpp:328
std::vector< CPoint > m_vCurrentPoints
Definition editor_actions.h:115
int m_QuadIndex
Definition editor_actions.h:113
int m_QuadIndex
Definition editor_actions.h:145
void Undo() override
Definition editor_actions.cpp:393
EQuadProp m_Prop
Definition editor_actions.h:146
int m_Current
Definition editor_actions.h:148
int m_Previous
Definition editor_actions.h:147
void Redo() override
Definition editor_actions.cpp:398
void Apply(int Value)
Definition editor_actions.cpp:403
CEditorActionEditQuadProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, EQuadProp Prop, int Previous, int Current)
Definition editor_actions.cpp:376
void Undo() override
Definition editor_actions.cpp:1949
CEditorActionEditRectSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ERectangleShapeProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1939
void Apply(int Value)
Definition editor_actions.cpp:1959
int m_SourceIndex
Definition editor_actions.h:627
void Redo() override
Definition editor_actions.cpp:1954
void Undo() override
Definition editor_actions.cpp:1880
CEditorActionEditSoundSourceProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ESoundProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1862
int m_SourceIndex
Definition editor_actions.h:613
void Redo() override
Definition editor_actions.cpp:1885
void Apply(int Value)
Definition editor_actions.cpp:1890
void Save()
Definition editor_actions.cpp:1854
void Undo() override
Definition editor_actions.cpp:1818
int m_SourceIndex
Definition editor_actions.h:595
void Redo() override
Definition editor_actions.cpp:1828
CSoundShape m_SavedShape
Definition editor_actions.h:599
std::vector< int > m_vOriginalValues
Definition editor_actions.h:598
int m_CurrentValue
Definition editor_actions.h:596
CEditorActionEditSoundSourceShape(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, int Value)
Definition editor_actions.cpp:1803
void Undo() override
Definition editor_actions.cpp:1467
CEnvelope::EType m_EnvelopeType
Definition editor_actions.h:418
void Redo() override
Definition editor_actions.cpp:1475
int m_PreviousSelectedEnvelope
Definition editor_actions.h:419
CEditorActionEnvelopeAdd(CEditorMap *pMap, CEnvelope::EType EnvelopeType)
Definition editor_actions.cpp:1459
void Redo() override
Definition editor_actions.cpp:1495
std::vector< std::shared_ptr< IEditorEnvelopeReference > > m_vpObjectReferences
Definition editor_actions.h:433
void Undo() override
Definition editor_actions.cpp:1488
CEditorActionEnvelopeDelete(CEditorMap *pMap, int EnvelopeIndex, std::vector< std::shared_ptr< IEditorEnvelopeReference > > &vpObjectReferences, std::shared_ptr< CEnvelope > &pEnvelope)
Definition editor_actions.cpp:1482
int m_EnvelopeIndex
Definition editor_actions.h:431
std::shared_ptr< CEnvelope > m_pEnv
Definition editor_actions.h:432
void Apply(CFixedTime Value)
Definition editor_actions.cpp:1564
CFixedTime m_Current
Definition editor_actions.h:469
void Undo() override
Definition editor_actions.cpp:1554
CEditorActionEnvelopeEditPointTime(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, CFixedTime Previous, CFixedTime Current)
Definition editor_actions.cpp:1548
int m_EnvelopeIndex
Definition editor_actions.h:466
int m_PointIndex
Definition editor_actions.h:467
CFixedTime m_Previous
Definition editor_actions.h:468
void Redo() override
Definition editor_actions.cpp:1559
int m_Channel
Definition editor_actions.h:491
void Apply(int Value)
Definition editor_actions.cpp:1589
EEditType
Definition editor_actions.h:478
@ CURVE_TYPE
Definition editor_actions.h:480
@ VALUE
Definition editor_actions.h:479
CEditorActionEnvelopeEditPoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EEditType EditType, int Previous, int Current)
Definition editor_actions.cpp:1570
int m_PointIndex
Definition editor_actions.h:490
int m_Current
Definition editor_actions.h:494
int m_EnvelopeIndex
Definition editor_actions.h:489
void Redo() override
Definition editor_actions.cpp:1584
void Undo() override
Definition editor_actions.cpp:1579
int m_Previous
Definition editor_actions.h:493
EEditType m_EditType
Definition editor_actions.h:492
int m_Previous
Definition editor_actions.h:453
int m_EnvelopeIndex
Definition editor_actions.h:451
EEditType
Definition editor_actions.h:440
@ SYNC
Definition editor_actions.h:441
@ ORDER
Definition editor_actions.h:442
void Undo() override
Definition editor_actions.cpp:1510
CEditorActionEnvelopeEdit(CEditorMap *pMap, int EnvelopeIndex, EEditType EditType, int Previous, int Current)
Definition editor_actions.cpp:1501
int m_Current
Definition editor_actions.h:454
EEditType m_EditType
Definition editor_actions.h:452
void Redo() override
Definition editor_actions.cpp:1529
int m_GroupIndex
Definition editor_actions.h:237
bool m_Delete
Definition editor_actions.h:238
std::shared_ptr< CLayerGroup > m_pGroup
Definition editor_actions.h:239
void Undo() override
Definition editor_actions.cpp:704
void Redo() override
Definition editor_actions.cpp:723
CEditorActionGroup(CEditorMap *pMap, int GroupIndex, bool Delete)
Definition editor_actions.cpp:694
int m_LayerIndex
Definition editor_actions.h:30
int m_GroupIndex
Definition editor_actions.h:29
CEditorActionLayerBase(CEditorMap *pMap, int GroupIndex, int LayerIndex)
Definition editor_actions.cpp:562
std::shared_ptr< CLayer > m_pLayer
Definition editor_actions.h:31
void Undo() override
Definition editor_actions.cpp:2096
void Redo() override
Definition editor_actions.cpp:2102
CPoint m_OriginalPosition
Definition editor_actions.h:694
int m_SourceIndex
Definition editor_actions.h:693
CPoint m_CurrentPosition
Definition editor_actions.h:695
CEditorActionMoveSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, CPoint OriginalPosition, CPoint CurrentPosition)
Definition editor_actions.cpp:2090
int m_Y
Definition editor_actions.h:669
void Undo() override
Definition editor_actions.cpp:2039
void Redo() override
Definition editor_actions.cpp:2048
CEditorActionNewEmptyQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y)
Definition editor_actions.cpp:2033
int m_X
Definition editor_actions.h:668
void Undo() override
Definition editor_actions.cpp:2016
CEditorActionNewEmptySound(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y)
Definition editor_actions.cpp:2010
int m_X
Definition editor_actions.h:655
int m_Y
Definition editor_actions.h:656
void Redo() override
Definition editor_actions.cpp:2025
void Undo() override
Definition editor_actions.cpp:2076
CQuad m_Quad
Definition editor_actions.h:681
void Redo() override
Definition editor_actions.cpp:2082
CEditorActionNewQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex)
Definition editor_actions.cpp:2067
void Undo() override
Definition editor_actions.cpp:1334
CEditorActionQuadArt(CEditorMap *pMap, const std::shared_ptr< CLayerGroup > &pGroup)
Definition editor_actions.cpp:1328
std::shared_ptr< CLayerGroup > m_pGroup
Definition editor_actions.h:377
void Redo() override
Definition editor_actions.cpp:1343
CEditorActionQuadPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector< CQuad > &vBrush)
Definition editor_actions.cpp:244
void Redo() override
Definition editor_actions.cpp:258
std::vector< CQuad > m_vBrush
Definition editor_actions.h:72
void Undo() override
Definition editor_actions.cpp:250
CEditorActionResetEnvelopePointTangent(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, bool In, CFixedTime OldTime, int OldValue)
Definition editor_actions.cpp:1673
CEditorActionSoundPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector< CSoundSource > &vBrush)
Definition editor_actions.cpp:267
std::vector< CSoundSource > m_vBrush
Definition editor_actions.h:84
void Undo() override
Definition editor_actions.cpp:273
void Redo() override
Definition editor_actions.cpp:282
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition editor_actions.h:362
int m_PreviousImageCount
Definition editor_actions.h:361
void Redo() override
Definition editor_actions.cpp:1315
CEditorActionTileArt(CEditorMap *pMap, int PreviousImageCount, const char *pFilename, std::vector< int > &vImageIndexMap)
Definition editor_actions.cpp:1270
std::vector< int > m_vImageIndexMap
Definition editor_actions.h:363
void Undo() override
Definition editor_actions.cpp:1277
void Apply(bool Undo)
Definition editor_actions.cpp:535
void ComputeInfos()
Definition editor_actions.cpp:553
void Undo() override
Definition editor_actions.cpp:525
void Redo() override
Definition editor_actions.cpp:530
int m_TotalChanges
Definition editor_actions.h:199
CEditorActionTileChanges(CEditorMap *pMap, int GroupIndex, int LayerIndex, const char *pAction, const EditorTileStateChangeHistory< STileStateChange > &Changes)
Definition editor_actions.cpp:518
EditorTileStateChangeHistory< STileStateChange > m_Changes
Definition editor_actions.h:198
void Undo() override
Definition editor_actions.cpp:129
int m_TotalTilesDrawn
Definition editor_actions.h:54
void Apply(bool Undo)
Definition editor_actions.cpp:139
bool IsEmpty() override
Definition editor_actions.cpp:124
CEditorBrushDrawAction(CEditorMap *pMap, int Group)
Definition editor_actions.cpp:15
EditorTileStateChangeHistory< STeleTileStateChange > m_TeleTileChanges
Definition editor_actions.h:49
void SetInfos()
Definition editor_actions.cpp:71
int m_Group
Definition editor_actions.h:44
EditorTileStateChangeHistory< SSwitchTileStateChange > m_SwitchTileChanges
Definition editor_actions.h:51
void Redo() override
Definition editor_actions.cpp:134
int m_TotalLayers
Definition editor_actions.h:55
std::vector< std::pair< int, EditorTileStateChangeHistory< STileStateChange > > > m_vTileChanges
Definition editor_actions.h:48
EditorTileStateChangeHistory< STuneTileStateChange > m_TuneTileChanges
Definition editor_actions.h:52
EditorTileStateChangeHistory< SSpeedupTileStateChange > m_SpeedupTileChanges
Definition editor_actions.h:50
EType
Definition editor_actions.h:386
@ DELETE
Definition editor_actions.h:387
@ MOVE_DOWN
Definition editor_actions.h:391
@ EDIT
Definition editor_actions.h:389
@ ADD
Definition editor_actions.h:388
@ MOVE_UP
Definition editor_actions.h:390
void Redo() override
Definition editor_actions.cpp:1420
CEditorCommandAction(CEditorMap *pMap, EType Type, int *pSelectedCommandIndex, int CommandIndex, const char *pPreviousCommand=nullptr, const char *pCurrentCommand=nullptr)
Definition editor_actions.cpp:1352
std::string m_PreviousCommand
Definition editor_actions.h:403
EType m_Type
Definition editor_actions.h:400
std::string m_CurrentCommand
Definition editor_actions.h:404
int m_CommandIndex
Definition editor_actions.h:402
int * m_pSelectedCommandIndex
Definition editor_actions.h:401
void Undo() override
Definition editor_actions.cpp:1383
Definition map.h:56
Definition mapitems.h:526
EType
Definition envelope.h:18
Definition mapitems.h:259
Definition layer_group.h:12
Definition mapitems.h:337
Definition mapitems.h:557
Definition mapitems.h:588
Definition color.h:182
IEditorAction(CEditorMap *pMap)
Definition editor_action.h:9
Definition references.h:13
ELayerQuadsProp
Definition mapitems.h:115
EQuadProp
Definition mapitems.h:5
EQuadPointProp
Definition mapitems.h:19
ETilesProp
Definition mapitems.h:70
ERectangleShapeProp
Definition mapitems.h:46
ECircleShapeProp
Definition mapitems.h:54
ELayerSoundsProp
Definition mapitems.h:122
ELayerProp
Definition mapitems.h:61
EGroupProp
Definition mapitems.h:99
ESoundProp
Definition mapitems.h:30
std::map< int, std::map< int, T > > EditorTileStateChangeHistory
Definition layer_tiles.h:22
ivec2 CPoint
Definition mapitems.h:255
Definition editor_actions.h:332
int m_Sounds
Definition editor_actions.h:335
int m_Groups
Definition editor_actions.h:333
int m_Envelopes
Definition editor_actions.h:336
int m_Images
Definition editor_actions.h:334
#define E(buf, str)
constexpr auto IO_MAX_PATH_LENGTH
Definition types.h:51