summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants.asm14
-rw-r--r--pokered.asm73
2 files changed, 86 insertions, 1 deletions
diff --git a/constants.asm b/constants.asm
index 1dd556cb..8e2abd2f 100644
--- a/constants.asm
+++ b/constants.asm
@@ -6,6 +6,20 @@ FuncCoord: MACRO
Coord = $C3A0 + 20 * \2 + \1
ENDM
+;\1 = Map Width
+;\2 = Rows above (Y-blocks)
+;\3 = X movement (X-blocks)
+EVENT_DISP: MACRO
+ dw ($C6EF + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp
+ db \2,\3 ;Y,X
+ ENDM
+
+FLYWARP_DATA: MACRO
+ EVENT_DISP \1,\2,\3
+ db ((\2) & $01) ;sub-block Y
+ db ((\3) & $01) ;sub-block X
+ ENDM
+
; external map entry macro
EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer
; the appearance of towns and routes in the town map, indexed by map id
diff --git a/pokered.asm b/pokered.asm
index 3d92eb89..8ff133d1 100644
--- a/pokered.asm
+++ b/pokered.asm
@@ -2104,7 +2104,78 @@ Function62CE: ; 62CE, XXX called by 4B2 948 989 5BF9 5D15
ld [$D365],a
ret
-INCBIN "baserom.gbc",$62FF,$778D - $62FF
+incbin "baserom.gbc",$62FF,$6420-$62FF
+
+FirstMapSpec:
+ db $26 ; RedHouse1F
+; Original Format:
+; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
+; Macro Format:
+; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+ FLYWARP_DATA 4,6,3
+ db $04 ;Tileset_id
+
+incbin "baserom.gbc",$6428,$6448-$6428
+FlyWarpDataPtr:
+ db $00,0
+ dw Map00FlyWarp
+ db $01,0
+ dw Map01FlyWarp
+ db $02,0
+ dw Map02FlyWarp
+ db $03,0
+ dw Map03FlyWarp
+ db $04,0
+ dw Map04FlyWarp
+ db $05,0
+ dw Map05FlyWarp
+ db $06,0
+ dw Map06FlyWarp
+ db $07,0
+ dw Map07FlyWarp
+ db $08,0
+ dw Map08FlyWarp
+ db $09,0
+ dw Map09FlyWarp
+ db $0A,0
+ dw Map0aFlyWarp
+ db $0F,0
+ dw Map0fFlyWarp
+ db $15,0
+ dw Map15FlyWarp
+
+; Original Format:
+; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
+; Macro Format:
+; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+Map00FlyWarp:
+ FLYWARP_DATA 10,6,5
+Map01FlyWarp:
+ FLYWARP_DATA 20,26,23
+Map02FlyWarp:
+ FLYWARP_DATA 20,26,13
+Map03FlyWarp:
+ FLYWARP_DATA 20,18,19
+Map04FlyWarp:
+ FLYWARP_DATA 10,6,3
+Map05FlyWarp:
+ FLYWARP_DATA 20,4,11
+Map06FlyWarp:
+ FLYWARP_DATA 25,10,41
+Map07FlyWarp:
+ FLYWARP_DATA 20,28,19
+Map08FlyWarp:
+ FLYWARP_DATA 10,12,11
+Map09FlyWarp:
+ FLYWARP_DATA 10,6,9
+Map0aFlyWarp:
+ FLYWARP_DATA 20,30,9
+Map0fFlyWarp:
+ FLYWARP_DATA 45,6,11
+Map15FlyWarp:
+ FLYWARP_DATA 10,20,11
+
+incbin "baserom.gbc",$64CA,$778D - $64CA
FieldMoveNames: ; 778D
db "CUT@"