diff --git a/goal_src/jak2/engine/game/game-save.gc b/goal_src/jak2/engine/game/game-save.gc index 573f4b9ea..17036d7d7 100644 --- a/goal_src/jak2/engine/game/game-save.gc +++ b/goal_src/jak2/engine/game/game-save.gc @@ -2304,6 +2304,8 @@ auto-save-post (defun auto-save-user () (case *kernel-boot-message* (('play 'preview) + (#when PC_PORT + (pc-settings-save)) (auto-save-command 'auto-save 0 0 *default-pool* #f) ) ) diff --git a/goal_src/jak2/pc/pckernel.gc b/goal_src/jak2/pc/pckernel.gc index 7721bb18c..f24475f84 100644 --- a/goal_src/jak2/pc/pckernel.gc +++ b/goal_src/jak2/pc/pckernel.gc @@ -640,6 +640,11 @@ ;; check unlocked cheats ;;;;;;;;;;;;;;;;;;;;;;;; + (let ((old (-> *pc-settings* cheats)) + (old-unlocked (-> *pc-settings* cheats-unlocked)) + (old-purchased (-> *pc-settings* cheats-purchased)) + (old-revealed (-> *pc-settings* cheats-revealed))) + (dotimes (i (-> *pc-cheats-list* length)) ;; reveals cheats if they have been purchased, purchases cheats if they have been unlocked, unlocks cheats if they have been enabled. @@ -669,6 +674,13 @@ ) ))) + (when (or (!= old (-> *pc-settings* cheats)) + (!= old-unlocked (-> *pc-settings* cheats-unlocked)) + (!= old-purchased (-> *pc-settings* cheats-purchased)) + (!= old-revealed (-> *pc-settings* cheats-revealed))) + ;; save pc-settings if we made new progress + (pc-settings-save))) + 0) @@ -807,12 +819,12 @@ (format file " (kill-stats~%") (dotimes (i KILL_STATS_MAX_ENEMY_TYPES) (when (-> obj stats kill-stats enemies i name) - (format file " (~A~%" (-> obj stats kill-stats enemies i name)) - (dotimes (ii KILL_STATS_MAX_SOURCE) - (when (nonzero? (-> obj stats kill-stats enemies i sources ii)) - (format file " (~A ~D)~%" (string->symbol (kill-source->string (the kill-stats-source ii))) (-> obj stats kill-stats enemies i sources ii)) - )) - (format file " )~%") + (format file " (~A~%" (-> obj stats kill-stats enemies i name)) + (dotimes (ii KILL_STATS_MAX_SOURCE) + (when (nonzero? (-> obj stats kill-stats enemies i sources ii)) + (format file " (~A ~D)~%" (string->symbol (kill-source->string (the kill-stats-source ii))) (-> obj stats kill-stats enemies i sources ii)) + )) + (format file " )~%") )) (format file " )~%") (format file " )~%")