AbePralle-FGB/Source/Defs.inc

689 lines
14 KiB
PHP

INCLUDE "Source/Class.inc"
DEBUG EQU 0
EMULATORCOMPATIBLE EQU 1
ENV_NONE EQU 0
ENV_RAIN EQU 1
ENV_SNOW EQU 2
ENV_WINDYSNOW EQU 3
ENV_DIRT EQU 4
ENV_CLOUDS EQU 5
ENV_COUNTER EQU 6
ENV_DISCO EQU 7
HERODATASIZE EQU 16
HERODATA_DATA EQU 0
HERODATA_JOY EQU 0
HERODATA_INDEX EQU 1
HERODATA_OBJ EQU 2
HERODATA_BULLET_INDEX EQU 4
HERODATA_CLASS EQU 5
HERODATA_ENTERDIR EQU 7
HERODATA_ENTERLOC EQU 8
HERODATA_I EQU 10
HERODATA_J EQU 11
HERODATA_TYPE EQU 12
HERODATA_HEALTH EQU 13
HERODATA_MOVED EQU 14 ;to help with strafe etc
HERODATA_PUFFCOUNT EQU 15
DLG_BORDER EQU %00000001
DLG_PRESSB EQU %00000010
DLG_WAITRELEASE EQU %00000100
DLG_NOCLEAR EQU %00001000
DLG_BRAINIAC EQU %00010000
DLG_CLEARSKIP EQU %00100000
DLG_BORDER_BIT EQU 0
DLG_PRESSB_BIT EQU 1
DLG_WAITRELEASE_BIT EQU 2
DLG_NOCLEAR_BIT EQU 3
DLG_BRAINIAC_BIT EQU 4
DLG_CLEARSKIP_BIT EQU 5
;dialog settings are tweaked in CheckSkip
JOY_START EQU $80
JOY_SELECT EQU $40
JOY_B EQU $20
JOY_A EQU $10
JOY_DOWN EQU $08
JOY_UP EQU $04
JOY_LEFT EQU $02
JOY_RIGHT EQU $01
JOY_START_BIT EQU 7
JOY_SELECT_BIT EQU 6
JOY_B_BIT EQU 5
JOY_A_BIT EQU 4
JOY_DOWN_BIT EQU 3
JOY_UP_BIT EQU 2
JOY_LEFT_BIT EQU 1
JOY_RIGHT_BIT EQU 0
FIRSTOBJTILE EQU 160
TOTALOBJTILE EQU 80
TOTALTILES EQU ((FIRSTOBJTILE - TOTALOBJTILE) - 1)
;reserved classes indicate that a tile in the map is part of a larger
;creature. If a tile were "CLASS_ADJOIN_N", for example, then the tile
;to the north would be either the actual monster or a pointer indicating
;which direction to look next
CLASS_ADJOIN_N EQU $fc
CLASS_ADJOIN_E EQU $fd
CLASS_ADJOIN_S EQU $fe
CLASS_ADJOIN_W EQU $ff
DIR_NORTH EQU 0
DIR_EAST EQU 1
DIR_SOUTH EQU 2
DIR_WEST EQU 3
EXIT_N EQU 1
EXIT_E EQU 2
EXIT_S EQU 3
EXIT_W EQU 4
EXIT_U EQU 5
EXIT_D EQU 6
EXIT_X EQU 7
;RAM banks
MAPBANK EQU 1
TILEINDEXBANK EQU 2
OBJLISTBANK EQU 2
OBJBANK EQU 3
TILESHADOWBANK EQU 4
ATTRSHADOWBANK EQU 5
ZONEBANK EQU 6
WAYPOINTBANK EQU 7
LEVELSTATEBANK EQU 7
FADEBANK EQU 7
MUSICBANK EQU 7
FLIGHTCODEBANK EQU 7
;ROM banks
;0 - HOME: All map- and gfx-loading routines are here as well as the
; main control structures. The class vector table is also
; stored here.
;1 - CLASS: All class+object methods for the main game are here. This
; bank is switched in after a level has been loaded.
;2 - Tile0: First set of tile bitmap data and attribute tables.
;3 - Map0: First set of level data
CLASSROM EQU 1
OBJROM EQU 1
BGTILEROM1 EQU 2
BGTILEROM2 EQU 5
FGTILEROM EQU 3
MAP0ROM EQU 4
FX_FADE EQU 1
;Flags (BGAttributes)
BG_FLAG_SPECIAL EQU %00111000
BG_FLAG_WALKOVER EQU %00001000
BG_FLAG_SHOOTOVER EQU %00010000
BG_FLAG_ATTACKABLE EQU %00100000
BG_BIT_WALKOVER EQU 3
BG_BIT_SHOOTOVER EQU 4
BG_BIT_ATTACKABLE EQU 5
;Game State Flags
HERO_BA_FLAG EQU %00000001
HERO_CS_FLAG EQU %00000001
HERO_BS_FLAG EQU %00000010
HERO_RA_FLAG EQU %00000010
HERO_FREEVERSE_FLAG EQU %00000010
HERO_HAIKU_FLAG EQU %00000100
HERO_FLOUR_FLAG EQU %00001000
HERO_FLOWER_FLAG EQU %00010000
HERO_GRENADE_FLAG EQU %00100000
HERO_BA_BIT EQU 0
HERO_BS_BIT EQU 1
HERO_HAIKU_BIT EQU 2
HERO_FLOUR_BIT EQU 3
HERO_FLOWER_BIT EQU 4
HERO_GRENADE_BIT EQU 5
;link cable codes
LTRUE EQU 1
LSYNCHREADY EQU 1
LSYNCHWAIT EQU 2
LNULL EQU $40 ;control code %01000000 = no buttons
LGETGAMESTATE EQU $81
LGETMAPINDEX EQU $82
LUPDATESTATE EQU $83
LUPDATEHERO EQU $84
LSYNCHRONIZE EQU $85
LYANKPLAYER EQU $86 ;yank player to specified map
LTERMINATE EQU $87 ;terminate the current link
LRESYNCHRONIZE EQU $88
LGETRANDOMSEED EQU $89
LLOCKHEROES EQU $8a
LCHANGEAPPXMAP EQU $8b
LADDINVITEM EQU $8c
LREMINVITEM EQU $8d
LUPDATEMEMORY EQU $8e
LLINKTEST EQU $90
LNOLINK EQU $ff
;main.asm
EXPORT encodeControlByteTable
EXPORT decodeControlByteTable
;user.asm
EXPORT SetActiveROM
EXPORT LongCall
EXPORT LongCallNoArgs
EXPORT WaitFade
EXPORT GetInput
EXPORT VWait
EXPORT UpdateObjects
EXPORT RedrawMap
EXPORT HandleRemoteInput
EXPORT TransmitByte
EXPORT ReceiveByte
EXPORT ExchangeByte
EXPORT TransmitData
EXPORT ReceiveData
EXPORT TransmitCompressedData
EXPORT ReceiveCompressedData
EXPORT CheckSimultaneousLCC
EXPORT YankRemotePlayer
EXPORT RemoveRemoteHero
EXPORT DebugMesg
EXPORT DebugVal
EXPORT SetDialogSkip
EXPORT SetDialogForward
EXPORT ClearDialogSkipForward
EXPORT ClearSkipForward
EXPORT SetSkipStackPos
EXPORT OnHBlank
EXPORT CinemaOnHBlank
EXPORT HOffsetOnHBlank
EXPORT SeasonsOnHBlank
EXPORT UpdateObjTimers
EXPORT InstallHBlankHandler
EXPORT PlaySample
EXPORT samplePlaying
EXPORT sampleBank
EXPORT sampleAddress
EXPORT sampleMask
EXPORT AddAppomattoxIfPresent
EXPORT Lookup8
EXPORT Lookup16
EXPORT LookupIndexOfData8
EXPORT FindFirstBGLoc
EXPORT LinkTransmitMemoryLocation
EXPORT curInput0
EXPORT curInput1
EXPORT dialogJoyIndex
EXPORT dialogSpeakerIndex
EXPORT getLocInitFacing
EXPORT losLimit
EXPORT longCallTempA
EXPORT amChangingMap
EXPORT curHeroAddressL
EXPORT heroesPresent
EXPORT vblankTimer
EXPORT backBufferReady
EXPORT backBufferDestHighByte
EXPORT paletteBufferReady
EXPORT dmaLoad
EXPORT randomLoc
EXPORT jiggleDuration
EXPORT jiggleType
EXPORT transmitACK
EXPORT hblankVector
EXPORT objTimerBase
EXPORT objTimer60ths
EXPORT heroTimerBase
EXPORT heroTimer60ths
EXPORT levelCheckSkip
EXPORT dialogSettings
EXPORT fadeRange
EXPORT moveAlignPrecision
EXPORT fireBulletDirection
EXPORT fireBulletDamage
EXPORT fireBulletSound
EXPORT fireBulletLocation
EXPORT explosionInitialFrame
EXPORT myGroup
EXPORT myFacing
EXPORT secondChoiceDirection
EXPORT curLevelIndex
EXPORT curLevelStateIndex
EXPORT timeToChangeLevel
EXPORT mapTotalSize
EXPORT mapExitLinks
EXPORT specialFX
EXPORT dmaLoadSrc0
EXPORT dmaLoadDest0
EXPORT dmaLoadLen0
EXPORT dmaLoadSrc1
EXPORT dmaLoadDest1
EXPORT dmaLoadLen1
EXPORT bgFlags
EXPORT baMoved
EXPORT bsMoved
EXPORT heroJoyIndex
EXPORT myJoy
EXPORT levelCheckStackPos
EXPORT displayType
EXPORT scrollSprites
EXPORT heroesIdle
EXPORT allIdle
EXPORT dialogIdleSettings
EXPORT canJoinMap
EXPORT checkTemp
EXPORT metaSprite_y
EXPORT metaSprite_x
EXPORT metaSprite_first_x
EXPORT curJoy0
EXPORT hero0_data
EXPORT hero0_index
EXPORT hero0_object
EXPORT hero0_bullet_index
EXPORT hero0_class
EXPORT hero0_enterLevelFacing
EXPORT hero0_enterLevelLocation
EXPORT hero0_i
EXPORT hero0_j
EXPORT hero0_type
EXPORT hero0_health
EXPORT hero0_moved
EXPORT hero0_puffCount
EXPORT curJoy1
EXPORT hero1_data
EXPORT hero1_index
EXPORT hero1_object
EXPORT hero1_bullet_index
EXPORT hero1_class
EXPORT hero1_enterLevelFacing
EXPORT hero1_enterLevelLocation
EXPORT hero1_i
EXPORT hero1_j
EXPORT hero1_type
EXPORT hero1_health
EXPORT hero1_moved
EXPORT hero1_puffCount
EXPORT levelVars
EXPORT linkBailOut
EXPORT musicEnabled
EXPORT musicOverride1
EXPORT musicOverride4
EXPORT musicBank
EXPORT musicNoteCountdownInit
EXPORT musicNoteCountdown
EXPORT musicTrack1Pos
EXPORT musicTrack2Pos
EXPORT musicTrack3Pos
EXPORT musicTrack4Pos
EXPORT musicInstrument1
EXPORT musicInstrument2
EXPORT musicInstrument3
EXPORT musicInstrument4
EXPORT musicWaveform
EXPORT musicStack
EXPORT curTrackStackL
EXPORT musicStackL1
EXPORT musicStackL2
EXPORT musicStackL3
EXPORT musicStackL4
EXPORT musicRegisters
EXPORT musicAddress
EXPORT numFreeObjects
EXPORT fgFlags
EXPORT lineZeroHorizontalOffset
EXPORT exitTileIndex
EXPORT hblankWinOn
EXPORT hblankWinOff
EXPORT hblankFlag
;Gfx.asm
EXPORT LoadNextLevel
EXPORT temp
EXPORT drawMapTemp
EXPORT SpriteDMAHandler
EXPORT InitGfx
EXPORT DisplayOff
EXPORT VMemCopy
EXPORT MemSet
EXPORT MemCopy
EXPORT InitDMALoad
EXPORT WaitDMALoad
EXPORT DMALoad
EXPORT SetupCommonColor
EXPORT AddHL16
EXPORT AddDE16
EXPORT GenerateFacings
EXPORT LoadSprites
EXPORT LoadFont
EXPORT PrepareForInitialMapDraw
EXPORT DrawMapToBackBuffer
EXPORT DrawCinemaToBackBuffer
EXPORT AdjustCameraToHero
EXPORT GentleCameraAdjust
EXPORT RestrictCameraToBounds
EXPORT ScrollToCamera
EXPORT ScrollSpritesLeft
EXPORT ScrollSpritesRight
EXPORT ScrollSpritesUp
EXPORT ScrollSpritesDown
EXPORT GetRandomNumZeroToN
EXPORT GetRandomNumMask
EXPORT SetupFadeFromWhite
EXPORT SetupFadeFromStandard
EXPORT FadeCommonSetPaletteToWhite
EXPORT FadeCommonSetPaletteToBlack
EXPORT FadeCommonSetPaletteToBlackBGOnly
EXPORT SetupFadeToWhite
EXPORT SetupFadeToStandard
EXPORT SetupFadeFromBlack
EXPORT BlackoutPalette
EXPORT SetupFadeToBlack
EXPORT SetupFadeFromBlackBGOnly
EXPORT SetupFadeToBlackBGOnly
EXPORT SetupFadeFromSaturated
EXPORT SetupFadeToGamePalette
EXPORT SetupFadeToHalfbrite
EXPORT FadeCommonCopyPalette
EXPORT CopyPalette64
EXPORT CopyPalette32
EXPORT InstallGamePalette
EXPORT FadeInit
EXPORT FadeStep
EXPORT LighteningOut
EXPORT LighteningIn
EXPORT GetRedComponent
EXPORT GetGreenComponent
EXPORT GetBlueComponent
EXPORT SetRedComponent
EXPORT SetGreenComponent
EXPORT SetBlueComponent
EXPORT PlaySound
EXPORT PlaySoundChannel1
EXPORT PlaySoundChannel2
EXPORT PlaySoundChannel3
EXPORT PlaySoundChannel4
EXPORT WaitInput
EXPORT WaitInputZero
EXPORT WaitInputClick
EXPORT CreateBigExplosion
EXPORT BlitMap
EXPORT LCheckGetVectorToState
EXPORT SaveIdle
EXPORT RestoreIdle
EXPORT MakeIdle
EXPORT MakeNonIdle
EXPORT UseAlternatePalette
EXPORT UpdateDialogBalloons
EXPORT DisableDialogBalloons
EXPORT ResetFreeSprites
EXPORT UpdateEnvEffect
EXPORT SetEnvEffect
EXPORT CheckEachHero
EXPORT RemoveHero
EXPORT SetRespawnMap
EXPORT SetJoinMap
EXPORT SetLinkBailOutAddress
EXPORT SetHBlankHandler
EXPORT GetMethodAddrFromPointer
EXPORT CallBGAction
EXPORT ResetSprites
;Cinema.asm
EXPORT LoadCinemaBG
EXPORT LoadCinemaSprite
EXPORT LoadCinemaTextBox
EXPORT CinemaBlitRect
EXPORT CinemaSpotAnimationRandomVerticalFrames
EXPORT CinemaSpotAnimationRandomHorizontalFrames
EXPORT StdWaitDialogNoClear
EXPORT StdWaitDialog
;cinema character animation routines
EXPORT AnimateSkippy
EXPORT AnimateFlour
EXPORT AnimateHaiku
EXPORT AnimateBRAINIAC
EXPORT AnimateLadyFlower
EXPORT AnimateFlourDriving
EXPORT AnimateBS
EXPORT AnimateBA
EXPORT AnimateLadyFlowerDistress
EXPORT AnimateCaptainGunpoint
EXPORT State0To1
;Map.asm
EXPORT BGTiles1024
EXPORT LoadMap
EXPORT MapCoordsToIndex
EXPORT SetupMapVarsFromWidthPitchAndHeight
EXPORT ParseMap
EXPORT ClearBackBuffer
EXPORT SetBGSpecialFlags
EXPORT ResetMyBGSpecialFlags
EXPORT CallMapInit
EXPORT LoadAssociatedClass
EXPORT SaveFGTileInfo
EXPORT RestoreFGTileInfo
EXPORT PrepSetupHero
EXPORT PrepSetupHeroBC
EXPORT SetupHero
EXPORT FindExitLocation
EXPORT FindClassIndex
EXPORT ChangeClass
EXPORT ChangeFirstClass
EXPORT ChangeMyClass
EXPORT ChangeMyClassAndRedraw
EXPORT ChangeMyClassToAssociatedAndRedraw
EXPORT RemoveObjectFromList
EXPORT AddObjectToList
EXPORT CopyMapMethodToRAM
EXPORT HandleExitFromMap
EXPORT HasInventoryItem
EXPORT AddInventoryItem
EXPORT GetFirstInventoryIndex
EXPORT GetNextInventoryIndex
EXPORT RemoveInventoryItem
EXPORT GuestContinueSynchronization
EXPORT map
EXPORT zoneBuffer
EXPORT backBuffer
EXPORT attributeBuffer
EXPORT tileShadowBuffer
EXPORT attributeShadowBuffer
EXPORT gamePalette
EXPORT objBackBuffer
EXPORT objAttributeBuffer
EXPORT mapOffsetNorth
EXPORT mapOffsetEast
EXPORT mapOffsetSouth
EXPORT mapOffsetWest
EXPORT mapWidth
EXPORT mapPitch
EXPORT mapPitchMinusOne
EXPORT mapPitchMinusOneComplement
EXPORT mapSkip
EXPORT mapHeight
EXPORT numClasses
EXPORT firstHero
EXPORT numFGTiles
EXPORT fgDestPtr
EXPORT firstMonster
EXPORT mapColor
EXPORT mapLeft
EXPORT mapTop
EXPORT mapRight
EXPORT mapBottom
EXPORT mapRightPlusOne
EXPORT mapBottomPlusOne
EXPORT mapMaxLeft
EXPORT mapMaxTop
EXPORT camera_i;
EXPORT camera_j;
EXPORT distToWall_N
EXPORT distToWall_E
EXPORT distToWall_S
EXPORT distToWall_W
EXPORT curROMBank
EXPORT updateTimer
EXPORT curObjWidthHeight
EXPORT scrollSpeed
EXPORT gameState
EXPORT heroesAvailable
EXPORT heroesUsed
EXPORT heroesLocked
EXPORT appomattoxMapIndex
EXPORT respawnMap
EXPORT joinMap
EXPORT guardAlarm
EXPORT amLinkMaster
EXPORT lastLinkAction
EXPORT checkInputInMainLoop
EXPORT amShowingDialog
EXPORT gameStatePad
EXPORT desiredMapLeft
EXPORT desiredMapTop
EXPORT curPixelOffset_x
EXPORT curPixelOffset_y
EXPORT desiredPixelOffset_x
EXPORT desiredPixelOffset_y
EXPORT scrollAccelState_x
EXPORT scrollAccelState_y
EXPORT tempL,tempH
EXPORT delTempL,delTempH
EXPORT methodParamL
EXPORT methodParamH
EXPORT bulletDirection
EXPORT bulletLocation
EXPORT bulletColor
EXPORT bulletClassIndex
EXPORT bulletDamage
EXPORT inventory
EXPORT dialogNPC_speakerIndex
EXPORT dialogNPC_heroIndex
EXPORT dialogBalloonClassIndex
EXPORT envEffectType
EXPORT bsUpgrades
EXPORT baUpgrades
EXPORT haikuUpgrades
EXPORT mapBank
EXPORT mapContents
EXPORT mapState
EXPORT mapDialogClassIndex
EXPORT mapHeroZone
EXPORT dialogBank
EXPORT classLookup
EXPORT bgTileMap
EXPORT bgAttributes
EXPORT fgTileMap
EXPORT fgAttributes
EXPORT spritesUsed
EXPORT associatedIndex
EXPORT flightCode
EXPORT fadeCurPalette
EXPORT fadeFinalPalette
EXPORT fadeCurRGB
EXPORT fadeDelta
EXPORT fadeError
EXPORT fadeSteps
EXPORT fadeStepsToGo
EXPORT FOFTable
EXPORT wayPointList
EXPORT pathList
EXPORT pathMatrix
EXPORT levelState
EXPORT heroState
EXPORT rainbowColors
EXPORT horizontalOffset
EXPORT levelCheckRAM
levelCheckADDR EQU $c900
EXPORT spriteOAMBuffer
EXPORT ShowTitle
EXPORT SetSpeakerToFirstHero
EXPORT SetSpeakerFromHeroIndex
EXPORT SetPressBDialog
EXPORT CheckDialogContinue
EXPORT ShowDialogNPC
EXPORT ShowDialogHero
EXPORT ShowDialogAtTop
EXPORT ShowDialogAtTopNoWait
EXPORT ShowDialogAtTopCommon
EXPORT ShowDialogAtBottom
EXPORT ShowDialogAtBottomNoWait
EXPORT ShowDialogAtBottomCommon
EXPORT ShowDialogWait
EXPORT ClearGTXLine
EXPORT WriteGTXLine
EXPORT ClearDialog
EXPORT GfxBlitBackBufferToWindow
EXPORT GfxShowStandardTextBox
EXPORT CheckSkip
EXPORT Delay
;Music.asm
EXPORT InitMusic
EXPORT PlayMusic
EXPORT StopMusic
EXPORT IsCurMusic
EXPORT beehive_gbm
EXPORT hoedown_gbm
EXPORT alarm_gbm
EXPORT intro_cinema_gbm
EXPORT bs_gbm
EXPORT lady_flower_gbm
EXPORT main_in_game_gbm
EXPORT haiku_gbm
EXPORT moon_base_ba_gbm
EXPORT moon_base_haiku_gbm
;EXPORT shroom_gbm
EXPORT cowboy_gbm
EXPORT frosty_gbm
EXPORT fgbwar_gbm
EXPORT wedding_gbm
EXPORT takeoff_gbm
EXPORT spaceish_gbm
EXPORT death_gbm
EXPORT jungle_gbm
EXPORT mysterious_gbm
EXPORT GetNumObjects
INCLUDE "Source/Macro.inc"