Added Entrance/Stairs unittype5 table lvlwrap.txt (#64)
This commit is contained in:
@@ -35,6 +35,7 @@ type Data struct {
|
||||
NPCs NPCs
|
||||
Inventory Inventory
|
||||
Objects Objects
|
||||
Entrances Entrances
|
||||
AdjacentLevels []Level
|
||||
Rooms []Room
|
||||
OpenMenus OpenMenus
|
||||
|
||||
13
pkg/data/entrance/description.go
Normal file
13
pkg/data/entrance/description.go
Normal file
@@ -0,0 +1,13 @@
|
||||
package entrance
|
||||
|
||||
type Description struct {
|
||||
ID int
|
||||
Name string
|
||||
SelectX int
|
||||
SelectY int
|
||||
SelectDX int
|
||||
SelectDY int
|
||||
OffsetX int
|
||||
OffsetY int
|
||||
Direction string
|
||||
}
|
||||
94
pkg/data/entrance/entrances.go
Normal file
94
pkg/data/entrance/entrances.go
Normal file
@@ -0,0 +1,94 @@
|
||||
// Code generated by cmd/txttocode. DO NOT EDIT.
|
||||
// source: cmd/txttocode/txt/lvlwarp.txt
|
||||
package entrance
|
||||
|
||||
var Desc = map[int]Description{
|
||||
0: {ID: 0, Name: "Act 1 Wilderness to Cave Cliff L", SelectX: -90, SelectY: -100, SelectDX: 90, SelectDY: 110, OffsetX: 1, OffsetY: -1, Direction: "b"},
|
||||
1: {ID: 1, Name: "Act 1 Wilderness to Cave Cliff R", SelectX: -15, SelectY: -90, SelectDX: 90, SelectDY: 110, OffsetX: 3, OffsetY: 1, Direction: "b"},
|
||||
2: {ID: 2, Name: "Act 1 Wilderness to Cave Floor L", SelectX: -60, SelectY: -60, SelectDX: 85, SelectDY: 100, OffsetX: -1, OffsetY: 1, Direction: "b"},
|
||||
3: {ID: 3, Name: "Act 1 Wilderness to Cave Floor R", SelectX: -25, SelectY: -60, SelectDX: 85, SelectDY: 100, OffsetX: 1, OffsetY: -1, Direction: "b"},
|
||||
4: {ID: 4, Name: "Act 1 Cave Up", SelectX: -30, SelectY: -120, SelectDX: 120, SelectDY: 150, OffsetX: 2, OffsetY: 5, Direction: "b"},
|
||||
5: {ID: 5, Name: "Act 1 Cave Down", SelectX: -25, SelectY: -75, SelectDX: 80, SelectDY: 100, OffsetX: 1, OffsetY: 3, Direction: "b"},
|
||||
6: {ID: 6, Name: "Act 1 Graveyard to Crypt 1", SelectX: -90, SelectY: -110, SelectDX: 110, SelectDY: 140, OffsetX: 5, OffsetY: 0, Direction: "b"},
|
||||
7: {ID: 7, Name: "Act 1 Graveyard to Crypt 2", SelectX: -70, SelectY: -90, SelectDX: 90, SelectDY: 120, OffsetX: 5, OffsetY: 2, Direction: "b"},
|
||||
8: {ID: 8, Name: "Act 1 Crypt Up", SelectX: -10, SelectY: -90, SelectDX: 60, SelectDY: 110, OffsetX: 5, OffsetY: 1, Direction: "b"},
|
||||
9: {ID: 9, Name: "Act 1 Crypt Down", SelectX: -30, SelectY: -90, SelectDX: 60, SelectDY: 110, OffsetX: 1, OffsetY: 1, Direction: "b"},
|
||||
10: {ID: 10, Name: "Act 1 Wilderness to Tower", SelectX: -10, SelectY: -50, SelectDX: 150, SelectDY: 80, OffsetX: -4, OffsetY: 0, Direction: "b"},
|
||||
11: {ID: 11, Name: "Act 1 Tower to Wilderness", SelectX: -50, SelectY: -130, SelectDX: 60, SelectDY: 140, OffsetX: 4, OffsetY: -2, Direction: "b"},
|
||||
12: {ID: 12, Name: "Act 1 Tower to Crypt", SelectX: -50, SelectY: -90, SelectDX: 80, SelectDY: 110, OffsetX: 2, OffsetY: 3, Direction: "b"},
|
||||
13: {ID: 13, Name: "Act 1 Jail Up", SelectX: -50, SelectY: -110, SelectDX: 110, SelectDY: 150, OffsetX: 5, OffsetY: 1, Direction: "b"},
|
||||
14: {ID: 14, Name: "Act 1 Jail Down", SelectX: -40, SelectY: -80, SelectDX: 210, SelectDY: 110, OffsetX: -1, OffsetY: 3, Direction: "b"},
|
||||
15: {ID: 15, Name: "Act 1 Cathedral To Catacombs", SelectX: -30, SelectY: -110, SelectDX: 85, SelectDY: 130, OffsetX: 3, OffsetY: 1, Direction: "b"},
|
||||
16: {ID: 16, Name: "Act 1 Catacombs to Cathedral", SelectX: -35, SelectY: -130, SelectDX: 90, SelectDY: 150, OffsetX: 7, OffsetY: 1, Direction: "b"},
|
||||
17: {ID: 17, Name: "Act 1 Catacombs Up", SelectX: -50, SelectY: -110, SelectDX: 110, SelectDY: 150, OffsetX: 5, OffsetY: 1, Direction: "b"},
|
||||
18: {ID: 18, Name: "Act 1 Catacombs Down", SelectX: -60, SelectY: -80, SelectDX: 210, SelectDY: 110, OffsetX: -1, OffsetY: 3, Direction: "b"},
|
||||
19: {ID: 19, Name: "Act 2 Town to Sewer Trap", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
20: {ID: 20, Name: "Act 2 Town to Sewer Dock", SelectX: -25, SelectY: -95, SelectDX: 70, SelectDY: 130, OffsetX: -2, OffsetY: 0, Direction: "b"},
|
||||
21: {ID: 21, Name: "Act 2 Sewer Dock to Town", SelectX: 20, SelectY: -80, SelectDX: 65, SelectDY: 140, OffsetX: 10, OffsetY: -2, Direction: "b"},
|
||||
22: {ID: 22, Name: "Act 2 Sewer Up", SelectX: -25, SelectY: -160, SelectDX: 100, SelectDY: 180, OffsetX: 5, OffsetY: 3, Direction: "b"},
|
||||
23: {ID: 23, Name: "Act 2 Sewer Down", SelectX: -65, SelectY: -55, SelectDX: 150, SelectDY: 110, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
24: {ID: 24, Name: "Act 2 Town to Harem", SelectX: -120, SelectY: -20, SelectDX: 150, SelectDY: 130, OffsetX: 5, OffsetY: 2, Direction: "b"},
|
||||
25: {ID: 25, Name: "Act 2 Harem to Town", SelectX: -35, SelectY: -70, SelectDX: 95, SelectDY: 130, OffsetX: 0, OffsetY: -2, Direction: "b"},
|
||||
26: {ID: 26, Name: "Act 2 Harem Up 1", SelectX: -25, SelectY: -150, SelectDX: 80, SelectDY: 180, OffsetX: 4, OffsetY: 0, Direction: "b"},
|
||||
27: {ID: 27, Name: "Act 2 Harem Up 2", SelectX: -40, SelectY: -160, SelectDX: 80, SelectDY: 180, OffsetX: 0, OffsetY: 5, Direction: "b"},
|
||||
28: {ID: 28, Name: "Act 2 Harem Down 1", SelectX: -20, SelectY: -40, SelectDX: 170, SelectDY: 100, OffsetX: -3, OffsetY: 1, Direction: "b"},
|
||||
29: {ID: 29, Name: "Act 2 Harem Down 2", SelectX: -50, SelectY: -20, SelectDX: 160, SelectDY: 85, OffsetX: -1, OffsetY: -3, Direction: "b"},
|
||||
30: {ID: 30, Name: "Act 2 Basement Up 1", SelectX: -25, SelectY: -100, SelectDX: 60, SelectDY: 125, OffsetX: 2, OffsetY: 0, Direction: "b"},
|
||||
31: {ID: 31, Name: "Act 2 Basement Up 2", SelectX: -40, SelectY: -100, SelectDX: 60, SelectDY: 125, OffsetX: 0, OffsetY: 2, Direction: "b"},
|
||||
32: {ID: 32, Name: "Act 2 Basement Down", SelectX: -30, SelectY: -30, SelectDX: 170, SelectDY: 90, OffsetX: -3, OffsetY: 0, Direction: "b"},
|
||||
33: {ID: 33, Name: "Act 2 Desert to Tomb L 1", SelectX: -70, SelectY: -140, SelectDX: 80, SelectDY: 160, OffsetX: 1, OffsetY: 1, Direction: "b"},
|
||||
34: {ID: 34, Name: "Act 2 Desert to Tomb L 2", SelectX: -50, SelectY: -120, SelectDX: 90, SelectDY: 150, OffsetX: 1, OffsetY: 1, Direction: "b"},
|
||||
35: {ID: 35, Name: "Act 2 Desert to Tomb R 1", SelectX: -30, SelectY: -140, SelectDX: 80, SelectDY: 160, OffsetX: 6, OffsetY: 2, Direction: "b"},
|
||||
36: {ID: 36, Name: "Act 2 Desert to Tomb R 2", SelectX: 0, SelectY: -140, SelectDX: 100, SelectDY: 150, OffsetX: 1, OffsetY: 2, Direction: "b"},
|
||||
37: {ID: 37, Name: "Act 2 Desert to Tomb Viper", SelectX: -30, SelectY: -140, SelectDX: 80, SelectDY: 160, OffsetX: 4, OffsetY: 1, Direction: "b"},
|
||||
38: {ID: 38, Name: "Act 2 Desert to Tomb Tal 1", SelectX: -40, SelectY: -190, SelectDX: 90, SelectDY: 210, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
39: {ID: 39, Name: "Act 2 Desert to Tomb Tal 2", SelectX: -40, SelectY: -210, SelectDX: 50, SelectDY: 230, OffsetX: -1, OffsetY: 1, Direction: "b"},
|
||||
40: {ID: 40, Name: "Act 2 Desert to Tomb Tal 3", SelectX: -30, SelectY: -100, SelectDX: 60, SelectDY: 140, OffsetX: 0, OffsetY: 1, Direction: "b"},
|
||||
41: {ID: 41, Name: "Act 2 Desert to Tomb Tal 4", SelectX: -90, SelectY: -140, SelectDX: 70, SelectDY: 160, OffsetX: -1, OffsetY: -5, Direction: "b"},
|
||||
42: {ID: 42, Name: "Act 2 Desert to Tomb Tal 5", SelectX: -10, SelectY: -110, SelectDX: 60, SelectDY: 150, OffsetX: -2, OffsetY: -3, Direction: "b"},
|
||||
43: {ID: 43, Name: "Act 2 Desert to Tomb Tal 6", SelectX: 0, SelectY: -130, SelectDX: 90, SelectDY: 150, OffsetX: -1, OffsetY: 0, Direction: "b"},
|
||||
44: {ID: 44, Name: "Act 2 Desert to Tomb Tal 7", SelectX: -10, SelectY: -210, SelectDX: 70, SelectDY: 240, OffsetX: 0, OffsetY: -3, Direction: "b"},
|
||||
45: {ID: 45, Name: "Act 2 Tomb Up", SelectX: -30, SelectY: -115, SelectDX: 75, SelectDY: 145, OffsetX: 2, OffsetY: 0, Direction: "b"},
|
||||
46: {ID: 46, Name: "Act 2 Tomb Down", SelectX: -45, SelectY: -120, SelectDX: 85, SelectDY: 145, OffsetX: 0, OffsetY: 2, Direction: "b"},
|
||||
47: {ID: 47, Name: "Act 2 Desert to Lair", SelectX: -10, SelectY: -60, SelectDX: 90, SelectDY: 90, OffsetX: -2, OffsetY: 2, Direction: "b"},
|
||||
48: {ID: 48, Name: "Act 2 Lair Up", SelectX: -20, SelectY: -70, SelectDX: 80, SelectDY: 85, OffsetX: 1, OffsetY: 0, Direction: "b"},
|
||||
49: {ID: 49, Name: "Act 2 Lair Down", SelectX: -115, SelectY: -10, SelectDX: 160, SelectDY: 70, OffsetX: -3, OffsetY: -5, Direction: "b"},
|
||||
50: {ID: 50, Name: "Act 2 Desert to Sewer Trap", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
51: {ID: 51, Name: "Act 3 Jungle to Spider", SelectX: -60, SelectY: -70, SelectDX: 70, SelectDY: 90, OffsetX: 0, OffsetY: 1, Direction: "b"},
|
||||
52: {ID: 52, Name: "Act 3 Spider to Jungle", SelectX: 10, SelectY: -100, SelectDX: 80, SelectDY: 110, OffsetX: 4, OffsetY: 1, Direction: "b"},
|
||||
53: {ID: 53, Name: "Act 3 Jungle to Dungeon Fort", SelectX: -15, SelectY: -70, SelectDX: 70, SelectDY: 110, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
54: {ID: 54, Name: "Act 3 Jungle to Dungeon Hole", SelectX: -130, SelectY: -10, SelectDX: 170, SelectDY: 100, OffsetX: -4, OffsetY: -6, Direction: "b"},
|
||||
55: {ID: 55, Name: "Act 3 Dungeon Up", SelectX: -10, SelectY: -100, SelectDX: 90, SelectDY: 130, OffsetX: 3, OffsetY: 1, Direction: "b"},
|
||||
56: {ID: 56, Name: "Act 3 Dungeon Down", SelectX: -40, SelectY: -20, SelectDX: 170, SelectDY: 100, OffsetX: -4, OffsetY: -1, Direction: "b"},
|
||||
57: {ID: 57, Name: "Act 3 Kurast to Sewer", SelectX: -60, SelectY: -40, SelectDX: 120, SelectDY: 90, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
58: {ID: 58, Name: "Act 3 Sewer Up L", SelectX: -75, SelectY: -110, SelectDX: 100, SelectDY: 150, OffsetX: 1, OffsetY: 1, Direction: "b"},
|
||||
59: {ID: 59, Name: "Act 3 Sewer Up R", SelectX: -25, SelectY: -110, SelectDX: 100, SelectDY: 150, OffsetX: 6, OffsetY: 1, Direction: "b"},
|
||||
60: {ID: 60, Name: "Act 3 Sewer Down", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
61: {ID: 61, Name: "Act 3 Kurast to Temple", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
62: {ID: 62, Name: "Act 3 Temple Up L", SelectX: -50, SelectY: -110, SelectDX: 80, SelectDY: 140, OffsetX: 1, OffsetY: 2, Direction: "b"},
|
||||
63: {ID: 63, Name: "Act 3 Temple Up R", SelectX: -30, SelectY: -110, SelectDX: 80, SelectDY: 140, OffsetX: 2, OffsetY: 1, Direction: "b"},
|
||||
64: {ID: 64, Name: "Act 3 Travincal to Mephisto", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
65: {ID: 65, Name: "Act 3 Mephisto Up L", SelectX: -65, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 1, OffsetY: 0, Direction: "b"},
|
||||
66: {ID: 66, Name: "Act 3 Mephisto Up R", SelectX: -60, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 5, OffsetY: 1, Direction: "b"},
|
||||
67: {ID: 67, Name: "Act 3 Mephisto Down L", SelectX: -65, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 1, OffsetY: 0, Direction: "b"},
|
||||
68: {ID: 68, Name: "Act 3 Mephisto Down R", SelectX: -60, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 5, OffsetY: 1, Direction: "b"},
|
||||
69: {ID: 69, Name: "Act 4 Mesa to Lava", SelectX: -60, SelectY: -40, SelectDX: 150, SelectDY: 160, OffsetX: 2, OffsetY: 2, Direction: "b"},
|
||||
70: {ID: 70, Name: "Act 4 Lava to Mesa", SelectX: -90, SelectY: -50, SelectDX: 160, SelectDY: 120, OffsetX: 0, OffsetY: 0, Direction: "b"},
|
||||
71: {ID: 71, Name: "Act 5 Barricade Down Wall L", SelectX: -70, SelectY: -80, SelectDX: 80, SelectDY: 100, OffsetX: 2, OffsetY: 6, Direction: "l"},
|
||||
72: {ID: 72, Name: "Act 5 Barricade Down Wall R", SelectX: -15, SelectY: -90, SelectDX: 70, SelectDY: 100, OffsetX: 6, OffsetY: 2, Direction: "r"},
|
||||
73: {ID: 73, Name: "Act 5 Barricade Down Floor", SelectX: -20, SelectY: -120, SelectDX: 75, SelectDY: 100, OffsetX: 2, OffsetY: 2, Direction: "b"},
|
||||
74: {ID: 74, Name: "Act 5 Ice Caves Up L", SelectX: -60, SelectY: -110, SelectDX: 90, SelectDY: 115, OffsetX: 0, OffsetY: 5, Direction: "l"},
|
||||
75: {ID: 75, Name: "Act 5 Ice Caves Up R", SelectX: -10, SelectY: -120, SelectDX: 100, SelectDY: 120, OffsetX: 5, OffsetY: 1, Direction: "r"},
|
||||
76: {ID: 76, Name: "Act 5 Ice Caves Down L", SelectX: -60, SelectY: -110, SelectDX: 90, SelectDY: 115, OffsetX: 0, OffsetY: 5, Direction: "l"},
|
||||
77: {ID: 77, Name: "Act 5 Ice Caves Down R", SelectX: -20, SelectY: -110, SelectDX: 90, SelectDY: 115, OffsetX: 4, OffsetY: 0, Direction: "r"},
|
||||
78: {ID: 78, Name: "Act 5 Ice Caves Down Floor", SelectX: -5, SelectY: -110, SelectDX: 80, SelectDY: 110, OffsetX: 6, OffsetY: 3, Direction: "b"},
|
||||
79: {ID: 79, Name: "Act 5 Temple Entrance", SelectX: 0, SelectY: -110, SelectDX: 95, SelectDY: 100, OffsetX: 2, OffsetY: 0, Direction: "b"},
|
||||
80: {ID: 80, Name: "Act 5 Temple Down", SelectX: 0, SelectY: -70, SelectDX: 140, SelectDY: 80, OffsetX: -2, OffsetY: 3, Direction: "b"},
|
||||
81: {ID: 81, Name: "Act 5 Temple Up", SelectX: -20, SelectY: -110, SelectDX: 100, SelectDY: 110, OffsetX: 3, OffsetY: 0, Direction: "b"},
|
||||
82: {ID: 82, Name: "Act 5 Mountain Top To Ice", SelectX: -40, SelectY: -110, SelectDX: 0, SelectDY: 0, OffsetX: 2, OffsetY: 1, Direction: "b"},
|
||||
83: {ID: 83, Name: "Act 5 Mountain Top To Baal", SelectX: -20, SelectY: -110, SelectDX: 0, SelectDY: 0, OffsetX: 2, OffsetY: 1, Direction: "b"},
|
||||
84: {ID: 84, Name: "Act 5 Baal Temple Up L", SelectX: -70, SelectY: -110, SelectDX: 95, SelectDY: 115, OffsetX: 1, OffsetY: 4, Direction: "l"},
|
||||
85: {ID: 85, Name: "Act 5 Baal Temple Up R", SelectX: -20, SelectY: -110, SelectDX: 80, SelectDY: 115, OffsetX: 4, OffsetY: 1, Direction: "r"},
|
||||
86: {ID: 86, Name: "Act 5 Baal Temple Down L", SelectX: -70, SelectY: -110, SelectDX: 95, SelectDY: 115, OffsetX: 1, OffsetY: 4, Direction: "l"},
|
||||
87: {ID: 87, Name: "Act 5 Baal Temple Down R", SelectX: -20, SelectY: -110, SelectDX: 80, SelectDY: 115, OffsetX: 4, OffsetY: 1, Direction: "r"},
|
||||
}
|
||||
94
pkg/data/entrance/name.go
Normal file
94
pkg/data/entrance/name.go
Normal file
@@ -0,0 +1,94 @@
|
||||
package entrance
|
||||
|
||||
type Name int
|
||||
|
||||
const (
|
||||
A1WildernessToCliffL Name = iota
|
||||
A1WildernessToCliffR
|
||||
A1WildernessToFloorL
|
||||
A1WildernessToFloorR
|
||||
A1CaveUp
|
||||
A1CaveDown
|
||||
A1GraveyardToCrypt1
|
||||
A1GraveyardToCrypt2
|
||||
A1CryptUp
|
||||
A1CryptDown
|
||||
A1WildernessToTower
|
||||
A1TowertoWilderness
|
||||
A1TowertoCrypt
|
||||
A1JailUp
|
||||
A1JailDown
|
||||
A1CathedralToCatacombs
|
||||
A1CatacombstoCathedral
|
||||
A1CatacombsUp
|
||||
A1CatacombsDown
|
||||
A2TowntoSewerTrap
|
||||
A2TowntoSewerDock
|
||||
A2SewerDocktoTown
|
||||
A2SewerUp
|
||||
A2SewerDown
|
||||
A2TowntoHarem
|
||||
A2HaremtoTown
|
||||
A2HaremUp1
|
||||
A2HaremUp2
|
||||
A2HaremDown1
|
||||
A2HaremDown2
|
||||
A2BasementUp1
|
||||
A2BasementUp2
|
||||
A2BasementDown
|
||||
A2DeserttoTombL1
|
||||
A2DeserttoTombL2
|
||||
A2DeserttoTombR1
|
||||
A2DeserttoTombR2
|
||||
A2DeserttoTombViper
|
||||
A2DeserttoTombTal1
|
||||
A2DeserttoTombTal2
|
||||
A2DeserttoTombTal3
|
||||
A2DeserttoTombTal4
|
||||
A2DeserttoTombTal5
|
||||
A2DeserttoTombTal6
|
||||
A2DeserttoTombTal7
|
||||
A2TombUp
|
||||
A2TombDown
|
||||
A2DeserttoLair
|
||||
A2LairUp
|
||||
A2LairDown
|
||||
A2DeserttoSewerTrap
|
||||
A3JungletoSpider
|
||||
A3SpidertoJungle
|
||||
A3JungletoDungeonFort
|
||||
A3JungletoDungeonHole
|
||||
A3DungeonUp
|
||||
A3DungeonDown
|
||||
A3KurasttoSewer
|
||||
A3SewerUpL
|
||||
A3SewerUpR
|
||||
A3SewerDown
|
||||
A3KurasttoTemple
|
||||
A3TempleUpL
|
||||
A3TempleUpR
|
||||
A3TravincaltoMephisto
|
||||
A3MephistoUpL
|
||||
A3MephistoUpR
|
||||
A3MephistoDownL
|
||||
A3MephistoDownR
|
||||
A4MesatoLava
|
||||
A4LavatoMesa
|
||||
A5BarricadeDownWallL
|
||||
A5BarricadeDownWallR
|
||||
A5BarricadeDownFloor
|
||||
A5IceCavesUpL
|
||||
A5IceCavesUpR
|
||||
A5IceCavesDownL
|
||||
A5IceCavesDownR
|
||||
A5iceCavesDownFloor
|
||||
A5TempleEntrance
|
||||
A5TempleDown
|
||||
A5TempleUp
|
||||
A5MountainTopToIce
|
||||
A5MountainTopToBaal
|
||||
A5BaalTempleUpL
|
||||
A5BaalTempleUpR
|
||||
A5BaalTempleDownL
|
||||
A5BaalTempleDownR
|
||||
)
|
||||
33
pkg/data/entrances.go
Normal file
33
pkg/data/entrances.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"github.com/hectorgimenez/d2go/pkg/data/entrance"
|
||||
)
|
||||
|
||||
type Entrance struct {
|
||||
ID UnitID
|
||||
entrance.Name
|
||||
IsHovered bool
|
||||
Selectable bool
|
||||
Position Position
|
||||
}
|
||||
|
||||
type Entrances []Entrance
|
||||
|
||||
func (e Entrances) FindOne(name entrance.Name) (Entrance, bool) {
|
||||
for _, ent := range e {
|
||||
if ent.Name == name {
|
||||
return ent, true
|
||||
}
|
||||
}
|
||||
return Entrance{}, false
|
||||
}
|
||||
|
||||
func (e Entrances) FindByID(id UnitID) (Entrance, bool) {
|
||||
for _, ent := range e {
|
||||
if ent.ID == id {
|
||||
return ent, true
|
||||
}
|
||||
}
|
||||
return Entrance{}, false
|
||||
}
|
||||
@@ -57,6 +57,7 @@ func (gd *GameReader) GetData() data.Data {
|
||||
PlayerUnit: pu,
|
||||
Inventory: gd.Inventory(rawPlayerUnits, hover),
|
||||
Objects: gd.Objects(pu.Position, hover),
|
||||
Entrances: gd.Entrances(pu.Position, hover),
|
||||
OpenMenus: gd.openMenus(),
|
||||
Widgets: gd.UpdateWidgets(),
|
||||
Roster: roster,
|
||||
|
||||
@@ -3,6 +3,7 @@ package memory
|
||||
import (
|
||||
"sort"
|
||||
|
||||
"github.com/hectorgimenez/d2go/pkg/data/entrance"
|
||||
"github.com/hectorgimenez/d2go/pkg/data/mode"
|
||||
|
||||
"github.com/hectorgimenez/d2go/pkg/data"
|
||||
@@ -97,3 +98,39 @@ func (gd *GameReader) Objects(playerPosition data.Position, hover data.HoverData
|
||||
|
||||
return objects
|
||||
}
|
||||
func (gd *GameReader) Entrances(playerPosition data.Position, hover data.HoverData) []data.Entrance {
|
||||
baseAddr := gd.Process.moduleBaseAddressPtr + gd.offset.UnitTable + (5 * 1024)
|
||||
unitTableBuffer := gd.Process.ReadBytesFromMemory(baseAddr, 128*8)
|
||||
|
||||
var entrances []data.Entrance
|
||||
|
||||
for i := 0; i < 128; i++ {
|
||||
entranceOffset := 8 * i
|
||||
entranceUnitPtr := uintptr(ReadUIntFromBuffer(unitTableBuffer, uint(entranceOffset), Uint64))
|
||||
|
||||
for entranceUnitPtr > 0 {
|
||||
|
||||
if entranceType := gd.Process.ReadUInt(entranceUnitPtr+0x00, Uint32); entranceType == 5 {
|
||||
txtFileNo := gd.Process.ReadUInt(entranceUnitPtr+0x04, Uint32)
|
||||
unitID := gd.Process.ReadUInt(entranceUnitPtr+0x08, Uint32)
|
||||
|
||||
pathPtr := uintptr(gd.Process.ReadUInt(entranceUnitPtr+0x38, Uint64))
|
||||
posX := gd.Process.ReadUInt(pathPtr+0x10, Uint16)
|
||||
posY := gd.Process.ReadUInt(pathPtr+0x14, Uint16)
|
||||
|
||||
entrances = append(entrances, data.Entrance{
|
||||
ID: data.UnitID(unitID),
|
||||
Name: entrance.Name(txtFileNo),
|
||||
IsHovered: data.UnitID(unitID) == hover.UnitID && hover.UnitType == 5 && hover.IsHovered,
|
||||
Position: data.Position{
|
||||
X: int(posX),
|
||||
Y: int(posY),
|
||||
},
|
||||
})
|
||||
}
|
||||
entranceUnitPtr = uintptr(gd.Process.ReadUInt(entranceUnitPtr+0x158, Uint64))
|
||||
}
|
||||
}
|
||||
|
||||
return entrances
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user