1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-04 23:30:24 +00:00

Adapts theBOB's samples so they don't use ABSOLUTE.

Thanks to Simmons for the conversion utility https://www.tapatalk.com/groups/qbasic/viewtopic.php?p=204977#p204977
This commit is contained in:
FellippeHeitor 2020-04-03 15:07:38 -03:00
parent 702e0f708a
commit d4ef195bd1
9 changed files with 216 additions and 45 deletions

View file

@ -216,7 +216,7 @@ SUB MouseDRIVER (LB, RB, MX, MY)
DEF SEG = VARSEG(MouseDATA$)
mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, MX, MY, mouse)
CALL ABSOLUTE_MOUSE_EMU (LB, RB, MX, MY)
END SUB
@ -261,3 +261,22 @@ SUB ShowMOUSE
LB = 1
MouseDRIVER LB, 0, 0, 0
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -1433,7 +1433,7 @@ SUB MouseDRIVER (LB, RB, Mx, My)
DEF SEG = VARSEG(MouseDATA$)
mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, Mx, My, mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLB, RB RB, MX Mx, MY My)
END SUB
@ -2198,3 +2198,22 @@ ScalePIXELy = PixelY * Scale + 51
RETURN
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -221,7 +221,7 @@ SUB MouseDRIVER (LB, RB, MX, MY)
DEF SEG = VARSEG(MouseDATA$)
mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, MX, MY, mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLB, RB RB RB, MX Mx MX, MY My MY)
END SUB
@ -299,3 +299,22 @@ SUB ShowMOUSE
LB = 1
MouseDRIVER LB, 0, 0, 0
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -152,20 +152,20 @@ LOOP
END '************************** PALETTE DATA ********************************
PaletteDATA:
DATA 4, 2, 12, 6, 4, 14, 12, 12, 20
DATA 31, 31, 38, 46, 46, 50, 0, 0, 0
DATA 4, 2, 12, 6, 4, 14, 12, 12, 20
DATA 31, 31, 38, 46, 46, 50, 0, 0, 0
CustomCOLORS:
DATA 6,7,8,10,12,13,14
FlameCOLOR:
DATA 63, 63, 63, 63, 32, 12, 63, 52, 0
DATA 63, 63, 63, 63, 32, 12, 63, 52, 0
SilverCOLOR:
DATA 63, 63, 63, 38, 38, 35, 53, 53, 48
DATA 63, 63, 63, 38, 38, 35, 53, 53, 48
GoldCOLOR:
DATA 63, 63, 42, 63, 42, 21, 63, 52, 32
DATA 63, 63, 42, 63, 42, 21, 63, 52, 32
WhiteCOLOR:
DATA 63, 63, 63, 48, 48, 53, 53, 53, 58
DATA 63, 63, 63, 48, 48, 53, 53, 53, 58
REM $STATIC
SUB Assembly1
@ -1756,7 +1756,7 @@ NEXT x
FOR n = 0 TO 15
IF Colors4%(n) = 1 THEN SigCOLORS& = SigCOLORS& + 1
NEXT n
FileTYPE$ = "BM"
Reserved1% = 0
Reserved2% = 0
@ -1816,7 +1816,7 @@ FOR n% = 1 TO 46 STEP 3
PUT #1, , Colr$
PUT #1, , u$ 'Unused byte
NEXT n%
FOR y = y2% TO y1% STEP -1
FOR x = x1% TO x2% STEP 2
HiX = POINT(x, y)
@ -2401,7 +2401,7 @@ IF TopMENU AND LB = -1 THEN
CASE 3: GOSUB MenuDARK: SYSTEM
END SELECT
END IF
EXIT SUB
MenuLIGHT:
@ -2439,7 +2439,7 @@ SUB MouseDRIVER (LB, RB, MX, MY)
DEF SEG = VARSEG(MouseDATA$)
Mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, MX, MY, Mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLBLB, RB RB RB RB, MX Mx MX MX, MY My MY MY)
END SUB
@ -3343,3 +3343,22 @@ NEXT n
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -133,14 +133,14 @@ RANDOMIZE TIMER
DO
PlayGAME
LOOP
END
PaletteDATA:
DATA 0, 4, 16, 0, 10, 21, 0, 16, 32, 32, 10, 0
DATA 63, 0, 0, 63, 32, 0, 18, 18, 24, 30, 30, 37
DATA 42, 42, 50, 55, 55, 63, 0, 0, 0, 43, 27, 20
DATA 8, 8, 21, 0, 63, 21, 63, 55, 25, 63, 63, 63
DATA 0, 4, 16, 0, 10, 21, 0, 16, 32, 32, 10, 0
DATA 63, 0, 0, 63, 32, 0, 18, 18, 24, 30, 30, 37
DATA 42, 42, 50, 55, 55, 63, 0, 0, 0, 43, 27, 20
DATA 8, 8, 21, 0, 63, 21, 63, 55, 25, 63, 63, 63
SUB ApeCHUCKLE (Which)
@ -503,7 +503,7 @@ KongX = LBldg * 80 - 59
KongY = Buildings(LBldg, 2) - 42
YoungX = RBldg * 80 - 59
YoungY = Buildings(RBldg, 2) - 42
DEF SEG = VARSEG(Box(1))
BLOAD "kongmjy.bsv", VARPTR(Box(1))
DEF SEG
@ -847,7 +847,7 @@ SUB MouseDRIVER (LB, RB, MX, MY)
DEF SEG = VARSEG(MouseDATA$)
Mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, MX, MY, Mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLBLBLB, RB RB RB RB RB, MX Mx MX MX MX, MY My MY MY MY)
END SUB
@ -1221,3 +1221,22 @@ Item = 0
RETURN
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -538,7 +538,7 @@ SUB MouseDRIVER (LB, RB, mX, mY)
DEF SEG = VARSEG(MouseDATA$)
Mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, mX, mY, Mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLBLBLBLB, RB RB RB RB RB RB, MX Mx MX MX MX mX, MY My MY MY MY mY)
END SUB
@ -627,3 +627,22 @@ SUB ShowMOUSE
LB = 1
MouseDRIVER LB, 0, 0, 0
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -82,7 +82,7 @@ PlayerPAR AS INTEGER
PlayerSTATUS AS INTEGER
END TYPE
DIM SHARED ScoreDATA(6) AS ScoreTYPE
OPEN "mg.top" FOR APPEND AS #1: CLOSE #1
OPEN "mg.top" FOR INPUT AS #1
@ -120,7 +120,7 @@ ParDATA:
DATA 2, 3, 4, 4, 4, 2, 3, 3, 3
SCREEN 12
SetSCREEN
DO
@ -130,10 +130,10 @@ LOOP
SYSTEM
PaletteDATA:
DATA 0,0,12, 0,10,30, 4,11,1, 21,21,63
DATA 63,0,0, 42,0,42, 32,15,0, 63,16,0
DATA 0,63,21, 50,27,18, 5,13,1, 28,28,32
DATA 36,36,40, 44,44,48, 52,52,56, 63,63,63
DATA 0,0,12, 0,10,30, 4,11,1, 21,21,63
DATA 63,0,0, 42,0,42, 32,15,0, 63,16,0
DATA 0,63,21, 50,27,18, 5,13,1, 28,28,32
DATA 36,36,40, 44,44,48, 52,52,56, 63,63,63
SUB Bridge
STATIC Index, StartTIME#
@ -172,9 +172,9 @@ SUB ControlBOX
STATIC SliderY1, SliderY2, Rotation, Force
SHARED SlowTRAIN, Putted, MapXD, MapYD, LowerLEVEL
SlowTRAIN = 0: Putted = 0
''FieldMOUSE 0, 0, 639, 479
GET (BallX - 13, BallY - 13)-(BallX + 13, BallY + 13), PutterBOX()
PUT (BallX - 5, BallY - 5), BallBOX(201), AND
PUT (BallX - 5, BallY - 5), BallBOX(), XOR
@ -310,7 +310,7 @@ DO
WAIT &H3DA, 8
WAIT &H3DA, 8, 8
END IF
IF Level = 4 AND Rotate = 0 THEN Traps
IF Level = 6 THEN Train
IF Level = 7 THEN Bridge
@ -320,7 +320,7 @@ DO
END IF
IF Level = 7 THEN Bridge
LOOP
EXIT SUB
OpenMENU:
@ -701,7 +701,7 @@ SUB MouseDRIVER (LB, RB, MX, MY)
DEF SEG = VARSEG(MouseDATA$)
Mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, MX, MY, Mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLBLBLBLBLB, RB RB RB RB RB RB RB, MX Mx MX MX MX mX MX, MY My MY MY MY mY MY)
END SUB
@ -766,7 +766,7 @@ BallY = MapY! * 2 + ShiftY
GET (BallX - 5, BallY - 5)-(BallX + 5, BallY + 5), BallBOX(450)
PUT (BallX - 5, BallY - 5), BallBOX(201), AND
PUT (BallX - 5, BallY - 5), BallBOX(), XOR
DO
ControlBOX
Strokes = Strokes + 1
@ -774,7 +774,7 @@ DO
Digital
PUT (BallX - 5, BallY - 5), BallBOX(450), PSET
PLAY "MBT220L64O3C"
DO
SELECT CASE MapBOX(MapX!, MapY!)
CASE 0
@ -1126,12 +1126,12 @@ DO
PUT (BallX - 5, BallY - 5), BallBOX(), XOR
END IF
LOOP
IF MapBOX(MapX!, MapY!) < 20 THEN
PUT (BallX - 5, BallY - 5), BallBOX(201), AND
PUT (BallX - 5, BallY - 5), BallBOX()
END IF
EXIT SUB
DropBALL:
@ -1225,7 +1225,7 @@ NEXT y
Cup = 1
RETURN
Splunk: 'Water hazard
Splunk: 'Water hazard
PLAY "MBMST255L64O2b"
Interval .3
PLAY "MBMST255L64O5cP16eP16c<P16gP16>>c"
@ -1548,7 +1548,7 @@ IF NewGAME = 0 THEN
SetPALETTE 1
NewGAME = 1
END IF
SELECT CASE Level
CASE 1
MapX! = 134: MapY! = 133
@ -1680,7 +1680,7 @@ PUT (154, 140), PuttBOX(16100), PSET
SetPALETTE 1
SHELL "MGTheme.EXE"
Interval .75
SetPALETTE 0
CLS
@ -1693,7 +1693,7 @@ DEF SEG = VARSEG(PuttBOX(1))
BLOAD "mgtitle.bsv", VARPTR(PuttBOX(1))
DEF SEG
PUT (20, 20), PuttBOX(), PSET
'Load golfball image and mask
DEF SEG = VARSEG(BallBOX(1))
BLOAD "mgball.bsv", VARPTR(BallBOX(1))
@ -1704,14 +1704,14 @@ DEF SEG = VARSEG(PuttBOX(1))
BLOAD "mgctrl2.bsv", VARPTR(PuttBOX(1))
DEF SEG
PUT (438, 27), PuttBOX(), PSET
'Load digital numbers
DEF SEG = VARSEG(DigitBOX(1))
BLOAD "mgdigits.bsv", VARPTR(DigitBOX(1))
DEF SEG
Digital
'Load control slider images
DEF SEG = VARSEG(SliderBOX(1))
BLOAD "mgctrl.bsv", VARPTR(SliderBOX(1))
@ -1731,7 +1731,7 @@ MouseDRIVER LB, 0, 0, 0
END SUB
SUB TopFIVE
DEF SEG = VARSEG(PuttBOX(1))
BLOAD "mgfinal3.bsv", VARPTR(PuttBOX(1))
DEF SEG
@ -1973,3 +1973,22 @@ RETURN
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -702,7 +702,7 @@ SUB MouseDRIVER (LB, RB, MX, MY)
DEF SEG = VARSEG(MouseDATA$)
Mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, MX, MY, Mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLBLBLBLBLBLB, RB RB RB RB RB RB RB RB, MX Mx MX MX MX mX MX MX, MY My MY MY MY mY MY MY)
END SUB
@ -797,3 +797,22 @@ DEF SEG
PUT (198, 178), BigBOX(), PSET
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB

View file

@ -369,7 +369,7 @@ SUB MouseDRIVER (LB, RB, mX, mY)
DEF SEG = VARSEG(MouseDATA$)
Mouse = SADD(MouseDATA$)
CALL ABSOLUTE(LB, RB, mX, mY, Mouse)
CALL ABSOLUTE_MOUSE_EMU (LBLBLBLBLBLBLBLBLB, RB RB RB RB RB RB RB RB RB, MX Mx MX MX MX mX MX MX mX, MY My MY MY MY mY MY MY mY)
END SUB
@ -1559,3 +1559,22 @@ LastDECK = 0
ShowMOUSE
END SUB
SUB ABSOLUTE_MOUSE_EMU (AX%, BX%, CX%, DX%)
SELECT CASE AX%
CASE 0
AX% = -1
CASE 1
_MOUSESHOW
CASE 2
_MOUSEHIDE
CASE 3
WHILE _MOUSEINPUT
WEND
BX% = -_MOUSEBUTTON(1) - _MOUSEBUTTON(2) * 2 - _MOUSEBUTTON(3) * 4
CX% = _MOUSEX
DX% = _MOUSEY
CASE 4
_MOUSEMOVE CX%, DX% 'Not currently supported in QB64 GL
END SELECT
END SUB