Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Lucky Number Show Diff
Created
6 years ago
Diff never expires
Clear
Export
Share
Explain
5 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
225 lines
Copy
3 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
224 lines
Copy
CheckForLuckyNumberWinners:
CheckForLuckyNumberWinners:
xor a
xor a
ld [wScriptVar], a
ld [wScriptVar], a
ld [wTempByteValue], a
ld [wTempByteValue], a
ld a, [wPartyCount]
ld a, [wPartyCount]
and a
and a
ret z
ret z
ld d, a
ld d, a
ld hl, wPartyMon1ID
ld hl, wPartyMon1ID
ld bc, wPartySpecies
ld bc, wPartySpecies
.PartyLoop:
.PartyLoop:
ld a, [bc]
ld a, [bc]
inc bc
inc bc
cp EGG
cp EGG
call nz, .CompareLuckyNumberToMonID
call nz, .CompareLuckyNumberToMonID
push bc
push bc
ld bc, PARTYMON_STRUCT_LENGTH
ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc
add hl, bc
pop bc
pop bc
dec d
dec d
jr nz, .PartyLoop
jr nz, .PartyLoop
ld a, BANK(sBox)
ld a, BANK(sBox)
Copy
Copied
Copy
Copied
call
OpenSRAM
call
GetSRAMBank
ld a, [sBoxCount]
ld a, [sBoxCount]
and a
and a
jr z, .SkipOpenBox
jr z, .SkipOpenBox
ld d, a
ld d, a
ld hl, sBoxMon1ID
ld hl, sBoxMon1ID
ld bc, sBoxSpecies
ld bc, sBoxSpecies
.OpenBoxLoop:
.OpenBoxLoop:
ld a, [bc]
ld a, [bc]
inc bc
inc bc
cp EGG
cp EGG
jr z, .SkipOpenBoxMon
jr z, .SkipOpenBoxMon
call .CompareLuckyNumberToMonID
call .CompareLuckyNumberToMonID
jr nc, .SkipOpenBoxMon
jr nc, .SkipOpenBoxMon
ld a, TRUE
ld a, TRUE
ld [wTempByteValue], a
ld [wTempByteValue], a
.SkipOpenBoxMon:
.SkipOpenBoxMon:
push bc
push bc
ld bc, BOXMON_STRUCT_LENGTH
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
add hl, bc
pop bc
pop bc
dec d
dec d
jr nz, .OpenBoxLoop
jr nz, .OpenBoxLoop
.SkipOpenBox:
.SkipOpenBox:
call CloseSRAM
call CloseSRAM
ld c, $0
ld c, $0
.BoxesLoop:
.BoxesLoop:
ld a, [wCurBox]
ld a, [wCurBox]
and $f
and $f
cp c
cp c
jr z, .SkipBox
jr z, .SkipBox
ld hl, .BoxBankAddresses
ld hl, .BoxBankAddresses
ld b, 0
ld b, 0
add hl, bc
add hl, bc
add hl, bc
add hl, bc
add hl, bc
add hl, bc
ld a, [hli]
ld a, [hli]
Copy
Copied
Copy
Copied
call
OpenSRAM
call
GetSRAMBank
ld a, [hli]
ld a, [hli]
ld h, [hl]
ld h, [hl]
ld l, a ; hl now contains the address of the loaded box in SRAM
ld l, a ; hl now contains the address of the loaded box in SRAM
ld a, [hl]
ld a, [hl]
and a
and a
jr z, .SkipBox ; no mons in this box
jr z, .SkipBox ; no mons in this box
push bc
push bc
ld b, h
ld b, h
ld c, l
ld c, l
inc bc
inc bc
ld de, sBoxMon1ID - sBox
ld de, sBoxMon1ID - sBox
add hl, de
add hl, de
ld d, a
ld d, a
.BoxNLoop:
.BoxNLoop:
ld a, [bc]
ld a, [bc]
inc bc
inc bc
cp EGG
cp EGG
jr z, .SkipBoxMon
jr z, .SkipBoxMon
call .CompareLuckyNumberToMonID ; sets wScriptVar and wCurPartySpecies appropriately
call .CompareLuckyNumberToMonID ; sets wScriptVar and wCurPartySpecies appropriately
jr nc, .SkipBoxMon
jr nc, .SkipBoxMon
ld a, TRUE
ld a, TRUE
ld [wTempByteValue], a
ld [wTempByteValue], a
.SkipBoxMon:
.SkipBoxMon:
push bc
push bc
ld bc, BOXMON_STRUCT_LENGTH
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
add hl, bc
pop bc
pop bc
dec d
dec d
jr nz, .BoxNLoop
jr nz, .BoxNLoop
pop bc
pop bc
.SkipBox:
.SkipBox:
inc c
inc c
ld a, c
ld a, c
Copy
Copied
Copy
Copied
cp NUM_BOXES
_JAPANESE
cp NUM_BOXES
jr c, .BoxesLoop
jr c, .BoxesLoop
call CloseSRAM
call CloseSRAM
ld a, [wScriptVar]
ld a, [wScriptVar]
and a
and a
ret z ; found nothing
ret z ; found nothing
Copy
Copied
Copy
Copied
farcall StubbedTrainerRankings_LuckyNumberShow
ld a, [wTempByteValue]
ld a, [wTempByteValue]
and a
and a
push af
push af
ld a, [wCurPartySpecies]
ld a, [wCurPartySpecies]
ld [wNamedObjectIndexBuffer], a
ld [wNamedObjectIndexBuffer], a
call GetPokemonName
call GetPokemonName
ld hl, .LuckyNumberMatchPartyText
ld hl, .LuckyNumberMatchPartyText
pop af
pop af
jr z, .print
jr z, .print
ld hl, .LuckyNumberMatchPCText
ld hl, .LuckyNumberMatchPCText
.print
.print
jp PrintText
jp PrintText
.CompareLuckyNumberToMonID:
.CompareLuckyNumberToMonID:
push bc
push bc
push de
push de
push hl
push hl
ld d, h
ld d, h
ld e, l
ld e, l
ld hl, wBuffer1
ld hl, wBuffer1
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
call PrintNum
ld hl, wLuckyNumberDigitsBuffer
ld hl, wLuckyNumberDigitsBuffer
ld de, wLuckyIDNumber
ld de, wLuckyIDNumber
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
call PrintNum
ld b, 5
ld b, 5
ld c, 0
ld c, 0
ld hl, wLuckyNumberDigitsBuffer + 4
ld hl, wLuckyNumberDigitsBuffer + 4
ld de, wBuffer1 + 4
ld de, wBuffer1 + 4
.loop
.loop
ld a, [de]
ld a, [de]
cp [hl]
cp [hl]
jr nz, .done
jr nz, .done
dec de
dec de
dec hl
dec hl
inc c
inc c
dec b
dec b
jr nz, .loop
jr nz, .loop
.done
.done
pop hl
pop hl
push hl
push hl
ld de, MON_SPECIES - MON_ID
ld de, MON_SPECIES - MON_ID
add hl, de
add hl, de
ld a, [hl]
ld a, [hl]
pop hl
pop hl
pop de
pop de
push af
push af
ld a, c
ld a, c
ld b, 1
ld b, 1
cp 5
cp 5
jr z, .okay
jr z, .okay
ld b, 2
ld b, 2
cp 3
cp 3
jr nc, .okay
jr nc, .okay
ld b, 3
ld b, 3
cp 2
cp 2
jr nz, .nomatch
jr nz, .nomatch
.okay
.okay
inc b
inc b
ld a, [wScriptVar]
ld a, [wScriptVar]
and a
and a
jr z, .bettermatch
jr z, .bettermatch
cp b
cp b
jr c, .nomatch
jr c, .nomatch
.bettermatch
.bettermatch
dec b
dec b
ld a, b
ld a, b
ld [wScriptVar], a
ld [wScriptVar], a
pop bc
pop bc
ld a, b
ld a, b
ld [wCurPartySpecies], a
ld [wCurPartySpecies], a
pop bc
pop bc
scf
scf
ret
ret
.nomatch
.nomatch
pop bc
pop bc
pop bc
pop bc
and a
and a
ret
ret
.BoxBankAddresses:
.BoxBankAddresses:
dba sBox1
dba sBox1
dba sBox2
dba sBox2
dba sBox3
dba sBox3
dba sBox4
dba sBox4
dba sBox5
dba sBox5
dba sBox6
dba sBox6
dba sBox7
dba sBox7
dba sBox8
dba sBox8
dba sBox9
dba sBox9
dba sBox10
dba sBox10
dba sBox11
dba sBox11
dba sBox12
dba sBox12
dba sBox13
dba sBox13
dba sBox14
dba sBox14
.LuckyNumberMatchPartyText:
.LuckyNumberMatchPartyText:
text_far _LuckyNumberMatchPartyText
text_far _LuckyNumberMatchPartyText
text_end
text_end
.LuckyNumberMatchPCText:
.LuckyNumberMatchPCText:
text_far _LuckyNumberMatchPCText
text_far _LuckyNumberMatchPCText
text_end
text_end
PrintTodaysLuckyNumber:
PrintTodaysLuckyNumber:
ld hl, wStringBuffer3
ld hl, wStringBuffer3
ld de, wLuckyIDNumber
ld de, wLuckyIDNumber
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
call PrintNum
ld a, "@"
ld a, "@"
ld [wStringBuffer3 + 5], a
ld [wStringBuffer3 + 5], a
ret
ret
Copy
Copied
Copy
Copied
Saved diffs
Original text
Open file
CheckForLuckyNumberWinners: xor a ld [wScriptVar], a ld [wTempByteValue], a ld a, [wPartyCount] and a ret z ld d, a ld hl, wPartyMon1ID ld bc, wPartySpecies .PartyLoop: ld a, [bc] inc bc cp EGG call nz, .CompareLuckyNumberToMonID push bc ld bc, PARTYMON_STRUCT_LENGTH add hl, bc pop bc dec d jr nz, .PartyLoop ld a, BANK(sBox) call OpenSRAM ld a, [sBoxCount] and a jr z, .SkipOpenBox ld d, a ld hl, sBoxMon1ID ld bc, sBoxSpecies .OpenBoxLoop: ld a, [bc] inc bc cp EGG jr z, .SkipOpenBoxMon call .CompareLuckyNumberToMonID jr nc, .SkipOpenBoxMon ld a, TRUE ld [wTempByteValue], a .SkipOpenBoxMon: push bc ld bc, BOXMON_STRUCT_LENGTH add hl, bc pop bc dec d jr nz, .OpenBoxLoop .SkipOpenBox: call CloseSRAM ld c, $0 .BoxesLoop: ld a, [wCurBox] and $f cp c jr z, .SkipBox ld hl, .BoxBankAddresses ld b, 0 add hl, bc add hl, bc add hl, bc ld a, [hli] call OpenSRAM ld a, [hli] ld h, [hl] ld l, a ; hl now contains the address of the loaded box in SRAM ld a, [hl] and a jr z, .SkipBox ; no mons in this box push bc ld b, h ld c, l inc bc ld de, sBoxMon1ID - sBox add hl, de ld d, a .BoxNLoop: ld a, [bc] inc bc cp EGG jr z, .SkipBoxMon call .CompareLuckyNumberToMonID ; sets wScriptVar and wCurPartySpecies appropriately jr nc, .SkipBoxMon ld a, TRUE ld [wTempByteValue], a .SkipBoxMon: push bc ld bc, BOXMON_STRUCT_LENGTH add hl, bc pop bc dec d jr nz, .BoxNLoop pop bc .SkipBox: inc c ld a, c cp NUM_BOXES_JAPANESE jr c, .BoxesLoop call CloseSRAM ld a, [wScriptVar] and a ret z ; found nothing ld a, [wTempByteValue] and a push af ld a, [wCurPartySpecies] ld [wNamedObjectIndexBuffer], a call GetPokemonName ld hl, .LuckyNumberMatchPartyText pop af jr z, .print ld hl, .LuckyNumberMatchPCText .print jp PrintText .CompareLuckyNumberToMonID: push bc push de push hl ld d, h ld e, l ld hl, wBuffer1 lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ld hl, wLuckyNumberDigitsBuffer ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ld b, 5 ld c, 0 ld hl, wLuckyNumberDigitsBuffer + 4 ld de, wBuffer1 + 4 .loop ld a, [de] cp [hl] jr nz, .done dec de dec hl inc c dec b jr nz, .loop .done pop hl push hl ld de, MON_SPECIES - MON_ID add hl, de ld a, [hl] pop hl pop de push af ld a, c ld b, 1 cp 5 jr z, .okay ld b, 2 cp 3 jr nc, .okay ld b, 3 cp 2 jr nz, .nomatch .okay inc b ld a, [wScriptVar] and a jr z, .bettermatch cp b jr c, .nomatch .bettermatch dec b ld a, b ld [wScriptVar], a pop bc ld a, b ld [wCurPartySpecies], a pop bc scf ret .nomatch pop bc pop bc and a ret .BoxBankAddresses: dba sBox1 dba sBox2 dba sBox3 dba sBox4 dba sBox5 dba sBox6 dba sBox7 dba sBox8 dba sBox9 dba sBox10 dba sBox11 dba sBox12 dba sBox13 dba sBox14 .LuckyNumberMatchPartyText: text_far _LuckyNumberMatchPartyText text_end .LuckyNumberMatchPCText: text_far _LuckyNumberMatchPCText text_end PrintTodaysLuckyNumber: ld hl, wStringBuffer3 ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ld a, "@" ld [wStringBuffer3 + 5], a ret
Changed text
Open file
CheckForLuckyNumberWinners: xor a ld [wScriptVar], a ld [wTempByteValue], a ld a, [wPartyCount] and a ret z ld d, a ld hl, wPartyMon1ID ld bc, wPartySpecies .PartyLoop: ld a, [bc] inc bc cp EGG call nz, .CompareLuckyNumberToMonID push bc ld bc, PARTYMON_STRUCT_LENGTH add hl, bc pop bc dec d jr nz, .PartyLoop ld a, BANK(sBox) call GetSRAMBank ld a, [sBoxCount] and a jr z, .SkipOpenBox ld d, a ld hl, sBoxMon1ID ld bc, sBoxSpecies .OpenBoxLoop: ld a, [bc] inc bc cp EGG jr z, .SkipOpenBoxMon call .CompareLuckyNumberToMonID jr nc, .SkipOpenBoxMon ld a, TRUE ld [wTempByteValue], a .SkipOpenBoxMon: push bc ld bc, BOXMON_STRUCT_LENGTH add hl, bc pop bc dec d jr nz, .OpenBoxLoop .SkipOpenBox: call CloseSRAM ld c, $0 .BoxesLoop: ld a, [wCurBox] and $f cp c jr z, .SkipBox ld hl, .BoxBankAddresses ld b, 0 add hl, bc add hl, bc add hl, bc ld a, [hli] call GetSRAMBank ld a, [hli] ld h, [hl] ld l, a ; hl now contains the address of the loaded box in SRAM ld a, [hl] and a jr z, .SkipBox ; no mons in this box push bc ld b, h ld c, l inc bc ld de, sBoxMon1ID - sBox add hl, de ld d, a .BoxNLoop: ld a, [bc] inc bc cp EGG jr z, .SkipBoxMon call .CompareLuckyNumberToMonID ; sets wScriptVar and wCurPartySpecies appropriately jr nc, .SkipBoxMon ld a, TRUE ld [wTempByteValue], a .SkipBoxMon: push bc ld bc, BOXMON_STRUCT_LENGTH add hl, bc pop bc dec d jr nz, .BoxNLoop pop bc .SkipBox: inc c ld a, c cp NUM_BOXES jr c, .BoxesLoop call CloseSRAM ld a, [wScriptVar] and a ret z ; found nothing farcall StubbedTrainerRankings_LuckyNumberShow ld a, [wTempByteValue] and a push af ld a, [wCurPartySpecies] ld [wNamedObjectIndexBuffer], a call GetPokemonName ld hl, .LuckyNumberMatchPartyText pop af jr z, .print ld hl, .LuckyNumberMatchPCText .print jp PrintText .CompareLuckyNumberToMonID: push bc push de push hl ld d, h ld e, l ld hl, wBuffer1 lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ld hl, wLuckyNumberDigitsBuffer ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ld b, 5 ld c, 0 ld hl, wLuckyNumberDigitsBuffer + 4 ld de, wBuffer1 + 4 .loop ld a, [de] cp [hl] jr nz, .done dec de dec hl inc c dec b jr nz, .loop .done pop hl push hl ld de, MON_SPECIES - MON_ID add hl, de ld a, [hl] pop hl pop de push af ld a, c ld b, 1 cp 5 jr z, .okay ld b, 2 cp 3 jr nc, .okay ld b, 3 cp 2 jr nz, .nomatch .okay inc b ld a, [wScriptVar] and a jr z, .bettermatch cp b jr c, .nomatch .bettermatch dec b ld a, b ld [wScriptVar], a pop bc ld a, b ld [wCurPartySpecies], a pop bc scf ret .nomatch pop bc pop bc and a ret .BoxBankAddresses: dba sBox1 dba sBox2 dba sBox3 dba sBox4 dba sBox5 dba sBox6 dba sBox7 dba sBox8 dba sBox9 dba sBox10 dba sBox11 dba sBox12 dba sBox13 dba sBox14 .LuckyNumberMatchPartyText: text_far _LuckyNumberMatchPartyText text_end .LuckyNumberMatchPCText: text_far _LuckyNumberMatchPCText text_end PrintTodaysLuckyNumber: ld hl, wStringBuffer3 ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ld a, "@" ld [wStringBuffer3 + 5], a ret
Find difference