23 #include "C4Version.h"
38 #define FILE_SELECT_FILTER_FOR_C4S "OpenClonk Scenario\0" \
39 "*.ocs *.ocf Scenario.txt\0" \
51 #ifdef USE_WIN32_WINDOWS
67 if (!
Active || !szText)
return false;
77 bool is_chat_command = (*szText ==
'#');
138 if (!pGameSave->
Save(path))
139 {
Out(
"Save failed"); fOkay=
false; }
172 save_target_group = &export_group;
227 if (!pGameSave->
Save(*save_target_group,
false))
228 {
Out(
"Game::Save failed"); fOkay=
false; }
236 Out(
"ScenarioFile::Close failed"); fOkay =
false;
240 Out(
"ScenarioFile::Open failed"); fOkay =
false;
277 filename.
Append(
"_packed.ocs");
280 "OpenClonk Scenario\0*.ocs\0\0",
294 if (!
Active)
return false;
301 #ifdef WITH_QT_EDITOR
302 bool host_in_network =
false;
354 "OpenClonk Player\0*.ocp\0\0",
364 char c4pfile2[512 + 1] =
"";
369 cptr +=
SLen(cptr) + 1;
452 strCopyright.
Format(
"Copyright (c) %s %s", C4COPYRIGHT_YEAR, C4COPYRIGHT_COMPANY);
464 if (!
Active)
return false;
490 if (!
Active)
return false;
496 sText.
Format(
LoadResStr(
"IDS_CNS_PLRQUITNET"),pPlr->GetName(),pPlr->AtClientName);
518 "OpenClonk Player\0*.ocp\0\0",
531 cptr +=
SLen(cptr)+1;
559 if (pClient->isHost())
continue;
560 str.
Format(
LoadResStr(pClient->isActivated() ?
"IDS_MNU_NETCLIENT_DEACTIVATE" :
"IDS_MNU_NETCLIENT_ACTIVATE"),
561 pClient->getName(), pClient->getID());
563 str.
Format(
LoadResStr(
"IDS_NET_KICKCLIENTEX"), pClient->getName(), pClient->getID());
627 const std::list<StdCopyStrBuf> &mru = recent_script_input[section];
630 functions.insert(functions.begin(),
nullptr);
633 for (
const auto & i : mru)
634 functions.insert(functions.begin(), i.getData());
641 std::list<StdCopyStrBuf> &mru = recent_script_input[section];
645 mru.emplace_back(input);
648 mru.erase(mru.begin());
651 #if !(defined(USE_WIN32_WINDOWS) || defined(WITH_QT_EDITOR))
709 #if !defined(USE_COCOA)
#define FILE_SELECT_FILTER_FOR_C4S
C4AulScriptEngine ScriptEngine
C4Application Application
C4GraphicsSystem GraphicsSystem
bool C4Group_PackDirectoryTo(const char *filename, const char *to_filename)
bool C4Group_CopyItem(const char *source, const char *target, bool no_sorting, bool reset_attributes)
const char * LoadResStr(const char *id)
C4GameScriptHost GameScript
bool SEqual2(const char *szStr1, const char *szStr2)
void SCopy(const char *szSource, char *sTarget, size_t iMaxL)
bool SAddModule(char *szList, const char *szModule, bool fCaseSensitive)
void SAppend(const char *szSource, char *szTarget, int iMaxL)
size_t SLen(const char *sptr)
StdStrBuf FormatString(const char *szFmt,...)
bool EraseItem(const char *szItemName)
bool DirectoryExists(const char *szFilename)
void DefaultExtension(char *szFilename, const char *szExtension)
bool ItemIdentical(const char *szFilename1, const char *szFilename2)
char * GetFilename(char *szPath)
void RemoveExtension(char *szFilename)
bool FileExists(const char *szFileName)
void OpenGame(const char *scenario=nullptr)
std::list< const char * > GetFunctionNames(C4PropList *)
const char * getLocalName() const
int32_t getLocalID() const
void AddRecentlyEditedScenario(const char *filename)
C4ConfigDeveloper Developer
class InternalState< class C4ConsoleGUI > Super
State(C4ConsoleGUI *console)
void AddKickPlayerMenuItem(C4Player *player, StdStrBuf &player_text, bool enabled)
void SetCursor(Cursor cursor)
void EnableControls(bool fEnable)
void ToolsDlgSelectBackMaterial(C4ToolsDlg *dlg, const char *material)
void SetCaptionToFileName(const char *file_name)
void DoEnableControls(bool fEnable)
void AddMenuItemForPlayer(C4Player *player, StdStrBuf &player_text)
void DeleteConsoleWindow()
void CloseConsoleWindow()
bool CreateNewScenario(StdStrBuf *out_filename, bool *out_host_as_network)
bool FileSelect(StdStrBuf *sFilename, const char *szFilter, DWORD dwFlags, bool fSave)
void AddNetMenuItemForPlayer(int32_t client_id, const char *text, C4ConsoleGUI::ClientOperation co)
bool UpdateModeCtrls(int iMode)
bool CreateConsoleWindow(C4AbstractApp *application)
void ClearPointers(class C4Object *obj)
void Out(const char *message)
void ToolsDlgSelectMaterial(C4ToolsDlg *dlg, const char *material)
void ShowAboutWithCopyright(StdStrBuf ©right)
void PropertyDlgUpdate(class C4EditCursorSelection &rSelection, bool force_function_update)
bool ToolsDlgOpen(class C4ToolsDlg *dlg)
void SetInputFunctions(std::list< const char * > &functions)
C4Object * PropertyDlgObject
void DisplayInfoText(InfoTextType type, StdStrBuf &text)
bool DoUpdateHaltCtrls(bool fHalt)
bool Message(const char *message, bool query)
void ToolsDlgSelectTexture(C4ToolsDlg *dlg, const char *texture)
void ToolsDlgSelectBackTexture(C4ToolsDlg *dlg, const char *texture)
void ToolsDlgInitMaterialCtrls(class C4ToolsDlg *dlg)
bool In(const char *szText)
bool UpdateViewportMenu()
bool SaveScenario(const char *path, bool export_packed=false)
virtual C4Window * Init(WindowKind windowKind, C4AbstractApp *pApp, const char *Title, const C4Rect *size)
bool FileOpen(const char *filename=nullptr, bool host_in_network=false)
bool Message(const char *szMessage, bool fQuery=false)
C4ObjectListDlg ObjectListDlg
void RegisterRecentInput(const char *input, RecentScriptInputLists section)
bool FileSelect(StdStrBuf *sFilename, const char *szFilter, DWORD dwFlags, bool fSave=false)
void SetCaptionToFilename(const char *szFilename)
std::list< const char * > GetScriptSuggestions(class C4PropList *target, RecentScriptInputLists section) const
bool SaveGame(const char *path)
void ClearPointers(C4Object *pObj)
bool FileSaveAs(bool fSaveGame, bool export_packed=false)
bool EditingOK(bool for_landscape_drawing=false)
void ClearPointers(C4Object *pObj)
void RequestRuntimeRecord()
bool IsRuntimeRecordPossible() const
void DoInput(C4PacketType eCtrlType, C4ControlPacket *pPkt, C4ControlDeliveryType eDelivery)
StdStrBuf TempScenarioFile
char PlayerFilenames[20 *_MAX_PATH_LEN]
char ScenarioFilename[_MAX_PATH_LEN]
C4PlayerInfoList & PlayerInfos
bool fScriptCreatedObjects
bool Save(const char *szFilename)
const char * GetName() const
bool Open(const char *group_name, bool do_create=false)
LandscapeMode GetMode() const
C4Network2Client * GetNextClient(C4Network2Client *pClient)
C4Network2ClientList Clients
int32_t GetStartupCount()
void JoinNew(const char *szFilename)
C4PropList * _getPropList() const
bool ScrollBarsByViewPosition()
bool CreateViewport(int32_t player_nr, bool silent=false)
virtual C4Window * Init(WindowKind windowKind, C4AbstractApp *pApp, const char *Title, const C4Rect *size)
void SetTitle(const char *Title)
const char * getData() const
void Append(const char *pnData, size_t iChars)
void Format(const char *szFmt,...) GNUC_FORMAT_ATTRIBUTE_O
const DWORD OFN_ALLOWMULTISELECT
const DWORD OFN_HIDEREADONLY
const DWORD OFN_FILEMUSTEXIST
const DWORD OFN_OVERWRITEPROMPT