Do not trigger on asdr change
This commit is contained in:
parent
739b13c1e3
commit
dcfb6fb5bf
|
@ -133,13 +133,13 @@ BRK
|
|||
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
||||
,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-r
|
||||
DUP #05 NEQ ^$no-left JNZ
|
||||
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2
|
||||
,Audio 8+ #00 ~track.active #02 MUL ADD2 PEK2
|
||||
#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD
|
||||
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 POK2 $no-left
|
||||
,Audio 8+ #00 ~track.active #02 MUL ADD2 POK2 $no-left
|
||||
DUP #06 NEQ ^$no-right JNZ
|
||||
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2
|
||||
,Audio 8+ #00 ~track.active #02 MUL ADD2 PEK2
|
||||
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
||||
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 POK2 $no-right
|
||||
,Audio 8+ #00 ~track.active #02 MUL ADD2 POK2 $no-right
|
||||
POP
|
||||
( release ) #00 =Mouse.state
|
||||
,draw-controls JSR2
|
||||
|
@ -336,10 +336,10 @@ RTN
|
|||
( vol )
|
||||
~ctlframe.x1 #0058 ADD2 ~ctlframe.y1 8+ #02 ,vol_txt ,draw-label JSR2
|
||||
~ctlframe.x1 #0058 ADD2 ~ctlframe.y1 #0010 ADD2
|
||||
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
|
||||
,Audio 8+ #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
|
||||
,draw-knob JSR2
|
||||
~ctlframe.x1 #0068 ADD2 ~ctlframe.y1 #0010 ADD2
|
||||
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2 #0f AND
|
||||
,Audio 8+ #00 ~track.active #02 MUL ADD2 PEK2 #0f AND
|
||||
,draw-knob JSR2
|
||||
|
||||
RTN
|
||||
|
|
|
@ -108,19 +108,6 @@ paintpixel(Uint8 *dst, Uint16 x, Uint16 y, Uint8 color)
|
|||
dst[row + 8] |= 1UL << col;
|
||||
}
|
||||
|
||||
void
|
||||
painticn(Uint8 *dst, Uint16 x, Uint16 y, Uint8 *sprite, Uint8 blend)
|
||||
{
|
||||
Uint16 v, h;
|
||||
for(v = 0; v < 8; v++)
|
||||
for(h = 0; h < 8; h++) {
|
||||
Uint8 ch1 = ((sprite[v] >> (7 - h)) & 0x1);
|
||||
if(ch1 == 0 && (blend == 0x05 || blend == 0x0a || blend == 0x0f))
|
||||
continue;
|
||||
paintpixel(dst, x + h, y + v, ch1 ? blend % 4 : blend / 4);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Helpers
|
||||
|
||||
void
|
||||
|
@ -459,12 +446,19 @@ sprite_poke(Uxn *u, Uint16 ptr, Uint8 b0, Uint8 b1)
|
|||
Uint8 *m = u->ram.dat;
|
||||
ptr += 8;
|
||||
if(b0 == 0x0e) {
|
||||
Uint16 v, h;
|
||||
Uint16 x = (m[ptr] << 8) + m[ptr + 1];
|
||||
Uint16 y = (m[ptr + 2] << 8) + m[ptr + 3];
|
||||
Uint16 a = (m[ptr + 4] << 8) + m[ptr + 5];
|
||||
Uint8 source = (b1 >> 4) & 0xf;
|
||||
Uint8 *layer = source % 2 ? screen.fg : screen.bg;
|
||||
painticn(layer, x, y, &m[a], b1 & 0xf);
|
||||
Uint8 blend = b1 & 0xf;
|
||||
Uint8 *layer = ((b1 >> 4) & 0xf) % 2 ? screen.fg : screen.bg;
|
||||
Uint8 *sprite = &m[(m[ptr + 4] << 8) + m[ptr + 5]];
|
||||
for(v = 0; v < 8; v++)
|
||||
for(h = 0; h < 8; h++) {
|
||||
Uint8 ch1 = ((sprite[v] >> (7 - h)) & 0x1);
|
||||
if(ch1 == 0 && (blend == 0x05 || blend == 0x0a || blend == 0x0f))
|
||||
continue;
|
||||
paintpixel(layer, x + h, y + v, ch1 ? blend % 4 : blend / 4);
|
||||
}
|
||||
screen.reqdraw = 1;
|
||||
}
|
||||
return b1;
|
||||
|
@ -500,7 +494,7 @@ audio_poke(Uxn *u, Uint16 ptr, Uint8 b0, Uint8 b1)
|
|||
{
|
||||
Uint8 *m = u->ram.dat;
|
||||
m[PAGE_DEVICE + 0x0070 + b0] = b1;
|
||||
if(b0 & 1) {
|
||||
if(b0 > 0x08 && b0 & 1) {
|
||||
Uint16 addr = ptr + (b0 & 0x6);
|
||||
Channel *c = &channels[(b0 & 0x6) >> 1];
|
||||
SDL_LockAudioDevice(audio_id);
|
||||
|
|
Loading…
Reference in New Issue