continue on existing save (#3)

* long blob

* fix continue

* one slot only?

* fallback if there is no slot data yet

* Revert "one slot only?"

This reverts commit 20997e9cd8.
This commit is contained in:
Up authored and GitHub committed 2024-05-07 19:14:07 -04:00
1 parent 1f95f7c042
commit 0d6539a87b
3 files changed
+22 -24

No files matched your search

+10 -22
View File
@@ -18,11 +18,7 @@
package account
import (
"fmt"
"os"
"strconv"
"time"
"github.com/pagefaultgames/rogueserver/db"
"github.com/pagefaultgames/rogueserver/defs"
)
@@ -33,24 +29,16 @@ type InfoResponse struct {
// /account/info - get account info
func Info(username string, uuid []byte) (InfoResponse, error) {
var latestSave time.Time
latestSaveID := -1
for id := range defs.SessionSlotCount {
fileName := "session"
if id != 0 {
fileName += strconv.Itoa(id)
}
response := InfoResponse{Username: username, LastSessionSlot: -1}
stat, err := os.Stat(fmt.Sprintf("userdata/%x/%s.pzs", uuid, fileName))
if err != nil {
continue
}
if stat.ModTime().After(latestSave) {
latestSave = stat.ModTime()
latestSaveID = id
}
slot, err := db.GetLatestSessionSaveDataSlot(uuid)
if err != nil {
response.LastSessionSlot = -1
}
return InfoResponse{Username: username, LastSessionSlot: latestSaveID}, nil
if slot >= defs.SessionSlotCount {
response.LastSessionSlot = -1
}
return response, nil
}