more sound effects, FIXED BUG WHERE NEUT VANISHED
This commit is contained in:
parent
b852c2bda1
commit
5b5ad34c90
BIN
entity.jim
BIN
entity.jim
Binary file not shown.
BIN
footer.jim
BIN
footer.jim
Binary file not shown.
31
game.jor
31
game.jor
|
@ -124,16 +124,18 @@ var posessed-rexx
|
||||||
defer touch-override ( x y -- b )
|
defer touch-override ( x y -- b )
|
||||||
|
|
||||||
: rexx-touch ( x y -- b )
|
: rexx-touch ( x y -- b )
|
||||||
2dup RUBBLE mapflag? isrexx? and if
|
0 >r isrexx? if
|
||||||
tile 3 swap b! invalidate-map 0
|
2dup RUBBLE mapflag? if
|
||||||
sfx-garbage
|
tile 3 swap b! invalidate-map
|
||||||
else tile b@ REXX-POD = if
|
sfx-garbage
|
||||||
move-player
|
else tile b@ REXX-POD = if
|
||||||
S posessed-rexx @ entity.dir !
|
move-player
|
||||||
posessed-rexx @ entity>pos Neut entity.pos!
|
S posessed-rexx @ entity.dir !
|
||||||
0 posessed-rexx !
|
posessed-rexx @ entity>pos Neut entity.pos!
|
||||||
1
|
0 posessed-rexx !
|
||||||
else 0 then then ;
|
rdrop 1 >r
|
||||||
|
then then
|
||||||
|
else drop drop then <r ;
|
||||||
|
|
||||||
defer on-gord-sit
|
defer on-gord-sit
|
||||||
|
|
||||||
|
@ -430,8 +432,12 @@ does>
|
||||||
:| dup EVTOUCH = isjaye? and if responder EVACT entity>do then
|
:| dup EVTOUCH = isjaye? and if responder EVACT entity>do then
|
||||||
dup EVTOUCH = isneut? and COMP-ON responder>tile? and if move-player then
|
dup EVTOUCH = isneut? and COMP-ON responder>tile? and if move-player then
|
||||||
dup EVHACK = if hacked libb say" nothing interesting on this one." then
|
dup EVHACK = if hacked libb say" nothing interesting on this one." then
|
||||||
|
COMP-OFF responder>tile? swap
|
||||||
dup COMP-ON COMP-OFF handle-onoff
|
dup COMP-ON COMP-OFF handle-onoff
|
||||||
handle-teleport |; listener! ;
|
handle-teleport
|
||||||
|
COMP-OFF responder>tile? != if
|
||||||
|
COMP-OFF responder>tile? if sfx-termoff else sfx-termon then
|
||||||
|
then |; listener! ;
|
||||||
|
|
||||||
: scanner create-linked-object
|
: scanner create-linked-object
|
||||||
:| dup EVTOUCH = isneut? and if
|
:| dup EVTOUCH = isneut? and if
|
||||||
|
@ -439,6 +445,7 @@ does>
|
||||||
responder EVACT entity>do
|
responder EVACT entity>do
|
||||||
then
|
then
|
||||||
dup EVHACK = if
|
dup EVHACK = if
|
||||||
|
sfx-libb
|
||||||
libb say" that's easy."
|
libb say" that's easy."
|
||||||
responder entity>pos Libb entity.pos!
|
responder entity>pos Libb entity.pos!
|
||||||
hacked
|
hacked
|
||||||
|
@ -457,6 +464,7 @@ does>
|
||||||
move-player
|
move-player
|
||||||
responder posessed-rexx !
|
responder posessed-rexx !
|
||||||
-100 -100 Neut entity.pos!
|
-100 -100 Neut entity.pos!
|
||||||
|
sfx-rexx
|
||||||
then |; listener! ;
|
then |; listener! ;
|
||||||
|
|
||||||
0 const unconnected
|
0 const unconnected
|
||||||
|
@ -487,6 +495,7 @@ Gord @ const gord-listener
|
||||||
: chain-gord-listener gord-listener execute ;
|
: chain-gord-listener gord-listener execute ;
|
||||||
|
|
||||||
:noname
|
:noname
|
||||||
|
' norm-rexxinst ' rexxinst redefine
|
||||||
HASNEUT player.state !
|
HASNEUT player.state !
|
||||||
human-view
|
human-view
|
||||||
0 objects ! 0 ticking-objects ! 0 visible-objects !
|
0 objects ! 0 ticking-objects ! 0 visible-objects !
|
||||||
|
|
2
jorth.h
2
jorth.h
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#define MEM_SIZE 33792
|
#define MEM_SIZE 40960
|
||||||
#define STACK_SIZE 64
|
#define STACK_SIZE 64
|
||||||
#define RSTACK_SIZE 64
|
#define RSTACK_SIZE 64
|
||||||
|
|
||||||
|
|
BIN
lev00002.jim
BIN
lev00002.jim
Binary file not shown.
BIN
lev00003.jim
BIN
lev00003.jim
Binary file not shown.
BIN
lev00004.jim
BIN
lev00004.jim
Binary file not shown.
BIN
lev00005.jim
BIN
lev00005.jim
Binary file not shown.
19
lev00005.jor
19
lev00005.jor
|
@ -1,5 +1,11 @@
|
||||||
( L E V 0 0 0 0 5 )
|
( L E V 0 0 0 0 5 )
|
||||||
|
|
||||||
|
202 12 128 192 17 244 0 46 9 241 18 0 instrument glitch-inst
|
||||||
|
202 10 48 0 83 245 0 10 0 221 6 3 instrument drop-inst
|
||||||
|
|
||||||
|
: sfx-glitch glitch-inst 1 loadsfx %F ;
|
||||||
|
: sfx-dropgarbage :| drop-inst 3 loadsfx %A rest 1 octave ! %A |; SFX send ;
|
||||||
|
|
||||||
objects: O
|
objects: O
|
||||||
|
|
||||||
lazy 60 over 19 9 timedswitch ts
|
lazy 60 over 19 9 timedswitch ts
|
||||||
|
@ -42,17 +48,21 @@ here rubbletiles - 1 - const MAXRUBBLE
|
||||||
: touch ( x y -- b )
|
: touch ( x y -- b )
|
||||||
drop 13 <= isrexx? and posessed-rexx @ Rexx = and if
|
drop 13 <= isrexx? and posessed-rexx @ Rexx = and if
|
||||||
3 glitchlevel !
|
3 glitchlevel !
|
||||||
|
sfx-glitch
|
||||||
rexx say" PaRiTy ErrRor!!"
|
rexx say" PaRiTy ErrRor!!"
|
||||||
|
noteoff
|
||||||
0 glitchlevel !
|
0 glitchlevel !
|
||||||
1
|
1
|
||||||
else
|
else
|
||||||
not-picking-up? can-drop-rubble? and isrexx? and if
|
not-picking-up? can-drop-rubble? and isrexx? and if
|
||||||
randomrubble rexx-pos tile b! invalidate-map
|
randomrubble rexx-pos tile b! invalidate-map
|
||||||
|
sfx-dropgarbage
|
||||||
then 0
|
then 0
|
||||||
then ;
|
then ;
|
||||||
|
|
||||||
var first-rexx-touch
|
var first-rexx-touch
|
||||||
Rexx :noname
|
Rexx :noname
|
||||||
|
' sick-rexxinst ' rexxinst redefine
|
||||||
dup EVTOUCH = isneut? and first-rexx-touch @ not and if
|
dup EVTOUCH = isneut? and first-rexx-touch @ not and if
|
||||||
1 first-rexx-touch !
|
1 first-rexx-touch !
|
||||||
rexx say" bOSssS..."
|
rexx say" bOSssS..."
|
||||||
|
@ -61,6 +71,7 @@ Rexx :noname
|
||||||
|
|
||||||
var first-rexx2-touch
|
var first-rexx2-touch
|
||||||
Rexx2 :noname
|
Rexx2 :noname
|
||||||
|
' norm-rexxinst ' rexxinst redefine
|
||||||
dup EVTOUCH = isneut? and first-rexx2-touch @ not and if
|
dup EVTOUCH = isneut? and first-rexx2-touch @ not and if
|
||||||
1 first-rexx2-touch !
|
1 first-rexx2-touch !
|
||||||
neut say" REXX UNIT\PERFORM FULL DIAGNOSTIC SCAN"
|
neut say" REXX UNIT\PERFORM FULL DIAGNOSTIC SCAN"
|
||||||
|
@ -79,19 +90,25 @@ d2 :noname
|
||||||
move-player
|
move-player
|
||||||
W mr
|
W mr
|
||||||
1 glitchlevel !
|
1 glitchlevel !
|
||||||
|
:| sick-rexxinst 2 loadsfx 5 sleep
|
||||||
|
%G 10 sleep %E 10 sleep %C 10 sleep 1 octave ! %G |; SFX send
|
||||||
rexx say" daaAiisSyyy, daAAIIsYY..." hide-footer
|
rexx say" daaAiisSyyy, daAAIIsYY..." hide-footer
|
||||||
2 glitchlevel !
|
2 glitchlevel !
|
||||||
W mr
|
W mr
|
||||||
W mr
|
W mr
|
||||||
|
:| sick-rexxinst 2 loadsfx
|
||||||
|
%A rest rest %B rest rest %C rest rest %A rest rest %C rest rest %G |;
|
||||||
|
SFX send
|
||||||
rexx say" gIVe mE YOur AnSwerR\doOO0OO0o0oooOO..." hide-footer
|
rexx say" gIVe mE YOur AnSwerR\doOO0OO0o0oooOO..." hide-footer
|
||||||
N mr
|
N mr
|
||||||
N mr
|
N mr
|
||||||
4 glitchlevel !
|
4 glitchlevel !
|
||||||
1 quaking !
|
1 quaking !
|
||||||
|
sfx-glitch
|
||||||
rexx say" uh oh" hide-footer
|
rexx say" uh oh" hide-footer
|
||||||
Rexx entity>pos world>tile -1 -1 +pos
|
Rexx entity>pos world>tile -1 -1 +pos
|
||||||
dup 3 + for dup over 3 + i >rot for i over ( x y )
|
dup 3 + for dup over 3 + i >rot for i over ( x y )
|
||||||
tile randomrubble swap b! invalidate-map 1 sleep
|
tile randomrubble swap b! invalidate-map sfx-splode 1 sleep
|
||||||
next drop next drop
|
next drop next drop
|
||||||
-100 -100 Rexx entity.pos!
|
-100 -100 Rexx entity.pos!
|
||||||
0 glitchlevel !
|
0 glitchlevel !
|
||||||
|
|
BIN
lev00006.jim
BIN
lev00006.jim
Binary file not shown.
|
@ -1,4 +1,7 @@
|
||||||
( L E V E L 0 0 0 0 6 )
|
( L E V E L 0 0 0 0 6 )
|
||||||
|
202 0 0 14 99 119 0 9 0 104 119 0 instrument keyinst
|
||||||
|
: sfx-key ( n -- ) keyinst loadinst 36 + noteon ;
|
||||||
|
|
||||||
objects: O
|
objects: O
|
||||||
|
|
||||||
2 const ^1
|
2 const ^1
|
||||||
|
@ -10,7 +13,7 @@ objects: O
|
||||||
^1 - 1 + dup 10 = if drop 0 then ;
|
^1 - 1 + dup 10 = if drop 0 then ;
|
||||||
: draw-digit ( x n -- ) code-y swap 48 + text-color @ textc ;
|
: draw-digit ( x n -- ) code-y swap 48 + text-color @ textc ;
|
||||||
: code-digit ( code x -- code )
|
: code-digit ( code x -- code )
|
||||||
wait-for-digit swap code-x + over draw-digit swap 10 * + ;
|
wait-for-digit dup sfx-key swap code-x + over draw-digit swap 10 * + ;
|
||||||
|
|
||||||
: read-code ( -- n )
|
: read-code ( -- n )
|
||||||
WHITE text-color !
|
WHITE text-color !
|
||||||
|
@ -58,10 +61,11 @@ var pady-introduced
|
||||||
pady say" Another strange program!\My, I'm popular today!"
|
pady say" Another strange program!\My, I'm popular today!"
|
||||||
libb say" oh puke. please shut up."
|
libb say" oh puke. please shut up."
|
||||||
runon pady say" How rud"
|
runon pady say" How rud"
|
||||||
|
hacked sfx-libb
|
||||||
libb say" > /winnuke 182.556.21.74"
|
libb say" > /winnuke 182.556.21.74"
|
||||||
pady say" PADYSEC caused a General\Protection Fault in module\MORICON.DLL at 000A:BE3F."
|
pady say" PADYSEC caused a General\Protection Fault in module\MORICON.DLL at 000A:BE3F."
|
||||||
libb say" > /open"
|
libb say" > /open"
|
||||||
drop EVACT hacked
|
drop EVACT
|
||||||
then
|
then
|
||||||
dup PAD-ON PAD-OFF handle-onoff
|
dup PAD-ON PAD-OFF handle-onoff
|
||||||
PAD-ON handle-link |; listener! ;
|
PAD-ON handle-link |; listener! ;
|
||||||
|
|
2
map.jor
2
map.jor
|
@ -28,7 +28,7 @@ array tileflags
|
||||||
( 14:chair-brok ) RUBBLE b,
|
( 14:chair-brok ) RUBBLE b,
|
||||||
( 15:bookcase ) 0 b,
|
( 15:bookcase ) 0 b,
|
||||||
( 16:bookcase-broke ) RUBBLE b,
|
( 16:bookcase-broke ) RUBBLE b,
|
||||||
( 17:scattered books ) WALKABLE RUBBLE | b,
|
( 17:scattered books ) WALKABLE b, ( don't want rexx to explode books )
|
||||||
( 18:plant ) 0 b,
|
( 18:plant ) 0 b,
|
||||||
( 19:tipped plant ) RUBBLE b,
|
( 19:tipped plant ) RUBBLE b,
|
||||||
( 20:scanner-off ) NEUTABLE ENTITY | b,
|
( 20:scanner-off ) NEUTABLE ENTITY | b,
|
||||||
|
|
BIN
neuttowr.exe
BIN
neuttowr.exe
Binary file not shown.
BIN
neuttowr.prj
BIN
neuttowr.prj
Binary file not shown.
17
sound.jor
17
sound.jor
|
@ -57,6 +57,7 @@ array semitones
|
||||||
|
|
||||||
: note dup 12 / 8 % swap 12 % cells semitones + @ 440 swap *<ratio ;
|
: note dup 12 / 8 % swap 12 % cells semitones + @ 440 swap *<ratio ;
|
||||||
: noteon noteoff note freqon ;
|
: noteon noteoff note freqon ;
|
||||||
|
: randnoteon rand 12 % noteon ;
|
||||||
|
|
||||||
: panic 9 -1 for i voice ! noteoff next ; userword
|
: panic 9 -1 for i voice ! noteoff next ; userword
|
||||||
|
|
||||||
|
@ -82,6 +83,14 @@ var octave
|
||||||
202 1 4 0 248 190 0 0 39 214 79 0 instrument bink
|
202 1 4 0 248 190 0 0 39 214 79 0 instrument bink
|
||||||
202 4 37 0 67 52 3 1 80 54 119 0 instrument zoop
|
202 4 37 0 67 52 3 1 80 54 119 0 instrument zoop
|
||||||
202 10 134 129 239 1 0 1 3 152 241 0 instrument doorinst
|
202 10 134 129 239 1 0 1 3 152 241 0 instrument doorinst
|
||||||
|
202 14 245 79 247 182 3 210 18 163 245 0 instrument terminst
|
||||||
|
202 10 1 9 244 186 3 12 137 181 185 0 instrument norm-rexxinst
|
||||||
|
202 12 0 208 244 186 3 12 11 181 185 0 instrument sick-rexxinst
|
||||||
|
202 14 18 0 244 2 3 22 3 244 103 0 instrument splode
|
||||||
|
202 0 0 15 248 5 1 202 128 205 20 1 instrument libbinst
|
||||||
|
|
||||||
|
defer rexxinst
|
||||||
|
' norm-rexxinst ' rexxinst redefine
|
||||||
|
|
||||||
task const SFX
|
task const SFX
|
||||||
SFX :noname activate begin receive execute again ; execute
|
SFX :noname activate begin receive execute again ; execute
|
||||||
|
@ -93,3 +102,11 @@ SFX :noname activate begin receive execute again ; execute
|
||||||
: sfx-zoop zoop 5 loadsfx %C ;
|
: sfx-zoop zoop 5 loadsfx %C ;
|
||||||
: sfx-dooropen :| doorinst 4 loadsfx %C rest %E |; SFX send ;
|
: sfx-dooropen :| doorinst 4 loadsfx %C rest %E |; SFX send ;
|
||||||
: sfx-doorclose :| doorinst 4 loadsfx %E rest %C |; SFX send ;
|
: sfx-doorclose :| doorinst 4 loadsfx %E rest %C |; SFX send ;
|
||||||
|
: term-jingle terminst 3 loadsfx %E rest %F rest %G 6 sleep ;
|
||||||
|
: sfx-termon :| term-jingle 4 octave ! %C |; SFX send ;
|
||||||
|
: sfx-termoff :| term-jingle %C |; SFX send ;
|
||||||
|
: sfx-splode splode 0 loadsfx %C ;
|
||||||
|
: sfx-rexx
|
||||||
|
:| rexxinst 2 loadsfx %C rest %G rest %E rest 3 octave ! %C |;
|
||||||
|
SFX send ;
|
||||||
|
: sfx-libb :| libbinst 2 loadsfx %D# rest %G# rest %F# rest %G |; SFX send ;
|
||||||
|
|
Loading…
Reference in a new issue