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

Method add_mission_data

Descent3/pilot_class.cpp:907–939  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

905}
906
907void pilot::add_mission_data(tMissionData *mdata) {
908 if (!mdata) {
909 Int3();
910 return;
911 }
912
913 if (find_mission_data(mdata->mission_name) != -1) {
914 Int3();
915 mprintf(0, "Mission already exists\n");
916 return;
917 }
918
919 mprintf(0, "Adding new mission data for (%s)\n", mdata->mission_name);
920
921 tMissionData *new_data = (tMissionData *)mem_malloc((num_missions_flown + 1) * sizeof(tMissionData));
922 if (!new_data) {
923 mprintf(0, "Out of memory\n");
924 return;
925 }
926
927 ASSERT(num_missions_flown >= 0);
928
929 if (mission_data && num_missions_flown > 0) {
930 memcpy(new_data, mission_data, sizeof(tMissionData) * num_missions_flown);
931 mem_free(mission_data);
932 }
933
934 mission_data = new_data;
935
936 memcpy(&mission_data[num_missions_flown], mdata, sizeof(tMissionData));
937
938 num_missions_flown++;
939}
940void pilot::edit_mission_data(int index, tMissionData *mdata) {
941 if (index < 0 || index >= num_missions_flown) {
942 mprintf(0, "Invalid mission index\n");

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected