DDraceNetwork 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
12#include <game/editor/quadart.h>
13#include <game/mapitems.h>
14
15#include <memory>
16#include <string>
17#include <vector>
18
19class CEditorMap;
21
23{
24public:
25 CEditorActionLayerBase(CEditorMap *pMap, int GroupIndex, int LayerIndex);
26
27protected:
30 std::shared_ptr<CLayer> m_pLayer;
31};
32
34{
35public:
36 CEditorBrushDrawAction(CEditorMap *pMap, int Group);
37
38 void Undo() override;
39 void Redo() override;
40 bool IsEmpty() override;
41
42private:
44 // m_vTileChanges is a list of changes for each layer that was modified.
45 // The std::pair is used to pair one layer (index) with its history (2D map).
46 // EditorTileStateChangeHistory<T> is a 2D map, storing a change item at a specific y,x position.
47 std::vector<std::pair<int, EditorTileStateChangeHistory<STileStateChange>>> m_vTileChanges;
52
55
56 void Apply(bool Undo);
57 void SetInfos();
58};
59
60// ---------------------------------------------------------
61
63{
64public:
65 CEditorActionQuadPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector<CQuad> &vBrush);
66
67 void Undo() override;
68 void Redo() override;
69
70private:
71 std::vector<CQuad> m_vBrush;
72};
73
75{
76public:
77 CEditorActionSoundPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector<CSoundSource> &vBrush);
78
79 void Undo() override;
80 void Redo() override;
81
82private:
83 std::vector<CSoundSource> m_vBrush;
84};
85
86// -------------------------------------------------------------
87
89{
90public:
91 CEditorActionDeleteQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector<int> const &vQuadsIndices, std::vector<CQuad> const &vDeletedQuads);
92
93 void Undo() override;
94 void Redo() override;
95
96private:
97 std::vector<int> m_vQuadsIndices;
98 std::vector<CQuad> m_vDeletedQuads;
99};
100
101// -------------------------------------------------------------
102
104{
105public:
106 CEditorActionEditQuadPoint(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector<CPoint> const &vPreviousPoints, std::vector<CPoint> const &vCurrentPoints);
107
108 void Undo() override;
109 void Redo() override;
110
111private:
113 std::vector<CPoint> m_vPreviousPoints;
114 std::vector<CPoint> m_vCurrentPoints;
115
116 void Apply(const std::vector<CPoint> &vValue);
117};
118
120{
121public:
122 CEditorActionEditQuadColor(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector<CColor> const &vPreviousColors, std::vector<CColor> const &vCurrentColors);
123
124 void Undo() override;
125 void Redo() override;
126
127private:
129 std::vector<CColor> m_vPreviousColors;
130 std::vector<CColor> m_vCurrentColors;
131
132 void Apply(std::vector<CColor> &vValue);
133};
134
136{
137public:
138 CEditorActionEditQuadProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, EQuadProp Prop, int Previous, int Current);
139
140 void Undo() override;
141 void Redo() override;
142
143private:
148
149 void Apply(int Value);
150};
151
153{
154public:
155 CEditorActionEditQuadPointProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, int PointIndex, EQuadPointProp Prop, int Previous, int Current);
156
157 void Undo() override;
158 void Redo() override;
159
160private:
166
167 void Apply(int Value);
168};
169
170// -------------------------------------------------------------
171
173{
174public:
175 CEditorActionBulk(CEditorMap *pMap, const std::vector<std::shared_ptr<IEditorAction>> &vpActions, const char *pDisplay = nullptr, bool Reverse = false);
176
177 void Undo() override;
178 void Redo() override;
179
180private:
181 std::vector<std::shared_ptr<IEditorAction>> m_vpActions;
182 std::string m_Display;
184};
185
186//
187
189{
190public:
191 CEditorActionTileChanges(CEditorMap *pMap, int GroupIndex, int LayerIndex, const char *pAction, const EditorTileStateChangeHistory<STileStateChange> &Changes);
192
193 void Undo() override;
194 void Redo() override;
195
196private:
199
200 void ComputeInfos();
201 void Apply(bool Undo);
202};
203
204// -------------------------------------------------------------
205
207{
208public:
209 CEditorActionAddLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex, bool Duplicate = false);
210
211 void Undo() override;
212 void Redo() override;
213
214private:
216};
217
219{
220public:
221 CEditorActionDeleteLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex);
222
223 void Undo() override;
224 void Redo() override;
225};
226
228{
229public:
230 CEditorActionGroup(CEditorMap *pMap, int GroupIndex, bool Delete);
231
232 void Undo() override;
233 void Redo() override;
234
235private:
238 std::shared_ptr<CLayerGroup> m_pGroup;
239};
240
242{
243public:
244 CEditorActionEditGroupProp(CEditorMap *pMap, int GroupIndex, EGroupProp Prop, int Previous, int Current);
245
246 void Undo() override;
247 void Redo() override;
248
249private:
254
255 void Apply(int Value);
256};
257
258template<typename E>
260{
261public:
262 CEditorActionEditLayerPropBase(CEditorMap *pMap, int GroupIndex, int LayerIndex, E Prop, int Previous, int Current);
263
264protected:
268};
269
271{
272public:
273 CEditorActionEditLayerProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerProp Prop, int Previous, int Current);
274
275 void Undo() override;
276 void Redo() override;
277
278private:
279 void Apply(int Value);
280};
281
283{
284public:
285 CEditorActionEditLayerTilesProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ETilesProp Prop, int Previous, int Current);
286
287 void Undo() override;
288 void Redo() override;
289
290 void SetSavedLayers(const std::map<int, std::shared_ptr<CLayer>> &SavedLayers);
291
292private:
293 std::map<int, std::shared_ptr<CLayer>> m_SavedLayers;
294
295 void RestoreLayer(int Layer, const std::shared_ptr<CLayerTiles> &pLayerTiles);
296};
297
299{
300public:
301 CEditorActionEditLayerQuadsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerQuadsProp Prop, int Previous, int Current);
302
303 void Undo() override;
304 void Redo() override;
305
306private:
307 void Apply(int Value);
308};
309
311{
312public:
313 CEditorActionEditLayersGroupAndOrder(CEditorMap *pMap, int GroupIndex, const std::vector<int> &LayerIndices, int NewGroupIndex, const std::vector<int> &NewLayerIndices);
314
315 void Undo() override;
316 void Redo() override;
317
318private:
320 std::vector<int> m_LayerIndices;
322 std::vector<int> m_NewLayerIndices;
323};
324
325// --------------
326
328{
329public:
331 {
336 };
337
338 CEditorActionAppendMap(CEditorMap *pMap, const char *pMapName, const SPrevInfo &PrevInfo, std::vector<int> &vImageIndexMap);
339
340 void Undo() override;
341 void Redo() override;
342
343private:
346 std::vector<int> m_vImageIndexMap;
347};
348
349// --------------
350
352{
353public:
354 CEditorActionTileArt(CEditorMap *pMap, int PreviousImageCount, const char *pTileArtFile, std::vector<int> &vImageIndexMap);
355
356 void Undo() override;
357 void Redo() override;
358
359private:
362 std::vector<int> m_vImageIndexMap;
363};
364
365// --------------
366
368{
369public:
371
372 void Undo() override;
373 void Redo() override;
374
375private:
377};
378
379// ----------------------
380
382{
383public:
392
393 CEditorCommandAction(CEditorMap *pMap, EType Type, int *pSelectedCommandIndex, int CommandIndex, const char *pPreviousCommand = nullptr, const char *pCurrentCommand = nullptr);
394
395 void Undo() override;
396 void Redo() override;
397
398private:
402 std::string m_PreviousCommand;
403 std::string m_CurrentCommand;
404};
405
406// ------------------------------
407
409{
410public:
412
413 void Undo() override;
414 void Redo() override;
415
416private:
419};
420
422{
423public:
424 CEditorActionEnvelopeDelete(CEditorMap *pMap, int EnvelopeIndex, std::vector<std::shared_ptr<IEditorEnvelopeReference>> &vpObjectReferences, std::shared_ptr<CEnvelope> &pEnvelope);
425
426 void Undo() override;
427 void Redo() override;
428
429private:
431 std::shared_ptr<CEnvelope> m_pEnv;
432 std::vector<std::shared_ptr<IEditorEnvelopeReference>> m_vpObjectReferences;
433};
434
436{
437public:
438 enum class EEditType
439 {
442 };
443
444 CEditorActionEnvelopeEdit(CEditorMap *pMap, int EnvelopeIndex, EEditType EditType, int Previous, int Current);
445
446 void Undo() override;
447 void Redo() override;
448
449private:
454 std::shared_ptr<CEnvelope> m_pEnv;
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 std::shared_ptr<CEnvelope> m_pEnv;
471
472 void Apply(CFixedTime Value);
473};
474
476{
477public:
478 enum class EEditType
479 {
482 };
483
484 CEditorActionEnvelopeEditPoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EEditType EditType, int Previous, int Current);
485
486 void Undo() override;
487 void Redo() override;
488
489private:
496 std::shared_ptr<CEnvelope> m_pEnv;
497
498 void Apply(int Value);
499};
500
502{
503public:
504 CEditorActionAddEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, CFixedTime Time, ColorRGBA Channels);
505
506 void Undo() override;
507 void Redo() override;
508
509private:
513};
514
516{
517public:
518 CEditorActionDeleteEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex);
519
520 void Undo() override;
521 void Redo() override;
522
523private:
527};
528
530{
531public:
538
539 CEditorActionEditEnvelopePointValue(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EType Type, CFixedTime OldTime, int OldValue, CFixedTime NewTime, int NewValue);
540
541 void Undo() override;
542 void Redo() override;
543
544private:
553
554 void Apply(bool Undo);
555};
556
558{
559public:
560 CEditorActionResetEnvelopePointTangent(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, bool In, CFixedTime OldTime, int OldValue);
561};
562
564{
565public:
566 CEditorActionEditLayerSoundsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerSoundsProp Prop, int Previous, int Current);
567
568 void Undo() override;
569 void Redo() override;
570
571private:
572 void Apply(int Value);
573};
574
576{
577public:
578 CEditorActionDeleteSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex);
579
580 void Undo() override;
581 void Redo() override;
582
583private:
586};
587
589{
590public:
591 CEditorActionEditSoundSourceShape(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, int Value);
592
593 void Undo() override;
594 void Redo() override;
595
596private:
599
600 std::vector<int> m_vOriginalValues;
602
603 void Save();
604};
605
607{
608public:
609 CEditorActionEditSoundSourceProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ESoundProp Prop, int Previous, int Current);
610
611 void Undo() override;
612 void Redo() override;
613
614private:
616
617 void Apply(int Value);
618};
619
621{
622public:
623 CEditorActionEditRectSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ERectangleShapeProp Prop, int Previous, int Current);
624
625 void Undo() override;
626 void Redo() override;
627
628private:
630
631 void Apply(int Value);
632};
633
635{
636public:
637 CEditorActionEditCircleSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ECircleShapeProp Prop, int Previous, int Current);
638
639 void Undo() override;
640 void Redo() override;
641
642private:
644
645 void Apply(int Value);
646};
647
649{
650public:
651 CEditorActionNewEmptySound(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y);
652
653 void Undo() override;
654 void Redo() override;
655
656private:
657 int m_X;
658 int m_Y;
659};
660
662{
663public:
664 CEditorActionNewEmptyQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y);
665
666 void Undo() override;
667 void Redo() override;
668
669private:
670 int m_X;
671 int m_Y;
672};
673
675{
676public:
677 CEditorActionNewQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex);
678
679 void Undo() override;
680 void Redo() override;
681
682private:
684};
685
687{
688public:
689 CEditorActionMoveSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, CPoint OriginalPosition, CPoint CurrentPosition);
690
691 void Undo() override;
692 void Redo() override;
693
694private:
698};
699
700#endif
void Redo() override
Definition editor_actions.cpp:1698
ColorRGBA m_Channels
Definition editor_actions.h:512
void Undo() override
Definition editor_actions.cpp:1683
int m_EnvelopeIndex
Definition editor_actions.h:510
CEditorActionAddEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, CFixedTime Time, ColorRGBA Channels)
Definition editor_actions.cpp:1677
CFixedTime m_Time
Definition editor_actions.h:511
void Undo() override
Definition editor_actions.cpp:574
void Redo() override
Definition editor_actions.cpp:603
bool m_Duplicate
Definition editor_actions.h:215
CEditorActionAddLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex, bool Duplicate=false)
Definition editor_actions.cpp:568
char m_aMapName[IO_MAX_PATH_LENGTH]
Definition editor_actions.h:344
SPrevInfo m_PrevInfo
Definition editor_actions.h:345
std::vector< int > m_vImageIndexMap
Definition editor_actions.h:346
CEditorActionAppendMap(CEditorMap *pMap, const char *pMapName, const SPrevInfo &PrevInfo, std::vector< int > &vImageIndexMap)
Definition editor_actions.cpp:1190
void Redo() override
Definition editor_actions.cpp:1256
void Undo() override
Definition editor_actions.cpp:1197
std::string m_Display
Definition editor_actions.h:182
bool m_Reverse
Definition editor_actions.h:183
CEditorActionBulk(CEditorMap *pMap, const std::vector< std::shared_ptr< IEditorAction > > &vpActions, const char *pDisplay=nullptr, bool Reverse=false)
Definition editor_actions.cpp:468
void Redo() override
Definition editor_actions.cpp:506
std::vector< std::shared_ptr< IEditorAction > > m_vpActions
Definition editor_actions.h:181
void Undo() override
Definition editor_actions.cpp:486
CEditorActionDeleteEnvelopePoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex)
Definition editor_actions.cpp:1706
CEnvPoint_runtime m_Point
Definition editor_actions.h:526
void Redo() override
Definition editor_actions.cpp:1720
int m_PointIndex
Definition editor_actions.h:525
void Undo() override
Definition editor_actions.cpp:1712
int m_EnvelopeIndex
Definition editor_actions.h:524
CEditorActionDeleteLayer(CEditorMap *pMap, int GroupIndex, int LayerIndex)
Definition editor_actions.cpp:630
void Undo() override
Definition editor_actions.cpp:665
void Redo() override
Definition editor_actions.cpp:636
std::vector< CQuad > m_vDeletedQuads
Definition editor_actions.h:98
void Redo() override
Definition editor_actions.cpp:306
std::vector< int > m_vQuadsIndices
Definition editor_actions.h:97
CEditorActionDeleteQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector< int > const &vQuadsIndices, std::vector< CQuad > const &vDeletedQuads)
Definition editor_actions.cpp:291
void Undo() override
Definition editor_actions.cpp:297
CSoundSource m_Source
Definition editor_actions.h:585
void Undo() override
Definition editor_actions.cpp:1781
void Redo() override
Definition editor_actions.cpp:1789
int m_SourceIndex
Definition editor_actions.h:584
CEditorActionDeleteSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex)
Definition editor_actions.cpp:1772
void Undo() override
Definition editor_actions.cpp:1981
void Redo() override
Definition editor_actions.cpp:1986
int m_SourceIndex
Definition editor_actions.h:643
void Apply(int Value)
Definition editor_actions.cpp:1991
CEditorActionEditCircleSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ECircleShapeProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1972
EType
Definition editor_actions.h:533
@ TANGENT_OUT
Definition editor_actions.h:535
@ POINT
Definition editor_actions.h:536
@ TANGENT_IN
Definition editor_actions.h:534
CEditorActionEditEnvelopePointValue(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EType Type, CFixedTime OldTime, int OldValue, CFixedTime NewTime, int NewValue)
Definition editor_actions.cpp:1610
int m_EnvelopeIndex
Definition editor_actions.h:545
int m_Channel
Definition editor_actions.h:547
int m_PointIndex
Definition editor_actions.h:546
void Undo() override
Definition editor_actions.cpp:1616
int m_OldValue
Definition editor_actions.h:550
EType m_Type
Definition editor_actions.h:548
int m_NewValue
Definition editor_actions.h:552
void Redo() override
Definition editor_actions.cpp:1621
CFixedTime m_NewTime
Definition editor_actions.h:551
void Apply(bool Undo)
Definition editor_actions.cpp:1626
CFixedTime m_OldTime
Definition editor_actions.h:549
EGroupProp m_Prop
Definition editor_actions.h:251
int m_Previous
Definition editor_actions.h:252
void Redo() override
Definition editor_actions.cpp:770
CEditorActionEditGroupProp(CEditorMap *pMap, int GroupIndex, EGroupProp Prop, int Previous, int Current)
Definition editor_actions.cpp:739
int m_Current
Definition editor_actions.h:253
int m_GroupIndex
Definition editor_actions.h:250
void Apply(int Value)
Definition editor_actions.cpp:782
void Undo() override
Definition editor_actions.cpp:758
int m_Current
Definition editor_actions.h:267
E m_Prop
Definition editor_actions.h:265
int m_Previous
Definition editor_actions.h:266
CEditorActionEditLayerPropBase(CEditorMap *pMap, int GroupIndex, int LayerIndex, E Prop, int Previous, int Current)
Definition editor_actions.cpp:809
CEditorActionEditLayerProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerProp Prop, int Previous, int Current)
Definition editor_actions.cpp:814
void Apply(int Value)
Definition editor_actions.cpp:850
void Undo() override
Definition editor_actions.cpp:826
void Redo() override
Definition editor_actions.cpp:838
CEditorActionEditLayerQuadsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerQuadsProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1102
void Apply(int Value)
Definition editor_actions.cpp:1121
void Undo() override
Definition editor_actions.cpp:1111
void Redo() override
Definition editor_actions.cpp:1116
void Redo() override
Definition editor_actions.cpp:1751
CEditorActionEditLayerSoundsProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ELayerSoundsProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1737
void Undo() override
Definition editor_actions.cpp:1746
void Apply(int Value)
Definition editor_actions.cpp:1756
std::map< int, std::shared_ptr< CLayer > > m_SavedLayers
Definition editor_actions.h:293
void RestoreLayer(int Layer, const std::shared_ptr< CLayerTiles > &pLayerTiles)
Definition editor_actions.cpp:1068
void SetSavedLayers(const std::map< int, std::shared_ptr< CLayer > > &SavedLayers)
Definition editor_actions.cpp:893
void Undo() override
Definition editor_actions.cpp:898
void Redo() override
Definition editor_actions.cpp:984
CEditorActionEditLayerTilesProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, ETilesProp Prop, int Previous, int Current)
Definition editor_actions.cpp:872
int m_GroupIndex
Definition editor_actions.h:319
CEditorActionEditLayersGroupAndOrder(CEditorMap *pMap, int GroupIndex, const std::vector< int > &LayerIndices, int NewGroupIndex, const std::vector< int > &NewLayerIndices)
Definition editor_actions.cpp:1137
void Redo() override
Definition editor_actions.cpp:1167
std::vector< int > m_LayerIndices
Definition editor_actions.h:320
std::vector< int > m_NewLayerIndices
Definition editor_actions.h:322
void Undo() override
Definition editor_actions.cpp:1146
int m_NewGroupIndex
Definition editor_actions.h:321
void Apply(std::vector< CColor > &vValue)
Definition editor_actions.cpp:366
void Undo() override
Definition editor_actions.cpp:356
CEditorActionEditQuadColor(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector< CColor > const &vPreviousColors, std::vector< CColor > const &vCurrentColors)
Definition editor_actions.cpp:350
std::vector< CColor > m_vPreviousColors
Definition editor_actions.h:129
int m_QuadIndex
Definition editor_actions.h:128
std::vector< CColor > m_vCurrentColors
Definition editor_actions.h:130
void Redo() override
Definition editor_actions.cpp:361
int m_PointIndex
Definition editor_actions.h:162
EQuadPointProp m_Prop
Definition editor_actions.h:163
CEditorActionEditQuadPointProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, int PointIndex, EQuadPointProp Prop, int Previous, int Current)
Definition editor_actions.cpp:415
int m_QuadIndex
Definition editor_actions.h:161
void Redo() override
Definition editor_actions.cpp:433
int m_Previous
Definition editor_actions.h:164
void Apply(int Value)
Definition editor_actions.cpp:438
int m_Current
Definition editor_actions.h:165
void Undo() override
Definition editor_actions.cpp:428
void Apply(const std::vector< CPoint > &vValue)
Definition editor_actions.cpp:342
void Redo() override
Definition editor_actions.cpp:337
void Undo() override
Definition editor_actions.cpp:332
std::vector< CPoint > m_vPreviousPoints
Definition editor_actions.h:113
CEditorActionEditQuadPoint(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, std::vector< CPoint > const &vPreviousPoints, std::vector< CPoint > const &vCurrentPoints)
Definition editor_actions.cpp:326
std::vector< CPoint > m_vCurrentPoints
Definition editor_actions.h:114
int m_QuadIndex
Definition editor_actions.h:112
int m_QuadIndex
Definition editor_actions.h:144
void Undo() override
Definition editor_actions.cpp:391
EQuadProp m_Prop
Definition editor_actions.h:145
int m_Current
Definition editor_actions.h:147
int m_Previous
Definition editor_actions.h:146
void Redo() override
Definition editor_actions.cpp:396
void Apply(int Value)
Definition editor_actions.cpp:401
CEditorActionEditQuadProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int QuadIndex, EQuadProp Prop, int Previous, int Current)
Definition editor_actions.cpp:374
void Undo() override
Definition editor_actions.cpp:1945
CEditorActionEditRectSoundSourceShapeProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ERectangleShapeProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1935
void Apply(int Value)
Definition editor_actions.cpp:1955
int m_SourceIndex
Definition editor_actions.h:629
void Redo() override
Definition editor_actions.cpp:1950
void Undo() override
Definition editor_actions.cpp:1876
CEditorActionEditSoundSourceProp(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, ESoundProp Prop, int Previous, int Current)
Definition editor_actions.cpp:1858
int m_SourceIndex
Definition editor_actions.h:615
void Redo() override
Definition editor_actions.cpp:1881
void Apply(int Value)
Definition editor_actions.cpp:1886
void Save()
Definition editor_actions.cpp:1850
void Undo() override
Definition editor_actions.cpp:1814
int m_SourceIndex
Definition editor_actions.h:597
void Redo() override
Definition editor_actions.cpp:1824
CSoundShape m_SavedShape
Definition editor_actions.h:601
std::vector< int > m_vOriginalValues
Definition editor_actions.h:600
int m_CurrentValue
Definition editor_actions.h:598
CEditorActionEditSoundSourceShape(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, int Value)
Definition editor_actions.cpp:1799
void Undo() override
Definition editor_actions.cpp:1465
CEnvelope::EType m_EnvelopeType
Definition editor_actions.h:417
void Redo() override
Definition editor_actions.cpp:1473
int m_PreviousSelectedEnvelope
Definition editor_actions.h:418
CEditorActionEnvelopeAdd(CEditorMap *pMap, CEnvelope::EType EnvelopeType)
Definition editor_actions.cpp:1457
void Redo() override
Definition editor_actions.cpp:1493
std::vector< std::shared_ptr< IEditorEnvelopeReference > > m_vpObjectReferences
Definition editor_actions.h:432
void Undo() override
Definition editor_actions.cpp:1486
CEditorActionEnvelopeDelete(CEditorMap *pMap, int EnvelopeIndex, std::vector< std::shared_ptr< IEditorEnvelopeReference > > &vpObjectReferences, std::shared_ptr< CEnvelope > &pEnvelope)
Definition editor_actions.cpp:1480
int m_EnvelopeIndex
Definition editor_actions.h:430
std::shared_ptr< CEnvelope > m_pEnv
Definition editor_actions.h:431
void Apply(CFixedTime Value)
Definition editor_actions.cpp:1562
CFixedTime m_Current
Definition editor_actions.h:469
void Undo() override
Definition editor_actions.cpp:1552
std::shared_ptr< CEnvelope > m_pEnv
Definition editor_actions.h:470
CEditorActionEnvelopeEditPointTime(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, CFixedTime Previous, CFixedTime Current)
Definition editor_actions.cpp:1546
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:1557
int m_Channel
Definition editor_actions.h:492
void Apply(int Value)
Definition editor_actions.cpp:1587
EEditType
Definition editor_actions.h:479
@ CURVE_TYPE
Definition editor_actions.h:481
@ VALUE
Definition editor_actions.h:480
CEditorActionEnvelopeEditPoint(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, EEditType EditType, int Previous, int Current)
Definition editor_actions.cpp:1568
int m_PointIndex
Definition editor_actions.h:491
int m_Current
Definition editor_actions.h:495
std::shared_ptr< CEnvelope > m_pEnv
Definition editor_actions.h:496
int m_EnvelopeIndex
Definition editor_actions.h:490
void Redo() override
Definition editor_actions.cpp:1582
void Undo() override
Definition editor_actions.cpp:1577
int m_Previous
Definition editor_actions.h:494
EEditType m_EditType
Definition editor_actions.h:493
int m_Previous
Definition editor_actions.h:452
int m_EnvelopeIndex
Definition editor_actions.h:450
EEditType
Definition editor_actions.h:439
@ SYNC
Definition editor_actions.h:440
@ ORDER
Definition editor_actions.h:441
std::shared_ptr< CEnvelope > m_pEnv
Definition editor_actions.h:454
void Undo() override
Definition editor_actions.cpp:1508
CEditorActionEnvelopeEdit(CEditorMap *pMap, int EnvelopeIndex, EEditType EditType, int Previous, int Current)
Definition editor_actions.cpp:1499
int m_Current
Definition editor_actions.h:453
EEditType m_EditType
Definition editor_actions.h:451
void Redo() override
Definition editor_actions.cpp:1527
int m_GroupIndex
Definition editor_actions.h:236
bool m_Delete
Definition editor_actions.h:237
std::shared_ptr< CLayerGroup > m_pGroup
Definition editor_actions.h:238
void Undo() override
Definition editor_actions.cpp:702
void Redo() override
Definition editor_actions.cpp:721
CEditorActionGroup(CEditorMap *pMap, int GroupIndex, bool Delete)
Definition editor_actions.cpp:692
int m_LayerIndex
Definition editor_actions.h:29
int m_GroupIndex
Definition editor_actions.h:28
CEditorActionLayerBase(CEditorMap *pMap, int GroupIndex, int LayerIndex)
Definition editor_actions.cpp:560
std::shared_ptr< CLayer > m_pLayer
Definition editor_actions.h:30
void Undo() override
Definition editor_actions.cpp:2092
void Redo() override
Definition editor_actions.cpp:2098
CPoint m_OriginalPosition
Definition editor_actions.h:696
int m_SourceIndex
Definition editor_actions.h:695
CPoint m_CurrentPosition
Definition editor_actions.h:697
CEditorActionMoveSoundSource(CEditorMap *pMap, int GroupIndex, int LayerIndex, int SourceIndex, CPoint OriginalPosition, CPoint CurrentPosition)
Definition editor_actions.cpp:2086
int m_Y
Definition editor_actions.h:671
void Undo() override
Definition editor_actions.cpp:2035
void Redo() override
Definition editor_actions.cpp:2044
CEditorActionNewEmptyQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y)
Definition editor_actions.cpp:2029
int m_X
Definition editor_actions.h:670
void Undo() override
Definition editor_actions.cpp:2012
CEditorActionNewEmptySound(CEditorMap *pMap, int GroupIndex, int LayerIndex, int x, int y)
Definition editor_actions.cpp:2006
int m_X
Definition editor_actions.h:657
int m_Y
Definition editor_actions.h:658
void Redo() override
Definition editor_actions.cpp:2021
void Undo() override
Definition editor_actions.cpp:2072
CQuad m_Quad
Definition editor_actions.h:683
void Redo() override
Definition editor_actions.cpp:2078
CEditorActionNewQuad(CEditorMap *pMap, int GroupIndex, int LayerIndex)
Definition editor_actions.cpp:2063
void Undo() override
Definition editor_actions.cpp:1329
CEditorActionQuadArt(CEditorMap *pMap, CQuadArtParameters Parameters)
Definition editor_actions.cpp:1323
void Redo() override
Definition editor_actions.cpp:1335
CQuadArtParameters m_Parameters
Definition editor_actions.h:376
CEditorActionQuadPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector< CQuad > &vBrush)
Definition editor_actions.cpp:242
void Redo() override
Definition editor_actions.cpp:256
std::vector< CQuad > m_vBrush
Definition editor_actions.h:71
void Undo() override
Definition editor_actions.cpp:248
CEditorActionResetEnvelopePointTangent(CEditorMap *pMap, int EnvelopeIndex, int PointIndex, int Channel, bool In, CFixedTime OldTime, int OldValue)
Definition editor_actions.cpp:1669
CEditorActionSoundPlace(CEditorMap *pMap, int GroupIndex, int LayerIndex, std::vector< CSoundSource > &vBrush)
Definition editor_actions.cpp:265
std::vector< CSoundSource > m_vBrush
Definition editor_actions.h:83
void Undo() override
Definition editor_actions.cpp:271
void Redo() override
Definition editor_actions.cpp:280
CEditorActionTileArt(CEditorMap *pMap, int PreviousImageCount, const char *pTileArtFile, std::vector< int > &vImageIndexMap)
Definition editor_actions.cpp:1264
int m_PreviousImageCount
Definition editor_actions.h:360
char m_aTileArtFile[IO_MAX_PATH_LENGTH]
Definition editor_actions.h:361
void Redo() override
Definition editor_actions.cpp:1309
std::vector< int > m_vImageIndexMap
Definition editor_actions.h:362
void Undo() override
Definition editor_actions.cpp:1271
void Apply(bool Undo)
Definition editor_actions.cpp:533
void ComputeInfos()
Definition editor_actions.cpp:551
void Undo() override
Definition editor_actions.cpp:523
void Redo() override
Definition editor_actions.cpp:528
int m_TotalChanges
Definition editor_actions.h:198
CEditorActionTileChanges(CEditorMap *pMap, int GroupIndex, int LayerIndex, const char *pAction, const EditorTileStateChangeHistory< STileStateChange > &Changes)
Definition editor_actions.cpp:516
EditorTileStateChangeHistory< STileStateChange > m_Changes
Definition editor_actions.h:197
void Undo() override
Definition editor_actions.cpp:127
int m_TotalTilesDrawn
Definition editor_actions.h:53
void Apply(bool Undo)
Definition editor_actions.cpp:137
bool IsEmpty() override
Definition editor_actions.cpp:122
CEditorBrushDrawAction(CEditorMap *pMap, int Group)
Definition editor_actions.cpp:13
EditorTileStateChangeHistory< STeleTileStateChange > m_TeleTileChanges
Definition editor_actions.h:48
void SetInfos()
Definition editor_actions.cpp:69
int m_Group
Definition editor_actions.h:43
EditorTileStateChangeHistory< SSwitchTileStateChange > m_SwitchTileChanges
Definition editor_actions.h:50
void Redo() override
Definition editor_actions.cpp:132
int m_TotalLayers
Definition editor_actions.h:54
std::vector< std::pair< int, EditorTileStateChangeHistory< STileStateChange > > > m_vTileChanges
Definition editor_actions.h:47
EditorTileStateChangeHistory< STuneTileStateChange > m_TuneTileChanges
Definition editor_actions.h:51
EditorTileStateChangeHistory< SSpeedupTileStateChange > m_SpeedupTileChanges
Definition editor_actions.h:49
EType
Definition editor_actions.h:385
@ DELETE
Definition editor_actions.h:386
@ MOVE_DOWN
Definition editor_actions.h:390
@ EDIT
Definition editor_actions.h:388
@ ADD
Definition editor_actions.h:387
@ MOVE_UP
Definition editor_actions.h:389
void Redo() override
Definition editor_actions.cpp:1418
CEditorCommandAction(CEditorMap *pMap, EType Type, int *pSelectedCommandIndex, int CommandIndex, const char *pPreviousCommand=nullptr, const char *pCurrentCommand=nullptr)
Definition editor_actions.cpp:1350
std::string m_PreviousCommand
Definition editor_actions.h:402
EType m_Type
Definition editor_actions.h:399
std::string m_CurrentCommand
Definition editor_actions.h:403
int m_CommandIndex
Definition editor_actions.h:401
int * m_pSelectedCommandIndex
Definition editor_actions.h:400
void Undo() override
Definition editor_actions.cpp:1381
Definition map.h:53
Definition mapitems.h:526
EType
Definition envelope.h:18
Definition mapitems.h:259
Definition quadart.h:15
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:19
ivec2 CPoint
Definition mapitems.h:255
Definition editor_actions.h:331
int m_Sounds
Definition editor_actions.h:334
int m_Groups
Definition editor_actions.h:332
int m_Envelopes
Definition editor_actions.h:335
int m_Images
Definition editor_actions.h:333
#define E(buf, str)
constexpr auto IO_MAX_PATH_LENGTH
Definition types.h:49