3#ifndef GAME_EDITOR_EDITOR_H
4#define GAME_EDITOR_EDITOR_H
138 std::shared_ptr<CEnvelope> pEnv = std::make_shared<CEnvelope>(Type);
151 std::shared_ptr<CLayerGroup> pGroup = std::make_shared<CLayerGroup>();
152 pGroup->m_pMap =
this;
159 if(Index0 < 0 || Index0 >= (
int)
m_vpGroups.size())
161 if(Index1 < 0 || Index1 >= (
int)
m_vpGroups.size())
172 if(Index < 0 || Index >= (
int)
m_vpGroups.size())
182 pGroup->ModifyImageIndex(pfnFunc);
189 pGroup->ModifyEnvelopeIndex(pfnFunc);
196 pGroup->ModifySoundIndex(pfnFunc);
203 bool Save(
const char *pFilename,
const std::function<
void(
const char *pErrorMessage)> &ErrorHandler);
205 bool Load(
const char *pFilename,
int StorageType,
const std::function<
void(
const char *pErrorMessage)> &ErrorHandler);
206 void PerformSanityChecks(
const std::function<
void(
const char *pErrorMessage)> &ErrorHandler);
225 CProperty(
const char *pName,
int Value,
int Type,
int Min,
int Max) :
356#define REGISTER_QUICK_ACTION(name, text, callback, disabled, active, button_color, description) CQuickAction m_QuickAction##name;
358#undef REGISTER_QUICK_ACTION
361#define
REGISTER_QUICK_ACTION(name, text, callback, disabled, active, button_color, description) m_QuickAction##name(text, description, callback, disabled, active, button_color),
362#include <game/editor/quick_actions.h>
446 CursorTexture.Invalidate();
493 void Init()
override;
514 void InvokeFileDialog(
int StorageType,
int FileType,
const char *pTitle,
const char *pButtonText,
515 const char *pBasepath,
bool FilenameAsDefault,
516 bool (*pfnFunc)(
const char *pFilename,
int StorageType,
void *pUser),
void *pUser);
528 void Reset(
bool CreateDefault = true);
529 bool Save(const
char *pFilename) override;
530 bool Load(const
char *pFilename,
int StorageType) override;
531 bool HandleMapDrop(const
char *pFilename,
int StorageType) override;
532 bool Append(const
char *pFilename,
int StorageType,
bool IgnoreHistory = false);
549 void SelectLayer(
int LayerIndex,
int GroupIndex = -1);
632 ALLOWED_IMPLICIT = -1,
634 ALLOWED_EXPLICIT = 1,
859 static void EnvelopeEval(
int TimeOffsetMillis,
int Env,
ColorRGBA &Result,
size_t Channels,
void *pUser);
874 int DoButton_Editor(
const void *pId,
const char *pText,
int Checked,
const CUIRect *pRect,
int Flags,
const char *pToolTip);
875 int DoButton_Env(
const void *pId,
const char *pText,
int Checked,
const CUIRect *pRect,
const char *pToolTip,
ColorRGBA Color,
int Corners);
878 int DoButton_FontIcon(
const void *pId,
const char *pText,
int Checked,
const CUIRect *pRect,
int Flags,
const char *pToolTip,
int Corners,
float FontSize = 10.0f);
895 SEditResult<int> UiDoValueSelector(
void *pId,
CUIRect *pRect,
const char *pLabel,
int Current,
int Min,
int Max,
int Step,
float Scale,
const char *pToolTip,
bool IsDegree =
false,
bool IsHex =
false,
int Corners =
IGraphics::CORNER_ALL,
const ColorRGBA *pColor =
nullptr,
bool ShowValue =
true);
936 static bool CallbackOpenMap(
const char *pFileName,
int StorageType,
void *pUser);
937 static bool CallbackAppendMap(
const char *pFileName,
int StorageType,
void *pUser);
938 static bool CallbackSaveMap(
const char *pFileName,
int StorageType,
void *pUser);
941 static bool CallbackSaveImage(
const char *pFileName,
int StorageType,
void *pUser);
942 static bool CallbackSaveSound(
const char *pFileName,
int StorageType,
void *pUser);
962 void DoQuadPoint(
int LayerIndex,
const std::shared_ptr<CLayerQuads> &pLayer,
CQuad *pQuad,
int QuadIndex,
int v);
994 void DoQuad(
int LayerIndex,
const std::shared_ptr<CLayerQuads> &pLayer,
CQuad *pQuad,
int Index);
995 void PreparePointDrag(
const std::shared_ptr<CLayerQuads> &pLayer,
CQuad *pQuad,
int QuadIndex,
int PointIndex);
996 void DoPointDrag(
const std::shared_ptr<CLayerQuads> &pLayer,
CQuad *pQuad,
int QuadIndex,
int PointIndex,
int OffsetX,
int OffsetY);
1020 void ComputePointAlignments(
const std::shared_ptr<CLayerQuads> &pLayer,
CQuad *pQuad,
int QuadIndex,
int PointIndex,
int OffsetX,
int OffsetY, std::vector<SAlignmentInfo> &vAlignments,
bool Append =
false)
const;
1021 void ComputePointsAlignments(
const std::shared_ptr<CLayerQuads> &pLayer,
bool Pivot,
int OffsetX,
int OffsetY, std::vector<SAlignmentInfo> &vAlignments)
const;
1023 void DrawPointAlignments(
const std::vector<SAlignmentInfo> &vAlignments,
int OffsetX,
int OffsetY)
const;
1025 void ApplyAlignments(
const std::vector<SAlignmentInfo> &vAlignments,
int &OffsetX,
int &OffsetY);
1028 bool ReplaceImage(
const char *pFilename,
int StorageType,
bool CheckDuplicate);
1030 bool ReplaceSound(
const char *pFileName,
int StorageType,
bool CheckDuplicate);
1032 static bool AddImage(
const char *pFilename,
int StorageType,
void *pUser);
1033 static bool AddSound(
const char *pFileName,
int StorageType,
void *pUser);
1034 static bool IsAssetUsed(
int FileType,
int Index,
void *pUser);
1074 void DoAudioPreview(
CUIRect View,
const void *pPlayPauseButtonId,
const void *pStopButtonId,
const void *pSeekBarId,
int SampleId);
1152 static const char *
ExplainFNG(
int Tile,
int Layer);
1163 void ResetZoomEnvelope(
const std::shared_ptr<CEnvelope> &pEnvelope,
int ActiveChannels);
void Run() override
Definition: editor.h:259
CDataFileWriter m_Writer
Definition: editor.h:257
const char * GetRealFileName() const
Definition: editor.h:272
const char * GetTempFileName() const
Definition: editor.h:273
char m_aTempFileName[IO_MAX_PATH_LENGTH]
Definition: editor.h:256
CDataFileWriterFinishJob(const char *pRealFileName, const char *pTempFileName, CDataFileWriter &&Writer)
Definition: editor.h:265
char m_aRealFileName[IO_MAX_PATH_LENGTH]
Definition: editor.h:255
Definition: datafile.h:64
void Finish()
Definition: datafile.cpp:785
Definition: editor_history.h:11
char m_aAuthor[32]
Definition: editor.h:106
char m_aCredits[128]
Definition: editor.h:108
void Copy(const CMapInfo &Source)
Definition: editor.h:119
char m_aVersion[16]
Definition: editor.h:107
void Reset()
Definition: editor.h:111
char m_aLicense[32]
Definition: editor.h:109
bool m_Modified
Definition: editor.h:91
void VisitEnvelopeReferences(F &&Visitor)
Definition: map.cpp:51
CMapInfo m_MapInfoTmp
Definition: editor.h:128
CEditor * m_pEditor
Definition: editor.h:79
void MakeGameGroup(std::shared_ptr< CLayerGroup > pGroup)
Definition: map.cpp:90
void OnModify()
Definition: map.cpp:5
std::vector< CEditorMapSetting > m_vSettings
Definition: editor.h:130
void MakeTuneLayer(const std::shared_ptr< CLayer > &pLayer)
Definition: map.cpp:174
float m_LastSaveTime
Definition: editor.h:94
void CreateDefault(IGraphics::CTextureHandle EntitiesTexture)
Definition: map.cpp:122
void PerformSanityChecks(const std::function< void(const char *pErrorMessage)> &ErrorHandler)
Definition: map_io.cpp:1035
std::shared_ptr< class CLayerSpeedup > m_pSpeedupLayer
Definition: editor.h:211
void SwapEnvelopes(int Index0, int Index1)
Definition: map.cpp:29
std::vector< std::shared_ptr< CLayerGroup > > m_vpGroups
Definition: editor.h:98
std::vector< std::shared_ptr< CEditorImage > > m_vpImages
Definition: editor.h:99
float m_LastAutosaveUpdateTime
Definition: editor.h:95
std::shared_ptr< CEnvelope > NewEnvelope(CEnvelope::EType Type)
Definition: editor.h:135
bool PerformPreSaveSanityChecks(const std::function< void(const char *pErrorMessage)> &ErrorHandler)
Definition: map_io.cpp:406
void DeleteGroup(int Index)
Definition: editor.h:170
std::vector< std::shared_ptr< CEditorSound > > m_vpSounds
Definition: editor.h:101
void Clean()
Definition: map.cpp:97
void DeleteEnvelope(int Index)
Definition: map.cpp:12
void ModifyImageIndex(FIndexModifyFunction pfnFunc)
Definition: editor.h:178
float m_LastModifiedTime
Definition: editor.h:93
void MakeSpeedupLayer(const std::shared_ptr< CLayer > &pLayer)
Definition: map.cpp:156
bool Load(const char *pFilename, int StorageType, const std::function< void(const char *pErrorMessage)> &ErrorHandler)
Definition: map_io.cpp:434
CEditorMap()
Definition: editor.h:81
CMapInfo m_MapInfo
Definition: editor.h:127
void MakeTeleLayer(const std::shared_ptr< CLayer > &pLayer)
Definition: map.cpp:150
std::vector< std::shared_ptr< CEnvelope > > m_vpEnvelopes
Definition: editor.h:100
bool m_ModifiedAuto
Definition: editor.h:92
void MakeSwitchLayer(const std::shared_ptr< CLayer > &pLayer)
Definition: map.cpp:168
void ModifyEnvelopeIndex(FIndexModifyFunction pfnFunc)
Definition: editor.h:185
std::shared_ptr< CLayerGroup > m_pGameGroup
Definition: editor.h:133
void ModifySoundIndex(FIndexModifyFunction pfnFunc)
Definition: editor.h:192
void MakeGameLayer(const std::shared_ptr< CLayer > &pLayer)
Definition: map.cpp:84
std::shared_ptr< class CLayerFront > m_pFrontLayer
Definition: editor.h:212
void MakeFrontLayer(const std::shared_ptr< CLayer > &pLayer)
Definition: map.cpp:162
std::shared_ptr< class CLayerTele > m_pTeleLayer
Definition: editor.h:210
std::shared_ptr< class CLayerTune > m_pTuneLayer
Definition: editor.h:214
~CEditorMap()
Definition: editor.h:86
std::shared_ptr< class CLayerSwitch > m_pSwitchLayer
Definition: editor.h:213
int SwapGroups(int Index0, int Index1)
Definition: editor.h:157
std::shared_ptr< class CLayerGame > m_pGameLayer
Definition: editor.h:132
bool Save(const char *pFilename, const std::function< void(const char *pErrorMessage)> &ErrorHandler)
Definition: map_io.cpp:32
std::shared_ptr< CLayerGroup > NewGroup()
Definition: editor.h:148
CHoverTile(int Group, int Layer, int x, int y, const CTile Tile)
Definition: editor.h:475
int m_Layer
Definition: editor.h:485
const CTile m_Tile
Definition: editor.h:488
int m_Group
Definition: editor.h:484
int m_X
Definition: editor.h:486
int m_Y
Definition: editor.h:487
int FindNextFreeTeleNumber(bool Checkpoint=false)
Definition: editor.cpp:9507
void RenderGameEntities(const std::shared_ptr< CLayerTiles > &pTiles)
Definition: editor.cpp:8475
static const char * ExplainFNG(int Tile, int Layer)
Definition: explanations.cpp:493
IGraphics::CTextureHandle GetSpeedupTexture()
Definition: editor.cpp:8724
unsigned char m_SpeedupForce
Definition: editor.h:1187
int m_ShiftBy
Definition: editor.h:857
static CUi::EPopupMenuFunctionResult PopupSelectImage(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2284
class IStorage * m_pStorage
Definition: editor.h:287
static CUi::EPopupMenuFunctionResult PopupMenuFile(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:25
CEditorMap m_Map
Definition: editor.h:854
@ TILE_PUB_CREDITS3
Definition: editor.h:1086
@ TILE_PUB_CREDITS7
Definition: editor.h:1090
@ TILE_PUB_ENTITIES_OFF2
Definition: editor.h:1094
@ TILE_PUB_CREDITS1
Definition: editor.h:1084
@ TILE_PUB_CREDITS6
Definition: editor.h:1089
@ TILE_PUB_CREDITS5
Definition: editor.h:1088
@ TILE_PUB_DEATH
Definition: editor.h:1081
@ TILE_PUB_AIR
Definition: editor.h:1079
@ TILE_PUB_ENTITIES_OFF1
Definition: editor.h:1093
@ TILE_PUB_CREDITS8
Definition: editor.h:1091
@ TILE_PUB_UNHOOKABLE
Definition: editor.h:1082
@ TILE_PUB_CREDITS4
Definition: editor.h:1087
@ TILE_PUB_CREDITS2
Definition: editor.h:1085
@ TILE_PUB_HOOKABLE
Definition: editor.h:1080
CEditorHistory m_EnvelopeEditorHistory
Definition: editor.h:1203
void OnClose() override
Definition: editor.cpp:9124
int m_QuadKnifeCount
Definition: editor.h:826
int DoButton_DraggableEx(const void *pId, const char *pText, int Checked, const CUIRect *pRect, bool *pClicked, bool *pAbrupted, int Flags, const char *pToolTip=nullptr, int Corners=IGraphics::CORNER_ALL, float FontSize=10.0f)
Definition: editor.cpp:267
void DoColorPickerButton(const void *pId, const CUIRect *pRect, ColorRGBA Color, const std::function< void(ColorRGBA Color)> &SetColor)
Definition: editor.cpp:3742
int DoButton_Env(const void *pId, const char *pText, int Checked, const CUIRect *pRect, const char *pToolTip, ColorRGBA Color, int Corners)
Definition: editor.cpp:211
int m_FileDialogStorageType
Definition: editor.h:652
int PopupSelectGameTileOpResult()
Definition: popups.cpp:2462
bool m_ShowMousePointer
Definition: editor.h:760
int m_ToolbarPreviewSound
Definition: editor.h:678
char m_aFileSaveName[IO_MAX_PATH_LENGTH]
Definition: editor.h:595
void ZoomAdaptOffsetY(float ZoomFactor, const CUIRect &View)
Definition: editor.cpp:6071
void RenderPressedKeys(CUIRect View)
Definition: editor.cpp:8317
static CUi::EPopupMenuFunctionResult PopupLayer(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:713
static bool CallbackCustomEntities(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:946
bool IsNonGameTileLayerSelected() const
Definition: quick_actions.cpp:143
void DoMapSettingsEditBox(CMapSettingsBackend::CContext *pContext, const CUIRect *pRect, float FontSize, float DropdownMaxHeight, int Corners=IGraphics::CORNER_ALL, const char *pToolTip=nullptr)
Definition: editor_server_settings.cpp:289
void DoMapEditor(CUIRect View)
Definition: editor.cpp:3082
CPrompt m_Prompt
Definition: editor.h:294
int RenderEditBoxDropdown(SEditBoxDropdownContext *pDropdown, CUIRect View, CLineInput *pLineInput, int x, float MaxHeight, bool AutoWidth, const std::vector< T > &vData, const FDropdownRenderCallback< T > &pfnMatchCallback)
Definition: editor_server_settings.cpp:466
char m_aFileName[IO_MAX_PATH_LENGTH]
Definition: editor.h:593
void TestMapLocally()
Definition: quick_actions.cpp:219
bool m_IngameMoved
Definition: editor.h:642
EUnusedEntities
Definition: editor.h:631
IGraphics::CTextureHandle GetFrontTexture()
Definition: editor.cpp:8710
int m_SelectedSource
Definition: editor.h:820
int m_FilePreviewImageWidth
Definition: editor.h:674
bool m_BrushColorEnabled
Definition: editor.h:591
float m_AnimateSpeed
Definition: editor.h:784
std::vector< int > SortImages()
Definition: editor.cpp:4812
static bool ReplaceSoundCallback(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:4749
bool m_ValidSaveFilename
Definition: editor.h:596
bool m_EditorWasUsedBefore
Definition: editor.h:296
IGraphics::CTextureHandle GetTuneTexture()
Definition: editor.cpp:8738
void RenderEnvelopeEditor(CUIRect View)
Definition: editor.cpp:6315
void DeselectQuads()
Definition: editor.cpp:525
static CUi::EPopupMenuFunctionResult PopupSource(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1091
CMapSettingsBackend::CContext m_MapSettingsCommandContext
Definition: editor.h:863
bool HasUnsavedData() const override
Definition: editor.h:500
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_FileDialogFilterInput
Definition: editor.h:663
std::shared_ptr< CLayerTiles > m_pTilesetPicker
Definition: editor.h:849
IGraphics::CTextureHandle m_FrontTexture
Definition: editor.h:300
int DoButton_Editor(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags, const char *pToolTip)
Definition: editor.cpp:202
unsigned char m_ViewSwitch
Definition: editor.h:1193
void DeleteSelectedLayer()
Definition: quick_actions.cpp:194
CLayerSelector m_LayerSelector
Definition: editor.h:293
void DoQuadPoint(int LayerIndex, const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int QuadIndex, int v)
Definition: editor.cpp:2357
void RenderMousePointer()
Definition: editor.cpp:8425
void * m_pFileDialogUser
Definition: editor.h:658
void AddGroup()
Definition: quick_actions.cpp:50
vec2 m_MouseDeltaWorld
Definition: editor.h:767
void Init() override
Definition: editor.cpp:8752
static CUi::EPopupMenuFunctionResult PopupGoto(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2962
bool m_ShowPicker
Definition: editor.h:806
std::map< const char *, CUi::SMessagePopupContext *, SStringKeyComparator > m_PopupMessageContexts
Definition: editor.h:524
std::vector< CHoverTile > m_vHoverTiles
Definition: editor.h:490
void OnUpdate() override
Definition: editor.cpp:9031
int m_FilesSelectedIndex
Definition: editor.h:668
void PopupSelectImageInvoke(int Current, float x, float y)
Definition: popups.cpp:2346
void DoQuadEnvelopes(const std::vector< CQuad > &vQuads, IGraphics::CTextureHandle Texture=IGraphics::CTextureHandle())
Definition: editor.cpp:2832
void OnDialogClose() override
Definition: editor.cpp:9134
std::vector< CQuad * > GetSelectedQuads()
Definition: editor.cpp:470
static CUi::EPopupMenuFunctionResult PopupSwitch(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2763
const void * m_pContainerPannedLast
Definition: editor.h:769
void SelectNextLayer()
Definition: editor.cpp:746
unsigned char m_SpeedupMaxSpeed
Definition: editor.h:1188
float ScreenToEnvelopeDX(const CUIRect &View, float DeltaX)
Definition: editor.cpp:6158
bool Save(const char *pFilename) override
Definition: editor.cpp:9160
IGraphics::CTextureHandle m_TuneTexture
Definition: editor.h:304
CUi * Ui()
Definition: editor.h:329
vec2 m_MouseWorldNoParaPos
Definition: editor.h:766
float m_ToolBoxWidth
Definition: editor.h:797
void RenderMenubar(CUIRect Menubar)
Definition: editor.cpp:7894
IGraphics::CTextureHandle GetEntitiesTexture()
Definition: editor.cpp:8745
IGraphics::CTextureHandle GetTeleTexture()
Definition: editor.cpp:8717
char m_aTileartFilename[IO_MAX_PATH_LENGTH]
Definition: editor.h:866
char m_aFilesSelectedName[IO_MAX_PATH_LENGTH]
Definition: editor.h:662
char m_aFileDialogCurrentFolder[IO_MAX_PATH_LENGTH]
Definition: editor.h:660
bool m_GuiActive
Definition: editor.h:761
IGraphics::CTextureHandle m_FilePreviewImage
Definition: editor.h:671
int DoProperties(CUIRect *pToolbox, CProperty *pProps, int *pIds, int *pNewVal, const std::vector< ColorRGBA > &vColors={})
Definition: editor_props.cpp:13
char * m_pFileDialogPath
Definition: editor.h:664
EAxis GetDragAxis(int OffsetX, int OffsetY) const
Definition: editor.cpp:1583
char m_aFileNamePending[IO_MAX_PATH_LENGTH]
Definition: editor.h:594
void AddSoundLayer()
Definition: quick_actions.cpp:57
unsigned char m_TeleCheckpointNumber
Definition: editor.h:1181
void ShowFileDialogError(const char *pFormat,...) GNUC_ATTRIBUTE((format(printf
Definition: editor.cpp:5861
void DeleteSelectedQuads()
Definition: editor.cpp:561
int m_PopupEventActivated
Definition: editor.h:625
bool m_LargeLayerWasWarned
Definition: editor.h:627
int FindNextFreeSwitchNumber()
Definition: editor.cpp:9492
void DoEditorDragBar(CUIRect View, CUIRect *pDragBar, EDragSide Side, float *pValue, float MinValue=100.0f, float MaxValue=400.0f)
Definition: editor.cpp:7840
std::pair< int, int > m_SelectedTangentOutPoint
Definition: editor.h:822
class ITextRender * TextRender() const
Definition: editor.h:327
void HandleCursorMovement()
Definition: editor.cpp:8822
void OnRender() override
Definition: editor.cpp:9072
bool m_FileDialogMultipleStorages
Definition: editor.h:666
std::map< int, CPoint[5]> m_QuadDragOriginalPoints
Definition: editor.h:1211
void ToggleSelectQuadPoint(int QuadIndex, int Index)
Definition: editor.cpp:541
void SelectLayer(int LayerIndex, int GroupIndex=-1)
Definition: editor.cpp:492
void LayerSelectImage()
Definition: quick_actions.cpp:162
static bool CallbackSaveMap(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:827
void DoToolbarLayers(CUIRect Toolbar)
Definition: editor.cpp:1064
@ FILETYPE_IMG
Definition: editor.h:647
@ FILETYPE_MAP
Definition: editor.h:646
@ NUM_FILETYPES
Definition: editor.h:649
@ FILETYPE_SOUND
Definition: editor.h:648
int m_SelectedQuadPoints
Definition: editor.h:813
CUi::SColorPickerPopupContext m_ColorPickerPopupContext
Definition: editor.h:583
void ResetZoomEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int ActiveChannels)
Definition: editor.cpp:6084
bool m_Animate
Definition: editor.h:781
static CUi::EPopupMenuFunctionResult PopupEntities(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:3006
class IConfigManager * ConfigManager() const
Definition: editor.h:321
static bool CallbackSaveSound(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:918
void SelectGameLayer()
Definition: editor.cpp:4797
int DoButton_MenuItem(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags=BUTTONFLAG_LEFT, const char *pToolTip=nullptr)
Definition: editor.cpp:223
int PopupSelectAutoMapReferenceResult()
Definition: popups.cpp:2580
vec2 m_aQuadKnifePoints[4]
Definition: editor.h:827
void PopupSelectGametileOpInvoke(float x, float y)
Definition: popups.cpp:2455
const char * m_pFileDialogTitle
Definition: editor.h:655
EAxis
Definition: editor.h:972
bool IsEnvelopeUsed(int EnvelopeIndex) const
Definition: editor.cpp:5997
bool IsTangentSelected() const
Definition: editor.cpp:708
static CUi::EPopupMenuFunctionResult PopupEnvPointMulti(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1539
bool IsTangentInSelected() const
Definition: editor.cpp:698
EExplanation
Definition: editor.h:1143
static CUi::EPopupMenuFunctionResult PopupAnimateSettings(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:3068
bool IsTangentOutSelected() const
Definition: editor.cpp:703
static CUi::EPopupMenuFunctionResult PopupTune(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2866
static CUi::EPopupMenuFunctionResult PopupEnvPointCurveType(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1556
const CMapView * MapView() const
Definition: editor.h:333
bool Append(const char *pFilename, int StorageType, bool IgnoreHistory=false)
Definition: editor.cpp:9213
void TileartCheckColors()
Definition: tileart.cpp:173
void PopupSelectConfigAutoMapInvoke(int Current, float x, float y)
Definition: popups.cpp:2511
const std::vector< CHoverTile > & HoverTiles() const
Definition: editor.h:491
std::shared_ptr< CLayer > GetSelectedLayer(int Index) const
Definition: editor.cpp:446
float TriangleArea(vec2 A, vec2 B, vec2 C)
Definition: editor.cpp:2583
static CUi::EPopupMenuFunctionResult PopupSpeedup(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2723
bool m_QuadKnifeActive
Definition: editor.h:825
unsigned char m_TeleNumber
Definition: editor.h:1180
bool IsAllowPlaceUnusedTiles() const
Definition: editor.cpp:3804
void AddTeleLayer()
Definition: quick_actions.cpp:132
IGraphics::CTextureHandle m_aCursorTextures[ECursorType::NUM_CURSORS]
Definition: editor.h:843
bool IsEnvPointSelected(int Index, int Channel) const
Definition: editor.cpp:652
bool ReplaceImage(const char *pFilename, int StorageType, bool CheckDuplicate)
Definition: editor.cpp:4504
int m_SelectedEnvelope
Definition: editor.h:814
std::shared_ptr< CLayer > GetSelectedLayerType(int Index, int Type) const
Definition: editor.cpp:462
bool(* m_pfnFileDialogFunc)(const char *pFileName, int StorageType, void *pUser)
Definition: editor.h:657
std::shared_ptr< CLayerGroup > m_pBrush
Definition: editor.h:848
void HandleAutosave()
Definition: editor.cpp:8917
void UpdateColorPipette()
Definition: editor.cpp:8373
static bool ReplaceImageCallback(const char *pFilename, int StorageType, void *pUser)
Definition: editor.cpp:4559
void DoToolbarSounds(CUIRect Toolbar)
Definition: editor.cpp:1437
bool IsTangentInPointSelected(int Index, int Channel) const
Definition: editor.cpp:693
void DoToolbarImages(CUIRect Toolbar)
Definition: editor.cpp:1423
void RenderBackground(CUIRect View, IGraphics::CTextureHandle Texture, float Size, float Brightness) const
Definition: editor.cpp:289
void DoQuadEnvPoint(const CQuad *pQuad, int QIndex, int pIndex)
Definition: editor.cpp:2981
EShowTile
Definition: editor.h:773
@ SHOW_TILE_DECIMAL
Definition: editor.h:775
@ SHOW_TILE_OFF
Definition: editor.h:774
@ SHOW_TILE_HEXADECIMAL
Definition: editor.h:776
void AddFrontLayer()
Definition: quick_actions.cpp:99
CSmoothValue m_ZoomEnvelopeY
Definition: editor.h:753
class IConsole * m_pConsole
Definition: editor.h:282
void AddTileart(bool IgnoreHistory=false)
Definition: tileart.cpp:141
int m_Mode
Definition: editor.h:587
CSoundSource * GetSelectedSource() const
Definition: editor.cpp:482
static const char * ExplainDDNet(int Tile, int Layer)
Definition: explanations.cpp:6
ColorRGBA m_PipetteColor
Definition: editor.h:831
static CUi::EPopupMenuFunctionResult PopupEnvPoint(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1366
CEnvelopeEditorOperationTracker m_EnvOpTracker
Definition: editor.h:1205
class IEngine * m_pEngine
Definition: editor.h:283
EShowTile m_ShowTileInfo
Definition: editor.h:778
char m_MapEditorId
Definition: editor.h:770
int FindNextFreeTuneNumber()
Definition: editor.cpp:9521
IGraphics::CTextureHandle m_CheckerTexture
Definition: editor.h:834
CLineInputBuffered< 256 > m_SettingsCommandInput
Definition: editor.h:861
void DoQuadKnife(int QuadIndex)
Definition: editor.cpp:2609
static void MapSettingsDropdownRenderCallback(const SPossibleValueMatch &Match, char(&aOutput)[128], std::vector< STextColorSplit > &vColorSplits)
Definition: editor_server_settings.cpp:1023
int m_SelectedImage
Definition: editor.h:818
static bool CompareTimeModifiedAscending(const CFilelistItem *pLhs, const CFilelistItem *pRhs)
Definition: editor.h:718
char m_aFileDialogCurrentLink[IO_MAX_PATH_LENGTH]
Definition: editor.h:661
bool HandleMapDrop(const char *pFilename, int StorageType) override
Definition: editor.cpp:9173
static bool IsAssetUsed(int FileType, int Index, void *pUser)
Definition: editor.cpp:4754
void RenderModebar(CUIRect View)
Definition: editor.cpp:5886
EShowEnvelope
Definition: editor.h:800
@ SHOWENV_ALL
Definition: editor.h:803
@ SHOWENV_NONE
Definition: editor.h:801
@ SHOWENV_SELECTED
Definition: editor.h:802
static bool CallbackAppendMap(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:811
ECursorType m_CursorType
Definition: editor.h:844
int m_FileDialogLastPopulatedStorageType
Definition: editor.h:653
IGraphics::CTextureHandle m_SpeedupTexture
Definition: editor.h:302
void AddQuadsLayer()
Definition: quick_actions.cpp:78
int DoEditBoxDropdown(SEditBoxDropdownContext *pDropdown, CLineInput *pLineInput, const CUIRect *pEditBoxRect, int x, float MaxHeight, bool AutoWidth, const std::vector< T > &vData, const FDropdownRenderCallback< T > &pfnMatchCallback)
Definition: editor_server_settings.cpp:405
static CUi::EPopupMenuFunctionResult PopupProofMode(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:3043
float EnvelopeToScreenX(const CUIRect &View, float x) const
Definition: editor.cpp:6143
void SelectTangentOutPoint(int Index, int Channel)
Definition: editor.cpp:676
void AddSpeedupLayer()
Definition: quick_actions.cpp:121
void ApplyAxisAlignment(int &OffsetX, int &OffsetY) const
Definition: editor.cpp:2028
char m_aTooltip[256]
Definition: editor.h:589
int DoButton_Ex(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags, const char *pToolTip, int Corners, float FontSize=EditorFontSizes::MENU, int Align=TEXTALIGN_MC)
Definition: editor.cpp:239
class IInput * Input() const
Definition: editor.h:319
bool DoEditBox(CLineInput *pLineInput, const CUIRect *pRect, float FontSize, int Corners=IGraphics::CORNER_ALL, const char *pToolTip=nullptr, const std::vector< STextColorSplit > &vColorSplits={})
Definition: editor.cpp:119
CMapSettingsBackend m_MapSettingsBackend
Definition: editor.h:862
void RenderServerSettingsEditor(CUIRect View, bool ShowServerSettingsEditorLast)
Definition: editor_server_settings.cpp:55
static bool CallbackOpenMap(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:794
static CUi::EPopupMenuFunctionResult PopupQuad(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:830
const void * m_pColorPickerPopupActiveId
Definition: editor.h:584
class IStorage * Storage() const
Definition: editor.h:328
std::vector< std::pair< int, int > > m_vSelectedEnvelopePoints
Definition: editor.h:815
void AdjustBrushSpecialTiles(bool UseNextFree, int Adjust=0)
Definition: editor.cpp:9374
vec2 m_MouseWorldPos
Definition: editor.h:765
static CUi::EPopupMenuFunctionResult PopupEnvelopeCurvetype(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:3125
float m_OffsetEnvelopeY
Definition: editor.h:758
class IGraphics * m_pGraphics
Definition: editor.h:284
int PopupSelectConfigAutoMapResult()
Definition: popups.cpp:2522
class IClient * m_pClient
Definition: editor.h:279
void FreeDynamicPopupMenus()
Definition: editor.cpp:8357
static CUi::EPopupMenuFunctionResult PopupImage(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1661
static CUi::EPopupMenuFunctionResult PopupPoint(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1282
void RenderTooltip(CUIRect TooltipRect)
Definition: editor.cpp:5980
std::vector< std::reference_wrapper< CEditorComponent > > m_vComponents
Definition: editor.h:291
void ToggleSelectQuad(int Index)
Definition: editor.cpp:516
void DoPointDrag(const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int QuadIndex, int PointIndex, int OffsetX, int OffsetY)
Definition: editor.cpp:1577
void SelectTangentInPoint(int Index, int Channel)
Definition: editor.cpp:687
std::vector< std::string > m_vSelectEntitiesFiles
Definition: editor.h:748
static CUi::EPopupMenuFunctionResult PopupSelectSound(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2367
IGraphics::CTextureHandle m_SwitchTexture
Definition: editor.h:303
int m_SortByTimeModified
Definition: editor.h:746
EExtraEditor m_ActiveExtraEditor
Definition: editor.h:795
void SetHotQuadPoint(const std::shared_ptr< CLayerQuads > &pLayer)
Definition: editor.cpp:3697
static void EnvelopeEval(int TimeOffsetMillis, int Env, ColorRGBA &Result, size_t Channels, void *pUser)
Definition: editor.cpp:102
EPreviewState
Definition: editor.h:309
@ PREVIEW_UNLOADED
Definition: editor.h:310
@ PREVIEW_ERROR
Definition: editor.h:312
@ PREVIEW_LOADED
Definition: editor.h:311
static CUi::EPopupMenuFunctionResult PopupGroup(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:450
bool DoClearableEditBox(CLineInput *pLineInput, const CUIRect *pRect, float FontSize, int Corners=IGraphics::CORNER_ALL, const char *pToolTip=nullptr, const std::vector< STextColorSplit > &vColorSplits={})
Definition: editor.cpp:125
void MapDetails()
Definition: quick_actions.cpp:176
int GetTextureUsageFlag() const
Definition: editor.cpp:8705
void SelectQuad(int Index)
Definition: editor.cpp:510
void DrawAABB(const SAxisAlignedBoundingBox &AABB, int OffsetX=0, int OffsetY=0) const
Definition: editor.cpp:1938
int m_PopupEnvelopeSelectedPoint
Definition: editor.h:933
std::vector< int > m_vSelectedQuads
Definition: editor.h:809
int DoButton_Editor_Common(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags, const char *pToolTip)
Definition: editor.cpp:190
CEditorHistory m_EditorHistory
Definition: editor.h:1201
int FindEnvPointIndex(int Index, int Channel) const
Definition: editor.cpp:610
void RenderStatusbar(CUIRect View, CUIRect *pTooltipRect)
Definition: editor.cpp:5954
int m_CurrentQuadIndex
Definition: editor.h:817
float ScreenToEnvelopeX(const CUIRect &View, float x) const
Definition: editor.cpp:6138
static CUi::EPopupMenuFunctionResult PopupNewFolder(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1910
static bool CompareTimeModifiedDescending(const CFilelistItem *pLhs, const CFilelistItem *pRhs)
Definition: editor.h:731
void OnIngameMoved() override
Definition: editor.h:503
void QuadSelectionAABB(const std::shared_ptr< CLayerQuads > &pLayer, SAxisAlignedBoundingBox &OutAABB)
Definition: editor.cpp:1962
void void Reset(bool CreateDefault=true)
Definition: editor.cpp:8655
int m_Dialog
Definition: editor.h:588
class IClient * Client() const
Definition: editor.h:320
void UpdateMentions() override
Definition: editor.h:501
void OnActivate() override
Definition: editor.cpp:9113
static const char * ExplainVanilla(int Tile, int Layer)
Definition: explanations.cpp:601
void ComputeAABBAlignments(const std::shared_ptr< CLayerQuads > &pLayer, const SAxisAlignedBoundingBox &AABB, int OffsetX, int OffsetY, std::vector< SAlignmentInfo > &vAlignments) const
Definition: editor.cpp:1802
int m_FilePreviewSound
Definition: editor.h:672
void AddSelectedLayer(int LayerIndex)
Definition: editor.cpp:503
static bool IsVanillaImage(const char *pImage)
Definition: editor.cpp:90
std::pair< int, int > EnvGetSelectedTimeAndValue() const
Definition: editor.cpp:713
void RemoveUnusedEnvelopes()
Definition: editor.cpp:6036
void OnWindowResize() override
Definition: editor.cpp:9119
float m_AnimateTime
Definition: editor.h:783
bool m_ColorPipetteActive
Definition: editor.h:832
bool m_UpdateEnvPointInfo
Definition: editor.h:823
bool m_ResetZoomEnvelope
Definition: editor.h:755
void RenderSavingIndicator(CUIRect View)
Definition: editor.cpp:8339
class ISound * Sound() const
Definition: editor.h:326
std::shared_ptr< CLayerGroup > m_apSavedBrushes[10]
Definition: editor.h:315
void FilelistPopulate(int StorageType, bool KeepSelection=false)
Definition: editor.cpp:5732
class ISound * m_pSound
Definition: editor.h:286
void RemoveTimeOffsetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope)
Definition: editor.cpp:6168
const void * m_pContainerPanned
Definition: editor.h:768
EDragSide
Definition: editor.h:1058
float ScreenToEnvelopeY(const CUIRect &View, float y) const
Definition: editor.cpp:6148
static CUi::EPopupMenuFunctionResult PopupEvent(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2036
void DrawPointAlignments(const std::vector< SAlignmentInfo > &vAlignments, int OffsetX, int OffsetY) const
Definition: editor.cpp:1914
void DoQuad(int LayerIndex, const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int Index)
Definition: editor.cpp:2037
static bool AddImage(const char *pFilename, int StorageType, void *pUser)
Definition: editor.cpp:4564
bool IsQuadPointSelected(int QuadIndex, int Index) const
Definition: editor.cpp:597
void RenderSwitchEntities(const std::shared_ptr< CLayerTiles > &pTiles)
Definition: editor.cpp:8595
bool m_AnimateUpdatePopup
Definition: editor.h:785
static const void * ms_pUiGotContext
Definition: editor.h:852
static bool CallbackSaveImage(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:890
class IConsole * Console() const
Definition: editor.h:323
CQuadEditTracker m_QuadTracker
Definition: editor.h:1204
int64_t m_AnimateStart
Definition: editor.h:782
static CUi::EPopupMenuFunctionResult PopupMapInfo(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1961
class ITextRender * m_pTextRender
Definition: editor.h:285
int FindSelectedQuadIndex(int Index) const
Definition: editor.cpp:602
const char * m_pFileDialogButtonText
Definition: editor.h:656
int DoButton_FontIcon(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags, const char *pToolTip, int Corners, float FontSize=10.0f)
Definition: editor.cpp:254
void ComputePointsAlignments(const std::shared_ptr< CLayerQuads > &pLayer, bool Pivot, int OffsetX, int OffsetY, std::vector< SAlignmentInfo > &vAlignments) const
Definition: editor.cpp:1739
void ApplyAlignments(const std::vector< SAlignmentInfo > &vAlignments, int &OffsetX, int &OffsetY)
Definition: editor.cpp:1996
void AddTuneLayer()
Definition: quick_actions.cpp:110
int m_SelectedQuadPoint
Definition: editor.h:810
void OnMouseMove(vec2 MousePos)
Definition: editor.cpp:8869
bool CanFillGameTiles() const
Definition: quick_actions.cpp:16
std::vector< CFilelistItem > m_vCompleteFileList
Definition: editor.h:689
bool IsQuadCornerSelected(int Index) const
Definition: editor.cpp:592
CRenderTools m_RenderTools
Definition: editor.h:288
void SetHotEnvelopePoint(const CUIRect &View, const std::shared_ptr< CEnvelope > &pEnvelope, int ActiveChannels)
Definition: editor.cpp:6261
void PreparePointDrag(const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int QuadIndex, int PointIndex)
Definition: editor.cpp:1572
IGraphics::CTextureHandle GetSwitchTexture()
Definition: editor.cpp:8731
static CUi::EPopupMenuFunctionResult PopupMenuSettings(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:226
void ToggleEnvPoint(int Index, int Channel)
Definition: editor.cpp:637
int m_SelectedSound
Definition: editor.h:819
std::shared_ptr< CLayerGroup > GetSelectedGroup() const
Definition: editor.cpp:439
void SelectEnvPoint(int Index)
Definition: editor.cpp:623
float EnvelopeToScreenY(const CUIRect &View, float y) const
Definition: editor.cpp:6153
static CUi::EPopupMenuFunctionResult PopupTele(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2592
@ POPEVENT_REMOVE_USED_IMAGE
Definition: editor.h:618
@ POPEVENT_IMAGE_MAX
Definition: editor.h:612
@ POPEVENT_LOAD
Definition: editor.h:601
@ POPEVENT_LARGELAYER
Definition: editor.h:609
@ POPEVENT_RESTART_SERVER
Definition: editor.h:620
@ POPEVENT_SAVE_COPY
Definition: editor.h:606
@ POPEVENT_EXIT
Definition: editor.h:600
@ POPEVENT_SOUND_MAX
Definition: editor.h:613
@ POPEVENT_RESTARTING_SERVER
Definition: editor.h:621
@ POPEVENT_SAVE_SOUND
Definition: editor.h:608
@ POPEVENT_LOADCURRENT
Definition: editor.h:602
@ POPEVENT_REMOVE_USED_SOUND
Definition: editor.h:619
@ POPEVENT_NEW
Definition: editor.h:604
@ POPEVENT_PIXELART_BIG_IMAGE
Definition: editor.h:615
@ POPEVENT_PREVENTUNUSEDTILES
Definition: editor.h:610
@ POPEVENT_PLACE_BORDER_TILES
Definition: editor.h:614
@ POPEVENT_SAVE
Definition: editor.h:605
@ POPEVENT_SAVE_IMG
Definition: editor.h:607
@ POPEVENT_LOADDROP
Definition: editor.h:603
@ POPEVENT_PIXELART_TOO_MANY_COLORS
Definition: editor.h:617
@ POPEVENT_PIXELART_MANY_COLORS
Definition: editor.h:616
@ POPEVENT_IMAGEDIV16
Definition: editor.h:611
std::string m_SelectEntitiesImage
Definition: editor.h:749
class IConfigManager * m_pConfigManager
Definition: editor.h:280
class CConfig * Config() const
Definition: editor.h:322
bool m_BrushDrawDestructive
Definition: editor.h:639
class IInput * m_pInput
Definition: editor.h:278
bool m_PreviewZoom
Definition: editor.h:763
float m_OffsetEnvelopeX
Definition: editor.h:757
void PopupSelectAutoMapReferenceInvoke(int Current, float x, float y)
Definition: popups.cpp:2570
void RenderMapSettingsErrorDialog()
Definition: editor_server_settings.cpp:550
void AddSwitchLayer()
Definition: quick_actions.cpp:88
ColorRGBA GetButtonColor(const void *pId, int Checked)
Definition: editor.cpp:131
class IEngine * Engine() const
Definition: editor.h:324
static const char * Explain(EExplanation Explanation, int Tile, int Layer)
Definition: explanations.cpp:671
int PopupSelectImageResult()
Definition: popups.cpp:2354
void UpdateZoomEnvelopeX(const CUIRect &View)
Definition: editor.cpp:6064
CMapView * MapView()
Definition: editor.h:332
ECursorType
Definition: editor.h:837
@ NUM_CURSORS
Definition: editor.h:841
@ CURSOR_NORMAL
Definition: editor.h:838
@ CURSOR_RESIZE_V
Definition: editor.h:839
@ CURSOR_RESIZE_H
Definition: editor.h:840
static bool CompareFilenameDescending(const CFilelistItem *pLhs, const CFilelistItem *pRhs)
Definition: editor.h:705
std::pair< int, int > m_SelectedTangentInPoint
Definition: editor.h:821
void RedoLastAction()
Definition: editor.cpp:9364
void HandleWriterFinishJobs()
Definition: editor.cpp:8985
void Render()
Definition: editor.cpp:7983
EPreviewState m_FilePreviewState
Definition: editor.h:673
static bool CompareFilenameAscending(const CFilelistItem *pLhs, const CFilelistItem *pRhs)
Definition: editor.h:692
void ResetIngameMoved() override
Definition: editor.h:504
int m_SelectedGroup
Definition: editor.h:812
class CConfig * m_pConfig
Definition: editor.h:281
bool m_FileDialogSaveAction
Definition: editor.h:654
static const ColorRGBA ms_DefaultPropColor
Definition: editor.h:316
void RenderSelectedImage(CUIRect View)
Definition: editor.cpp:4997
void DeselectQuadPoints()
Definition: editor.cpp:530
int m_SelectedQuadEnvelope
Definition: editor.h:816
CMapView m_MapView
Definition: editor.h:292
IGraphics::CTextureHandle m_EntitiesTexture
Definition: editor.h:298
void PlaceBorderTiles()
Definition: editor.cpp:8799
static CUi::EPopupMenuFunctionResult PopupSelectAutoMapReference(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2535
bool Load(const char *pFilename, int StorageType) override
Definition: editor.cpp:9188
void UpdateZoomEnvelopeY(const CUIRect &View)
Definition: editor.cpp:6077
void RefreshFilteredFileList()
Definition: editor.cpp:5697
short m_SpeedupAngle
Definition: editor.h:1189
bool ReplaceSound(const char *pFileName, int StorageType, bool CheckDuplicate)
Definition: editor.cpp:4692
unsigned char m_ViewTeleNumber
Definition: editor.h:1182
void AddQuadOrSound()
Definition: quick_actions.cpp:24
EExtraEditor
Definition: editor.h:788
@ EXTRAEDITOR_ENVELOPES
Definition: editor.h:790
@ EXTRAEDITOR_NONE
Definition: editor.h:789
@ NUM_EXTRAEDITORS
Definition: editor.h:793
@ EXTRAEDITOR_SERVER_SETTINGS
Definition: editor.h:791
@ EXTRAEDITOR_HISTORY
Definition: editor.h:792
std::shared_ptr< CLayerQuads > m_pQuadsetPicker
Definition: editor.h:850
int m_FileDialogFileType
Definition: editor.h:665
ColorRGBA m_aSavedColors[8]
Definition: editor.h:830
void InvokeFileDialog(int StorageType, int FileType, const char *pTitle, const char *pButtonText, const char *pBasepath, bool FilenameAsDefault, bool(*pfnFunc)(const char *pFilename, int StorageType, void *pUser), void *pUser)
Definition: editor.cpp:5808
void RenderImagesList(CUIRect Toolbox)
Definition: editor.cpp:4846
void PopupSelectSoundInvoke(int Current, float x, float y)
Definition: popups.cpp:2401
static bool AddSound(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:4628
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_FileDialogFileNameInput
Definition: editor.h:659
int m_PopupEventType
Definition: editor.h:624
unsigned char m_TuningNum
Definition: editor.h:1184
void UpdateTooltip(const void *pId, const CUIRect *pRect, const char *pToolTip)
Definition: editor.cpp:182
void DoAudioPreview(CUIRect View, const void *pPlayPauseButtonId, const void *pStopButtonId, const void *pSeekBarId, int SampleId)
Definition: editor.cpp:977
static CUi::EPopupMenuFunctionResult PopupSelectGametileOp(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2437
int m_SortByFilename
Definition: editor.h:745
EUnusedEntities m_AllowPlaceUnusedTiles
Definition: editor.h:636
SEditResult< int > UiDoValueSelector(void *pId, CUIRect *pRect, const char *pLabel, int Current, int Min, int Max, int Step, float Scale, const char *pToolTip, bool IsDegree=false, bool IsHex=false, int Corners=IGraphics::CORNER_ALL, const ColorRGBA *pColor=nullptr, bool ShowValue=true)
Definition: editor.cpp:301
unsigned char m_ViewTuning
Definition: editor.h:1185
int m_PopupEventWasActivated
Definition: editor.h:626
float ScreenToEnvelopeDY(const CUIRect &View, float DeltaY)
Definition: editor.cpp:6163
static CUi::EPopupMenuFunctionResult PopupMenuTools(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:153
void RenderLayers(CUIRect LayersBox)
Definition: editor.cpp:3810
CEditor()
Definition: editor.h:360
void ZoomAdaptOffsetX(float ZoomFactor, const CUIRect &View)
Definition: editor.cpp:6058
int m_SelectedQuadIndex
Definition: editor.h:811
bool IsTangentOutPointSelected(int Index, int Channel) const
Definition: editor.cpp:682
class IGraphics * Graphics() const
Definition: editor.h:325
void AddTileLayer()
Definition: quick_actions.cpp:67
bool m_ShowDetail
Definition: editor.h:779
CRenderTools * RenderTools()
Definition: editor.h:330
int m_Mentions
Definition: editor.h:641
void ComputePointAlignments(const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int QuadIndex, int PointIndex, int OffsetX, int OffsetY, std::vector< SAlignmentInfo > &vAlignments, bool Append=false) const
Definition: editor.cpp:1616
bool m_FileDialogOpening
Definition: editor.h:676
CImageInfo m_TileartImageInfo
Definition: editor.h:865
static bool CallbackAddTileart(const char *pFilepath, int StorageType, void *pUser)
Definition: tileart.cpp:192
@ TILE_VANILLA_FLAG_RED
Definition: editor.h:1131
@ TILE_VANILLA_SPAWN
Definition: editor.h:1128
@ TILE_VANILLA_SHIELD
Definition: editor.h:1133
@ TILE_VANILLA_SHOTGUN
Definition: editor.h:1135
@ TILE_VANILLA_NINJA
Definition: editor.h:1137
@ TILE_VANILLA_GRENADE
Definition: editor.h:1136
@ TILE_VANILLA_HEART
Definition: editor.h:1134
@ TILE_VANILLA_SPAWN_BLUE
Definition: editor.h:1130
@ TILE_VANILLA_SPAWN_RED
Definition: editor.h:1129
@ TILE_VANILLA_LASER
Definition: editor.h:1138
@ TILE_VANILLA_FLAG_BLUE
Definition: editor.h:1132
int m_FilePreviewImageHeight
Definition: editor.h:675
CSmoothValue m_ZoomEnvelopeX
Definition: editor.h:752
void FillGameTiles(EGameTileOp FillTile) const
Definition: quick_actions.cpp:9
static CUi::EPopupMenuFunctionResult PopupSound(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:1802
void RenderSounds(CUIRect Toolbox)
Definition: editor.cpp:5020
bool IsQuadSelected(int Index) const
Definition: editor.cpp:587
float m_aExtraEditorSplits[NUM_EXTRAEDITORS]
Definition: editor.h:796
std::deque< std::shared_ptr< CDataFileWriterFinishJob > > m_WriterFinishJobs
Definition: editor.h:855
CEditorHistory m_ServerSettingsHistory
Definition: editor.h:1202
bool IsInTriangle(vec2 Point, vec2 A, vec2 B, vec2 C)
Definition: editor.cpp:2588
std::vector< int > m_vSelectedLayers
Definition: editor.h:808
CLayerSelector * LayerSelector()
Definition: editor.h:334
void LoadCurrentMap()
Definition: editor.cpp:9142
void SortFilteredFileList()
Definition: editor.cpp:5138
void DoSoundSource(int LayerIndex, CSoundSource *pSource, int Index)
Definition: editor.cpp:1469
void RenderEditorHistory(CUIRect View)
Definition: editor.cpp:7689
bool PerformAutosave()
Definition: editor.cpp:8949
void SelectPreviousLayer()
Definition: editor.cpp:770
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_FileDialogNewFolderNameInput
Definition: editor.h:669
int PopupSelectSoundResult()
Definition: popups.cpp:2409
SEditResult< E > DoPropertiesWithState(CUIRect *pToolbox, CProperty *pProps, int *pIds, int *pNewVal, const std::vector< ColorRGBA > &vColors={})
Definition: editor_props.cpp:20
unsigned char m_SwitchDelay
Definition: editor.h:1192
void UndoLastAction()
Definition: editor.cpp:9354
void DeselectEnvPoints()
Definition: editor.cpp:669
bool m_PreventUnusedTilesWasWarned
Definition: editor.h:628
@ TILE_FNG_SPIKE_OLD3
Definition: editor.h:1123
@ TILE_FNG_SPIKE_RED
Definition: editor.h:1101
@ TILE_FNG_LASER
Definition: editor.h:1119
@ TILE_FNG_SHOTGUN
Definition: editor.h:1116
@ TILE_FNG_SPIKE_GOLD
Definition: editor.h:1099
@ TILE_FNG_FLAG_BLUE
Definition: editor.h:1113
@ TILE_FNG_SPIKE_BLUE
Definition: editor.h:1102
@ TILE_FNG_SPIKE_OLD2
Definition: editor.h:1122
@ TILE_FNG_SPAWN_RED
Definition: editor.h:1110
@ TILE_FNG_SPIKE_PURPLE
Definition: editor.h:1107
@ TILE_FNG_SPAWN
Definition: editor.h:1109
@ TILE_FNG_NINJA
Definition: editor.h:1118
@ TILE_FNG_SPIKE_OLD1
Definition: editor.h:1121
@ TILE_FNG_FLAG_RED
Definition: editor.h:1112
@ TILE_FNG_HEART
Definition: editor.h:1115
@ TILE_FNG_SCORE_BLUE
Definition: editor.h:1104
@ TILE_FNG_SPAWN_BLUE
Definition: editor.h:1111
@ TILE_FNG_SPIKE_NORMAL
Definition: editor.h:1100
@ TILE_FNG_SCORE_RED
Definition: editor.h:1103
@ TILE_FNG_SHIELD
Definition: editor.h:1114
@ TILE_FNG_GRENADE
Definition: editor.h:1117
@ TILE_FNG_SPIKE_GREEN
Definition: editor.h:1106
bool m_FileDialogShowingRoot
Definition: editor.h:667
void SelectQuadPoint(int QuadIndex, int Index)
Definition: editor.cpp:535
CUi m_UI
Definition: editor.h:289
IGraphics::CTextureHandle m_TeleTexture
Definition: editor.h:301
static bool CallbackSaveCopyMap(const char *pFileName, int StorageType, void *pUser)
Definition: editor.cpp:865
std::vector< const CFilelistItem * > m_vpFilteredFileList
Definition: editor.h:690
unsigned char m_SwitchNum
Definition: editor.h:1191
float m_MouseWorldScale
Definition: editor.h:764
static CUi::EPopupMenuFunctionResult PopupSelectConfigAutoMap(void *pContext, CUIRect View, bool Active)
Definition: popups.cpp:2475
EShowEnvelope m_ShowEnvelopePreview
Definition: editor.h:805
void ResetMentions() override
Definition: editor.h:502
void DrawAxis(EAxis Axis, CPoint &OriginalPoint, CPoint &Point) const
Definition: editor.cpp:1594
void RenderFileDialog()
Definition: editor.cpp:5159
Definition: editor_trackers.h:73
EType
Definition: envelope.h:15
Definition: layer_group.h:10
Definition: layer_selector.h:7
Definition: layer_tiles.h:35
class ITextRender * TextRender()
Definition: editor.h:1216
class CEditor * m_pEditor
Definition: layer.h:18
class IGraphics * Graphics()
Definition: editor.h:1215
Definition: editor_server_settings.h:227
Definition: editor_server_settings.h:195
Definition: map_view.h:14
int m_Max
Definition: editor.h:235
int m_Value
Definition: editor.h:232
int m_Type
Definition: editor.h:233
CProperty(std::nullptr_t)
Definition: editor.h:228
CProperty(const char *pName, int Value, int Type, int Min, int Max)
Definition: editor.h:225
const char * m_pName
Definition: editor.h:231
int m_Min
Definition: editor.h:234
Definition: editor_trackers.h:19
Definition: mapitems.h:224
Definition: smooth_value.h:12
Definition: mapitems.h:473
Definition: mapitems.h:238
EPopupMenuFunctionResult
Definition: ui.h:300
Definition: graphics.h:201
void Invalidate()
Definition: graphics.h:214
Definition: graphics.h:184
@ CORNER_ALL
Definition: graphics.h:416
Definition: textrender.h:314
std::function< void(int *pIndex)> FIndexModifyFunction
Definition: editor.h:52
@ PROPTYPE_NULL
Definition: editor.h:240
@ PROPTYPE_AUTOMAPPER_REFERENCE
Definition: editor.h:250
@ PROPTYPE_BOOL
Definition: editor.h:241
@ PROPTYPE_SHIFT
Definition: editor.h:247
@ PROPTYPE_COLOR
Definition: editor.h:244
@ PROPTYPE_ENVELOPE
Definition: editor.h:246
@ PROPTYPE_AUTOMAPPER
Definition: editor.h:249
@ PROPTYPE_ANGLE_SCROLL
Definition: editor.h:243
@ PROPTYPE_IMAGE
Definition: editor.h:245
@ PROPTYPE_SOUND
Definition: editor.h:248
@ PROPTYPE_INT
Definition: editor.h:242
#define REGISTER_QUICK_ACTION(name, text, callback, disabled, active, button_color, description)
Definition: editor.h:356
std::function< void(const T &, char(&aOutput)[128], std::vector< STextColorSplit > &)> FDropdownRenderCallback
Definition: editor.h:54
@ DIALOG_NONE
Definition: editor.h:64
@ DIALOG_QUICK_PROMPT
Definition: editor.h:67
@ DIALOG_FILE
Definition: editor.h:65
@ MODE_SOUNDS
Definition: editor.h:61
@ MODE_LAYERS
Definition: editor.h:59
@ DIALOG_MAPSETTINGS_ERROR
Definition: editor.h:66
@ NUM_MODES
Definition: editor.h:62
@ MODE_IMAGES
Definition: editor.h:60
EGameTileOp
Definition: enums.h:20
void mem_zero(T *block, size_t size)
Definition: system.h:196
int str_comp_filenames(const char *a, const char *b)
Definition: system.cpp:3062
int str_comp(const char *a, const char *b)
Definition: system.cpp:3052
int str_copy(char *dst, const char *src, int dst_size)
Definition: system.cpp:2769
#define GNUC_ATTRIBUTE(x)
Definition: log.h:10
static MAYBE_UNUSED constexpr float MENU
Definition: editor_ui.h:19
bool m_IsLink
Definition: editor.h:685
bool m_IsDir
Definition: editor.h:684
int m_StorageType
Definition: editor.h:686
time_t m_TimeModified
Definition: editor.h:687
char m_aName[IO_MAX_PATH_LENGTH]
Definition: editor.h:683
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition: editor.h:682
Definition: editor.h:1007
int m_Diff
Definition: editor.h:1018
CPoint m_AlignedPoint
Definition: editor.h:1008
int m_X
Definition: editor.h:1013
int m_Y
Definition: editor.h:1014
int m_PointIndex
Definition: editor.h:1017
EAxis m_Axis
Definition: editor.h:1016
@ NUM_POINTS
Definition: editor.h:986
@ POINT_CENTER
Definition: editor.h:985
@ POINT_TR
Definition: editor.h:982
@ POINT_TL
Definition: editor.h:981
@ POINT_BL
Definition: editor.h:983
@ POINT_BR
Definition: editor.h:984
CPoint m_aPoints[NUM_POINTS]
Definition: editor.h:988
bool operator()(const char *pLhs, const char *pRhs) const
Definition: editor.h:519
Definition: layer_tiles.h:140
Definition: editor_ui.h:7
Definition: editor_server_settings.h:47
@ TEXTALIGN_MC
Definition: textrender.h:35
@ IO_MAX_PATH_LENGTH
Definition: types.h:44
@ BUTTONFLAG_LEFT
Definition: ui.h:222
vector2_base< float > vec2
Definition: vmath.h:158