Add back some JP characters and re-arrange player name screen
Re-arrange a bunch of text-related stuff Fix post-credits game counter Fix bows
This commit is contained in:
@@ -530,7 +530,7 @@ CreditsLineBlank:
|
||||
|
||||
%blankline()
|
||||
|
||||
%bigcredits("AND...")
|
||||
%bigcredits("AND&")
|
||||
|
||||
%blankline()
|
||||
|
||||
|
||||
BIN
stats/font.gb
BIN
stats/font.gb
Binary file not shown.
268
stats/fonttable.asm
Normal file
268
stats/fonttable.asm
Normal file
@@ -0,0 +1,268 @@
|
||||
; Small letters red
|
||||
dw $39E0 ; A ; $00
|
||||
dw $39E1 ; B ;
|
||||
dw $39E2 ; C ;
|
||||
dw $39E3 ; D ;
|
||||
dw $39E4 ; E ;
|
||||
dw $39E5 ; F ;
|
||||
dw $39E6 ; G ;
|
||||
dw $39E7 ; H ;
|
||||
dw $39E8 ; I ;
|
||||
dw $39E9 ; J ;
|
||||
dw $39EA ; K ;
|
||||
dw $39EB ; L ;
|
||||
dw $39EC ; M ;
|
||||
dw $39ED ; N ;
|
||||
dw $39EE ; O ;
|
||||
dw $39EF ; P ;
|
||||
dw $39F0 ; Q ;
|
||||
dw $39F1 ; R ;
|
||||
dw $39F2 ; S ;
|
||||
dw $39F3 ; T ;
|
||||
dw $39F4 ; U ;
|
||||
dw $39F5 ; V ;
|
||||
dw $39F6 ; W ;
|
||||
dw $39F7 ; X ;
|
||||
dw $39F8 ; Y ;
|
||||
dw $39F9 ; Z ; $19
|
||||
;
|
||||
; Small letters yellow ;
|
||||
dw $2DE0 ; A ; $1A
|
||||
dw $2DE1 ; B ;
|
||||
dw $2DE2 ; C ;
|
||||
dw $2DE3 ; D ;
|
||||
dw $2DE4 ; E ;
|
||||
dw $2DE5 ; F ;
|
||||
dw $2DE6 ; G ;
|
||||
dw $2DE7 ; H ;
|
||||
dw $2DE8 ; I ;
|
||||
dw $2DE9 ; J ;
|
||||
dw $2DEA ; K ;
|
||||
dw $2DEB ; L ;
|
||||
dw $2DEC ; M ;
|
||||
dw $2DED ; N ;
|
||||
dw $2DEE ; O ;
|
||||
dw $2DEF ; P ;
|
||||
dw $2DF0 ; Q ;
|
||||
dw $2DF1 ; R ;
|
||||
dw $2DF2 ; S ;
|
||||
dw $2DF3 ; T ;
|
||||
dw $2DF4 ; U ;
|
||||
dw $2DF5 ; V ;
|
||||
dw $2DF6 ; W ;
|
||||
dw $2DF7 ; X ;
|
||||
dw $2DF8 ; Y ;
|
||||
dw $2DF9 ; Z ; $33
|
||||
dw $0000 ; Unused ;
|
||||
dw $2DFB ; ' ;
|
||||
dw $0000 ; Unused ;
|
||||
dw $0000 ; Unused ;
|
||||
;
|
||||
; Small letters green ;
|
||||
dw $29E0 ; A ; $38
|
||||
dw $29E1 ; B ;
|
||||
dw $29E2 ; C ;
|
||||
dw $29E3 ; D ;
|
||||
dw $29E4 ; E ;
|
||||
dw $29E5 ; F ;
|
||||
dw $29E6 ; G ;
|
||||
dw $29E7 ; H ;
|
||||
dw $29E8 ; I ;
|
||||
dw $29E9 ; J ;
|
||||
dw $29EA ; K ;
|
||||
dw $29EB ; L ;
|
||||
dw $29EC ; M ;
|
||||
dw $29ED ; N ;
|
||||
dw $29EE ; O ;
|
||||
dw $29EF ; P ;
|
||||
dw $29F0 ; Q ;
|
||||
dw $29F1 ; R ;
|
||||
dw $29F2 ; S ;
|
||||
dw $29F3 ; T ;
|
||||
dw $29F4 ; U ;
|
||||
dw $29F5 ; V ;
|
||||
dw $29F6 ; W ;
|
||||
dw $29F7 ; X ;
|
||||
dw $29F8 ; Y ;
|
||||
dw $29F9 ; Z ; $51
|
||||
dw $29FA ; • ;
|
||||
;
|
||||
; Big characters top ;
|
||||
dw $3D40 ; 0 ; $53
|
||||
dw $3D41 ; 1 ;
|
||||
dw $3D42 ; 2 ;
|
||||
dw $3D43 ; 3 ;
|
||||
dw $3D44 ; 4 ;
|
||||
dw $3D45 ; 5 ;
|
||||
dw $3D46 ; 6 ;
|
||||
dw $3D47 ; 7 ;
|
||||
dw $3D48 ; 8 ;
|
||||
dw $3D49 ; 9 ;
|
||||
dw $3D4A ; A ;
|
||||
dw $3D4B ; B ;
|
||||
dw $3D4C ; C ;
|
||||
dw $3D4D ; D ;
|
||||
dw $3D4E ; E ;
|
||||
dw $3D4F ; F ; $62
|
||||
dw $3D60 ; G ;
|
||||
dw $3D61 ; H ;
|
||||
dw $3D62 ; I ;
|
||||
dw $3D63 ; J ;
|
||||
dw $3D64 ; K ;
|
||||
dw $3D65 ; L ;
|
||||
dw $3D66 ; M ;
|
||||
dw $3D67 ; N ;
|
||||
dw $3D68 ; O ;
|
||||
dw $3D69 ; P ;
|
||||
dw $3D6A ; Q ;
|
||||
dw $3D6B ; R ;
|
||||
dw $3D6C ; S ;
|
||||
dw $3D6D ; T ;
|
||||
dw $3D6E ; U ;
|
||||
dw $3D6F ; V ; $72
|
||||
dw $3D80 ; W ;
|
||||
dw $3D81 ; X ;
|
||||
dw $3D82 ; Y ;
|
||||
dw $3D83 ; Z ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
; Big characters bottom ;
|
||||
dw $3D50 ; 0 ; $79
|
||||
dw $3D51 ; 1 ;
|
||||
dw $3D52 ; 2 ;
|
||||
dw $3D53 ; 3 ;
|
||||
dw $3D54 ; 4 ;
|
||||
dw $3D55 ; 5 ;
|
||||
dw $3D56 ; 6 ;
|
||||
dw $3D57 ; 7 ;
|
||||
dw $3D58 ; 8 ;
|
||||
dw $3D59 ; 9 ;
|
||||
dw $3D5A ; A ; $83
|
||||
dw $3D5B ; B ;
|
||||
dw $3D5C ; C ;
|
||||
dw $3D5D ; D ;
|
||||
dw $3D5E ; E ;
|
||||
dw $3D5F ; F ;
|
||||
dw $3D70 ; G ;
|
||||
dw $3D71 ; H ;
|
||||
dw $3D72 ; I ;
|
||||
dw $3D73 ; J ;
|
||||
dw $3D74 ; K ;
|
||||
dw $3D75 ; L ;
|
||||
dw $3D76 ; M ;
|
||||
dw $3D77 ; N ;
|
||||
dw $3D78 ; O ;
|
||||
dw $3D79 ; P ;
|
||||
dw $3D7A ; Q ;
|
||||
dw $3D7B ; R ;
|
||||
dw $3D7C ; S ;
|
||||
dw $3D7D ; T ;
|
||||
dw $3D7E ; U ;
|
||||
dw $3D7F ; V ; $98
|
||||
dw $3D90 ; W ;
|
||||
dw $3D91 ; X ;
|
||||
dw $3D92 ; Y ;
|
||||
dw $3D93 ; Z ; $9C
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
dw $3D9C ; <sp> ; $9F
|
||||
; Lower case letters top ;
|
||||
dw $3DA0 ; a ; $A0
|
||||
dw $3DA1 ; b ;
|
||||
dw $3DA2 ; c ;
|
||||
dw $3DA3 ; d ;
|
||||
dw $3DA4 ; e ;
|
||||
dw $3DA5 ; f ;
|
||||
dw $3DA6 ; g ;
|
||||
dw $3DA7 ; h ;
|
||||
dw $3DA8 ; i ;
|
||||
dw $3DA9 ; j ;
|
||||
dw $3DAA ; k ;
|
||||
dw $3DAB ; l ;
|
||||
dw $3DAC ; m ;
|
||||
dw $3DAD ; n ;
|
||||
dw $3DAE ; o ;
|
||||
dw $3DAF ; p ;
|
||||
dw $3DC0 ; q ; $B0
|
||||
dw $3DC1 ; r ;
|
||||
dw $3DC2 ; s ;
|
||||
dw $3DC3 ; t ;
|
||||
dw $3DC4 ; u ;
|
||||
dw $3DC5 ; v ;
|
||||
dw $3DC6 ; w ;
|
||||
dw $3DC7 ; x ;
|
||||
dw $3DC8 ; y ;
|
||||
dw $3DC9 ; z ;
|
||||
dw $0000 ; ;
|
||||
; Lower case letters bottom;
|
||||
dw $3DB0 ; a ;
|
||||
dw $3DB1 ; b ;
|
||||
dw $3DB2 ; c ;
|
||||
dw $3DB3 ; d ;
|
||||
dw $3DB4 ; e ;
|
||||
dw $3DB5 ; f ; $C0
|
||||
dw $3DB6 ; g ;
|
||||
dw $3DB7 ; h ;
|
||||
dw $3DB8 ; i ;
|
||||
dw $3DB9 ; j ;
|
||||
dw $3DBA ; k ;
|
||||
dw $3DBB ; l ;
|
||||
dw $3DBC ; m ;
|
||||
dw $3DBD ; n ;
|
||||
dw $3DBE ; o ;
|
||||
dw $3DBF ; p ;
|
||||
dw $3DD0 ; q ;
|
||||
dw $3DD1 ; r ;
|
||||
dw $3DD2 ; s ;
|
||||
dw $3DD3 ; t ;
|
||||
dw $3DD4 ; u ;
|
||||
dw $3DD5 ; v ; $D0
|
||||
dw $3DD6 ; w ;
|
||||
dw $3DD7 ; x ;
|
||||
dw $3DD8 ; y ;
|
||||
dw $3DD9 ; z ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
; Special chars top ;
|
||||
dw $3D2D ; ' ; $D9
|
||||
dw $3D2E ; " ;
|
||||
dw $3D27 ; / ;
|
||||
dw $3D8D ; . ;
|
||||
dw $3DCA ; : ;
|
||||
dw $3DCD ; _ ;
|
||||
dw $3D28 ; • ;
|
||||
dw $3D2F ; ... ; $E0
|
||||
dw $3DCC ; # ;
|
||||
dw $3DCB ; @ ;
|
||||
dw $3D29 ; |> ;
|
||||
dw $3D86 ; ? ;
|
||||
dw $3D87 ; ! ;
|
||||
dw $3D8E ; ~ ;
|
||||
dw $3D88 ; , ;
|
||||
dw $3D89 ; - ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
; Special chars bottom ;
|
||||
dw $3D3D ; ' ; $EC
|
||||
dw $3D3E ; " ;
|
||||
dw $3D37 ; / ;
|
||||
dw $3D9D ; . ;
|
||||
dw $3DDA ; : ; $F0
|
||||
dw $3DDD ; _ ;
|
||||
dw $3D38 ; • ;
|
||||
dw $3D3F ; ... ;
|
||||
dw $3DDC ; # ;
|
||||
dw $3DDB ; @ ;
|
||||
dw $3D39 ; |> ;
|
||||
dw $3D96 ; ? ;
|
||||
dw $3D97 ; ! ;
|
||||
dw $3D9E ; ~ ;
|
||||
dw $3D98 ; , ;
|
||||
dw $3D99 ; - ; $FB
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
dw $0000 ; ;
|
||||
@@ -1 +0,0 @@
|
||||
ź9°9±9´9µ9¶9·9Ü9Ý9Ţ9ß9đ9ń9ň9ó9ô9ő9ö9÷9ř9ů9ú9ű9ü9ý9ţ9ź-°-±-´-µ-¶-·-Ü-Ý-Ţ-ß-đ-ń-ň-ó-ô-ő-ö-÷-ř-ů-ú-ű-ü-ý-ţ-©-ą-ş-»-ź)°)±)´)µ)¶)·)Ü)Ý)Ţ)ß)đ)ń)ň)ó)ô)ő)ö)÷)ř)ů)ú)ű)ü)ý)ţ)Ľ)@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=€=<3D>=‚=<3D>=¨=‡=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==<3D>=‘=’=“=¸=—=<3D>=Ŕ=Á=Â=Ă=<3D>=†=‰=Ä=‰=Ĺ=Ć=Ç=˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Đ=Ń=Ň=Ó=<3D>=–=™˝Ô=™=Ő=Ö=×=˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
|
||||
174
stats/main.asm
174
stats/main.asm
@@ -5,16 +5,6 @@ lorom
|
||||
!BLT = "BCC"
|
||||
!BGE = "BCS"
|
||||
|
||||
org $A38000
|
||||
incsrc stats/credits.asm
|
||||
|
||||
FontGfx:
|
||||
if !FEATURE_NEW_TEXT
|
||||
incbin stats/font.2bpp
|
||||
else
|
||||
incbin stats/font.gb
|
||||
endif
|
||||
FontGfxEnd:
|
||||
|
||||
; Custom addresses. Most are arbitrary. Feel free to make sure they're okay or moving them elsewhere within ZP
|
||||
CreditsPtr = $7C ; 3 bytes
|
||||
@@ -210,8 +200,8 @@ macro CountUnits(framesPerUnit, unitCounter)
|
||||
?end:
|
||||
endmacro
|
||||
|
||||
!ColonOffset = $83
|
||||
!PeriodOffset = $80
|
||||
!ColonOffset = $8A
|
||||
!PeriodOffset = $4D
|
||||
BlankCreditsTile = $883D
|
||||
|
||||
RenderCreditsStatCounter:
|
||||
@@ -513,79 +503,47 @@ RenderLineNumber:
|
||||
|
||||
RTS
|
||||
|
||||
LoadModifiedFont:
|
||||
; Based on CopyFontToVram(Bank00)
|
||||
; copies font graphics to VRAM (for BG3)
|
||||
LoadCreditsTiles:
|
||||
JSL.l CopyFontToVRAM ; What we wrote over
|
||||
|
||||
; set name base table to vram $4000 (word)
|
||||
LDA.b #$02 : STA.w OBSEL
|
||||
REP #$10
|
||||
LDA.b #$80 : STA.w VMAIN
|
||||
LDA.b #$01 : STA.w DMAP0
|
||||
LDA.b #$18 : STA.w BBAD0
|
||||
|
||||
; increment on writes to $2119
|
||||
LDA.b #$80 : STA.w VMAIN
|
||||
; Item tiles
|
||||
LDX.w #$8200 : STX.w VMADDL
|
||||
LDA.b #FileSelectNewGraphics>>16 : STA.w A1B0
|
||||
LDX.w #FileSelectNewGraphics : STX.w A1T0L
|
||||
LDX.w #$0C00 : STX.w DAS0L
|
||||
LDA.b #$01 : STA.w MDMAEN
|
||||
|
||||
; set bank of the source address (see below)
|
||||
LDA.b #FontGfx>>16 : STA.b Scrap02
|
||||
; Small characters A-Z
|
||||
LDX.w #$7F00 : STX.w VMADDL
|
||||
LDA.b #SmallCharacters>>16 : STA.w A1B0
|
||||
LDX.w #SmallCharacters : STX.w A1T0L
|
||||
LDX.w #$0200 : STX.w DAS0L
|
||||
LDA.b #$01 : STA.w MDMAEN
|
||||
|
||||
REP #$30
|
||||
SEP #$10
|
||||
RTL
|
||||
|
||||
; vram target address is $7000 (word)
|
||||
LDA.w #$7000 : STA.w VMADDL
|
||||
LoadOverworldCreditsTiles:
|
||||
JSL.l CopyFontToVRAM ; What we wrote over
|
||||
REP #$10
|
||||
|
||||
; $00[3] = $0E8000 (offset for the font data)
|
||||
LDA.w #FontGfx : STA.b Scrap00
|
||||
; Small characters A-Z
|
||||
LDA.b #$80 : STA.w VMAIN
|
||||
LDA.b #$01 : STA.w DMAP0
|
||||
LDA.b #$18 : STA.w BBAD0
|
||||
LDA.b #SmallCharacters>>16 : STA.w A1B0
|
||||
LDX.w #SmallCharacters : STX.w A1T0L
|
||||
LDX.w #$0200 : STX.w DAS0L
|
||||
LDX.w #$7F00 : STX.w VMADDL
|
||||
LDA.b #$01 : STA.w MDMAEN
|
||||
|
||||
; going to write 0x1000 bytes (0x800 words)
|
||||
LDX.w #FontGfxEnd-FontGfx/2-1
|
||||
|
||||
.nextWord
|
||||
|
||||
; read a word from the font data
|
||||
LDA.b [$00] : STA.w VMDATAL
|
||||
|
||||
; increment source address by 2
|
||||
INC.b Scrap00 : INC.b Scrap00
|
||||
|
||||
DEX : BPL .nextWord
|
||||
|
||||
SEP #$30
|
||||
JSL LoadFullItemTilesCredits
|
||||
|
||||
RTL
|
||||
|
||||
LoadFullItemTilesCredits:
|
||||
; Based on CopyFontToVram(Bank00)
|
||||
; copies font graphics to VRAM (for BG3)
|
||||
|
||||
; increment on writes to $2119
|
||||
LDA.b #$80 : STA.w VMAIN
|
||||
|
||||
; set bank of the source address (see below)
|
||||
LDA.b #FileSelectNewGraphics>>16 : STA.b Scrap02
|
||||
|
||||
REP #$30
|
||||
|
||||
; vram target address is $8000 (word) (Wraps to start of VRAM on normal SNES, but using the correct address so it works on extended VRAM machines)
|
||||
LDA.w #$8000 : STA.w VMADDL
|
||||
|
||||
; $00[3] = $0E8000 (offset for the font data)
|
||||
LDA.w #FileSelectNewGraphics : STA.b Scrap00
|
||||
|
||||
; going to write 0x1000 bytes (0x800 words)
|
||||
LDX.w #$800-1
|
||||
|
||||
.nextWord
|
||||
|
||||
; read a word from the font data
|
||||
LDA.b [$00] : STA.w VMDATAL
|
||||
|
||||
; increment source address by 2
|
||||
INC.b Scrap00 : INC.b Scrap00
|
||||
|
||||
DEX : BPL .nextWord
|
||||
|
||||
SEP #$30
|
||||
|
||||
RTL
|
||||
SEP #$10
|
||||
RTL
|
||||
|
||||
CheckFontTable:
|
||||
TAY
|
||||
@@ -620,39 +578,27 @@ DrawEndingItems:
|
||||
LDA.b #$01 : STA.b NMISTRIPES
|
||||
RTS
|
||||
|
||||
FontTable:
|
||||
incbin stats/fonttable.bin
|
||||
|
||||
CreditsStats:
|
||||
incsrc stats/statConfig.asm
|
||||
dw $FFFF
|
||||
|
||||
org $0EEDD9
|
||||
JSL EndingItems
|
||||
|
||||
org $0EEDAF
|
||||
JSL NearEnding
|
||||
|
||||
org $0EE651
|
||||
JSL LoadModifiedFont
|
||||
|
||||
org $0EE828
|
||||
JSL PreparePointer
|
||||
LDA.b [CreditsPtr],Y
|
||||
NOP
|
||||
org $0EE83F
|
||||
LDA.b [CreditsPtr],Y
|
||||
NOP
|
||||
org $0EE853
|
||||
LDA.b [CreditsPtr],Y
|
||||
NOP
|
||||
AND.w #$00FF
|
||||
ASL A
|
||||
JSL CheckFontTable
|
||||
|
||||
org $0EE86D
|
||||
JSL RenderCreditsStatCounter
|
||||
JMP.w AfterDeathCounterOutput
|
||||
|
||||
org $8EE8FD
|
||||
AfterDeathCounterOutput:
|
||||
;================================================================================
|
||||
; Dialog Pointer Override
|
||||
;--------------------------------------------------------------------------------
|
||||
EndingSequenceTableOverride:
|
||||
PHY
|
||||
PHX
|
||||
TYX
|
||||
LDA.l EndingSequenceText, X
|
||||
PLX
|
||||
STA.w $1008, X
|
||||
PLY
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
EndingSequenceTableLookupOverride:
|
||||
PHX : PHB
|
||||
PHK : PLB
|
||||
TYX
|
||||
LDA.l EndingSequenceText, X : AND.w #$00FF
|
||||
ASL
|
||||
TAY
|
||||
LDA.w FontTable,Y
|
||||
PLB : PLX
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
@@ -46,6 +46,7 @@ macro AddStat(address, type, shiftRight, bits, digits, xPos, lineNumber)
|
||||
dl <address>
|
||||
endmacro
|
||||
|
||||
CreditsStats:
|
||||
%AddStat(SwordTime, 1, 0, 32, 4, !FIRST_SWORD_X, !FIRST_SWORD_Y)
|
||||
%AddStat(BootsTime, 1, 0, 32, 4, !PEGASUS_BOOTS_X, !PEGASUS_BOOTS_Y)
|
||||
%AddStat(FluteTime, 1, 0, 32, 4, !FLUTE_X, !FLUTE_Y)
|
||||
@@ -65,3 +66,5 @@ endmacro
|
||||
%AddStat(LagTime, 1, 0, 32, 4, !TOTAL_LAG_TIME_X, !TOTAL_LAG_TIME_Y)
|
||||
%AddStat(TotalItemCounter, 0, 0, 16, 3, !COLLECTION_RATE_X, !COLLECTION_RATE_Y)
|
||||
%AddStat(NMIFrames, 1, 0, 32, 4, !TOTAL_TIME_X, !TOTAL_TIME_Y)
|
||||
|
||||
dw $FFFF
|
||||
|
||||
Reference in New Issue
Block a user