249 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			249 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| Justice:
 | |
|   db 10, "JUSTICE   "
 | |
|   db 10, "          "
 | |
|   db 10, "          "
 | |
|   db 10, "truth     "
 | |
|   db 10, "law       "
 | |
|   db 10, "integrity "
 | |
|   
 | |
|   db 10, "JUSTICE   "
 | |
|   db 10, "(reversed)"
 | |
|   db 10, "          "
 | |
|   db 10, "injustice "
 | |
|   db 10, "unfairness"
 | |
|   db 10, "revenge   "
 | |
|   
 | |
|   dw .BackgroundCopyEnd - .BackgroundCopy
 | |
|   dw .BackgroundCopy
 | |
|   dw .KeyArtTilesEnd - .KeyArtTiles
 | |
|   dw .KeyArtTiles
 | |
|   dw .SpriteTilesEnd - .SpriteTiles
 | |
|   dw .SpriteTiles
 | |
|   dw .fInit
 | |
|   dw .fUpdate
 | |
|   dw .fDraw
 | |
|   dw .fPrintPrep
 | |
|   
 | |
| .fInit: 
 | |
|   ld hl, CVS
 | |
|   ld a, 0 
 | |
|   ld [hl+], a ; CVS timer for swing
 | |
|   ld [hl+], a 
 | |
|   ; drawing 12 characters total
 | |
|   ; top sprites
 | |
|   ld [hl+], a ; CVS+2 frame of animation for left
 | |
|   ld a, 2
 | |
|   ld [hl+], a ; CVS+3 frame of animation for right
 | |
|   
 | |
|   ld a, %11000100
 | |
|   ld [rOBP0], a
 | |
|   call AdjustOBP0
 | |
|   ret
 | |
| .fUpdate: 
 | |
|   ld hl, CVS
 | |
|   call IncrementTimer
 | |
|   
 | |
|   ld a, [CVS+1] ; checking the high byte of the timer
 | |
|   cp a, $08 ; $10 = 1 second, $02 = 1/8 of a second
 | |
|   jp c, :+ ; if the timer is less than $0600, skip 
 | |
|   
 | |
|   ; if the timer is greater or equal to $0600, reset it 
 | |
|   ld a, 0 
 | |
|   ld [CVS], a 
 | |
|   ld [CVS+1], a 
 | |
|   
 | |
|   call .swing
 | |
| :
 | |
|   ret
 | |
| .fDraw: ret
 | |
| .fPrintPrep: ret
 | |
| 
 | |
| .swing:
 | |
|   ld b, 6
 | |
|   ld a, [CVS+2]
 | |
|   inc a 
 | |
|   call ArrayClampLoopingB
 | |
|   ld [CVS+2], a 
 | |
|   
 | |
|   ld b, a 
 | |
|   add a, b 
 | |
|   add a, b
 | |
|   sla a ; multiply a by 6
 | |
|   ld c, a
 | |
|   ld b, 0 
 | |
|   ld hl, .scale
 | |
|   add hl, bc
 | |
|   
 | |
|   ld de, MY_OAM
 | |
|   ld b, 6*8 + 2
 | |
|   ld c, 5*8 + 4
 | |
|   ld a, $23
 | |
|   call BuildMetaSprite
 | |
|   
 | |
|   ld b, 6
 | |
|   ld a, [CVS+3]
 | |
|   inc a 
 | |
|   call ArrayClampLoopingB
 | |
|   ld [CVS+3], a 
 | |
|   
 | |
|   ld b, a 
 | |
|   add a, b 
 | |
|   add a, b
 | |
|   sla a ; multiply a by 6
 | |
|   ld c, a
 | |
|   ld b, 0 
 | |
|   ld hl, .scale
 | |
|   add hl, bc
 | |
|   
 | |
|   ld de, MY_OAM + 6*4
 | |
|   ld b, 5*8 + 7
 | |
|   ld c, 8*8 + 0
 | |
|   ld a, $23
 | |
|   call BuildMetaSprite
 | |
|   
 | |
|   ret
 | |
|   
 | |
|   
 | |
| .scale ; six tiles per sprite
 | |
|   db $00, $08, $00
 | |
| 	db $03, $04, $00;
 | |
| 	db $00, $08, $00
 | |
| 	db $03, $04, $00;
 | |
| 	db $00, $01, $00
 | |
| 	db $00, $02, $00;
 | |
| 	db $00, $07, $00
 | |
| 	db $00, $05, $06;
 | |
| 	db $00, $07, $00
 | |
| 	db $00, $05, $06;
 | |
| 	db $00, $01, $00
 | |
| 	db $00, $02, $00;
 | |
|   
 | |
| .SpriteTiles:
 | |
|   db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
 | |
| 	db $18,$18,$18,$18,$18,$18,$18,$18,$24,$24,$24,$24,$24,$24,$24,$24
 | |
| 	db $42,$42,$42,$42,$42,$42,$42,$42,$81,$81,$ff,$ff,$81,$ff,$7e,$7e
 | |
| 	db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$00,$00
 | |
| 	db $44,$44,$84,$84,$84,$84,$84,$84,$02,$02,$fe,$fe,$02,$fe,$fc,$fc
 | |
| 	db $22,$22,$21,$21,$21,$21,$21,$21,$40,$40,$7f,$7f,$40,$7f,$3f,$3f
 | |
| 	db $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$80,$80,$80,$80,$00,$00
 | |
| 	db $18,$18,$18,$18,$18,$18,$18,$18,$24,$24,$24,$24,$24,$24,$22,$22
 | |
| 	db $18,$18,$18,$18,$18,$18,$18,$18,$24,$24,$24,$24,$24,$24,$44,$44
 | |
| .SpriteTilesEnd:
 | |
| 	; original export script by gabriel reis, modified by shoofle
 | |
|  
 | |
|  
 | |
| .KeyArtTiles:
 | |
| 	db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
 | |
| 	db $fc,$84,$fc,$c4,$7c,$e4,$3c,$e4,$3c,$f4,$1c,$fc,$1c,$fc,$0c,$fc
 | |
| 	db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$0f,$f8,$ff
 | |
| 	db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$03,$fe,$ff,$03,$ff,$1f,$fc
 | |
| 	db $ff,$01,$ff,$03,$ff,$03,$fe,$07,$fe,$ff,$1c,$ff,$fc,$ff,$f8,$1f
 | |
| 	db $04,$fc,$04,$fc,$04,$fc,$84,$7c,$c4,$3c,$e4,$1c,$f4,$0c,$f4,$0c
 | |
| 	db $ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$c0,$ff,$c0
 | |
| 	db $ff,$03,$fc,$07,$f9,$0e,$f0,$1f,$f3,$1c,$ff,$1f,$ff,$1f,$fe,$1f
 | |
| 	db $ff,$f3,$0e,$fb,$ff,$07,$ff,$04,$ff,$7c,$ff,$fc,$ff,$fc,$3f,$cc
 | |
| 	db $9f,$ff,$fe,$fb,$fe,$83,$fe,$03,$ff,$01,$ff,$01,$ff,$01,$ff,$01
 | |
| 	db $ff,$f0,$1f,$f0,$1f,$f0,$1f,$f0,$1f,$f0,$1f,$f1,$1f,$f3,$1f,$f3
 | |
| 	db $f0,$3f,$f0,$3f,$e0,$7f,$c0,$ff,$81,$fe,$83,$fc,$87,$f8,$07,$f8
 | |
| 	db $fc,$04,$fc,$04,$fc,$04,$fc,$04,$fc,$04,$fc,$04,$fc,$04,$fc,$04
 | |
| 	db $ff,$e0,$bf,$f0,$bf,$f0,$9f,$f8,$8f,$fc,$8f,$fc,$87,$fe,$c7,$bf
 | |
| 	db $ff,$18,$f7,$18,$fe,$09,$fb,$0c,$fd,$06,$fe,$03,$fc,$03,$ff,$ff
 | |
| 	db $ff,$04,$ff,$04,$1f,$e4,$f7,$0c,$ef,$18,$1f,$f0,$0f,$f0,$ff,$ff
 | |
| 	db $ff,$01,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$80
 | |
| 	db $1f,$f7,$9e,$f7,$9e,$ff,$9c,$ff,$d8,$7f,$d8,$7f,$c8,$7f,$c9,$7e
 | |
| 	db $0f,$f0,$1f,$e0,$1f,$e0,$3f,$c0,$7f,$80,$7f,$80,$ff,$00,$ff,$00
 | |
| 	db $fc,$04,$fc,$04,$fc,$3c,$ff,$3f,$ff,$07,$ff,$1d,$ff,$30,$ff,$27
 | |
| 	db $c3,$bf,$e1,$9f,$f9,$ff,$f8,$f7,$f8,$87,$fc,$c3,$fe,$c1,$ff,$40
 | |
| 	db $fb,$07,$fc,$87,$f8,$8f,$f8,$cf,$f0,$ff,$60,$ff,$20,$ff,$60,$ff
 | |
| 	db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff
 | |
| 	db $67,$f8,$1b,$fc,$0f,$fd,$03,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff
 | |
| 	db $c9,$fe,$eb,$fc,$ef,$f8,$af,$f8,$af,$f8,$27,$fc,$37,$dc,$77,$9c
 | |
| 	db $ff,$20,$ff,$27,$ff,$20,$ff,$27,$1f,$f0,$1f,$ff,$6f,$ff,$d7,$ff
 | |
| 	db $ff,$40,$ff,$41,$fe,$e3,$fe,$ff,$ff,$8f,$ff,$83,$ff,$80,$ff,$80
 | |
| 	db $c0,$7f,$80,$ff,$01,$ff,$01,$ff,$e1,$ff,$e1,$3f,$e1,$3f,$f1,$3f
 | |
| 	db $01,$ff,$20,$ff,$20,$ff,$20,$ff,$20,$ff,$23,$ff,$23,$fe,$23,$fe
 | |
| 	db $f7,$1c,$f7,$9c,$f7,$9c,$f3,$9e,$7b,$de,$fb,$ff,$ff,$70,$ff,$3e
 | |
| 	db $ff,$00,$ff,$00,$ff,$00,$fc,$03,$f0,$0f,$e5,$1f,$eb,$9f,$c5,$ff
 | |
| 	db $e9,$fe,$d1,$fe,$f9,$fe,$d1,$fe,$e9,$fe,$d1,$fe,$e9,$fe,$d1,$fe
 | |
| 	db $ff,$80,$ff,$c0,$ff,$c0,$ff,$c0,$7f,$f0,$7f,$ff,$7f,$ff,$7f,$ff
 | |
| 	db $f1,$1f,$f1,$1f,$f1,$1f,$f1,$1f,$f1,$3f,$f1,$ff,$f1,$ff,$f2,$ff
 | |
| 	db $23,$fe,$23,$fe,$23,$fe,$23,$fe,$23,$fe,$23,$ff,$23,$ff,$23,$ff
 | |
| 	db $ff,$60,$ff,$7c,$ff,$40,$ff,$3d,$ff,$23,$fd,$ff,$fc,$ff,$fc,$ff
 | |
| 	db $cb,$7f,$c5,$7f,$cf,$ff,$c5,$bf,$4b,$bf,$45,$bf,$cb,$bf,$c5,$bf
 | |
| 	db $7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$6f,$ff,$77,$ff,$67,$fb,$74,$fb
 | |
| 	db $f2,$ff,$e2,$ff,$e6,$ff,$ec,$ff,$fc,$ff,$fc,$ff,$dc,$ff,$dc,$ff
 | |
| 	db $33,$ff,$33,$ff,$39,$ff,$3d,$ff,$3d,$ff,$3f,$ff,$3f,$ff,$3f,$ff
 | |
| 	db $fc,$ff,$fe,$ff,$fa,$ff,$fe,$ff,$fa,$ff,$f6,$ff,$f2,$ff,$f6,$ef
 | |
| 	db $cb,$bf,$c5,$bf,$cf,$bf,$c5,$bf,$4b,$ff,$45,$ff,$4b,$ff,$45,$ff
 | |
| 	db $66,$fb,$74,$fb,$66,$fb,$74,$fb,$66,$fb,$74,$fb,$66,$fb,$74,$fb
 | |
| 	db $9c,$ff,$dc,$ff,$9c,$ff,$dc,$ff,$9c,$ff,$dc,$ff,$98,$ff,$d8,$ff
 | |
| 	db $3d,$ff,$3d,$ff,$3c,$ff,$1d,$ff,$1c,$ff,$1d,$ff,$1c,$ff,$1d,$ff
 | |
| 	db $f2,$ef,$97,$ef,$b3,$ef,$97,$ef,$b3,$ef,$97,$ef,$b3,$ef,$97,$ef
 | |
| 	db $4b,$ff,$25,$ff,$2f,$ff,$25,$ff,$ab,$ff,$65,$ff,$4b,$bf,$45,$bf
 | |
| 	db $66,$fb,$74,$fb,$66,$fb,$74,$fb,$64,$fb,$70,$ff,$60,$ff,$40,$ff
 | |
| 	db $88,$ff,$c8,$ff,$88,$ff,$08,$ff,$18,$ff,$10,$df,$10,$9f,$10,$df
 | |
| 	db $1c,$e3,$06,$f9,$01,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff
 | |
| 	db $00,$ff,$00,$ff,$80,$7f,$c0,$3f,$00,$ff,$00,$ff,$00,$ff,$00,$ff
 | |
| 	db $0c,$ff,$09,$ff,$04,$ff,$04,$ff,$02,$ff,$02,$ff,$0e,$f2,$1a,$e7
 | |
| 	db $b3,$ef,$97,$ef,$b3,$ef,$17,$ef,$13,$ef,$07,$ff,$03,$ff,$01,$ff
 | |
| 	db $4b,$bf,$45,$bf,$4f,$bf,$45,$bf,$4b,$bf,$45,$bf,$4b,$bf,$45,$bf
 | |
| 	db $e9,$fe,$d1,$fe,$f8,$ff,$d0,$ff,$e0,$ff,$80,$ff,$00,$ff,$00,$fc
 | |
| 	db $00,$fc,$00,$fe,$00,$e0,$00,$c0,$00,$f0,$00,$00,$00,$f0,$00,$00
 | |
| 	db $10,$1f,$10,$1f,$30,$3f,$38,$37,$24,$3b,$22,$3d,$21,$3e,$21,$3e
 | |
| 	db $00,$ff,$00,$ff,$01,$fe,$07,$f8,$00,$ff,$00,$ff,$00,$ff,$00,$ff
 | |
| 	db $32,$ce,$c1,$3f,$81,$7f,$01,$ff,$01,$ff,$01,$ff,$00,$ff,$00,$ff
 | |
| 	db $00,$3f,$00,$07,$00,$9f,$00,$81,$00,$03,$00,$80,$80,$81,$80,$80
 | |
| 	db $4b,$bf,$45,$bf,$0f,$ff,$05,$ff,$03,$ff,$01,$7f,$00,$ff,$00,$1f
 | |
| 	db $00,$f0,$00,$fe,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$01,$01,$02
 | |
| 	db $00,$00,$00,$00,$00,$00,$00,$01,$00,$7e,$78,$86,$f0,$0c,$e0,$18
 | |
| 	db $21,$3e,$20,$3f,$20,$3f,$20,$ff,$00,$3f,$00,$3f,$00,$7f,$00,$7f
 | |
| 	db $80,$7f,$80,$7f,$40,$bf,$60,$9f,$30,$cf,$18,$e7,$07,$f8,$00,$ff
 | |
| 	db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$c0,$3f,$00,$ff
 | |
| 	db $80,$80,$80,$80,$80,$80,$80,$e0,$80,$ff,$47,$d8,$23,$ec,$21,$e6
 | |
| 	db $00,$07,$00,$0f,$00,$03,$00,$01,$00,$00,$00,$80,$80,$40,$c0,$20
 | |
| 	db $03,$0c,$0f,$10,$1f,$20,$3e,$41,$7c,$83,$f8,$07,$f0,$0e,$e0,$1f
 | |
| 	db $c0,$30,$80,$60,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$ff
 | |
| 	db $00,$7f,$00,$7f,$00,$3f,$00,$0f,$00,$00,$00,$00,$00,$00,$00,$ff
 | |
| 	db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$03,$00,$00,$00,$ff
 | |
| 	db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$00,$00,$ff
 | |
| 	db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fc,$00,$80,$00,$00,$00,$ff
 | |
| 	db $20,$e3,$00,$f1,$00,$f0,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$ff
 | |
| 	db $e0,$10,$70,$88,$38,$c4,$1c,$62,$0e,$31,$07,$18,$07,$08,$03,$fc
 | |
| 	db $e0,$1f,$e0,$1f,$e0,$1f,$e0,$1f,$e0,$1f,$e0,$1f,$e0,$1f,$ff,$00
 | |
| 	db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$ff,$00
 | |
| 	db $03,$fc,$03,$fc,$03,$fc,$03,$fc,$03,$fc,$03,$fc,$03,$fc,$ff,$00
 | |
| 	db $00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
 | |
| 	db $00,$00,$7f,$7f,$20,$31,$31,$31,$11,$1b,$1b,$1b,$0a,$0e,$0c,$0e
 | |
| 	db $00,$00,$fe,$fe,$88,$98,$88,$98,$08,$18,$08,$18,$08,$18,$08,$18
 | |
| 	db $06,$0e,$0a,$0e,$1b,$1b,$11,$1b,$31,$31,$20,$31,$7f,$7f,$00,$00
 | |
| 	db $08,$18,$08,$18,$08,$18,$08,$18,$88,$98,$88,$98,$fe,$fe,$00,$00
 | |
| 	db $80,$00,$80,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$c0,$00,$e0,$00
 | |
| 	db $01,$00,$01,$00,$01,$00,$01,$00,$03,$00,$03,$00,$03,$00,$07,$00
 | |
| 	db $e0,$00,$f0,$00,$f8,$00,$fc,$00,$fe,$00,$ff,$00,$ff,$00,$ff,$00
 | |
| 	db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$f8,$00
 | |
| 	db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$1f,$00
 | |
| 	db $07,$00,$0f,$00,$1f,$00,$3f,$00,$7f,$00,$ff,$00,$ff,$00,$ff,$00
 | |
| 	db $ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80
 | |
| 	db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$03
 | |
| 	db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00
 | |
| .KeyArtTilesEnd:
 | |
| 
 | |
| .BackgroundCopy: ; tiles start at 26
 | |
| 	db $76, $76, $6e, $1a, $1a, $6f, $76, $76
 | |
| 	db $75, $76, $70, $71, $72, $73, $76, $76
 | |
| 	db $1b, $74, $76, $76, $76, $1c, $1d, $1e
 | |
| 	db $1f, $20, $76, $21, $22, $23, $24, $25
 | |
| 	db $26, $27, $76, $28, $29, $2a, $2b, $2c
 | |
| 	db $2d, $2e, $2f, $30, $30, $31, $32, $76
 | |
| 	db $33, $34, $35, $30, $30, $36, $37, $38
 | |
| 	db $39, $3a, $3b, $30, $30, $3c, $3d, $3e
 | |
| 	db $39, $3f, $40, $30, $30, $41, $42, $43
 | |
| 	db $39, $44, $45, $30, $30, $46, $47, $48
 | |
| 	db $39, $49, $4a, $4b, $4c, $4d, $4e, $4f
 | |
| 	db $50, $51, $52, $30, $53, $54, $55, $56
 | |
| 	db $57, $58, $59, $5a, $5b, $30, $5c, $5d
 | |
| 	db $5e, $5f, $60, $61, $62, $63, $64, $65
 | |
| 	db $66, $67, $67, $6a, $6b, $67, $67, $68
 | |
| 	db $69, $69, $69, $6c, $6d, $69, $69, $69
 | |
| .BackgroundCopyEnd:
 |