Skip to content

Commit 113582e

Browse files
committed
Add Custom Skill into into saved game
1 parent 619142b commit 113582e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

prboom2/src/dsda/save.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "dsda/music.h"
3535
#include "dsda/options.h"
3636
#include "dsda/settings.h"
37+
#include "dsda/skill_info.h"
3738

3839
#include "save.h"
3940

@@ -142,6 +143,22 @@ static void dsda_UnArchiveContext(void) {
142143
true_basetic = gametic - true_logictic_value;
143144
}
144145

146+
skill_info_t saved_custom_skill;
147+
148+
void dsda_ArchiveCustomSkill(void)
149+
{
150+
saved_custom_skill = skill_infos[num_skills - 1]; // custom skill (-1 to match gameskill)
151+
152+
P_SAVE_X(saved_custom_skill);
153+
}
154+
155+
void dsda_UnArchiveCustomSkill(void)
156+
{
157+
P_LOAD_X(saved_custom_skill);
158+
159+
skill_infos[num_skills - 1] = saved_custom_skill; // custom skill (-1 to match gameskill)
160+
}
161+
145162
int saved_pistolstart, saved_respawnparm, saved_fastparm, saved_nomonsters, saved_coop_spawns;
146163

147164
void dsda_ArchiveGameModifiers(void)
@@ -191,6 +208,7 @@ void dsda_ArchiveAll(void) {
191208
P_ArchiveRNG();
192209
P_ArchiveMap();
193210

211+
dsda_ArchiveCustomSkill();
194212
dsda_ArchiveGameModifiers();
195213
dsda_ArchiveInternal();
196214
}
@@ -212,6 +230,7 @@ void dsda_UnArchiveAll(void) {
212230
P_UnArchiveMap();
213231
P_MapEnd();
214232

233+
dsda_UnArchiveCustomSkill();
215234
dsda_UnArchiveGameModifiers();
216235
dsda_UnArchiveInternal();
217236
}

0 commit comments

Comments
 (0)