Advertisement
Nightseeker

Wayne Gretzky and the NHLPA All-Stars code fragments

Mar 13th, 2020
1,391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 0x4AE00-0x4BFDF
  2. CODEPLACE      ; PLOTTING SHADOWS!
  3.                                
  4.  MOVE.L #DUDVAR,A5      ; GET POINTER TO SECTION
  5.  MOVE.W #DUDCHUNKIND,D5         ; INDEX!
  6.                                                        
  7. .PS1
  8.  TST.W (A5,D5)                  ; CHECK IF PLAYER ON
  9.  BEQ.S .NOSHAD
  10.  TST.W DUDSHADFR(A5,D5)
  11.  BEQ.S .NOSHAD                  ; SKIP IF NO SHADOW TO PLOT!
  12.  
  13.  MOVE DUDX(A5,D5),D0
  14.  MOVE DUDYS(A5,D5),D1
  15.  BEQ.S .NOSHAD          ; IF Y = 0- SKIP HIM
  16.        
  17.  LSR.W  #PSHIFT,D0             ; SAVE Y VALUE OF PUCK!
  18.         SUB D2,D1               ; GET POSITION OF PUCK LESS ALTITUDE
  19.         MOVE.W D1,SPY                          
  20.         SUB WINDOWX,D0        ; GET WINDOWY
  21.         MOVE.W D0,SPX
  22.                                                                                                                                
  23. ;;        MOVE PUCKFR,D0              ; AND PLOT THE PUCKER!
  24. ;;         JSR SAFEVIDEO_PLOT                 ; GENERAL PLOT TO VIDEO TAPE!
  25. ;        JSR SAFEGENERAL_PLOT
  26.  
  27.         POP D1                  
  28.         TST.W PERIODOVER        ; IF REGULAR PERIOD OVER!
  29.         BNE.S .SKIPSHAD
  30.                                        
  31.         MOVE.W D1,SPY
  32.         MOVE #$5,D0              ; AND PLOT THE SHADOW!
  33.         BSR SAFEVIDEO_PLOT                 ; GENERAL PLOT TO VIDEO TAPE!
  34.  
  35. .SKIPSHAD              
  36.         RTS  
  37.  
  38.  
  39.  XDEF INITDUDELIST
  40. INITDUDELIST
  41.  CLR.W PTEMP
  42.                                                
  43.  MOVE #(NUMDUDS+2)*2,D2         ; MAKE BIGGER  FOR PUCK AND GOALS....
  44.                            
  45.  MOVE.L #PLOTDUDELIST,A1        ; GET PLOT LIST!
  46. .ID2
  47.  MOVE.W PTEMP,D0
  48.  ADD #$80,PTEMP
  49.  MOVE D0,(A1)+                  ; SAVE WHICH GUY TO PLOT!
  50.  SUBQ #2,D2                     ; ONE LESS GUY!
  51.  BPL.S .ID2                      ; NOT DONE YET!
  52.  
  53.  MOVE.W #$FFFF,(A1)+            ; FLAG FOR END!
  54.  RTS
  55.  
  56.  
  57. SORTDUDES
  58. ; OK- THIS ONE GOES THROUGH DUDES AND JUST REA-ARRANGES THEM ONE AT A TIME...
  59.  MOVE.L #DUDVAR,A5      ; GET POINTER TO SECTION
  60.  
  61.  tst.w gamenum
  62.  beq.s .MAINGAME
  63.  
  64. ; UHH- HERE CLEAR ALL PUCKX AND THAT SHIT...
  65.  MOVE.W #LGOALDUD,D5            ; POINT TO LEFT GOAL...
  66.  CLR.W DUDYS(A5,D5)
  67.  CLR.W DUDFR(A5,D5)
  68.  MOVE.W #RGOALDUD,D5            ; POINT TO LEFT GOAL...
  69.  CLR.W DUDYS(A5,D5)
  70.  CLR.W DUDFR(A5,D5)
  71.  MOVE.W #PUCKDUD,D5            ; POINT TO LEFT GOAL...
  72.  CLR.W DUDYS(A5,D5)
  73.  CLR.W DUDFR(A5,D5)
  74.  BRA .SORTEM
  75.  
  76. .MAINGAME
  77.  MOVE.W #LGOALDUD,D5            ; POINT TO LEFT GOAL...
  78.  MOVE.W GOALX,D0
  79.  ASL #PSHIFT,D0
  80.  MOVE.W D0,DUDX(A5,D5)
  81.  MOVE.W GOALY,D0
  82.  ASL #PSHIFT,D0
  83.  MOVE D0,DUDYS(A5,D5)
  84.  ADD D0,D0
  85.  MOVE D0,DUDY(A5,D5)
  86.  MOVE.W #4,DUDFR(A5,D5)
  87.                      
  88.  MOVE.W #RGOALDUD,D5            ; POINT TO LEFT GOAL...
  89.  MOVE.W GOALX+2,D0
  90.  ASL #PSHIFT,D0
  91.  MOVE.W D0,DUDX(A5,D5)
  92.  MOVE.W GOALY+2,D0
  93.  ASL #PSHIFT,D0
  94.  MOVE D0,DUDYS(A5,D5)
  95.  ADD D0,D0
  96.  MOVE D0,DUDY(A5,D5)
  97.  MOVE.W #4+FLIP,DUDFR(A5,D5)
  98.  
  99.  MOVE.W #PUCKDUD,D5            ; POINT TO LEFT GOAL...
  100. ; MOVE.W #RGOALDUD,D5            ; POINT TO LEFT GOAL...
  101.  MOVE.W PUCKX,DUDX(A5,D5)
  102.  MOVE.W PUCKY,D0
  103.  MOVE.W D0,DUDY(A5,D5)
  104.  
  105.  SUB.W PUCKA,D0                 ; TAKE OFF ALTITUDE!
  106.  LSR #1,D0
  107.  MOVE.W D0,DUDYS(A5,D5)
  108.  MOVE.W PUCKFR,DUDFR(A5,D5)
  109.                
  110.  
  111. .SORTEM        
  112. ; ANYWAYS SORT THE DAMN THING...
  113.  MOVE.L #PLOTDUDELIST,A1        ; GET PLOT LIST!
  114. .SDL
  115.  MOVE.W (A1),D5                 ; GET GUY....
  116.  MOVE.W 2(A1),D4                ; GET OTHER GUY!
  117.  BMI.S .SWAPDONE                     ; OK- DONE...
  118.        
  119.  MOVE DUDY(A5,D5),D0
  120.  CMP DUDY(A5,D4),D0
  121.  BHS .NOSWAP            ; equal no swap!
  122.                        
  123. ; WOW! SWAP THEM!
  124.  MOVE D4,(A1)
  125.  MOVE D5,2(A1)
  126.  
  127. .NOSWAP
  128.  ADDQ.L #2,A1                     ; GO TO NEXT...
  129.  BRA .SDL
  130.  
  131. .SWAPDONE
  132.  RTS
  133.  
  134.  
  135. ; END OF FILE
  136. ; COACH.A       -
  137. ;
  138. ;
  139. ;       HANDLES PAUSED OPTIONS AND COACHING OPTIONS DURING GAMEPLAY!
  140.  
  141.     OPT NOABSPCADD,E,NOCASE
  142.     NAME    FLUFF
  143.  
  144. ; SO LINE CHANGE CAN BE CALLED FROM COACHING SCREEN!
  145.  
  146.  
  147.  
  148.  INCLUDE S:ASM.INC
  149.  INCLUDE S:DMA.INC
  150.  INCLUDE S:SOUNDS.INC
  151.                                
  152.     SECTION CODE,,C
  153.  
  154.        
  155.      XREF _gemspauseall
  156.      XREF _gemsresumeall
  157.  
  158.  XREF SAVELINES                  ; OK- SAVE THE LINES      
  159.  XREF CLEARRVSCREEN
  160.  XREF CLEARLVSCREEN
  161.                                        
  162.  XREF FROMCOACHLINE0
  163.  XREF FROMCOACHLINE1
  164.  
  165.         XREF SETSTATS
  166.         XREF CLEARMOSTVSCREEN                        
  167.         XREF CLEARVSCREEN                        
  168.         XREF CLEARSCREENA
  169.         XREF CLEARSCREENB
  170.         XREF SETALLPAL
  171.  
  172. 0xBAA00-0xBAFE6
  173. IF LESS THAN! */
  174. MYIFL MACRO P1,P2,P3
  175.          CMP.W P2,P1
  176.          BLO.S P3        
  177.      ENDM              
  178.  
  179.        
  180. ;/* LONG JUMP IF LESS */
  181. MYIFLL MACRO P1,P2,P3
  182.          CMP.W P2,P1
  183.          BLO P3        
  184.      ENDM              
  185.                                
  186. ; IF LESS THAN! */
  187. MYIFLE MACRO P1,P2,P3
  188.          CMP.W P2,P1
  189.          BLS.S P3        
  190.      ENDM              
  191.  
  192. ; DOES A QUICKY COMPARISON! */
  193. MYIFG MACRO P1,P2,P3
  194.          CMP.W P2,P1
  195.          BHI.S P3        
  196.      ENDM              
  197.          
  198. MYIFGL MACRO P1,P2,P3
  199.          CMP.W P2,P1
  200.          BHI P3        
  201.      ENDM              
  202.  
  203. MYIFGE MACRO P1,P2,P3
  204.          CMP.W P2,P1
  205.          BHS.S P3
  206.      ENDM              
  207.                  
  208. MYIFNE MACRO P1,P2,P3
  209.          CMP.W P2,P1
  210.          BNE.S P3        
  211.      ENDM              
  212.  
  213.  
  214. BOXCHECK MACRO X,Y,LEFT,RIGHT,TOP,BOTTOM
  215.  LOCAL .NOTHIT,.BCDONE
  216.  MYIFL X,LEFT,.NOTHIT
  217.  MYIFG X,RIGHT,.NOTHIT
  218.  MYIFL Y,TOP,.NOTHIT
  219.  MYIFG Y,BOTTOM,.NOTHIT
  220.  SETEQ
  221.  BRA.S .BCDONE
  222. .NOTHIT
  223.  SETNE
  224. .BCDONE
  225.  ENDM
  226.  
  227.  
  228.  
  229.  
  230.  
  231.                                  
  232. RANGERLH MACRO REG,LOW,HIGH
  233.  LOCAL L1,L2
  234.  
  235. ; CHECKS IF SOMETHING IN RANGE!
  236.  IFL LOW,REG,L1          ; IF WAY PAST THEN WRAPPED UNDER- NOT NEGATIVE!
  237.  MOVE.W LOW,REG           ; IF SO, STOP!
  238.  BRA.S L2                  ; WHY NEEDED?
  239.                                            
  240. L1:                    
  241.  IFG HIGH,REG,L2       ; IS IT LOWER THAN BOTTOM  THEN KOSHER!?
  242.  MOVE.W HIGH,REG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement