Compare commits
1 Commits
132670507c
...
34544ee7bd
Author | SHA1 | Date | |
---|---|---|---|
34544ee7bd |
@@ -127,14 +127,13 @@ func loadMapsFrom(part string) {
|
||||
|
||||
log.Printf("Maps in %s:", mapsPath)
|
||||
for key, gameMap := range gameMaps {
|
||||
rect := gameMap.Rect()
|
||||
hdr := gameMap.Header
|
||||
fmt.Printf(
|
||||
" * `%s`: IsCampaignMap=%v W=%v:%v L=%v:%v SetName=%s\n",
|
||||
key,
|
||||
hdr.IsCampaignMap,
|
||||
rect.Min.X, rect.Max.X,
|
||||
rect.Min.Y, rect.Max.Y,
|
||||
hdr.MinWidth, hdr.MaxWidth,
|
||||
hdr.MinLength, hdr.MaxLength,
|
||||
string(hdr.SetName[:]),
|
||||
)
|
||||
}
|
||||
|
@@ -172,15 +172,18 @@ func (e *env) Update(screenX, screenY int) error {
|
||||
|
||||
func (e *env) Draw(screen *ebiten.Image) error {
|
||||
gameMap := e.gameMap
|
||||
rect := gameMap.Rect()
|
||||
imd, err := ebiten.NewImage(rect.Dx(), rect.Dy(), ebiten.FilterDefault)
|
||||
imd, err := ebiten.NewImage(
|
||||
int(gameMap.MaxWidth),
|
||||
int(gameMap.MaxLength),
|
||||
ebiten.FilterDefault,
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for y := int(rect.Min.Y); y < int(rect.Max.Y); y++ {
|
||||
for x := int(rect.Min.X); x < int(rect.Max.X); x++ {
|
||||
for y := int(gameMap.MinLength); y < int(gameMap.MaxLength); y++ {
|
||||
for x := int(gameMap.MinWidth); x < int(gameMap.MaxWidth); x++ {
|
||||
cell := gameMap.Cells.At(x, y, int(e.state.zIdx))
|
||||
imd.Set(x, y, makeColour(&cell, e.state.cellIdx))
|
||||
}
|
||||
|
4
go.mod
4
go.mod
@@ -1,11 +1,11 @@
|
||||
module code.ur.gs/lupine/ordoor
|
||||
|
||||
go 1.14
|
||||
go 1.12
|
||||
|
||||
require (
|
||||
github.com/BurntSushi/toml v0.3.1
|
||||
github.com/emef/bitfield v0.0.0-20170503144143-7d3f8f823065
|
||||
github.com/hajimehoshi/ebiten v1.11.1
|
||||
github.com/hajimehoshi/ebiten v1.11.0
|
||||
github.com/jfreymuth/oggvorbis v1.0.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
||||
|
2
go.sum
2
go.sum
@@ -19,8 +19,6 @@ github.com/hajimehoshi/ebiten v1.11.0-alpha.2.0.20200101150127-38815ba801a5 h1:h
|
||||
github.com/hajimehoshi/ebiten v1.11.0-alpha.2.0.20200101150127-38815ba801a5/go.mod h1:0SLvfr8iI2NxzpNB/olBM+dLN9Ur5a9szG13wOgQ0nQ=
|
||||
github.com/hajimehoshi/ebiten v1.11.0 h1:+pIxfzfVgRbHGM7wBAJtgzPiWiZopA7lyIKNQqc9amk=
|
||||
github.com/hajimehoshi/ebiten v1.11.0/go.mod h1:aDEhx0K9gSpXw3Cxf2hCXDxPSoF8vgjNqKxrZa/B4Dg=
|
||||
github.com/hajimehoshi/ebiten v1.11.1 h1:7gy2bHBDNtfTh3GlcUAilk3lNWW9fTLaP7iZAodS9F8=
|
||||
github.com/hajimehoshi/ebiten v1.11.1/go.mod h1:aDEhx0K9gSpXw3Cxf2hCXDxPSoF8vgjNqKxrZa/B4Dg=
|
||||
github.com/hajimehoshi/go-mp3 v0.2.1 h1:DH4ns3cPv39n3cs8MPcAlWqPeAwLCK8iNgqvg0QBWI8=
|
||||
github.com/hajimehoshi/go-mp3 v0.2.1/go.mod h1:Rr+2P46iH6PwTPVgSsEwBkon0CK5DxCAeX/Rp65DCTE=
|
||||
github.com/hajimehoshi/oto v0.3.4/go.mod h1:PgjqsBJff0efqL2nlMJidJgVJywLn6M4y8PI4TfeWfA=
|
||||
|
@@ -100,7 +100,7 @@ type Cell struct {
|
||||
}*/
|
||||
|
||||
type Cell struct {
|
||||
Unknown1 byte
|
||||
Unknown byte
|
||||
Surface ObjRef
|
||||
Left ObjRef
|
||||
Right ObjRef
|
||||
@@ -122,39 +122,54 @@ type Cell struct {
|
||||
SquadRelated byte*/
|
||||
}
|
||||
|
||||
/*
|
||||
func (c *Cell) At(n int) byte {
|
||||
return c.Unknown[n]
|
||||
}
|
||||
*/
|
||||
/*
|
||||
func (c *Cell) At(n int) byte {
|
||||
switch n {
|
||||
case 0:
|
||||
return c.Unknown1
|
||||
return c.DoorAndCanisterRelated
|
||||
case 1:
|
||||
return c.Surface.AreaByte
|
||||
return c.DoorLockAndReactorRelated
|
||||
|
||||
case 2:
|
||||
return c.Surface.SpriteAndFlagByte
|
||||
return c.Unknown2
|
||||
case 3:
|
||||
return c.Left.AreaByte
|
||||
return c.Surface.AreaByte
|
||||
case 4:
|
||||
return c.Left.SpriteAndFlagByte
|
||||
return c.Surface.SpriteAndFlagByte
|
||||
case 5:
|
||||
return c.Right.AreaByte
|
||||
return c.Left.AreaByte
|
||||
case 6:
|
||||
return c.Right.SpriteAndFlagByte
|
||||
return c.Left.SpriteAndFlagByte
|
||||
case 7:
|
||||
return c.Center.AreaByte
|
||||
return c.Right.AreaByte
|
||||
case 8:
|
||||
return c.Center.SpriteAndFlagByte
|
||||
return c.Right.SpriteAndFlagByte
|
||||
case 9:
|
||||
return c.Unknown2[0]
|
||||
return c.Center.AreaByte
|
||||
case 10:
|
||||
return c.Unknown2[1]
|
||||
return c.Center.SpriteAndFlagByte
|
||||
case 11:
|
||||
return c.Unknown2[2]
|
||||
return c.Unknown11
|
||||
case 12:
|
||||
return c.Unknown2[3]
|
||||
return c.Unknown12
|
||||
|
||||
case 13:
|
||||
return c.Unknown13
|
||||
case 14:
|
||||
return c.Unknown14
|
||||
case 15:
|
||||
return c.SquadRelated
|
||||
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
*/
|
||||
// Cells is always a fixed size; use At to get a cell according to x,y,z
|
||||
type Cells []Cell
|
||||
|
||||
|
Reference in New Issue
Block a user