diff options
Diffstat (limited to 'src/game/editor/ed_editor.h')
| -rw-r--r-- | src/game/editor/ed_editor.h | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/src/game/editor/ed_editor.h b/src/game/editor/ed_editor.h index 225ff4ab..9388a671 100644 --- a/src/game/editor/ed_editor.h +++ b/src/game/editor/ed_editor.h @@ -318,7 +318,7 @@ public: // io int Save(class IStorage *pStorage, const char *pFilename); - int Load(class IStorage *pStorage, const char *pFilename); + int Load(class IStorage *pStorage, const char *pFilename, int StorageType); }; @@ -464,9 +464,12 @@ public: m_pFileDialogButtonText = 0; m_pFileDialogUser = 0; m_aFileDialogFileName[0] = 0; - m_aFileDialogPath[0] = 0; - m_aFileDialogCompleteFilename[0] = 0; - m_FilesNum = 0; + m_aFileDialogCurrentFolder[0] = 0; + m_aFileDialogCurrentLink[0] = 0; + m_pFileDialogPath = m_aFileDialogCurrentFolder; + m_aFileDialogActivate = false; + m_FileDialogScrollValue = 0.0f; + m_FilesSelectedIndex = -1; m_FilesStartAt = 0; m_FilesCur = 0; m_FilesStopAt = 999; @@ -507,15 +510,15 @@ public: virtual void Init(); virtual void UpdateAndRender(); - void FilelistPopulate(); - void InvokeFileDialog(int StorageType, const char *pTitle, const char *pButtonText, + void FilelistPopulate(int StorageType); + void InvokeFileDialog(int StorageType, int FileType, const char *pTitle, const char *pButtonText, const char *pBasepath, const char *pDefaultName, - void (*pfnFunc)(const char *pFilename, void *pUser), void *pUser); + void (*pfnFunc)(const char *pFilename, int StorageType, void *pUser), void *pUser); void Reset(bool CreateDefault=true); int Save(const char *pFilename); - int Load(const char *pFilename); - int Append(const char *pFilename); + int Load(const char *pFilename, int StorageType); + int Append(const char *pFilename, int StorageType); void Render(); CQuad *GetSelectedQuad(); @@ -530,22 +533,35 @@ public: const char *m_pTooltip; char m_aFileName[512]; + + enum + { + FILETYPE_MAP, + FILETYPE_IMG, + + MAX_PATH_LENGTH = 512 + }; int m_FileDialogStorageType; const char *m_pFileDialogTitle; const char *m_pFileDialogButtonText; - void (*m_pfnFileDialogFunc)(const char *pFileName, void *pUser); + void (*m_pfnFileDialogFunc)(const char *pFileName, int StorageType, void *pUser); void *m_pFileDialogUser; - char m_aFileDialogFileName[512]; - char m_aFileDialogPath[512]; - char m_aFileDialogCompleteFilename[512]; - int m_FilesNum; + char m_aFileDialogFileName[MAX_PATH_LENGTH]; + char m_aFileDialogCurrentFolder[MAX_PATH_LENGTH]; + char m_aFileDialogCurrentLink[MAX_PATH_LENGTH]; + char *m_pFileDialogPath; + bool m_aFileDialogActivate; + int m_FileDialogFileType; + float m_FileDialogScrollValue; + int m_FilesSelectedIndex; struct CFilelistItem { char m_aFilename[128]; char m_aName[128]; bool m_IsDir; + bool m_IsLink; int m_StorageType; bool operator<(const CFilelistItem &Other) { return !str_comp(m_aFilename, "..") ? true : !str_comp(Other.m_aFilename, "..") ? false : @@ -643,8 +659,8 @@ public: float UiDoScrollbarV(const void *id, const CUIRect *pRect, float Current); vec4 GetButtonColor(const void *id, int Checked); - static void ReplaceImage(const char *pFilename, void *pUser); - static void AddImage(const char *pFilename, void *pUser); + static void ReplaceImage(const char *pFilename, int StorageType, void *pUser); + static void AddImage(const char *pFilename, int StorageType, void *pUser); void RenderImages(CUIRect Toolbox, CUIRect Toolbar, CUIRect View); void RenderLayers(CUIRect Toolbox, CUIRect Toolbar, CUIRect View); @@ -655,7 +671,7 @@ public: void RenderMenubar(CUIRect Menubar); void RenderFileDialog(); - void AddFileDialogEntry(const CFilelistItem *pItem, CUIRect *pView); + void AddFileDialogEntry(int Index, CUIRect *pView); void SortImages(); }; |