diff --git a/Makefile b/Makefile index 62d5710a..be34b92b 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ FIX := tools/gbafix/gbafix$(EXE) SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c TOOLS_DIR = tools -TOOLDIRS = $(filter-out $(TOOLS_DIR)/agbcc $(TOOLS_DIR)/m2ctx.py $(TOOLS_DIR)/scripts,$(wildcard $(TOOLS_DIR)/*)) +TOOLDIRS = $(filter-out $(TOOLS_DIR)/agbcc $(TOOLS_DIR)/m2ctx.py $(TOOLS_DIR)/scripts $(TOOLS_DIR)/collision_viewer,$(wildcard $(TOOLS_DIR)/*)) infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) diff --git a/data/board_data/collision/dusclops/angledata.bin b/data/board_data/collision/dusclops/angledata.bin new file mode 100644 index 00000000..a788c9a0 Binary files /dev/null and b/data/board_data/collision/dusclops/angledata.bin differ diff --git a/data/board_data/collision/dusclops/tiledata.bin b/data/board_data/collision/dusclops/tiledata.bin new file mode 100644 index 00000000..2ac748bc Binary files /dev/null and b/data/board_data/collision/dusclops/tiledata.bin differ diff --git a/data/board_data/collision/dusclops/typedata.bin b/data/board_data/collision/dusclops/typedata.bin new file mode 100644 index 00000000..b8043628 Binary files /dev/null and b/data/board_data/collision/dusclops/typedata.bin differ diff --git a/data/board_data/collision/kecleon/angledata.bin b/data/board_data/collision/kecleon/angledata.bin new file mode 100644 index 00000000..b27e0962 Binary files /dev/null and b/data/board_data/collision/kecleon/angledata.bin differ diff --git a/data/board_data/collision/kecleon/tiledata.bin b/data/board_data/collision/kecleon/tiledata.bin new file mode 100644 index 00000000..1751ad56 Binary files /dev/null and b/data/board_data/collision/kecleon/tiledata.bin differ diff --git a/data/board_data/collision/kecleon/typedata.bin b/data/board_data/collision/kecleon/typedata.bin new file mode 100644 index 00000000..435afa3e Binary files /dev/null and b/data/board_data/collision/kecleon/typedata.bin differ diff --git a/data/board_data/collision/kyogre/angledata.bin b/data/board_data/collision/kyogre/angledata.bin new file mode 100644 index 00000000..4f3ca4c7 Binary files /dev/null and b/data/board_data/collision/kyogre/angledata.bin differ diff --git a/data/board_data/collision/kyogre/tiledata.bin b/data/board_data/collision/kyogre/tiledata.bin new file mode 100644 index 00000000..b7c90638 Binary files /dev/null and b/data/board_data/collision/kyogre/tiledata.bin differ diff --git a/data/board_data/collision/kyogre/typedata.bin b/data/board_data/collision/kyogre/typedata.bin new file mode 100644 index 00000000..7897fee9 Binary files /dev/null and b/data/board_data/collision/kyogre/typedata.bin differ diff --git a/data/board_data/collision/rayquaza/angledata.bin b/data/board_data/collision/rayquaza/angledata.bin new file mode 100644 index 00000000..5287e259 Binary files /dev/null and b/data/board_data/collision/rayquaza/angledata.bin differ diff --git a/data/board_data/collision/rayquaza/tiledata.bin b/data/board_data/collision/rayquaza/tiledata.bin new file mode 100644 index 00000000..2c65ae4e Binary files /dev/null and b/data/board_data/collision/rayquaza/tiledata.bin differ diff --git a/data/board_data/collision/rayquaza/typedata.bin b/data/board_data/collision/rayquaza/typedata.bin new file mode 100644 index 00000000..37d69e29 Binary files /dev/null and b/data/board_data/collision/rayquaza/typedata.bin differ diff --git a/data/board_data/collision/ruby/boardbottom_angledata.bin b/data/board_data/collision/ruby/boardbottom_angledata.bin new file mode 100644 index 00000000..6c4b33e3 Binary files /dev/null and b/data/board_data/collision/ruby/boardbottom_angledata.bin differ diff --git a/data/board_data/collision/ruby/boardbottom_tiledata.bin b/data/board_data/collision/ruby/boardbottom_tiledata.bin new file mode 100644 index 00000000..5d877908 Binary files /dev/null and b/data/board_data/collision/ruby/boardbottom_tiledata.bin differ diff --git a/data/board_data/collision/ruby/boardbottom_typedata.bin b/data/board_data/collision/ruby/boardbottom_typedata.bin new file mode 100644 index 00000000..0f2d24c3 Binary files /dev/null and b/data/board_data/collision/ruby/boardbottom_typedata.bin differ diff --git a/data/board_data/collision/ruby/boardtop_launch_angledata.bin b/data/board_data/collision/ruby/boardtop_launch_angledata.bin new file mode 100644 index 00000000..2ca04907 Binary files /dev/null and b/data/board_data/collision/ruby/boardtop_launch_angledata.bin differ diff --git a/data/board_data/collision/ruby/boardtop_launch_tiledata.bin b/data/board_data/collision/ruby/boardtop_launch_tiledata.bin new file mode 100644 index 00000000..456bbbee Binary files /dev/null and b/data/board_data/collision/ruby/boardtop_launch_tiledata.bin differ diff --git a/data/board_data/collision/ruby/boardtop_launch_typedata.bin b/data/board_data/collision/ruby/boardtop_launch_typedata.bin new file mode 100644 index 00000000..ac63886c Binary files /dev/null and b/data/board_data/collision/ruby/boardtop_launch_typedata.bin differ diff --git a/data/board_data/collision/ruby/boardtop_normal_angledata.bin b/data/board_data/collision/ruby/boardtop_normal_angledata.bin new file mode 100644 index 00000000..17f02542 Binary files /dev/null and b/data/board_data/collision/ruby/boardtop_normal_angledata.bin differ diff --git a/data/board_data/collision/ruby/boardtop_normal_tiledata.bin b/data/board_data/collision/ruby/boardtop_normal_tiledata.bin new file mode 100644 index 00000000..bce490a9 Binary files /dev/null and b/data/board_data/collision/ruby/boardtop_normal_tiledata.bin differ diff --git a/data/board_data/collision/ruby/boardtop_normal_typedata.bin b/data/board_data/collision/ruby/boardtop_normal_typedata.bin new file mode 100644 index 00000000..3fa17056 Binary files /dev/null and b/data/board_data/collision/ruby/boardtop_normal_typedata.bin differ diff --git a/data/board_data/collision/ruby/topramps_angledata.bin b/data/board_data/collision/ruby/topramps_angledata.bin new file mode 100644 index 00000000..dcd3619e Binary files /dev/null and b/data/board_data/collision/ruby/topramps_angledata.bin differ diff --git a/data/board_data/collision/ruby/topramps_tiledata.bin b/data/board_data/collision/ruby/topramps_tiledata.bin new file mode 100644 index 00000000..111723ec Binary files /dev/null and b/data/board_data/collision/ruby/topramps_tiledata.bin differ diff --git a/data/board_data/collision/ruby/topramps_typedata.bin b/data/board_data/collision/ruby/topramps_typedata.bin new file mode 100644 index 00000000..c40fea45 Binary files /dev/null and b/data/board_data/collision/ruby/topramps_typedata.bin differ diff --git a/data/board_data/collision/sapphire/boardbottom_angledata.bin b/data/board_data/collision/sapphire/boardbottom_angledata.bin new file mode 100644 index 00000000..7379e0b0 Binary files /dev/null and b/data/board_data/collision/sapphire/boardbottom_angledata.bin differ diff --git a/data/board_data/collision/sapphire/boardbottom_tiledata.bin b/data/board_data/collision/sapphire/boardbottom_tiledata.bin new file mode 100644 index 00000000..4087b502 Binary files /dev/null and b/data/board_data/collision/sapphire/boardbottom_tiledata.bin differ diff --git a/data/board_data/collision/sapphire/boardbottom_typedata.bin b/data/board_data/collision/sapphire/boardbottom_typedata.bin new file mode 100644 index 00000000..a13280f3 Binary files /dev/null and b/data/board_data/collision/sapphire/boardbottom_typedata.bin differ diff --git a/data/board_data/collision/sapphire/boardtop_angledata.bin b/data/board_data/collision/sapphire/boardtop_angledata.bin new file mode 100644 index 00000000..3f7626aa Binary files /dev/null and b/data/board_data/collision/sapphire/boardtop_angledata.bin differ diff --git a/data/board_data/collision/sapphire/boardtop_tiledata.bin b/data/board_data/collision/sapphire/boardtop_tiledata.bin new file mode 100644 index 00000000..407e9ef6 Binary files /dev/null and b/data/board_data/collision/sapphire/boardtop_tiledata.bin differ diff --git a/data/board_data/collision/sapphire/boardtop_typedata.bin b/data/board_data/collision/sapphire/boardtop_typedata.bin new file mode 100644 index 00000000..d48dd561 Binary files /dev/null and b/data/board_data/collision/sapphire/boardtop_typedata.bin differ diff --git a/data/board_data/collision/sapphire/hatchexitramp_angledata.bin b/data/board_data/collision/sapphire/hatchexitramp_angledata.bin new file mode 100644 index 00000000..255995a7 Binary files /dev/null and b/data/board_data/collision/sapphire/hatchexitramp_angledata.bin differ diff --git a/data/board_data/collision/sapphire/hatchexitramp_tiledata.bin b/data/board_data/collision/sapphire/hatchexitramp_tiledata.bin new file mode 100644 index 00000000..00a13fed Binary files /dev/null and b/data/board_data/collision/sapphire/hatchexitramp_tiledata.bin differ diff --git a/data/board_data/collision/sapphire/hatchexitramp_typedata.bin b/data/board_data/collision/sapphire/hatchexitramp_typedata.bin new file mode 100644 index 00000000..966933ba Binary files /dev/null and b/data/board_data/collision/sapphire/hatchexitramp_typedata.bin differ diff --git a/data/board_data/collision/sapphire/topramp_angledata.bin b/data/board_data/collision/sapphire/topramp_angledata.bin new file mode 100644 index 00000000..70f516ef Binary files /dev/null and b/data/board_data/collision/sapphire/topramp_angledata.bin differ diff --git a/data/board_data/collision/sapphire/topramp_tiledata.bin b/data/board_data/collision/sapphire/topramp_tiledata.bin new file mode 100644 index 00000000..9670e1fe Binary files /dev/null and b/data/board_data/collision/sapphire/topramp_tiledata.bin differ diff --git a/data/board_data/collision/sapphire/topramp_typedata.bin b/data/board_data/collision/sapphire/topramp_typedata.bin new file mode 100644 index 00000000..ff82fb6e Binary files /dev/null and b/data/board_data/collision/sapphire/topramp_typedata.bin differ diff --git a/data/board_data/collision/spheal/angledata.bin b/data/board_data/collision/spheal/angledata.bin new file mode 100644 index 00000000..28d865c2 Binary files /dev/null and b/data/board_data/collision/spheal/angledata.bin differ diff --git a/data/board_data/collision/spheal/tiledata.bin b/data/board_data/collision/spheal/tiledata.bin new file mode 100644 index 00000000..5fff1bc8 Binary files /dev/null and b/data/board_data/collision/spheal/tiledata.bin differ diff --git a/data/board_data/collision/spheal/typedata.bin b/data/board_data/collision/spheal/typedata.bin new file mode 100644 index 00000000..278fa1b4 Binary files /dev/null and b/data/board_data/collision/spheal/typedata.bin differ diff --git a/data/board_data/dusclops_board.inc b/data/board_data/dusclops_board.inc index 772de855..c6b5517c 100644 --- a/data/board_data/dusclops_board.inc +++ b/data/board_data/dusclops_board.inc @@ -8,13 +8,13 @@ gDusclopsBoardBG0Tilemap:: @ 0x082EE4C0 .incbin "baserom.gba", 0x2EE4C0, 0x800 gDusclopsBoardCollisionTileDataAllLayers:: @ 0x082EECC0 - .incbin "baserom.gba", 0x2EECC0, 0x2000 +.incbin "data/board_data/collision/dusclops/tiledata.bin" gDusclopsBoardCollisionAngleDataAllLayers:: @ 0x082F0CC0 - .incbin "baserom.gba", 0x2F0CC0, 0xB180 +.incbin "data/board_data/collision/dusclops/angledata.bin" gDusclopsBoardCollisionTypeDataAllLayers:: @ 0x082FBE40 - .incbin "baserom.gba", 0x2FBE40, 0x58C0 +.incbin "data/board_data/collision/dusclops/typedata.bin" gDusclopsBoardBG1Tilemap:: @ 0x08301700 .incbin "baserom.gba", 0x301700, 0x800 diff --git a/data/board_data/kecleon_board.inc b/data/board_data/kecleon_board.inc index 5a019842..15dce5c4 100644 --- a/data/board_data/kecleon_board.inc +++ b/data/board_data/kecleon_board.inc @@ -5,13 +5,13 @@ gKecleonBoardBG1Tilemap:: @ 0x0830CDD4 .incbin "baserom.gba", 0x30CDD4, 0x800 gKecleonBoardCollisionTileDataAllLayers:: @ 0x0830D5D4 - .incbin "baserom.gba", 0x30D5D4, 0x2000 +.incbin "data/board_data/collision/kecleon/tiledata.bin" gKecleonBoardCollisionAngleDataAllLayers:: @ 0x0830F5D4 - .incbin "baserom.gba", 0x30F5D4, 0x10280 +.incbin "data/board_data/collision/kecleon/angledata.bin" gKecleonBoardCollisionTypeDataAllLayers:: @ 0x0831F854 - .incbin "baserom.gba", 0x31F854, 0x8140 +.incbin "data/board_data/collision/kecleon/typedata.bin" gKecleonBerryOverlayTilemap:: @ 0x08327994 .incbin "baserom.gba", 0x327994, 0x800 diff --git a/data/board_data/kyogre_board.inc b/data/board_data/kyogre_board.inc index 89370163..61e056be 100644 --- a/data/board_data/kyogre_board.inc +++ b/data/board_data/kyogre_board.inc @@ -9,13 +9,13 @@ gKyogreWaterBackgroundTilemap:: @ 0x08333004 .incbin "baserom.gba", 0x333004, 0x800 gKyrGrouBoardCollisionTileDataAllLayers:: @ 0x08333804 - .incbin "baserom.gba", 0x333804, 0x2000 +.incbin "data/board_data/collision/kyogre/tiledata.bin" gKyrGrouBoardCollisionAngleDataAllLayers:: @ 0x08335804 - .incbin "baserom.gba", 0x335804, 0x5580 +.incbin "data/board_data/collision/kyogre/angledata.bin" gKyrGrouBoardCollisionTypeDataAllLayers:: @ 0x0833AD84 - .incbin "baserom.gba", 0x33AD84, 0x2AC0 +.incbin "data/board_data/collision/kyogre/typedata.bin" gKyogreBoardBG1Tilemap:: @ 0x0833D844 .incbin "baserom.gba", 0x33D844, 0x800 diff --git a/data/board_data/rayquaza_board.inc b/data/board_data/rayquaza_board.inc index cb0e09f3..0cc3f0b6 100644 --- a/data/board_data/rayquaza_board.inc +++ b/data/board_data/rayquaza_board.inc @@ -6,13 +6,13 @@ gRayquazaBoardBG0Tilemap:: @ 0x083640C8 .incbin "baserom.gba", 0x3640C8, 0x1000 gRayquazaBoardCollisionTileDataAllLayers:: @ 0x083650C8 - .incbin "baserom.gba", 0x3650C8, 0x2000 +.incbin "data/board_data/collision/rayquaza/tiledata.bin" gRayquazaBoardCollisionAngleDataAllLayers:: @ 0x083670C8 - .incbin "baserom.gba", 0x3670C8, 0x4F80 +.incbin "data/board_data/collision/rayquaza/angledata.bin" gRayquazaBoardCollisionTypeDataAllLayers:: @ 0x0836C048 - .incbin "baserom.gba", 0x36C048, 0x27C0 +.incbin "data/board_data/collision/rayquaza/typedata.bin" gRayquazaBoardBGScrollTilemap:: @ 0x0836E808 .incbin "baserom.gba", 0x36E808, 0x1000 diff --git a/data/board_data/ruby_board.inc b/data/board_data/ruby_board.inc index 92204d29..ade72c82 100644 --- a/data/board_data/ruby_board.inc +++ b/data/board_data/ruby_board.inc @@ -5,43 +5,43 @@ gRubyBoardBG0Tilemap:: @ 0x081C08E4 .incbin "baserom.gba", 0x1C08E4, 0x1000 gRubyBoardCollisionTileDataLayer0:: @ 0x081C18E4 - .incbin "baserom.gba", 0x1C18E4, 0x2000 +.incbin "data/board_data/collision/ruby/boardtop_launch_tiledata.bin" gRubyBoardCollisionAngleDataLayer0:: @ 0x081C38E4 - .incbin "baserom.gba", 0x1C38E4, 0x18780 +.incbin "data/board_data/collision/ruby/boardtop_launch_angledata.bin" gRubyBoardCollisionTypeDataLayer0:: @ 0x081DC064 - .incbin "baserom.gba", 0x1DC064, 0xC3C0 +.incbin "data/board_data/collision/ruby/boardtop_launch_typedata.bin" gRubyBoardCollisionTileDataLayer0Alt:: @ 0x081E8424 - .incbin "baserom.gba", 0x1E8424, 0x2000 +.incbin "data/board_data/collision/ruby/boardtop_normal_tiledata.bin" gRubyBoardCollisionAngleDataLayer0Alt:: @ 0x081EA424 - .incbin "baserom.gba", 0x1EA424, 0x18380 +.incbin "data/board_data/collision/ruby/boardtop_normal_angledata.bin" gRubyBoardCollisionTypeDataLayer0Alt:: @ 0x082027A4 - .incbin "baserom.gba", 0x2027A4, 0xC1C0 +.incbin "data/board_data/collision/ruby/boardtop_normal_typedata.bin" gRubyBoardCollisionTileDataLayer1:: @ 0x0820E964 - .incbin "baserom.gba", 0x20E964, 0x2000 +.incbin "data/board_data/collision/ruby/boardbottom_tiledata.bin" gRubyBoardCollisionAngleDataLayer1:: @ 0x08210964 - .incbin "baserom.gba", 0x210964, 0x13C80 +.incbin "data/board_data/collision/ruby/boardbottom_angledata.bin" gRubyBoardCollisionTypeDataLayer1:: @ 0x082245E4 - .incbin "baserom.gba", 0x2245E4, 0x9E40 +.incbin "data/board_data/collision/ruby/boardbottom_typedata.bin" gRubyBoardBG1Tilemap:: @ 0x0822E424 .incbin "baserom.gba", 0x22E424, 0x1000 gRubyBoardCollisionTileDataLayer2:: @ 0x0822F424 - .incbin "baserom.gba", 0x22F424, 0x2000 +.incbin "data/board_data/collision/ruby/topramps_tiledata.bin" gRubyBoardCollisionAngleDataLayer2:: @ 0x08231424 - .incbin "baserom.gba", 0x231424, 0x11E80 +.incbin "data/board_data/collision/ruby/topramps_angledata.bin" gRubyBoardCollisionTypeDataLayer2:: @ 0x082432A4 - .incbin "baserom.gba", 0x2432A4, 0x8F40 +.incbin "data/board_data/collision/ruby/topramps_typedata.bin" gRubyBoardCompressedTiles1:: @ 0x0824C1E4 .incbin "baserom.gba", 0x24C1E4, 0x1B7C diff --git a/data/board_data/sapphire_board.inc b/data/board_data/sapphire_board.inc index 3f8a7253..42022146 100644 --- a/data/board_data/sapphire_board.inc +++ b/data/board_data/sapphire_board.inc @@ -7,43 +7,43 @@ gSapphireBoardBG0Tilemap:: @ 0x0826EE10 .incbin "baserom.gba", 0x26EE10, 0x1000 gSapphireBoardCollisionTileDataLayer0:: @ 0x0826FE10 - .incbin "baserom.gba", 0x26FE10, 0x2000 +.incbin "data/board_data/collision/sapphire/boardtop_tiledata.bin" gSapphireBoardCollisionAngleDataLayer0:: @ 0x08271E10 - .incbin "baserom.gba", 0x271E10, 0x14C00 +.incbin "data/board_data/collision/sapphire/boardtop_angledata.bin" gSapphireBoardCollisionTypeDataLayer0:: @ 0x08286A10 - .incbin "baserom.gba", 0x286A10, 0xA600 +.incbin "data/board_data/collision/sapphire/boardtop_typedata.bin" gSapphireBoardCollisionTileDataLayer1:: @ 0x08291010 - .incbin "baserom.gba", 0x291010, 0x2000 +.incbin "data/board_data/collision/sapphire/boardbottom_tiledata.bin" gSapphireBoardCollisionAngleDataLayer1:: @ 0x08293010 - .incbin "baserom.gba", 0x293010, 0x12480 +.incbin "data/board_data/collision/sapphire/boardbottom_angledata.bin" gSapphireBoardCollisionTypeDataLayer1:: @ 0x082A5490 - .incbin "baserom.gba", 0x2A5490, 0x9240 +.incbin "data/board_data/collision/sapphire/boardbottom_typedata.bin" gSapphireBoardBG1Tilemap:: @ 0x082AE6D0 .incbin "baserom.gba", 0x2AE6D0, 0x1000 gSapphireBoardCollisionTileDataLayer2:: @ 0x082AF6D0 - .incbin "baserom.gba", 0x2AF6D0, 0x2000 +.incbin "data/board_data/collision/sapphire/topramp_tiledata.bin" gSapphireBoardCollisionAngleDataLayer2:: @ 0x082B16D0 - .incbin "baserom.gba", 0x2B16D0, 0xD100 +.incbin "data/board_data/collision/sapphire/topramp_angledata.bin" gSapphireBoardCollisionTypeDataLayer2:: @ 0x082BE7D0 - .incbin "baserom.gba", 0x2BE7D0, 0x6880 +.incbin "data/board_data/collision/sapphire/topramp_typedata.bin" gSapphireBoardCollisionTileDataLayer3:: @ 0x082C5050 - .incbin "baserom.gba", 0x2C5050, 0x2000 +.incbin "data/board_data/collision/sapphire/hatchexitramp_tiledata.bin" gSapphireBoardCollisionAngleDataLayer3:: @ 0x082C7050 - .incbin "baserom.gba", 0x2C7050, 0x8300 +.incbin "data/board_data/collision/sapphire/hatchexitramp_angledata.bin" gSapphireBoardCollisionTypeDataLayer3:: @ 0x082CF350 - .incbin "baserom.gba", 0x2CF350, 0x4180 +.incbin "data/board_data/collision/sapphire/hatchexitramp_typedata.bin" gSapphireBoardCompressedTiles1:: @ 0x082D34D0 .incbin "baserom.gba", 0x2D34D0, 0x1D6C diff --git a/data/board_data/spheal_board.inc b/data/board_data/spheal_board.inc index 7914151f..f1ba1bc9 100644 --- a/data/board_data/spheal_board.inc +++ b/data/board_data/spheal_board.inc @@ -6,13 +6,13 @@ gSphealWaterBackgroundTilemap:: @ 0x0837A4E8 .incbin "baserom.gba", 0x37A4E8, 0x800 gSphealBoardCollisionTileDataAllLayers:: @ 0x0837ACE8 - .incbin "baserom.gba", 0x37ACE8, 0x2000 +.incbin "data/board_data/collision/spheal/tiledata.bin" gSphealBoardCollisionAngleDataAllLayers:: @ 0x0837CCE8 - .incbin "baserom.gba", 0x37CCE8, 0xB780 +.incbin "data/board_data/collision/spheal/angledata.bin" gSphealBoardCollisionTypeDataAllLayers:: @ 0x08388468 - .incbin "baserom.gba", 0x388468, 0x5BC0 +.incbin "data/board_data/collision/spheal/typedata.bin" gSphealBoardBG1Tilemap:: @ 0x0838E028 .incbin "baserom.gba", 0x38E028, 0x800 diff --git a/tools/collision_viewer/collision_viewer_editor.html b/tools/collision_viewer/collision_viewer_editor.html new file mode 100644 index 00000000..77aa5df7 --- /dev/null +++ b/tools/collision_viewer/collision_viewer_editor.html @@ -0,0 +1,900 @@ + + +
+ + +