mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-27 21:56:19 -04:00
fixing most of the remaining lint errors in d2fileformats (#600)
This commit is contained in:
parent
fc31594277
commit
093ea3682e
@ -1,5 +1,15 @@
|
|||||||
package d2cof
|
package d2cof
|
||||||
|
|
||||||
|
type directionCount int
|
||||||
|
|
||||||
|
const (
|
||||||
|
four directionCount = 4 << iota
|
||||||
|
eight
|
||||||
|
sixteen
|
||||||
|
thirtyTwo
|
||||||
|
sixtyFour
|
||||||
|
)
|
||||||
|
|
||||||
// Dir64ToCof returns the cof direction based on the actual direction
|
// Dir64ToCof returns the cof direction based on the actual direction
|
||||||
func Dir64ToCof(direction, numDirections int) int {
|
func Dir64ToCof(direction, numDirections int) int {
|
||||||
var dir4 = [64]int{
|
var dir4 = [64]int{
|
||||||
@ -32,16 +42,16 @@ func Dir64ToCof(direction, numDirections int) int {
|
|||||||
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
||||||
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63}
|
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63}
|
||||||
|
|
||||||
switch numDirections {
|
switch directionCount(numDirections) {
|
||||||
case 4:
|
case four:
|
||||||
return dir4[direction]
|
return dir4[direction]
|
||||||
case 8:
|
case eight:
|
||||||
return dir8[direction]
|
return dir8[direction]
|
||||||
case 16:
|
case sixteen:
|
||||||
return dir16[direction]
|
return dir16[direction]
|
||||||
case 32:
|
case thirtyTwo:
|
||||||
return dir32[direction]
|
return dir32[direction]
|
||||||
case 64:
|
case sixtyFour:
|
||||||
return dir64[direction]
|
return dir64[direction]
|
||||||
default:
|
default:
|
||||||
return 0
|
return 0
|
||||||
|
@ -10,11 +10,11 @@ type DATColor struct {
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
colorBits = 8
|
colorBits = 8
|
||||||
mask = 0xff
|
mask = 0xff
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
bitShift0 = iota*colorBits
|
bitShift0 = iota * colorBits
|
||||||
bitShift8
|
bitShift8
|
||||||
bitShift16
|
bitShift16
|
||||||
bitShift24
|
bitShift24
|
||||||
@ -50,28 +50,30 @@ func (c *DATColor) SetRGBA(rgba uint32) {
|
|||||||
c.r, c.g, c.b, c.a = toComponent(rgba)
|
c.r, c.g, c.b, c.a = toComponent(rgba)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BGRA gets the combination of the color components (0xBBGGRRAA)
|
||||||
func (c *DATColor) BGRA() uint32 {
|
func (c *DATColor) BGRA() uint32 {
|
||||||
return toComposite(c.b, c.g, c.r, c.a)
|
return toComposite(c.b, c.g, c.r, c.a)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetBGRA sets the color components using the given BGRA form
|
||||||
func (c *DATColor) SetBGRA(bgra uint32) {
|
func (c *DATColor) SetBGRA(bgra uint32) {
|
||||||
c.b, c.g, c.r, c.a = toComponent(bgra)
|
c.b, c.g, c.r, c.a = toComponent(bgra)
|
||||||
}
|
}
|
||||||
|
|
||||||
func toComposite (w,x,y,z uint8) uint32 {
|
func toComposite(w, x, y, z uint8) uint32 {
|
||||||
composite := uint32(w)<<bitShift24
|
composite := uint32(w) << bitShift24
|
||||||
composite += uint32(x)<<bitShift16
|
composite += uint32(x) << bitShift16
|
||||||
composite += uint32(y)<<bitShift8
|
composite += uint32(y) << bitShift8
|
||||||
composite += uint32(z)<<bitShift0
|
composite += uint32(z) << bitShift0
|
||||||
|
|
||||||
return composite
|
return composite
|
||||||
}
|
}
|
||||||
|
|
||||||
func toComponent (wxyz uint32) (w,x,y,z uint8){
|
func toComponent(wxyz uint32) (w, x, y, z uint8) {
|
||||||
w = uint8(wxyz>>bitShift24 & mask)
|
w = uint8(wxyz >> bitShift24 & mask)
|
||||||
x = uint8(wxyz>>bitShift16 & mask)
|
x = uint8(wxyz >> bitShift16 & mask)
|
||||||
y = uint8(wxyz>>bitShift8 & mask)
|
y = uint8(wxyz >> bitShift8 & mask)
|
||||||
z = uint8(wxyz>>bitShift0 & mask)
|
z = uint8(wxyz >> bitShift0 & mask)
|
||||||
|
|
||||||
return w, x, y, z
|
return w, x, y, z
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package d2dat
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2interface"
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2interface"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -4,6 +4,11 @@ import (
|
|||||||
"github.com/OpenDiablo2/OpenDiablo2/d2common"
|
"github.com/OpenDiablo2/OpenDiablo2/d2common"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
endOfScanLine = 0x80
|
||||||
|
maxRunLength = 0x7f
|
||||||
|
)
|
||||||
|
|
||||||
// DC6 represents a DC6 file.
|
// DC6 represents a DC6 file.
|
||||||
type DC6 struct {
|
type DC6 struct {
|
||||||
Version int32
|
Version int32
|
||||||
@ -41,6 +46,7 @@ func Load(data []byte) (*DC6, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dc.Frames = make([]*DC6Frame, frameCount)
|
dc.Frames = make([]*DC6Frame, frameCount)
|
||||||
|
|
||||||
for i := 0; i < frameCount; i++ {
|
for i := 0; i < frameCount; i++ {
|
||||||
frame := &DC6Frame{
|
frame := &DC6Frame{
|
||||||
Flipped: r.GetUInt32(),
|
Flipped: r.GetUInt32(),
|
||||||
@ -73,7 +79,7 @@ func (d *DC6) DecodeFrame(frameIndex int) []byte {
|
|||||||
b := int(frame.FrameData[offset])
|
b := int(frame.FrameData[offset])
|
||||||
offset++
|
offset++
|
||||||
|
|
||||||
if b == 0x80 {
|
if b == endOfScanLine {
|
||||||
if y == 0 {
|
if y == 0 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -81,8 +87,8 @@ func (d *DC6) DecodeFrame(frameIndex int) []byte {
|
|||||||
y--
|
y--
|
||||||
|
|
||||||
x = 0
|
x = 0
|
||||||
} else if b&0x80 > 0 {
|
} else if b&endOfScanLine > 0 {
|
||||||
transparentPixels := b & 0x7f
|
transparentPixels := b & maxRunLength
|
||||||
x += transparentPixels
|
x += transparentPixels
|
||||||
} else {
|
} else {
|
||||||
for i := 0; i < b; i++ {
|
for i := 0; i < b; i++ {
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package d2dcc
|
package d2dcc
|
||||||
|
|
||||||
|
type directionCount int
|
||||||
|
|
||||||
|
const (
|
||||||
|
four directionCount = 4 << iota
|
||||||
|
eight
|
||||||
|
sixteen
|
||||||
|
thirtyTwo
|
||||||
|
sixtyFour
|
||||||
|
)
|
||||||
|
|
||||||
// Dir64ToDcc returns the DCC direction based on the actual direction.
|
// Dir64ToDcc returns the DCC direction based on the actual direction.
|
||||||
// Special thanks for Necrolis for these tables!
|
// Special thanks for Necrolis for these tables!
|
||||||
func Dir64ToDcc(direction, numDirections int) int {
|
func Dir64ToDcc(direction, numDirections int) int {
|
||||||
@ -33,16 +43,16 @@ func Dir64ToDcc(direction, numDirections int) int {
|
|||||||
6, 48, 24, 49, 12, 50, 25, 51, 2, 52, 26, 53, 13, 54, 27, 55,
|
6, 48, 24, 49, 12, 50, 25, 51, 2, 52, 26, 53, 13, 54, 27, 55,
|
||||||
7, 56, 28, 57, 14, 58, 29, 59, 3, 60, 30, 61, 15, 62, 31, 63}
|
7, 56, 28, 57, 14, 58, 29, 59, 3, 60, 30, 61, 15, 62, 31, 63}
|
||||||
|
|
||||||
switch numDirections {
|
switch directionCount(numDirections) {
|
||||||
case 4:
|
case four:
|
||||||
return dir4[direction]
|
return dir4[direction]
|
||||||
case 8:
|
case eight:
|
||||||
return dir8[direction]
|
return dir8[direction]
|
||||||
case 16:
|
case sixteen:
|
||||||
return dir16[direction]
|
return dir16[direction]
|
||||||
case 32:
|
case thirtyTwo:
|
||||||
return dir32[direction]
|
return dir32[direction]
|
||||||
case 64:
|
case sixtyFour:
|
||||||
return dir64[direction]
|
return dir64[direction]
|
||||||
default:
|
default:
|
||||||
return 0
|
return 0
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package d2dt1
|
package d2dt1
|
||||||
|
|
||||||
|
// Tile is a representation of a map tile
|
||||||
type Tile struct {
|
type Tile struct {
|
||||||
Direction int32
|
Direction int32
|
||||||
RoofHeight int16
|
RoofHeight int16
|
||||||
@ -16,15 +17,15 @@ type Tile struct {
|
|||||||
Blocks []Block
|
Blocks []Block
|
||||||
}
|
}
|
||||||
|
|
||||||
var subtileLookup = [5][5]int{
|
// GetSubTileFlags returns the tile flags for the given subtile
|
||||||
{20, 21, 22, 23, 24},
|
|
||||||
{15, 16, 17, 18, 19},
|
|
||||||
{10, 11, 12, 13, 14},
|
|
||||||
{5, 6, 7, 8, 9},
|
|
||||||
{0, 1, 2, 3, 4},
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Tile) GetSubTileFlags(x, y int) *SubTileFlags {
|
func (t *Tile) GetSubTileFlags(x, y int) *SubTileFlags {
|
||||||
|
var subtileLookup = [5][5]int{
|
||||||
|
{20, 21, 22, 23, 24},
|
||||||
|
{15, 16, 17, 18, 19},
|
||||||
|
{10, 11, 12, 13, 14},
|
||||||
|
{5, 6, 7, 8, 9},
|
||||||
|
{0, 1, 2, 3, 4},
|
||||||
|
}
|
||||||
|
|
||||||
return &t.SubTileFlags[subtileLookup[y][x]]
|
return &t.SubTileFlags[subtileLookup[y][x]]
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package d2mpq
|
package d2mpq
|
||||||
|
|
||||||
// hashEntryMap represents a hash entry map
|
// HashEntryMap represents a hash entry map
|
||||||
type HashEntryMap struct {
|
type HashEntryMap struct {
|
||||||
entries map[uint64]HashTableEntry
|
entries map[uint64]HashTableEntry
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user