'Blubber Dragon DECLARS.BAS

'$INCLUDE: 'DQBREL.BI'

DECLARE SUB INIT ()
DECLARE SUB LOADGFX ()
DECLARE SUB LOADSOUNDS (jplay%)
DECLARE SUB LOADMUSIC (jplay%)
DECLARE SUB PLAYSOUND (jplay$, jvol%)
DECLARE SUB PLAYSOUNDS (jplay$)
DECLARE SUB WAITFRAME ()
DECLARE SUB SELECTCAMPAIGN ()
DECLARE SUB SELECTCHAR ()
DECLARE SUB SELECTMUSIC ()
DECLARE SUB MENUMUSIC ()
DECLARE SUB WEATHERSUB ()
DECLARE SUB JPRINT (Layer%, Text$, X%, Y%, Col%)
DECLARE SUB DRAWPLAYER (jplay%)
DECLARE SUB CURSOR ()
DECLARE SUB GAME ()
DECLARE SUB GAME2 (jplay%)
DECLARE SUB HELP ()
DECLARE SUB QUIT ()
DEFINT A-Z
COMMON SHARED Game.Campaign$, Game.Lives%, Game.MinPills%, Game.MaxPills%
COMMON SHARED Game.MaxPoints%, Game.Clouds%, Game.Shadow%, Game.Marks%
COMMON SHARED Game.Level%, Game.Levels%, Game.Fires%, Game.Music$, JError$
COMMON SHARED Level.GFX1$, Level.GFX2$, Level.GFX3$, Level.GFX4$
COMMON SHARED Game.CloudType%, Game.OS%, Game.WAIT!, MusicPlaying$
COMMON SHARED Weather%, Terrain%, Game.GFX%, Game.MusVol%, Game.SndVol%
COMMON SHARED BG2.Draw%, BG3.Draw%, Game.MarkColor%, Game.HearFatigue%
COMMON SHARED Game.Score%, Game.AddScore%, CursorAnim%, CursorType%
COMMON SHARED Error53Num%, Error75Num%, MusicToUse%, ShowErrors%
COMMON SHARED MusicFile%, NoMouse%, Message$, MessageDelay%, FootStepSound%
COMMON SHARED Game.Wind%, Game.CloudAlt%, Game.CeilingAlt%, PlaneOdd%
COMMON SHARED FatgasOdd%, HeliumOdd%, FloodAmount%, FloodY%, FloodCol%
COMMON SHARED PPOINTS%, WAIT.PILL%, WAIT.PILLTIME%, BGSoundOdd%, Game.Start%
COMMON SHARED CharacterDir AS STRING * 8, UseSounds%, UseMusic%

COMMON SHARED Player.OX%, Player.OY%, Player.DIRECTION%, Player.FATTEN%
COMMON SHARED Player.FAT%, Player.MAXFAT%, Player.LIIKS%, Player.FRAME%
COMMON SHARED Player.SPRINT%, Player.MAXSPRINT%, Player.PILLTIME%
COMMON SHARED Player.MSG%, Player.OLDFAT%, Player.ABILITY%, Player.MOVE%
COMMON SHARED Player.FLY%, Player.SLIDE%, Player.MIDAIR%, Player.INFLATE%
COMMON SHARED Player.ROT1%, Player.ROT2%, FATX%, FATXP%, FATY%
COMMON SHARED Player.PILL AS STRING * 3

'VIDEO = 0 (CONST ready in DirectQB)
CONST READY = 1   'Everything drawn and ready to copy layer to screen (VIDEO)
CONST PLAYER1 = 2, PLAYER2 = 3, PLAYER3 = 4, PLAYER4 = 5, PLAYER5 = 6, PLAYER6 = 7
CONST PLAYER7 = 8, PLAYER8 = 9, PLAYER9 = 10, PLAYER10 = 11, PLAYER11 = 12
CONST PLAYER12 = 13, PLAYER13 = 14, PLAYER14 = 15, PLAYER15 = 16, PLAYER16 = 17
CONST PLAYER17 = 18, PLAYER18 = 19
CONST BG1LAYER = 20, BG2LAYER = 21, BG3LAYER = 22, BG4LAYER = 23
CONST OBJLAYER = 24, TEMPLAYER = 25

'-------------------------------------------------
TYPE Mouth
X AS INTEGER   'Mouth X  (Character's direction left)
X2 AS INTEGER  'Mouth X2 (Character's direction right)
Y AS INTEGER   'Mouth Y
W AS INTEGER   'Mouth width
H AS INTEGER   'Mouth height
SPEED AS INTEGER  'Character's walking speed with different weight levels
SPEED2 AS INTEGER 'Character's running speed with different weight levels
JPOWER AS INTEGER 'Character's jumping power with different weight levels
CHARW AS INTEGER  'Character's width with different weight levels (Face left)
CHARW2 AS INTEGER 'Character's width with different weight levels (Face right)
CHARH AS INTEGER  'Character's height with different weight levels
FOOTSND1 AS INTEGER  'When to play footstep sounds (Frame 1)
FOOTSND2 AS INTEGER  'When to play footstep sounds (Frame 3)
MOVESND11 AS INTEGER 'When to play moving sound 1 (Frame 1)
MOVESND12 AS INTEGER 'When to play moving sound 1 (Frame 3)
MOVESND21 AS INTEGER 'When to play moving sound 2 (Frame 1)
MOVESND22 AS INTEGER 'When to play moving sound 2 (Frame 3)
END TYPE

TYPE FatFood        'Pills, food...etc.
OX AS INTEGER       'X
OY AS INTEGER       'Y
SPEED AS INTEGER    'Falling speed
EFFECT AS INTEGER   'Object type (0-9 specials, 10-80 fattening amount)
WAY AS INTEGER      'The way the pill moves
PCOLOR AS INTEGER   'The color of the pill
SIZE AS INTEGER     '0 = normal, 1 = big (also bigger damage to shelter)
END TYPE

TYPE Bubble         'Bubbles that come out of the character's mouth
OX AS INTEGER       'X
OY AS INTEGER       'Y
SIZE AS INTEGER     'Size of the bubble
LIFE AS INTEGER     'Time in frames before bubble pops
LIFE2 AS INTEGER    'Time in frames after popping
END TYPE

