3#ifndef GAME_EDITOR_EDITOR_H
4#define GAME_EDITOR_EDITOR_H
80 CProperty(
const char *pName,
int Value,
int Type,
int Min,
int Max) :
188#define REGISTER_QUICK_ACTION(name, text, callback, disabled, active, button_color, description) CQuickAction m_QuickAction##name;
190#undef REGISTER_QUICK_ACTION
193#define
REGISTER_QUICK_ACTION(name, text, callback, disabled, active, button_color, description) m_QuickAction##name(text, description, callback, disabled, active, button_color),
194#include <game/editor/quick_actions.h>
246 CursorTexture.Invalidate();
291 void Init()
override;
330 bool operator()(
const char *pLhs,
const char *pRhs)
const;
335 void Reset(
bool CreateDefault =
true);
336 bool Save(
const char *pFilename)
override;
337 bool Load(
const char *pFilename,
int StorageType)
override;
338 bool HandleMapDrop(
const char *pFilename,
int StorageType)
override;
501 std::shared_ptr<CLayerGroup>
m_pBrush;
509 void EnvelopeEval(
int TimeOffsetMillis,
int EnvelopeIndex, ColorRGBA &Result,
size_t Channels)
override;
516 void UpdateTooltip(
const void *pId,
const CUIRect *pRect,
const char *pToolTip);
518 int DoButtonLogic(
const void *pId,
int Checked,
const CUIRect *pRect,
int Flags,
const char *pToolTip);
519 int DoButton_Editor(
const void *pId,
const char *pText,
int Checked,
const CUIRect *pRect,
int Flags,
const char *pToolTip);
520 int DoButton_Env(
const void *pId,
const char *pText,
int Checked,
const CUIRect *pRect,
const char *pToolTip, ColorRGBA Color,
int Corners);
522 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);
524 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);
525 bool DoEditBox(CLineInput *pLineInput,
const CUIRect *pRect,
float FontSize,
int Corners =
IGraphics::CORNER_ALL,
const char *pToolTip =
nullptr,
const std::vector<STextColorSplit> &vColorSplits = {});
526 bool DoClearableEditBox(CLineInput *pLineInput,
const CUIRect *pRect,
float FontSize,
int Corners =
IGraphics::CORNER_ALL,
const char *pToolTip =
nullptr,
const std::vector<STextColorSplit> &vColorSplits = {});
527 SEditResult<int>
UiDoValueSelector(
const 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);
528 void RenderBackground(CUIRect View, IGraphics::CTextureHandle Texture,
float Size,
float Brightness)
const;
533 int DoEditBoxDropdown(SEditBoxDropdownContext *pDropdown, CLineInput *pLineInput,
const CUIRect *pEditBoxRect,
int x,
float MaxHeight,
bool AutoWidth,
const std::vector<T> &vData,
const FDropdownRenderCallback<T> &pfnMatchCallback);
553 std::vector<std::shared_ptr<CLayerTiles>>
m_vpLayers;
601 static bool CallbackOpenMap(
const char *pFilename,
int StorageType,
void *pUser);
602 static bool CallbackAppendMap(
const char *pFilename,
int StorageType,
void *pUser);
603 static bool CallbackSaveMap(
const char *pFilename,
int StorageType,
void *pUser);
607 static bool CallbackSaveImage(
const char *pFilename,
int StorageType,
void *pUser);
608 static bool CallbackSaveSound(
const char *pFilename,
int StorageType,
void *pUser);
627 void DoQuadEnvPoint(
const CQuad *pQuad, CEnvelope *pEnvelope,
int QuadIndex,
int PointIndex);
628 void DoQuadPoint(
int LayerIndex,
const std::shared_ptr<CLayerQuads> &pLayer, CQuad *pQuad,
int QuadIndex,
int v);
631 void DoSoundSource(
int LayerIndex, CSoundSource *pSource,
int Index);
657 void DoQuad(
int LayerIndex,
const std::shared_ptr<CLayerQuads> &pLayer, CQuad *pQuad,
int Index);
659 void DoPointDrag(CQuad *pQuad,
int QuadIndex,
int PointIndex,
ivec2 Offset);
682 void ComputePointAlignments(
const std::shared_ptr<CLayerQuads> &pLayer,
CQuad *pQuad,
int QuadIndex,
int PointIndex,
ivec2 Offset, std::vector<SAlignmentInfo> &vAlignments,
bool Append =
false)
const;
683 void ComputePointsAlignments(
const std::shared_ptr<CLayerQuads> &pLayer,
bool Pivot,
ivec2 Offset, std::vector<SAlignmentInfo> &vAlignments)
const;
690 bool ReplaceImage(
const char *pFilename,
int StorageType,
bool CheckDuplicate);
692 bool ReplaceSound(
const char *pFilename,
int StorageType,
bool CheckDuplicate);
694 static bool AddImage(
const char *pFilename,
int StorageType,
void *pUser);
695 static bool AddSound(
const char *pFilename,
int StorageType,
void *pUser);
758 void DoAudioPreview(
CUIRect View,
const void *pPlayPauseButtonId,
const void *pStopButtonId,
const void *pSeekBarId,
int SampleId);
767 void ResetZoomEnvelope(
const std::shared_ptr<CEnvelope> &pEnvelope,
int ActiveChannels);
Definition editor_history.h:13
bool m_Modified
Definition map.h:87
CHoverTile(int Group, int Layer, int x, int y, const CTile Tile)
Definition editor.h:678
int m_Layer
Definition editor.h:688
const CTile m_Tile
Definition editor.h:691
int m_Group
Definition editor.h:687
int m_X
Definition editor.h:689
int m_Y
Definition editor.h:690
bool operator()(const char *pLhs, const char *pRhs) const
Definition editor.cpp:3929
IGraphics::CTextureHandle GetSpeedupTexture()
Definition editor.cpp:6775
unsigned char m_SpeedupForce
Definition editor.h:1196
static CUi::EPopupMenuFunctionResult PopupSelectImage(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2237
class IStorage * m_pStorage
Definition editor.h:118
static CUi::EPopupMenuFunctionResult PopupMenuFile(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:23
CEditorMap m_Map
Definition editor.h:1208
void OnClose() override
Definition editor.cpp:7164
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_ui.cpp:152
void DoColorPickerButton(const void *pId, const CUIRect *pRect, ColorRGBA Color, const std::function< void(ColorRGBA Color)> &SetColor)
Definition editor.cpp:2736
int DoButton_Env(const void *pId, const char *pText, int Checked, const CUIRect *pRect, const char *pToolTip, ColorRGBA Color, int Corners)
Definition editor_ui.cpp:92
int PopupSelectGameTileOpResult()
Definition popups.cpp:2414
EEnvelopePreview m_ActiveEnvelopePreview
Definition editor.h:876
bool m_ShowMousePointer
Definition editor.h:830
int m_ToolbarPreviewSound
Definition editor.h:816
void ZoomAdaptOffsetY(float ZoomFactor, const CUIRect &View)
Definition editor.cpp:4083
void RenderPressedKeys(CUIRect View)
Definition editor.cpp:6359
static CUi::EPopupMenuFunctionResult PopupLayer(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:746
bool IsNonGameTileLayerSelected() const
Definition quick_actions.cpp:142
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:290
void DoMapEditor(CUIRect View)
Definition editor.cpp:2091
CPrompt m_Prompt
Definition editor.h:126
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:463
void TestMapLocally()
Definition quick_actions.cpp:218
bool m_IngameMoved
Definition editor.h:814
EUnusedEntities
Definition editor.h:803
@ NOT_ALLOWED
Definition editor.h:805
@ ALLOWED_IMPLICIT
Definition editor.h:804
@ ALLOWED_EXPLICIT
Definition editor.h:806
IGraphics::CTextureHandle GetFrontTexture()
Definition editor.cpp:6761
EAxisLock
Definition editor.h:714
@ VERTICAL
Definition editor.h:718
@ HORIZONTAL
Definition editor.h:717
@ START
Definition editor.h:715
@ NONE
Definition editor.h:716
bool m_BrushColorEnabled
Definition editor.h:766
const void * m_pUiGotContext
Definition editor.h:910
float m_AnimateSpeed
Definition editor.h:854
void PreparePointDrag(const CQuad *pQuad, int QuadIndex, int PointIndex)
Definition editor.cpp:874
void UpdateHotQuadPoint(const CLayerQuads *pLayer)
Definition editor.cpp:2689
bool m_EditorWasUsedBefore
Definition editor.h:130
IGraphics::CTextureHandle GetTuneTexture()
Definition editor.cpp:6789
void RenderEnvelopeEditor(CUIRect View)
Definition editor.cpp:4328
static bool ReplaceSoundCallback(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:3703
static CUi::EPopupMenuFunctionResult PopupSource(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1130
CEditorHistory & ActiveHistory()
Definition editor.cpp:7250
CMapSettingsBackend::CContext m_MapSettingsCommandContext
Definition editor.h:918
bool HasUnsavedData() const override
Definition editor.h:703
static bool CallbackOpenMap(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:98
std::shared_ptr< CLayerTiles > m_pTilesetPicker
Definition editor.h:907
IGraphics::CTextureHandle m_FrontTexture
Definition editor.h:134
int DoButton_Editor(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags, const char *pToolTip)
Definition editor_ui.cpp:83
unsigned char m_ViewSwitch
Definition editor.h:1202
void DeleteSelectedLayer()
Definition quick_actions.cpp:193
CLayerSelector m_LayerSelector
Definition editor.h:124
void DoQuadPoint(int LayerIndex, const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int QuadIndex, int v)
Definition editor.cpp:1650
void RenderMousePointer()
Definition editor.cpp:6468
void AddGroup()
Definition quick_actions.cpp:50
vec2 m_MouseDeltaWorld
Definition editor.h:837
void Init() override
Definition editor.cpp:6803
static CUi::EPopupMenuFunctionResult PopupGoto(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2915
bool m_ShowPicker
Definition editor.h:885
void ComputePointsAlignments(const std::shared_ptr< CLayerQuads > &pLayer, bool Pivot, ivec2 Offset, std::vector< SAlignmentInfo > &vAlignments) const
Definition editor.cpp:1038
std::vector< CHoverTile > m_vHoverTiles
Definition editor.h:693
void UpdateHotEnvelopePoint(const CUIRect &View, const CEnvelope *pEnvelope, int ActiveChannels)
Definition editor.cpp:4273
void OnUpdate() override
Definition editor.cpp:7054
void PopupSelectImageInvoke(int Current, float x, float y)
Definition popups.cpp:2298
static CUi::EPopupMenuFunctionResult PopupSwitch(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2716
const void * m_pContainerPannedLast
Definition editor.h:839
unsigned char m_SpeedupMaxSpeed
Definition editor.h:1197
float ScreenToEnvelopeDX(const CUIRect &View, float DeltaX)
Definition editor.cpp:4170
bool Save(const char *pFilename) override
Definition editor.cpp:7198
IGraphics::CTextureHandle m_TuneTexture
Definition editor.h:138
CUi * Ui()
Definition editor.h:160
vec2 m_MouseWorldNoParaPos
Definition editor.h:836
float m_ToolBoxWidth
Definition editor.h:867
void RenderMenubar(CUIRect Menubar)
Definition editor.cpp:5936
IGraphics::CTextureHandle GetEntitiesTexture()
Definition editor.cpp:6796
IGraphics::CTextureHandle GetTeleTexture()
Definition editor.cpp:6768
static bool CallbackAddQuadArt(const char *pFilepath, int StorageType, void *pUser)
Definition quad_art.cpp:201
bool m_GuiActive
Definition editor.h:831
ELayerOperation
Definition editor.h:1105
@ CLICK
Definition editor.h:1107
@ GROUP_DRAG
Definition editor.h:1109
@ LAYER_DRAG
Definition editor.h:1108
void DoPointDrag(CQuad *pQuad, int QuadIndex, int PointIndex, ivec2 Offset)
Definition editor.cpp:879
int DoProperties(CUIRect *pToolbox, CProperty *pProps, int *pIds, int *pNewVal, const std::vector< ColorRGBA > &vColors={})
Definition editor_props.cpp:9
void AddSoundLayer()
Definition quick_actions.cpp:57
unsigned char m_TeleCheckpointNumber
Definition editor.h:1190
CImageInfo m_TileArtImageInfo
Definition editor.h:943
int m_PopupEventActivated
Definition editor.h:797
bool m_LargeLayerWasWarned
Definition editor.h:799
void DoEditorDragBar(CUIRect View, CUIRect *pDragBar, EDragSide Side, float *pValue, float MinValue=100.0f, float MaxValue=400.0f)
Definition editor.cpp:5882
class ITextRender * TextRender() const
Definition editor.h:158
void HandleCursorMovement()
Definition editor.cpp:6850
void OnRender() override
Definition editor.cpp:7108
static bool CallbackCustomEntities(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:232
@ POPEVENT_REMOVE_USED_IMAGE
Definition editor.h:790
@ POPEVENT_TILE_ART_BIG_IMAGE
Definition editor.h:786
@ POPEVENT_IMAGE_MAX
Definition editor.h:783
@ POPEVENT_TILE_ART_TOO_MANY_COLORS
Definition editor.h:788
@ POPEVENT_LOAD
Definition editor.h:776
@ POPEVENT_LARGELAYER
Definition editor.h:780
@ POPEVENT_TILE_ART_MANY_COLORS
Definition editor.h:787
@ POPEVENT_RESTART_SERVER
Definition editor.h:792
@ POPEVENT_EXIT
Definition editor.h:775
@ POPEVENT_SOUND_MAX
Definition editor.h:784
@ POPEVENT_RESTARTING_SERVER
Definition editor.h:793
@ POPEVENT_LOADCURRENT
Definition editor.h:777
@ POPEVENT_QUAD_ART_BIG_IMAGE
Definition editor.h:789
@ POPEVENT_REMOVE_USED_SOUND
Definition editor.h:791
@ POPEVENT_NEW
Definition editor.h:779
@ POPEVENT_PREVENTUNUSEDTILES
Definition editor.h:781
@ POPEVENT_PLACE_BORDER_TILES
Definition editor.h:785
@ POPEVENT_LOADDROP
Definition editor.h:778
@ POPEVENT_IMAGEDIV16
Definition editor.h:782
std::map< int, CPoint[5]> m_QuadDragOriginalPoints
Definition editor.h:1212
static bool CallbackAppendMap(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:117
void LayerSelectImage()
Definition quick_actions.cpp:161
const CQuadKnife * QuadKnife() const
Definition editor.h:168
void DoToolbarLayers(CUIRect Toolbar)
Definition editor.cpp:350
CUi::SColorPickerPopupContext m_ColorPickerPopupContext
Definition editor.h:758
void ResetZoomEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope, int ActiveChannels)
Definition editor.cpp:4096
bool m_Animate
Definition editor.h:851
static CUi::EPopupMenuFunctionResult PopupEntities(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2959
class IConfigManager * ConfigManager() const
Definition editor.h:153
void ShowFileDialogError(const char *pFormat,...)
Definition editor.cpp:3934
void EnvelopeEval(int TimeOffsetMillis, int EnvelopeIndex, ColorRGBA &Result, size_t Channels) override
Definition editor.cpp:86
int DoButton_MenuItem(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Flags=BUTTONFLAG_LEFT, const char *pToolTip=nullptr)
Definition editor_ui.cpp:132
int PopupSelectAutoMapReferenceResult()
Definition popups.cpp:2533
static bool CallbackSaveMap(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:136
static bool CallbackSaveCopyMap(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:174
void PopupSelectGametileOpInvoke(float x, float y)
Definition popups.cpp:2407
EAxis
Definition editor.h:1040
@ X
Definition editor.h:1042
@ Y
Definition editor.h:1043
static CUi::EPopupMenuFunctionResult PopupEnvPointMulti(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1570
static CUi::EPopupMenuFunctionResult PopupAnimateSettings(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:3021
CPointPopupContext m_PointPopupContext
Definition editor.h:980
static CUi::EPopupMenuFunctionResult PopupTune(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2819
static CUi::EPopupMenuFunctionResult PopupEnvPointCurveType(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1587
CQuadPopupContext m_QuadPopupContext
Definition editor.h:970
const CMapView * MapView() const
Definition editor.h:166
void PopupSelectConfigAutoMapInvoke(int Current, float x, float y)
Definition popups.cpp:2464
float m_LastAutosaveUpdateTime
Definition editor.h:726
const std::vector< CHoverTile > & HoverTiles() const
Definition editor.h:694
CFontTyper m_FontTyper
Definition editor.h:127
static constexpr ColorRGBA ms_DefaultPropColor
Definition editor.h:148
static CUi::EPopupMenuFunctionResult PopupSpeedup(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2676
unsigned char m_TeleNumber
Definition editor.h:1189
bool IsAllowPlaceUnusedTiles() const
Definition editor.cpp:2797
void AddTeleLayer()
Definition quick_actions.cpp:131
IGraphics::CTextureHandle m_aCursorTextures[ECursorType::NUM_CURSORS]
Definition editor.h:901
bool ReplaceImage(const char *pFilename, int StorageType, bool CheckDuplicate)
Definition editor.cpp:3491
CRenderLayersState m_RenderLayersState
Definition editor.h:1130
std::shared_ptr< CLayerGroup > m_pBrush
Definition editor.h:906
unsigned char m_SwitchNumber
Definition editor.h:1200
void HandleAutosave()
Definition editor.cpp:6985
void UpdateColorPipette()
Definition editor.cpp:6416
static bool ReplaceImageCallback(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:3536
void DoToolbarSounds(CUIRect Toolbar)
Definition editor.cpp:722
void DoToolbarImages(CUIRect Toolbar)
Definition editor.cpp:708
void RenderBackground(CUIRect View, IGraphics::CTextureHandle Texture, float Size, float Brightness) const
Definition editor_ui.cpp:324
EShowTile
Definition editor.h:843
@ SHOW_TILE_DECIMAL
Definition editor.h:845
@ SHOW_TILE_OFF
Definition editor.h:844
@ SHOW_TILE_HEXADECIMAL
Definition editor.h:846
void AddFrontLayer()
Definition quick_actions.cpp:98
CSmoothValue m_ZoomEnvelopeY
Definition editor.h:823
int m_Mode
Definition editor.h:762
ColorRGBA m_PipetteColor
Definition editor.h:889
static CUi::EPopupMenuFunctionResult PopupEnvPoint(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1400
class IEngine * m_pEngine
Definition editor.h:114
EShowTile m_ShowTileInfo
Definition editor.h:848
char m_MapEditorId
Definition editor.h:840
IGraphics::CTextureHandle m_CheckerTexture
Definition editor.h:892
CLineInputBuffered< 256 > m_SettingsCommandInput
Definition editor.h:916
static void MapSettingsDropdownRenderCallback(const SPossibleValueMatch &Match, char(&aOutput)[128], std::vector< STextColorSplit > &vColorSplits)
Definition editor_server_settings.cpp:1017
bool HandleMapDrop(const char *pFilename, int StorageType) override
Definition editor.cpp:7215
void RenderModebar(CUIRect View)
Definition editor.cpp:3959
ECursorType m_CursorType
Definition editor.h:902
IGraphics::CTextureHandle m_SpeedupTexture
Definition editor.h:136
void AddQuadsLayer()
Definition quick_actions.cpp:77
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:402
static CUi::EPopupMenuFunctionResult PopupProofMode(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2996
float EnvelopeToScreenX(const CUIRect &View, float x) const
Definition editor.cpp:4155
void AddSpeedupLayer()
Definition quick_actions.cpp:120
bool m_ShowEnvelopePreview
Definition editor.h:869
void ApplyAxisAlignment(ivec2 &Offset) const
Definition editor.cpp:1318
char m_aTooltip[256]
Definition editor.h:764
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_ui.cpp:104
class IInput * Input() const
Definition editor.h:151
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_ui.cpp:174
CMapSettingsBackend m_MapSettingsBackend
Definition editor.h:917
char m_aFilenamePendingLoad[IO_MAX_PATH_LENGTH]
Definition editor.h:771
void RenderServerSettingsEditor(CUIRect View, bool ShowServerSettingsEditorLast)
Definition editor_server_settings.cpp:56
static CUi::EPopupMenuFunctionResult PopupQuad(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:861
const void * m_pColorPickerPopupActiveId
Definition editor.h:759
class IStorage * Storage() const
Definition editor.h:159
void AdjustBrushSpecialTiles(bool UseNextFree, int Adjust=0)
Definition editor.cpp:7266
vec2 m_MouseWorldPos
Definition editor.h:835
static CUi::EPopupMenuFunctionResult PopupEnvelopeCurvetype(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:3078
float m_OffsetEnvelopeY
Definition editor.h:828
class IGraphics * m_pGraphics
Definition editor.h:115
int PopupSelectConfigAutoMapResult()
Definition popups.cpp:2475
class IClient * m_pClient
Definition editor.h:111
void FreeDynamicPopupMenus()
Definition editor.cpp:6400
static CUi::EPopupMenuFunctionResult PopupImage(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1692
static CUi::EPopupMenuFunctionResult PopupPoint(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1318
static CUi::EPopupMenuFunctionResult PopupQuadArt(void *pContext, CUIRect View, bool Active)
Definition quad_art.cpp:227
void DrawAABB(const SAxisAlignedBoundingBox &AABB, ivec2 Offset) const
Definition editor.cpp:1233
void RenderTooltip(CUIRect TooltipRect)
Definition editor.cpp:4053
std::vector< std::reference_wrapper< CEditorComponent > > m_vComponents
Definition editor.h:122
std::vector< std::string > m_vSelectEntitiesFiles
Definition editor.h:818
static CUi::EPopupMenuFunctionResult PopupSelectSound(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2319
void RenderEnvelopeEditorColorBar(CUIRect ColorBar, const std::shared_ptr< CEnvelope > &pEnvelope)
Definition editor.cpp:5633
void RenderIngameEntities(const CLayerGroup &Group, const CLayerTiles &TilesLayer)
Definition editor.cpp:6527
static bool CallbackSaveImage(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:192
EEnvelopePreview
Definition editor.h:871
@ ALL
Definition editor.h:874
@ NONE
Definition editor.h:872
@ SELECTED
Definition editor.h:873
CQuadKnife m_QuadKnife
Definition editor.h:128
IGraphics::CTextureHandle m_SwitchTexture
Definition editor.h:137
EExtraEditor m_ActiveExtraEditor
Definition editor.h:865
EPreviewState
Definition editor.h:141
@ PREVIEW_UNLOADED
Definition editor.h:142
@ PREVIEW_ERROR
Definition editor.h:144
@ PREVIEW_LOADED
Definition editor.h:143
static CUi::EPopupMenuFunctionResult PopupGroup(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:484
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_ui.cpp:180
static bool AddSound(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:3592
void MapDetails()
Definition quick_actions.cpp:175
SEditResult< int > UiDoValueSelector(const 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_ui.cpp:186
int m_PopupEnvelopeSelectedPoint
Definition editor.h:1002
void RenderStatusbar(CUIRect View, CUIRect *pTooltipRect)
Definition editor.cpp:4027
const CEditorMap * Map() const
Definition editor.h:164
void TileArtCheckColors()
Definition tile_art.cpp:171
float ScreenToEnvelopeX(const CUIRect &View, float x) const
Definition editor.cpp:4150
CQuadKnife * QuadKnife()
Definition editor.h:167
void OnIngameMoved() override
Definition editor.h:706
void QuadSelectionAABB(const std::shared_ptr< CLayerQuads > &pLayer, SAxisAlignedBoundingBox &OutAABB)
Definition editor.cpp:1257
void Reset(bool CreateDefault=true)
Definition editor.cpp:6732
int m_Dialog
Definition editor.h:763
class IClient * Client() const
Definition editor.h:152
void UpdateMentions() override
Definition editor.h:704
void OnActivate() override
Definition editor.cpp:7153
void UpdateHotSoundSource(const CLayerSounds *pLayer)
Definition editor.cpp:847
static bool IsVanillaImage(const char *pImage)
Definition editor.cpp:81
void OnWindowResize() override
Definition editor.cpp:7159
float m_AnimateTime
Definition editor.h:853
bool m_ColorPipetteActive
Definition editor.h:890
bool m_ResetZoomEnvelope
Definition editor.h:825
void RenderSavingIndicator(CUIRect View)
Definition editor.cpp:6382
int DoButtonLogic(const void *pId, int Checked, const CUIRect *pRect, int Flags, const char *pToolTip)
Definition editor_ui.cpp:71
CRenderMap * RenderMap()
Definition editor.h:161
class ISound * Sound() const
Definition editor.h:157
std::shared_ptr< CLayerGroup > m_apSavedBrushes[10]
Definition editor.h:147
class ISound * m_pSound
Definition editor.h:117
void RemoveTimeOffsetEnvelope(const std::shared_ptr< CEnvelope > &pEnvelope)
Definition editor.cpp:4180
const void * m_pContainerPanned
Definition editor.h:838
EDragSide
Definition editor.h:1150
@ BOTTOM
Definition editor.h:1151
@ RIGHT
Definition editor.h:1154
@ TOP
Definition editor.h:1153
@ LEFT
Definition editor.h:1152
float ScreenToEnvelopeY(const CUIRect &View, float y) const
Definition editor.cpp:4160
static CUi::EPopupMenuFunctionResult PopupEvent(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2014
void DoQuad(int LayerIndex, const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int Index)
Definition editor.cpp:1340
static bool AddImage(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:3541
bool m_AnimateUpdatePopup
Definition editor.h:855
unsigned char m_TuningNumber
Definition editor.h:1193
int64_t m_AnimateStart
Definition editor.h:852
static CUi::EPopupMenuFunctionResult PopupMapInfo(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1939
void MouseAxisLock(vec2 &CursorRel)
Definition editor.cpp:6945
class ITextRender * m_pTextRender
Definition editor.h:116
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_ui.cpp:119
void DoQuadEnvPoint(const CQuad *pQuad, CEnvelope *pEnvelope, int QuadIndex, int PointIndex)
Definition editor.cpp:2020
void AddTuneLayer()
Definition quick_actions.cpp:109
enum CEditor::EAxisLock m_MouseAxisLockState
void OnMouseMove(vec2 MousePos)
Definition editor.cpp:6897
bool CanFillGameTiles() const
Definition quick_actions.cpp:16
CRenderMap m_RenderMap
Definition editor.h:119
IGraphics::CTextureHandle GetSwitchTexture()
Definition editor.cpp:6782
static CUi::EPopupMenuFunctionResult PopupMenuSettings(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:234
CEditorMap * Map()
Definition editor.h:163
void ComputeAABBAlignments(const std::shared_ptr< CLayerQuads > &pLayer, const SAxisAlignedBoundingBox &AABB, ivec2 Offset, std::vector< SAlignmentInfo > &vAlignments) const
Definition editor.cpp:1099
float EnvelopeToScreenY(const CUIRect &View, float y) const
Definition editor.cpp:4165
static CUi::EPopupMenuFunctionResult PopupTele(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2545
std::string m_SelectEntitiesImage
Definition editor.h:819
class IConfigManager * m_pConfigManager
Definition editor.h:112
CImageInfo m_QuadArtImageInfo
Definition editor.h:948
class CConfig * Config() const
Definition editor.h:154
bool m_BrushDrawDestructive
Definition editor.h:811
class IInput * m_pInput
Definition editor.h:110
void DrawPointAlignments(const std::vector< SAlignmentInfo > &vAlignments, ivec2 Offset) const
Definition editor.cpp:1209
bool m_PreviewZoom
Definition editor.h:833
float m_OffsetEnvelopeX
Definition editor.h:827
void PopupSelectAutoMapReferenceInvoke(int Current, float x, float y)
Definition popups.cpp:2523
void ApplyAlignments(const std::vector< SAlignmentInfo > &vAlignments, ivec2 &Offset)
Definition editor.cpp:1291
void RenderMapSettingsErrorDialog()
Definition editor_server_settings.cpp:547
void AddSwitchLayer()
Definition quick_actions.cpp:87
ColorRGBA GetButtonColor(const void *pId, int Checked)
Definition editor_ui.cpp:16
class IEngine * Engine() const
Definition editor.h:155
int PopupSelectImageResult()
Definition popups.cpp:2306
void UpdateZoomEnvelopeX(const CUIRect &View)
Definition editor.cpp:4076
CMapView * MapView()
Definition editor.h:165
ECursorType
Definition editor.h:895
@ NUM_CURSORS
Definition editor.h:899
@ CURSOR_NORMAL
Definition editor.h:896
@ CURSOR_RESIZE_V
Definition editor.h:897
@ CURSOR_RESIZE_H
Definition editor.h:898
void HandleWriterFinishJobs()
Definition editor.cpp:7021
void Render()
Definition editor.cpp:6029
void ResetIngameMoved() override
Definition editor.h:707
CQuadArtParameters m_QuadArtParameters
Definition editor.h:949
class CConfig * m_pConfig
Definition editor.h:113
CMapView m_MapView
Definition editor.h:123
IGraphics::CTextureHandle m_EntitiesTexture
Definition editor.h:132
static CUi::EPopupMenuFunctionResult PopupSelectAutoMapReference(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2488
bool Load(const char *pFilename, int StorageType) override
Definition editor.cpp:7231
void UpdateZoomEnvelopeY(const CUIRect &View)
Definition editor.cpp:4089
short m_SpeedupAngle
Definition editor.h:1198
static bool CallbackAddTileArt(const char *pFilepath, int StorageType, void *pUser)
Definition tile_art.cpp:193
unsigned char m_ViewTeleNumber
Definition editor.h:1191
void AddQuadOrSound()
Definition quick_actions.cpp:24
void ShowHelp()
Definition editor.cpp:6020
static bool CallbackSaveSound(const char *pFilename, int StorageType, void *pUser)
Definition editor.cpp:212
EExtraEditor
Definition editor.h:858
@ EXTRAEDITOR_ENVELOPES
Definition editor.h:860
@ EXTRAEDITOR_NONE
Definition editor.h:859
@ NUM_EXTRAEDITORS
Definition editor.h:863
@ EXTRAEDITOR_SERVER_SETTINGS
Definition editor.h:861
@ EXTRAEDITOR_HISTORY
Definition editor.h:862
std::shared_ptr< CLayerQuads > m_pQuadsetPicker
Definition editor.h:908
ColorRGBA m_aSavedColors[8]
Definition editor.h:888
void RenderImagesList(CUIRect Toolbox)
Definition editor.cpp:3708
void PopupSelectSoundInvoke(int Current, float x, float y)
Definition popups.cpp:2353
int m_PopupEventType
Definition editor.h:796
void UpdateTooltip(const void *pId, const CUIRect *pRect, const char *pToolTip)
Definition editor_ui.cpp:8
void DoAudioPreview(CUIRect View, const void *pPlayPauseButtonId, const void *pStopButtonId, const void *pSeekBarId, int SampleId)
Definition editor.cpp:263
EQuadEnvelopePointOperation m_QuadEnvelopePointOperation
Definition editor.h:883
static CUi::EPopupMenuFunctionResult PopupSelectGametileOp(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2389
EUnusedEntities m_AllowPlaceUnusedTiles
Definition editor.h:808
unsigned char m_ViewTuning
Definition editor.h:1194
int m_PopupEventWasActivated
Definition editor.h:798
float ScreenToEnvelopeDY(const CUIRect &View, float DeltaY)
Definition editor.cpp:4175
static CUi::EPopupMenuFunctionResult PopupMenuTools(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:152
void RenderLayers(CUIRect LayersBox)
Definition editor.cpp:2817
CEditor()
Definition editor.h:192
void ZoomAdaptOffsetX(float ZoomFactor, const CUIRect &View)
Definition editor.cpp:4070
std::map< const char *, CUi::SMessagePopupContext *, CStringKeyComparator > m_PopupMessageContexts
Definition editor.h:737
class IGraphics * Graphics() const
Definition editor.h:156
void AddTileLayer()
Definition quick_actions.cpp:67
bool m_ShowDetail
Definition editor.h:849
void DoQuadEnvelopes(const CLayerQuads *pLayerQuads)
Definition editor.cpp:1861
int m_Mentions
Definition editor.h:813
void OnDialogClose()
Definition editor.cpp:7174
EAxis GetDragAxis(ivec2 Offset) const
Definition editor.cpp:884
CSmoothValue m_ZoomEnvelopeX
Definition editor.h:822
void FillGameTiles(EGameTileOp FillTile) const
Definition quick_actions.cpp:9
static CUi::EPopupMenuFunctionResult PopupSound(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:1832
void RenderSounds(CUIRect Toolbox)
Definition editor.cpp:3841
EQuadEnvelopePointOperation
Definition editor.h:878
@ ROTATE
Definition editor.h:881
@ NONE
Definition editor.h:879
@ MOVE
Definition editor.h:880
float m_aExtraEditorSplits[NUM_EXTRAEDITORS]
Definition editor.h:866
vec2 m_MouseAxisInitialPos
Definition editor.h:712
std::deque< std::shared_ptr< CDataFileWriterFinishJob > > m_WriterFinishJobs
Definition editor.h:912
CFileBrowser m_FileBrowser
Definition editor.h:125
bool ReplaceSound(const char *pFilename, int StorageType, bool CheckDuplicate)
Definition editor.cpp:3646
CLayerSelector * LayerSelector()
Definition editor.h:169
void LoadCurrentMap()
Definition editor.cpp:7180
void DoSoundSource(int LayerIndex, CSoundSource *pSource, int Index)
Definition editor.cpp:754
void RenderEditorHistory(CUIRect View)
Definition editor.cpp:5731
int PopupSelectSoundResult()
Definition popups.cpp:2361
SEditResult< E > DoPropertiesWithState(CUIRect *pToolbox, CProperty *pProps, int *pIds, int *pNewVal, const std::vector< ColorRGBA > &vColors={})
Definition editor_props.cpp:16
unsigned char m_SwitchDelay
Definition editor.h:1201
void ComputePointAlignments(const std::shared_ptr< CLayerQuads > &pLayer, CQuad *pQuad, int QuadIndex, int PointIndex, ivec2 Offset, std::vector< SAlignmentInfo > &vAlignments, bool Append=false) const
Definition editor.cpp:917
bool m_PreventUnusedTilesWasWarned
Definition editor.h:800
CUi m_UI
Definition editor.h:120
IGraphics::CTextureHandle m_TeleTexture
Definition editor.h:135
char m_aTileArtFilename[IO_MAX_PATH_LENGTH]
Definition editor.h:944
void RenderSelectedImage(CUIRect View) const
Definition editor.cpp:3818
float m_MouseWorldScale
Definition editor.h:834
static CUi::EPopupMenuFunctionResult PopupSelectConfigAutoMap(void *pContext, CUIRect View, bool Active)
Definition popups.cpp:2427
void ResetMentions() override
Definition editor.h:705
void DrawAxis(EAxis Axis, CPoint &OriginalPoint, CPoint &Point) const
Definition editor.cpp:895
Definition file_browser.h:17
Definition font_typer.h:19
Definition layer_group.h:12
Definition layer_selector.h:7
Definition layer_tiles.h:44
int m_Max
Definition editor.h:90
int m_Value
Definition editor.h:87
int m_Type
Definition editor.h:88
CProperty(std::nullptr_t)
Definition editor.h:83
CProperty(const char *pName, int Value, int Type, int Min, int Max)
Definition editor.h:80
const char * m_pName
Definition editor.h:86
int m_Min
Definition editor.h:89
Definition quad_knife.h:7
Definition mapitems.h:337
Definition render_map.h:55
Definition smooth_value.h:12
Definition mapitems.h:351
EPopupMenuFunctionResult
Definition ui.h:310
Definition render_interfaces.h:23
Definition graphics.h:205
void Invalidate()
Definition graphics.h:218
Definition graphics.h:188
@ CORNER_ALL
Definition graphics.h:474
Definition textrender.h:194
constexpr T color_cast(const F &)=delete
#define REGISTER_QUICK_ACTION(name, text, callback, disabled, active, button_color, description)
Definition editor.h:188
@ PROPTYPE_NULL
Definition editor.h:95
@ PROPTYPE_AUTOMAPPER_REFERENCE
Definition editor.h:105
@ PROPTYPE_BOOL
Definition editor.h:96
@ PROPTYPE_SHIFT
Definition editor.h:102
@ PROPTYPE_COLOR
Definition editor.h:99
@ PROPTYPE_ENVELOPE
Definition editor.h:101
@ PROPTYPE_AUTOMAPPER
Definition editor.h:104
@ PROPTYPE_ANGLE_SCROLL
Definition editor.h:98
@ PROPTYPE_IMAGE
Definition editor.h:100
@ PROPTYPE_SOUND
Definition editor.h:103
@ PROPTYPE_INT
Definition editor.h:97
@ MODE_SOUNDS
Definition editor.h:59
@ MODE_LAYERS
Definition editor.h:57
@ NUM_MODES
Definition editor.h:61
@ MODE_IMAGES
Definition editor.h:58
@ DIALOG_NONE
Definition editor.h:66
@ DIALOG_QUICK_PROMPT
Definition editor.h:69
@ DIALOG_FILE
Definition editor.h:67
@ DIALOG_MAPSETTINGS_ERROR
Definition editor.h:68
@ DIALOG_PSEUDO_FONT_TYPER
Definition editor.h:74
std::function< void(const T &, char(&aOutput)[128], std::vector< STextColorSplit > &)> FDropdownRenderCallback
Definition editor.h:52
EGameTileOp
Definition enums.h:20
constexpr auto IO_MAX_PATH_LENGTH
Definition types.h:26
ivec2 CPoint
Definition mapitems.h:255
static constexpr float MENU
Definition editor_ui.h:26
int m_Diff
Definition editor.h:1085
CPoint m_AlignedPoint
Definition editor.h:1075
int m_PointIndex
Definition editor.h:1084
EAxis m_Axis
Definition editor.h:1083
@ NUM_POINTS
Definition editor.h:1054
@ POINT_CENTER
Definition editor.h:1053
@ POINT_TR
Definition editor.h:1050
@ POINT_TL
Definition editor.h:1049
@ POINT_BL
Definition editor.h:1051
@ POINT_BR
Definition editor.h:1052
CPoint m_aPoints[NUM_POINTS]
Definition editor.h:1056
Definition editor_server_settings.h:49
@ TEXTALIGN_MC
Definition textrender.h:35
@ BUTTONFLAG_LEFT
Definition ui.h:232
vector2_base< int > ivec2
Definition vmath.h:163
vector2_base< float > vec2
Definition vmath.h:161