From efe3ed499b1c90fd53150113e498e26c724bf5fa Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Wed, 14 Oct 2020 02:51:00 +0200 Subject: [PATCH] starting with load/save in textelite --- examples/test.p8 | 27 --------------------------- examples/textelite.p8 | 38 +++++++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/examples/test.p8 b/examples/test.p8 index aa7b90494..9888beeac 100644 --- a/examples/test.p8 +++ b/examples/test.p8 @@ -6,33 +6,6 @@ main { sub start() { - if diskio.directory(8) - txt.print("all good\n") - else - txt.print("there was an error\n") - - testX() - - if diskio.save(8, "irmen", $0400, 40*25) - txt.print("saved ok\n") - else - txt.print("save error\n") - - diskio.status(8) - - txt.clear_screenchars('?') - - if diskio.load(8, "irmen", $0400) - txt.print("load ok\n") - else - txt.print("load error\n") - - diskio.status(8) - - diskio.rename(8, "irmen", "newirmen") - diskio.status(8) - diskio.delete(8, "test") - diskio.status(8) } diff --git a/examples/textelite.p8 b/examples/textelite.p8 index 0e5c41448..6564ad9b9 100644 --- a/examples/textelite.p8 +++ b/examples/textelite.p8 @@ -1,5 +1,6 @@ %import textio %import conv +%import diskio %option no_sysinit %zeropage basicsafe @@ -20,7 +21,7 @@ main { sub start() { txt.lowercase() - txt.print("\u000c\n --- TextElite v1.0 ---\n") + txt.print("\u000c\n --- TextElite v1.1 ---\n") galaxy.init(1) galaxy.travel_to(numforLave) @@ -64,15 +65,46 @@ main { } trader { + str Savegame = "txtel.savegame" str input = "??????????" ubyte num_chars + struct SaveData { + uword xx + ubyte yy + } + SaveData savedata + sub do_load() { - txt.print("\nTODO LOAD\n") + txt.print("\nLoading universe...") + if diskio.load(8, Savegame, &savedata) { + txt.print("ok\n") + } else { + txt.print("\ni/o error: ") + diskio.status(8) + txt.chrout('\n') + } + + ; TODO ACTUALLY LOAD SOMETHING RELEVANT + + planet.display(false) } sub do_save() { - txt.print("\nTODO SAVE\n") + savedata.xx=1111 + savedata.yy=123 + + txt.print("\nSaving universe...") + diskio.delete(8, Savegame) + if diskio.save(8, Savegame, &savedata, sizeof(savedata)) { + txt.print("ok\n") + } else { + txt.print("\ni/o error: ") + diskio.status(8) + txt.chrout('\n') + } + + ; TODO ACTUALLY SAVE SOMETHING RELEVANT } sub do_jump() {