diff --git a/Makefile b/Makefile index 1e5014c..1af8af2 100644 --- a/Makefile +++ b/Makefile @@ -37,14 +37,13 @@ asm: md dsk: md asm cp res/"Pitch Dark.master games collection.do.not.edit.2mg" build/"$(DISK)" - cp res/WEEGUI build/ cp res/_FileInformation.txt build/ $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "build/GRUE.SYSTEM" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "build/ONBEYOND.SYSTEM" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "build/PITCH.DARK" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "res/PITCH.DARK.CONF" $(CADIUS) CREATEFOLDER build/"$(DISK)" "/PITCH.DARK/LIB/" - $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/WEEGUI" + $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "res/WEEGUI" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/ONBEYONDZ1" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/ONBEYONDZ2" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/ONBEYONDZ3" @@ -60,6 +59,7 @@ txt: dsk artwork: dsk rsync -a res/artwork build/ cd build && $(CADIUS) ADDFOLDER "$(DISK)" "/PITCH.DARK/ARTWORK" artwork + $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/ARTWORK/" "res/DHRSLIDE.SYSTEM" mount: dsk osascript bin/V2Make.scpt "`pwd`" bin/pitchdark.vii build/"$(DISK)" diff --git a/res/DHRSLIDE.SYSTEM b/res/DHRSLIDE.SYSTEM new file mode 100644 index 0000000..1720440 Binary files /dev/null and b/res/DHRSLIDE.SYSTEM differ diff --git a/res/_FileInformation.txt b/res/_FileInformation.txt index a68c573..4a5acbd 100644 --- a/res/_FileInformation.txt +++ b/res/_FileInformation.txt @@ -9,3 +9,4 @@ ONBEYONDZ4=Type(06),AuxType(3000),Access(C3) ONBEYONDZ5=Type(06),AuxType(3000),Access(C3) ONBEYONDZ5U=Type(06),AuxType(3000),Access(C3) WEEGUI=Type(06),AuxType(4000),Access(C3) +DHRSLIDE.SYSTEM=Type(FF),AuxType(2000),Access(C3) diff --git a/src/action.a b/src/action.a index aea8548..ed8bd67 100644 --- a/src/action.a +++ b/src/action.a @@ -44,8 +44,17 @@ kArtworkRootDirectory ; length-prefixed pathname of DHGR box art ; IDs of actions that do not correspond to WeeGUI view IDs have high bit set ID_SCROLLUP = $81 ID_SCROLLDOWN = $82 +ID_X = $83 +ID_Y = $84 +ID_Z = $85 !byte $8B,ID_SCROLLUP ; up arrow !byte $8A,ID_SCROLLDOWN ; down arrow + !byte $D8,ID_X ; X + !byte $F8,ID_X ; x + !byte $D9,ID_Y ; Y + !byte $F9,ID_Y ; y + !byte $DA,ID_Z ; Z + !byte $FA,ID_Z ; z .endkeys ;------------------------------------------------------------------------------ @@ -66,6 +75,12 @@ HandleKey .foundKey lda .keys+1,x bpl .activateView + cmp #ID_X + beq .x + cmp #ID_Y + beq .y + cmp #ID_Z + beq .z cmp #ID_SCROLLDOWN beq .handleScrollDown .handleScrollUp @@ -92,6 +107,64 @@ HandleKey jsr WeeGUI ldx #WGViewUnfocus jmp WeeGUI +.y + lda .xyzzy + cmp #1 + beq .y1 + cmp #4 + bne .xyzzyReset + beq .xyzzyGo +.z + lda .xyzzy + cmp #2 + beq .z1 + cmp #3 + beq .z2 + bra .xyzzyReset +.x + lda #1 + !byte $2C +.y1 + lda #2 + !byte $2C +.z1 + lda #3 + !byte $2C +.z2 + lda #4 + !byte $2C +.xyzzyReset + lda #0 +.xyzzyStoreAndExit + sta .xyzzy + jmp SoftBell +.xyzzy + !byte $00 +.xyzzyGo + ldx #WGClearScreen + jsr WeeGUI + jsr SaveGlobalPreferences + jsr ResetPath + lda #kArtworkRootDirectory + jsr AddToPath + jsr SetPrefix + !word gPathname + jsr ResetPath + lda #<.dhrslideFilename + ldy #>.dhrslideFilename + jsr AddToPath + jsr LoadFile + !word gPathname + !word $2000 + !word $2000 + !word kProDOSFileBuffer + jsr ExitWeeGUI + jmp $2000 +.dhrslideFilename + !byte 15 + !raw "DHRSLIDE.SYSTEM" + } ;------------------------------------------------------------------------------