44 struct CompileSettings
51 CompileSettings(
InitMode init_mode,
bool fPlayers,
bool fExact,
bool fSync)
52 : init_mode(init_mode), fPlayers(fPlayers), fExact(fExact), fSync(fSync) { }
58 int32_t iKeySet, iCtrl;
60 C4KeySetCtrl(int32_t iKeySet, int32_t iCtrl) : iKeySet(iKeySet), iCtrl(iCtrl) {}
153 void Abort(
bool fApproved =
false);
169 bool QuickSave(
const char *filename,
const char *title,
bool force_save =
false);
184 bool DropFile(
const char *filename,
float x,
float y);
192 int32_t x = 50, int32_t y = 50, int32_t r = 0,
bool grow_from_center =
false,
195 int32_t x = 50, int32_t y = 50, int32_t r = 0,
bool grow_from_center =
false,
200 int32_t center_x = 0, int32_t bottom_y = 0,
201 int32_t con = 1,
bool adjust_terrain =
false);
203 int32_t x = 50, int32_t y = 50);
206 int32_t x = 0, int32_t y = 0, int32_t wdt = 0, int32_t hgt = 0,
210 float x,
float y, int32_t player_nr,
const C4Facet &viewport_game,
const C4Facet &viewport_gui,
211 float game_x,
float game_y,
213 float gui_x,
float gui_y);
279 int32_t x, int32_t y, int32_t r,
281 int32_t con, int32_t controller,
bool grow_from_center);
StdStrBuf GetKeyboardInputName(const char *key_name, bool abbreviated=false, int32_t index=0)
C4RoundResults & RoundResults
std::unique_ptr< C4Network2Stats > pNetworkStatistics
void OnResolutionChanged(unsigned int res_x, unsigned int res_y)
C4TransferZones TransferZones
StdStrBuf TempScenarioFile
bool LoadScenarioSection(const char *section_name, DWORD flags)
bool InitNetworkFromReference(const C4Network2Reference &Reference)
int32_t LastInitProgressShowTime
char PlayerFilenames[20 *_MAX_PATH_LEN]
void DrawCrewOverheadText(C4TargetFacet &cgo, int32_t player_nr)
C4KeyboardInput & KeyboardInput
C4String * GetTranslatedString(const class C4Value &input_string, C4Value *selected_language, bool fail_silently) const
bool InitNetworkFromAddress(const char *address)
char DirectJoinAddress[_MAX_PATH_LEN]
bool QuickSave(const char *filename, const char *title, bool force_save=false)
void CompileFunc(StdCompiler *compiler, CompileSettings settings, C4ValueNumbers *)
std::unique_ptr< C4FileMonitor > pFileMonitor
C4Object * PlaceVegetation(C4PropList *def, int32_t x, int32_t y, int32_t wdt, int32_t hgt, int32_t growth, C4PropList *shape_proplist, C4PropList *out_pos_proplist)
C4Player * JoinPlayer(const char *filename, int32_t at_client, const char *at_client_name, C4PlayerInfo *info)
void FixRandom(uint64_t seed)
void SetScenarioFilename(const char *)
bool DrawPropListSpecImage(C4Facet &target, C4PropList *spec)
bool CompileRuntimeData(C4Group &group, InitMode init_mode, bool exact, bool sync, C4ValueNumbers *)
std::unique_ptr< C4ScriptGuiWindow > ScriptGuiRoot
C4Object * NewObject(C4PropList *def, C4Object *creator, int32_t owner, C4ObjectInfo *info, int32_t x, int32_t y, int32_t r, C4Real xdir, C4Real ydir, C4Real rdir, int32_t con, int32_t controller, bool grow_from_center)
bool InitPlayers(C4ValueNumbers *)
std::unique_ptr< C4GameSec1Timer > pSec1Timer
C4Object * FindObject(C4Def *def, int32_t x=0, int32_t y=0, int32_t wdt=0, int32_t hgt=0, DWORD ocf=OCF_All, C4Object *find_next=nullptr)
void SetInitProgress(float to_progress)
void ClearPointers(C4Object *obj)
C4Value & GlobalSoundModifier
void Abort(bool fApproved=false)
C4Object * FindVisObject(float x, float y, int32_t player_nr, const C4Facet &viewport_game, const C4Facet &viewport_gui, float game_x, float game_y, DWORD category, float gui_x, float gui_y)
class C4ScenarioParameterDefs & ScenarioParameterDefs
float GetTextSpecImageAspect(const char *spec)
C4PlayerControlAssignmentSets PlayerControlDefaultAssignmentSets
bool InitNetworkFromReferenceFile(const char *temp_filename)
C4Object * PlaceAnimal(C4PropList *def)
C4Object * CreateInfoObject(C4ObjectInfo *info, int32_t owner, int32_t x=50, int32_t y=50)
C4PropList * AllocateTranslatedString()
bool CreateSectionFromTempFile(const char *section_name, const char *temp_filename)
void InitFullscreenComponents(bool is_running)
bool DoKeyboardInput(C4KeyCode vk_code, C4KeyEventType event_type, bool alt, bool ctrl, bool shift, bool repeated, class C4GUI::Dialog *for_dialog=nullptr, bool fPlrCtrlOnly=false, int32_t strength=-1)
StdCopyStrBuf NextMissionText
void ClearObjectPtrs(C4Object *to_obj)
bool InitialPlayersJoined
void OnPlayerJoinFinished()
class C4ScenarioObjectsScriptHost * pScenarioObjectsScript
C4PlayerControlAssignmentSets PlayerControlUserAssignmentSets
C4Object * FindConstuctionSiteBlock(int32_t x, int32_t y, int32_t wdt, int32_t hgt)
bool ReloadFile(const char *filepath)
char ScenarioFilename[_MAX_PATH_LEN]
StdCopyStrBuf NextMissionDesc
char DirectJoinTempFilename[_MAX_PATH_LEN]
bool DrawTextSpecImage(C4Facet &target, const char *spec, class C4DrawTransform *transform, uint32_t color=0xff)
C4PlayerInfoList & PlayerInfos
C4ScenarioSection * pCurrentScenarioSection
bool InitMaterialTexture()
bool PlaceInEarth(C4ID id)
static constexpr const char * DirectJoinFilePrefix
bool DropFile(const char *filename, float x, float y)
class C4ScenarioParameters & StartupScenarioParameters
C4PlayerInfoList & RestorePlayerInfos
void OnKeyboardLayoutChanged()
int32_t ObjectCount(C4ID id)
int32_t StartupPlayerCount
C4GameParameters & Parameters
bool LoadAdditionalSystemGroup(class C4Group &parent_group)
std::unique_ptr< C4Network2Reference > pJoinReference
C4LangStringTable ScenarioLangStringTable
C4LangStringTable MainSysLangStringTable
void ObjectRemovalCheck()
bool CheckObjectEnumeration()
bool SaveData(C4Group &group, bool save_section, bool save_exact, bool save_sync, C4ValueNumbers *)
C4ScenarioSection * pScenarioSections
bool LoadScenarioComponents()
char CurrentScenarioSection[C4MaxName+1]
StdCopyStrBuf ScenarioTitle
void Synchronize(bool save_player_files)
bool InitPlayerControlUserSettings()
bool InitGameFinal(InitMode init_mode)
bool fScriptCreatedObjects
C4Object * CreateObjectConstruction(C4PropList *type, C4Object *creator, int32_t owner, int32_t center_x=0, int32_t bottom_y=0, int32_t con=1, bool adjust_terrain=false)
void SetGlobalSoundModifier(C4PropList *modifier_props)
C4PlayerControlDefs PlayerControlDefs
bool DropDef(C4ID id, float x, float y)
void DeleteObjects(bool delete_inactive)
bool fReferenceDefinitionOverride
C4Value GRBroadcast(const char *function, C4AulParSet *pars=nullptr, bool pass_error=false, bool reject_test=false)
bool InitPlayerControlSettings()
C4Object * CreateObject(C4PropList *type, C4Object *creator, int32_t owner=NO_OWNER, int32_t x=50, int32_t y=50, int32_t r=0, bool grow_from_center=false, C4Real xdir=Fix0, C4Real ydir=Fix0, C4Real rdir=Fix0, int32_t controller=NO_OWNER)
bool SaveGameTitle(C4Group &hGroup)
void InitValueOverloads()
bool InitGame(C4Group &group, InitMode init_mode, bool load_sky, C4ValueNumbers *)
char DefinitionFilenames[20 *_MAX_PATH_LEN]
void CastObjects(C4ID id, C4Object *creator, int32_t num, int32_t level, int32_t x, int32_t y, int32_t owner=NO_OWNER, int32_t controller=NO_OWNER, C4ValueArray *out_objects=nullptr)
bool ReloadParticle(const char *name)
bool ActivateMenu(const char *command)
StdCopyStrBuf NextMission
bool ReLinkScriptEngine()