MODE_BUCKSHOT equ 17 BS_READY equ 0 BS_PLAYER equ 1 BS_DEALER equ 2 BS_WIN equ 3 BS_LOSE equ 4 BS_LOAD equ 5 BS_SHOT equ 6 BS_ITEM equ 7 BS_ERROR equ 8 BS_DEATH equ 9 BS_RECOVERY equ 10 BS_ASSET_COUNT equ 12 InitBuckshot3D PROTO HandleBuckshot3D PROTO RenderBuckshot3D PROTO BuckshotReload3D PROTO BuckshotShoot3D PROTO :DWORD LoadBuckshotAssets3D PROTO FreeBuckshotAssets3D PROTO CommitBuckshotShot3D PROTO FinishBuckshotAction3D PROTO UseBuckshotItem3D PROTO :DWORD DrawBuckshotText3D PROTO :DWORD,:DWORD,:DWORD,:DWORD DrawBuckshotNumber3D PROTO :DWORD,:DWORD,:DWORD,:DWORD DrawBuckshotPanel3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD DrawBuckshotHand3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD .data bs3d_state dd BS_READY bs3d_bet dd 50 bs3d_hpPlayer dd 4 bs3d_hpDealer dd 4 bs3d_shells dd 8 dup(0) bs3d_shellCount dd 0 bs3d_shellIndex dd 0 bs3d_liveCount dd 0 bs3d_blankCount dd 0 bs3d_turn dd 0 bs3d_shooter dd 0 bs3d_lastShot dd 0 bs3d_target dd 0 bs3d_timer dd 0 bs3d_afterAnim dd BS_PLAYER bs3d_effectDone dd 0 bs3d_loadDuration dd 0 bs3d_loadActor dd 0 bs3d_error dd 0 bs3d_payout dd 0 bs3d_damage dd 1,1 bs3d_known dd -1,-1 bs3d_skip dd 0,0 bs3d_items dd 8 dup(0) bs3d_item dd 0 bs3d_message dd 0 bs3d_messageTime dd 0 bs3d_dealerFrame dd 0 bs3d_phase dd 0 bs3d_clock dd 0 bs3d_pitch dd 0 bs3d_result dd 0 bs3d_victim dd 0 bs3d_room AnimPack3D <> bs3d_loading AnimPack3D <> bs3d_shots AnimPack3D <> bs3d_dealer AnimPack3D <> bs3d_props AnimPack3D <> bs3d_itemHands AnimPack3D <> bs3d_self AnimPack3D <> bs3d_death AnimPack3D <> bs3d_medical AnimPack3D <> bs3d_blood AnimPack3D <> bs3d_dealerActions AnimPack3D <> bs3d_selfFlash AnimPack3D <> bs3d_packs dd OFFSET bs3d_room,OFFSET bs3d_loading,OFFSET bs3d_shots dd OFFSET bs3d_dealer,OFFSET bs3d_props,OFFSET bs3d_itemHands dd OFFSET bs3d_self,OFFSET bs3d_death,OFFSET bs3d_medical,OFFSET bs3d_blood dd OFFSET bs3d_dealerActions dd OFFSET bs3d_selfFlash bs3d_roomPath db "assets\animations\buckshot\room-v2.bin",0 bs3d_loadingPath db "assets\animations\buckshot\loading-v2.bin",0 bs3d_shotsPath db "assets\animations\buckshot\shots-v2.bin",0 bs3d_dealerPath db "assets\animations\buckshot\dealer-v2.bin",0 bs3d_propsPath db "assets\animations\buckshot\props-v2.bin",0 bs3d_itemsPath db "assets\animations\buckshot\items-v2.bin",0 bs3d_selfPath db "assets\animations\buckshot\self-v3.bin",0 bs3d_deathPath db "assets\animations\buckshot\death-v3.bin",0 bs3d_medicalPath db "assets\animations\buckshot\medical-v5.bin",0 bs3d_bloodPath db "assets\animations\buckshot\blood-v3.bin",0 bs3d_dealerActionsPath db "assets\animations\buckshot\dealer-actions-v3.bin",0 bs3d_selfFlashPath db "assets\animations\buckshot\self-flash-v4.bin",0 bs3d_paths dd OFFSET bs3d_roomPath,OFFSET bs3d_loadingPath,OFFSET bs3d_shotsPath dd OFFSET bs3d_dealerPath,OFFSET bs3d_propsPath,OFFSET bs3d_itemsPath dd OFFSET bs3d_selfPath,OFFSET bs3d_deathPath,OFFSET bs3d_medicalPath,OFFSET bs3d_bloodPath dd OFFSET bs3d_dealerActionsPath dd OFFSET bs3d_selfFlashPath bs3d_frameCounts dd 1,12,16,16,12,8,8,12,32,8,16,8 bs3d_frameWidths dd 640,320,320,256,128,256,320,256,384,320,256,128 bs3d_frameHeights dd 480,280,280,224,128,256,280,224,256,240,224,128 bs3d_pumpSound db "assets\audio\generated\buckshot-pump.wav",0 bs3d_textTitle db "BUCKSHOT",0 bs3d_textBank db "BANK $",0 bs3d_textPlayer db "PLAYER",0 bs3d_textDealer db "DEALER",0 bs3d_textBet db "BET $",0 bs3d_textReady db "SPACE: PLAY",0 bs3d_textResult db "SPACE: AGAIN",0 bs3d_textExit db "ESC: HALL",0 bs3d_textPause db "ESC: PAUSE",0 bs3d_textChoose db "1: SELF",0 bs3d_textOpponent db "2: DEALER",0 bs3d_textWin db "YOU WIN",0 bs3d_textLose db "DEALER WINS",0 bs3d_textLoad db "RELOADING",0 bs3d_textLive db "LIVE",0 bs3d_textBlank db "BLANK",0 bs3d_textShells db "SHELLS",0 bs3d_textEmpty db "NOT ENOUGH CASH",0 bs3d_textShot db "LIVE ROUND",0 bs3d_textDry db "BLANK ROUND",0 bs3d_textKnownLive db "NEXT: LIVE",0 bs3d_textKnownBlank db "NEXT: BLANK",0 bs3d_textSaw db "NEXT DAMAGE x2",0 bs3d_textBeer db "SHELL EJECTED",0 bs3d_textCuffs db "OPPONENT SKIPS A TURN",0 bs3d_textItemEmpty db "ITEM UNAVAILABLE",0 bs3d_textWait db "DEALER'S TURN",0 bs3d_textItem db "USING AN ITEM",0 bs3d_textAssets db "ANIMATION FILE MISSING OR INVALID",0 bs3d_textMedical db "MEDICAL UNIT: RESTORING VITALS",0 bs3d_textDeath db "VITAL SIGNAL LOST",0 bs3d_textItems dd OFFSET bs3d_textGlassKey,OFFSET bs3d_textSawKey dd OFFSET bs3d_textBeerKey,OFFSET bs3d_textCuffKey bs3d_textGlassKey db "3: GLASS",0 bs3d_textSawKey db "4: SAW",0 bs3d_textBeerKey db "5: BEER",0 bs3d_textCuffKey db "6: CUFFS",0 bs3d_minus db "-",0 bs3d_plus db "+",0