mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2025-02-09 18:17:07 -05:00
Merge branch 'master' into date-encoder-font
This commit is contained in:
commit
b2e10ca43e
@ -9,7 +9,7 @@ jobs:
|
|||||||
working_directory: /go/src/github.com/{{ORG_NAME}}/{{REPO_NAME}}
|
working_directory: /go/src/github.com/{{ORG_NAME}}/{{REPO_NAME}}
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run: sudo apt-get install -y libgtk-3-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libsdl2-dev libasound2-dev > /dev/null 2>&1
|
- run: sudo apt-get --allow-releaseinfo-change update && sudo apt-get install -y libgtk-3-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libsdl2-dev libasound2-dev > /dev/null 2>&1
|
||||||
- run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
|
- run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
|
||||||
- run: go get -v -t -d ./...
|
- run: go get -v -t -d ./...
|
||||||
- run: go build .
|
- run: go build .
|
||||||
|
2
.github/workflows/pullRequest.yml
vendored
2
.github/workflows/pullRequest.yml
vendored
@ -22,7 +22,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Run golangci-lint
|
- name: Run golangci-lint
|
||||||
continue-on-error: false
|
continue-on-error: false
|
||||||
uses: golangci/golangci-lint-action@v2.3.0
|
uses: golangci/golangci-lint-action@v2.4.0
|
||||||
with:
|
with:
|
||||||
version: v1.32
|
version: v1.32
|
||||||
|
|
||||||
|
@ -54,9 +54,9 @@ type DS1 struct {
|
|||||||
NumberOfSubstitutionLayers int32 // SubstitutionNum number of substitution layer used
|
NumberOfSubstitutionLayers int32 // SubstitutionNum number of substitution layer used
|
||||||
SubstitutionGroupsNum int32 // SubstitutionGroupsNum number of substitution groups, datas between objects & NPC paths
|
SubstitutionGroupsNum int32 // SubstitutionGroupsNum number of substitution groups, datas between objects & NPC paths
|
||||||
unknown1 []byte
|
unknown1 []byte
|
||||||
layerStreamTypes []d2enum.LayerStreamType
|
LayerStreamTypes []d2enum.LayerStreamType
|
||||||
unknown2 uint32
|
unknown2 uint32
|
||||||
npcIndexes []int
|
NpcIndexes []int
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadDS1 loads the specified DS1 file
|
// LoadDS1 loads the specified DS1 file
|
||||||
@ -102,7 +102,7 @@ func LoadDS1(fileData []byte) (*DS1, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ds1.layerStreamTypes = ds1.setupStreamLayerTypes()
|
ds1.LayerStreamTypes = ds1.setupStreamLayerTypes()
|
||||||
|
|
||||||
ds1.Tiles = make([][]TileRecord, ds1.Height)
|
ds1.Tiles = make([][]TileRecord, ds1.Height)
|
||||||
|
|
||||||
@ -399,7 +399,7 @@ func (ds1 *DS1) loadNPCs(br *d2datautils.StreamReader) error {
|
|||||||
for idx, ds1Obj := range ds1.Objects {
|
for idx, ds1Obj := range ds1.Objects {
|
||||||
if ds1Obj.X == int(npcX) && ds1Obj.Y == int(npcY) {
|
if ds1Obj.X == int(npcX) && ds1Obj.Y == int(npcY) {
|
||||||
objIdx = idx
|
objIdx = idx
|
||||||
ds1.npcIndexes = append(ds1.npcIndexes, idx)
|
ds1.NpcIndexes = append(ds1.NpcIndexes, idx)
|
||||||
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -468,8 +468,8 @@ func (ds1 *DS1) loadLayerStreams(br *d2datautils.StreamReader) error {
|
|||||||
0x0F, 0x10, 0x11, 0x12, 0x14,
|
0x0F, 0x10, 0x11, 0x12, 0x14,
|
||||||
}
|
}
|
||||||
|
|
||||||
for lIdx := range ds1.layerStreamTypes {
|
for lIdx := range ds1.LayerStreamTypes {
|
||||||
layerStreamType := ds1.layerStreamTypes[lIdx]
|
layerStreamType := ds1.LayerStreamTypes[lIdx]
|
||||||
|
|
||||||
for y := 0; y < int(ds1.Height); y++ {
|
for y := 0; y < int(ds1.Height); y++ {
|
||||||
for x := 0; x < int(ds1.Width); x++ {
|
for x := 0; x < int(ds1.Width); x++ {
|
||||||
@ -589,8 +589,8 @@ func (ds1 *DS1) Marshal() []byte {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ds1 *DS1) encodeLayers(sw *d2datautils.StreamWriter) {
|
func (ds1 *DS1) encodeLayers(sw *d2datautils.StreamWriter) {
|
||||||
for lIdx := range ds1.layerStreamTypes {
|
for lIdx := range ds1.LayerStreamTypes {
|
||||||
layerStreamType := ds1.layerStreamTypes[lIdx]
|
layerStreamType := ds1.LayerStreamTypes[lIdx]
|
||||||
|
|
||||||
for y := 0; y < int(ds1.Height); y++ {
|
for y := 0; y < int(ds1.Height); y++ {
|
||||||
for x := 0; x < int(ds1.Width); x++ {
|
for x := 0; x < int(ds1.Width); x++ {
|
||||||
@ -622,10 +622,10 @@ func (ds1 *DS1) encodeLayers(sw *d2datautils.StreamWriter) {
|
|||||||
|
|
||||||
func (ds1 *DS1) encodeNPCs(sw *d2datautils.StreamWriter) {
|
func (ds1 *DS1) encodeNPCs(sw *d2datautils.StreamWriter) {
|
||||||
// Step 5.1 - encode npc's
|
// Step 5.1 - encode npc's
|
||||||
sw.PushUint32(uint32(len(ds1.npcIndexes)))
|
sw.PushUint32(uint32(len(ds1.NpcIndexes)))
|
||||||
|
|
||||||
// Step 5.2 - enoce npcs' paths
|
// Step 5.2 - enoce npcs' paths
|
||||||
for _, i := range ds1.npcIndexes {
|
for _, i := range ds1.NpcIndexes {
|
||||||
sw.PushUint32(uint32(len(ds1.Objects[i].Paths)))
|
sw.PushUint32(uint32(len(ds1.Objects[i].Paths)))
|
||||||
sw.PushUint32(uint32(ds1.Objects[i].X))
|
sw.PushUint32(uint32(ds1.Objects[i].X))
|
||||||
sw.PushUint32(uint32(ds1.Objects[i].Y))
|
sw.PushUint32(uint32(ds1.Objects[i].Y))
|
||||||
|
@ -37,7 +37,7 @@ type FloorShadowRecord struct {
|
|||||||
Unknown1 byte
|
Unknown1 byte
|
||||||
Style byte
|
Style byte
|
||||||
Unknown2 byte
|
Unknown2 byte
|
||||||
hidden byte
|
HiddenBytes byte
|
||||||
RandomIndex byte
|
RandomIndex byte
|
||||||
Animated bool
|
Animated bool
|
||||||
YAdjust int
|
YAdjust int
|
||||||
@ -45,7 +45,7 @@ type FloorShadowRecord struct {
|
|||||||
|
|
||||||
// Hidden returns if floor/shadow is hidden
|
// Hidden returns if floor/shadow is hidden
|
||||||
func (f *FloorShadowRecord) Hidden() bool {
|
func (f *FloorShadowRecord) Hidden() bool {
|
||||||
return f.hidden > 0
|
return f.HiddenBytes > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decode decodes floor-shadow record
|
// Decode decodes floor-shadow record
|
||||||
@ -55,7 +55,7 @@ func (f *FloorShadowRecord) Decode(dw uint32) {
|
|||||||
f.Unknown1 = byte((dw & unknown1Bitmask) >> unknown1Offset)
|
f.Unknown1 = byte((dw & unknown1Bitmask) >> unknown1Offset)
|
||||||
f.Style = byte((dw & styleBitmask) >> styleOffset)
|
f.Style = byte((dw & styleBitmask) >> styleOffset)
|
||||||
f.Unknown2 = byte((dw & unknown2Bitmask) >> unknown2Offset)
|
f.Unknown2 = byte((dw & unknown2Bitmask) >> unknown2Offset)
|
||||||
f.hidden = byte((dw & hiddenBitmask) >> hiddenOffset)
|
f.HiddenBytes = byte((dw & hiddenBitmask) >> hiddenOffset)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Encode adds Floor's bits to stream writter given
|
// Encode adds Floor's bits to stream writter given
|
||||||
@ -65,5 +65,5 @@ func (f *FloorShadowRecord) Encode(sw *d2datautils.StreamWriter) {
|
|||||||
sw.PushBits32(uint32(f.Unknown1), unknown1Length)
|
sw.PushBits32(uint32(f.Unknown1), unknown1Length)
|
||||||
sw.PushBits32(uint32(f.Style), styleLength)
|
sw.PushBits32(uint32(f.Style), styleLength)
|
||||||
sw.PushBits32(uint32(f.Unknown2), unknown2Length)
|
sw.PushBits32(uint32(f.Unknown2), unknown2Length)
|
||||||
sw.PushBits32(uint32(f.hidden), hiddenLength)
|
sw.PushBits32(uint32(f.HiddenBytes), hiddenLength)
|
||||||
}
|
}
|
||||||
|
@ -14,14 +14,14 @@ type WallRecord struct {
|
|||||||
Unknown1 byte
|
Unknown1 byte
|
||||||
Style byte
|
Style byte
|
||||||
Unknown2 byte
|
Unknown2 byte
|
||||||
hidden byte
|
HiddenBytes byte
|
||||||
RandomIndex byte
|
RandomIndex byte
|
||||||
YAdjust int
|
YAdjust int
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hidden returns if wall is hidden
|
// Hidden returns if wall is hidden
|
||||||
func (w *WallRecord) Hidden() bool {
|
func (w *WallRecord) Hidden() bool {
|
||||||
return w.hidden > 0
|
return w.HiddenBytes > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decode decodes wall record
|
// Decode decodes wall record
|
||||||
@ -31,7 +31,7 @@ func (w *WallRecord) Decode(dw uint32) {
|
|||||||
w.Unknown1 = byte((dw & unknown1Bitmask) >> unknown1Offset)
|
w.Unknown1 = byte((dw & unknown1Bitmask) >> unknown1Offset)
|
||||||
w.Style = byte((dw & styleBitmask) >> styleOffset)
|
w.Style = byte((dw & styleBitmask) >> styleOffset)
|
||||||
w.Unknown2 = byte((dw & unknown2Bitmask) >> unknown2Offset)
|
w.Unknown2 = byte((dw & unknown2Bitmask) >> unknown2Offset)
|
||||||
w.hidden = byte((dw & hiddenBitmask) >> hiddenOffset)
|
w.HiddenBytes = byte((dw & hiddenBitmask) >> hiddenOffset)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Encode adds wall's record's bytes into stream writer given
|
// Encode adds wall's record's bytes into stream writer given
|
||||||
@ -41,5 +41,5 @@ func (w *WallRecord) Encode(sw *d2datautils.StreamWriter) {
|
|||||||
sw.PushBits32(uint32(w.Unknown1), unknown1Length)
|
sw.PushBits32(uint32(w.Unknown1), unknown1Length)
|
||||||
sw.PushBits32(uint32(w.Style), styleLength)
|
sw.PushBits32(uint32(w.Style), styleLength)
|
||||||
sw.PushBits32(uint32(w.Unknown2), unknown2Length)
|
sw.PushBits32(uint32(w.Unknown2), unknown2Length)
|
||||||
sw.PushBits32(uint32(w.hidden), hiddenLength)
|
sw.PushBits32(uint32(w.HiddenBytes), hiddenLength)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user