mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Merge branch 'master' of https://github.com/pret/pokecrystal
This commit is contained in:
commit
707020f9be
@ -1,6 +1,8 @@
|
||||
The source files are assembled into a rom using [**rgbds**](https://github.com/bentley/rgbds).
|
||||
These instructions explain how to set up the tools required to build.
|
||||
|
||||
If you run into trouble, ask on irc ([**freenode#pret**](https://kiwiirc.com/client/irc.freenode.net/?#pret)).
|
||||
|
||||
|
||||
# Linux
|
||||
|
||||
@ -50,12 +52,12 @@ make
|
||||
|
||||
# Windows
|
||||
|
||||
To build on Windows, use [**Cygwin**](http://cygwin.com/install.html). Use the default settings.
|
||||
To build on Windows, install [**Cygwin**](http://cygwin.com/install.html) with the default settings.
|
||||
|
||||
In the installer, select the following packages: `make` `git` `python` `gettext`
|
||||
|
||||
Then get the most recent version of [**rgbds**](https://github.com/bentley/rgbds/releases/).
|
||||
Extract the archive and put `rgbasm.exe`, `rgblink.exe` and `rgbfix.exe` in `C:\cygwin\usr\local\bin`.
|
||||
Extract the archive and put `rgbasm.exe`, `rgblink.exe` and `rgbfix.exe` in `C:\cygwin64\usr\local\bin`.
|
||||
|
||||
In the **Cygwin terminal**:
|
||||
|
||||
|
4
Makefile
4
Makefile
@ -53,11 +53,11 @@ compare: pokecrystal.gbc pokecrystal11.gbc
|
||||
rgbasm -o $@ $<
|
||||
|
||||
pokecrystal11.gbc: $(crystal11_obj)
|
||||
rgblink -n $*.sym -m $*.map -o $@ $^
|
||||
rgblink -n pokecrystal11.sym -m pokecrystal11.map -o $@ $^
|
||||
rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -n 1 -p 0 -r 3 -t PM_CRYSTAL $@
|
||||
|
||||
pokecrystal.gbc: $(crystal_obj)
|
||||
rgblink -n $*.sym -m $*.map -o $@ $^
|
||||
rgblink -n pokecrystal.sym -m pokecrystal.map -o $@ $^
|
||||
rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
|
||||
|
||||
%.png: ;
|
||||
|
@ -13,7 +13,7 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md).
|
||||
## See also
|
||||
|
||||
* Disassembly of [**Pokémon Red/Blue**][pokered]
|
||||
* irc: **irc.freenode.net** [**#pret**][irc]
|
||||
* irc: [**freenode#pret**][irc]
|
||||
|
||||
[pokered]: https://github.com/iimarckus/pokered
|
||||
[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret
|
||||
|
@ -212,3 +212,26 @@ NUM_JOHTO_BADGES EQU const_value
|
||||
NUM_KANTO_BADGES EQU const_value
|
||||
NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
|
||||
NUM_KANA EQU $2d
|
||||
|
||||
|
||||
SWARM_DUNSPARCE EQU 0
|
||||
SWARM_YANMA EQU 1
|
||||
|
||||
FISHSWARM_QWILFISH EQU 1
|
||||
FISHSWARM_REMORAID EQU 2
|
||||
|
||||
const_def
|
||||
const FISHGROUP_NONE
|
||||
const FISHGROUP_SHORE
|
||||
const FISHGROUP_OCEAN
|
||||
const FISHGROUP_LAKE
|
||||
const FISHGROUP_POND
|
||||
const FISHGROUP_DRATINI
|
||||
const FISHGROUP_QWILFISH_SWARM
|
||||
const FISHGROUP_REMORAID_SWARM
|
||||
const FISHGROUP_GYARADOS
|
||||
const FISHGROUP_DRATINI_2
|
||||
const FISHGROUP_WHIRL_ISLANDS
|
||||
const FISHGROUP_QWILFISH
|
||||
const FISHGROUP_REMORAID
|
||||
const FISHGROUP_QWILFISH_NO_SWARM
|
||||
|
File diff suppressed because it is too large
Load Diff
135
engine/fish.asm
Normal file
135
engine/fish.asm
Normal file
@ -0,0 +1,135 @@
|
||||
Fish: ; 92402
|
||||
; Using a fishing rod.
|
||||
; Fish for monsters with rod e in encounter group d.
|
||||
; Return monster e at level d.
|
||||
|
||||
push af
|
||||
push bc
|
||||
push hl
|
||||
|
||||
ld b, e
|
||||
call GetFishGroupIndex
|
||||
|
||||
ld hl, FishGroups
|
||||
rept 7
|
||||
add hl, de
|
||||
endr
|
||||
call .Fish
|
||||
|
||||
pop hl
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
; 9241a
|
||||
|
||||
|
||||
.Fish: ; 9241a
|
||||
; Fish for monsters with rod b from encounter data in FishGroup at hl.
|
||||
; Return monster e at level d.
|
||||
|
||||
call Random
|
||||
cp [hl]
|
||||
jr nc, .no_bite
|
||||
|
||||
; Get encounter data by rod:
|
||||
; 0: Old
|
||||
; 1: Good
|
||||
; 2: Super
|
||||
inc hl
|
||||
ld e, b
|
||||
ld d, 0
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
||||
; Compare the encounter chance to select a Pokemon.
|
||||
call Random
|
||||
.loop
|
||||
cp [hl]
|
||||
jr z, .ok
|
||||
jr c, .ok
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
jr .loop
|
||||
.ok
|
||||
inc hl
|
||||
|
||||
; Species 0 reads from a time-based encounter table.
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
and a
|
||||
call z, .TimeEncounter
|
||||
|
||||
ld e, [hl]
|
||||
ret
|
||||
|
||||
.no_bite
|
||||
ld de, 0
|
||||
ret
|
||||
|
||||
.TimeEncounter:
|
||||
; The level byte is repurposed as the index for the new table.
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
ld hl, TimeFishGroups
|
||||
rept 4
|
||||
add hl, de
|
||||
endr
|
||||
|
||||
ld a, [TimeOfDay]
|
||||
and 3
|
||||
cp NITE
|
||||
jr c, .time_species
|
||||
rept 2
|
||||
inc hl
|
||||
endr
|
||||
|
||||
.time_species
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
ret
|
||||
; 9245b
|
||||
|
||||
|
||||
GetFishGroupIndex: ; 9245b
|
||||
; Return the index of fishgroup d in de.
|
||||
|
||||
push hl
|
||||
ld hl, DailyFlags
|
||||
bit 2, [hl]
|
||||
pop hl
|
||||
jr z, .done
|
||||
|
||||
ld a, d
|
||||
cp FISHGROUP_QWILFISH
|
||||
jr z, .qwilfish
|
||||
cp FISHGROUP_REMORAID
|
||||
jr z, .remoraid
|
||||
|
||||
.done
|
||||
dec d
|
||||
ld e, d
|
||||
ld d, 0
|
||||
ret
|
||||
|
||||
.qwilfish
|
||||
ld a, [wFishingSwarmFlag]
|
||||
cp FISHSWARM_QWILFISH
|
||||
jr nz, .done
|
||||
ld d, FISHGROUP_QWILFISH_SWARM
|
||||
jr .done
|
||||
|
||||
.remoraid
|
||||
ld a, [wFishingSwarmFlag]
|
||||
cp FISHSWARM_REMORAID
|
||||
jr nz, .done
|
||||
ld d, FISHGROUP_REMORAID_SWARM
|
||||
jr .done
|
||||
; 92488
|
||||
|
||||
|
||||
INCLUDE "data/wild/fish.asm"
|
@ -1,6 +1,3 @@
|
||||
SWARM_DUNSPARCE EQU 0
|
||||
SWARM_YANMA EQU 1
|
||||
|
||||
UnusedPhoneScript: ; 0xbcea5
|
||||
farwritetext UnusedPhoneText
|
||||
end
|
||||
@ -832,7 +829,7 @@ Ralph_SetUpSwarm:
|
||||
setflag ENGINE_SPECIAL_WILDDATA
|
||||
pokenamemem QWILFISH, $1
|
||||
landmarktotext ROUTE_32, $2
|
||||
writebyte $1
|
||||
writebyte FISHSWARM_QWILFISH
|
||||
special Special_ActivateFishingSwarm
|
||||
farjump UnknownScript_0xa05d6
|
||||
|
||||
|
4
main.asm
4
main.asm
@ -3605,7 +3605,7 @@ FishFunction: ; cf8e
|
||||
ld d, a
|
||||
ld a, [Buffer2]
|
||||
ld e, a
|
||||
callba FishAction
|
||||
callba Fish
|
||||
ld a, d
|
||||
and a
|
||||
jr z, .nonibble
|
||||
@ -10536,7 +10536,7 @@ INCLUDE "engine/phone.asm"
|
||||
INCLUDE "engine/timeset.asm"
|
||||
INCLUDE "engine/pokegear.asm"
|
||||
|
||||
INCLUDE "data/wild/fish.asm"
|
||||
INCLUDE "engine/fish.asm"
|
||||
INCLUDE "engine/slot_machine.asm"
|
||||
|
||||
SECTION "Phone Engine", ROMX, BANK[$28]
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user