... | ... |
@@ -155,7 +155,6 @@ domouse(SDL_Event *event) |
155 | 155 |
Uint16 y = clamp(event->motion.y - PAD, 0, ppu.ver * 8 - 1); |
156 | 156 |
mempoke16(devmouse->dat, 0x2, x); |
157 | 157 |
mempoke16(devmouse->dat, 0x4, y); |
158 |
- devmouse->dat[7] = 0x00; |
|
159 | 158 |
switch(event->button.button) { |
160 | 159 |
case SDL_BUTTON_LEFT: flag = 0x01; break; |
161 | 160 |
case SDL_BUTTON_RIGHT: flag = 0x10; break; |
... | ... |
@@ -164,10 +163,8 @@ domouse(SDL_Event *event) |
164 | 163 |
case SDL_MOUSEBUTTONDOWN: |
165 | 164 |
devmouse->dat[6] |= flag; |
166 | 165 |
if(flag == 0x10 && (devmouse->dat[6] & 0x01)) |
167 |
- devmouse->dat[7] = 0x01; |
|
168 |
- if(flag == 0x01 && (devmouse->dat[6] & 0x10)) |
|
169 |
- devmouse->dat[7] = 0x10; |
|
170 |
- break; |
|
166 |
+ if(flag == 0x01 && (devmouse->dat[6] & 0x10)) |
|
167 |
+ break; |
|
171 | 168 |
case SDL_MOUSEBUTTONUP: |
172 | 169 |
devmouse->dat[6] &= (~flag); |
173 | 170 |
break; |
... | ... |
@@ -353,6 +350,10 @@ start(Uxn *u) |
353 | 350 |
evaluxn(u, mempeek16(devctrl->dat, 0)); |
354 | 351 |
devctrl->dat[3] = 0; |
355 | 352 |
break; |
353 |
+ case SDL_MOUSEWHEEL: |
|
354 |
+ devmouse->dat[7] = event.wheel.y; |
|
355 |
+ evaluxn(u, mempeek16(devmouse->dat, 0)); |
|
356 |
+ break; |
|
356 | 357 |
case SDL_MOUSEBUTTONUP: |
357 | 358 |
case SDL_MOUSEBUTTONDOWN: |
358 | 359 |
case SDL_MOUSEMOTION: |