| 75 | #include "multi_save_settings.h" |
| 76 | |
| 77 | int 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 | } |
no test coverage detected