MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / MultiSaveSettings

Function MultiSaveSettings

Descent3/multi_save_setting.cpp:77–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75#include "multi_save_settings.h"
76
77int MultiSaveSettings(const char *filename) {
78 CFILE *cf;
79 char szoutput[MAX_MPS_LINE_LEN];
80 int i;
81 cf = cfopen(filename, "wt");
82 if (!cf)
83 return 0;
84 snprintf(szoutput, sizeof(szoutput), "NAME\t%s", Netgame.name);
85 cf_WriteString(cf, szoutput);
86 snprintf(szoutput, sizeof(szoutput), "MISSION\t%s", Netgame.mission);
87 cf_WriteString(cf, szoutput);
88 snprintf(szoutput, sizeof(szoutput), "SCRIPT\t%s", Netgame.scriptname);
89 cf_WriteString(cf, szoutput);
90 snprintf(szoutput, sizeof(szoutput), "PPS\t%d", Netgame.packets_per_second);
91 cf_WriteString(cf, szoutput);
92 snprintf(szoutput, sizeof(szoutput), "PEERPEER\t%s", (Netgame.flags & NF_PEER_PEER) ? "TRUE" : "FALSE");
93 cf_WriteString(cf, szoutput);
94 snprintf(szoutput, sizeof(szoutput), "PERMISSABLE\t%s", (Netgame.flags & NF_PERMISSABLE) ? "TRUE" : "FALSE");
95 cf_WriteString(cf, szoutput);
96 snprintf(szoutput, sizeof(szoutput), "RANDOMIZERESPAWN\t%s",
97 (Netgame.flags & NF_RANDOMIZE_RESPAWN) ? "TRUE" : "FALSE");
98 cf_WriteString(cf, szoutput);
99 snprintf(szoutput, sizeof(szoutput), "ROTVEL\t%s", (Netgame.flags & NF_SENDROTVEL) ? "TRUE" : "FALSE");
100 cf_WriteString(cf, szoutput);
101 snprintf(szoutput, sizeof(szoutput), "USESMOOTHING\t%s", (Netgame.flags & NF_USE_SMOOTHING) ? "TRUE" : "FALSE");
102 cf_WriteString(cf, szoutput);
103 snprintf(szoutput, sizeof(szoutput), "BRIGHTPLAYERS\t%s", (Netgame.flags & NF_BRIGHT_PLAYERS) ? "TRUE" : "FALSE");
104 cf_WriteString(cf, szoutput);
105 snprintf(szoutput, sizeof(szoutput), "MAXPLAYERS\t%d", Netgame.max_players);
106 cf_WriteString(cf, szoutput);
107 snprintf(szoutput, sizeof(szoutput), "RESPAWNTIME\t%d", Netgame.respawn_time);
108 cf_WriteString(cf, szoutput);
109 snprintf(szoutput, sizeof(szoutput), "KILLGOAL\t%d", Netgame.killgoal);
110 cf_WriteString(cf, szoutput);
111 snprintf(szoutput, sizeof(szoutput), "TIMELIMIT\t%d", Netgame.timelimit);
112 cf_WriteString(cf, szoutput);
113 snprintf(szoutput, sizeof(szoutput), "ACCWEAP\t%s", (Netgame.flags & NF_USE_ACC_WEAP) ? "TRUE" : "FALSE");
114 cf_WriteString(cf, szoutput);
115 snprintf(szoutput, sizeof(szoutput), "MLOOK\t%s", (Netgame.flags & NF_ALLOW_MLOOK) ? "TRUE" : "FALSE");
116 cf_WriteString(cf, szoutput);
117 snprintf(szoutput, sizeof(szoutput), "DIFFICULTY\t%d", Netgame.difficulty);
118 cf_WriteString(cf, szoutput);
119
120 for (i = 0; i < MAX_OBJECT_IDS; i++) {
121 if (Object_info[i].type == OBJ_POWERUP) {
122 if (!Object_info[i].multi_allowed) {
123 snprintf(szoutput, sizeof(szoutput), "OBJBAN\t%s", Object_info[i].name);
124 cf_WriteString(cf, szoutput);
125 }
126 }
127 }
128 for (i = 0; i < MAX_SHIPS; i++) {
129 if (Ships[i].used) {
130 if (!PlayerIsShipAllowed(0, i)) {
131 snprintf(szoutput, sizeof(szoutput), "SHIPBAN\t%s", Ships[i].name);
132 cf_WriteString(cf, szoutput);
133 }
134 }

Callers 1

MultiDoConfigSaveFunction · 0.85

Calls 4

cfopenFunction · 0.85
cf_WriteStringFunction · 0.85
PlayerIsShipAllowedFunction · 0.85
cfcloseFunction · 0.85

Tested by

no test coverage detected