1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-06-05 15:30:42 +00:00

Move d2config to d2core, remove d2helper (#282)

This commit is contained in:
Alex Yatskov 2020-02-01 18:06:22 -08:00 committed by GitHub
parent b5c1f5222d
commit ea4450f207
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 83 additions and 96 deletions

View File

@ -4,7 +4,7 @@ import (
"log"
"strings"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
type LevelPresetRecord struct {

View File

@ -4,7 +4,7 @@ import (
"log"
"strings"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
type LevelTypeRecord struct {

View File

@ -3,7 +3,7 @@ package d2datadict
import (
"strings"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
func MapHeaders(line string) map[string]int {

View File

@ -5,8 +5,7 @@ import (
"strings"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
type MissileCalcParam struct {

View File

@ -4,7 +4,7 @@ import (
"log"
"strings"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
// An ObjectRecord represents the settings for one type of object from objects.txt

View File

@ -4,7 +4,7 @@ import (
"log"
"strings"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
// SoundEntry represents a sound entry

View File

@ -6,7 +6,7 @@ import (
"github.com/OpenDiablo2/OpenDiablo2/d2common"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
)
type UniqueItemRecord struct {

View File

@ -4,7 +4,6 @@ import (
"log"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
)
type DCCDirection struct {
@ -50,10 +49,10 @@ func CreateDCCDirection(bm *d2common.BitMuncher, file DCC) DCCDirection {
// Load the frame headers
for frameIdx := 0; frameIdx < file.FramesPerDirection; frameIdx++ {
result.Frames[frameIdx] = CreateDCCDirectionFrame(bm, result)
minx = int(d2helper.MinInt32(int32(result.Frames[frameIdx].Box.Left), int32(minx)))
miny = int(d2helper.MinInt32(int32(result.Frames[frameIdx].Box.Top), int32(miny)))
maxx = int(d2helper.MaxInt32(int32(result.Frames[frameIdx].Box.Right()), int32(maxx)))
maxy = int(d2helper.MaxInt32(int32(result.Frames[frameIdx].Box.Bottom()), int32(maxy)))
minx = int(d2common.MinInt32(int32(result.Frames[frameIdx].Box.Left), int32(minx)))
miny = int(d2common.MinInt32(int32(result.Frames[frameIdx].Box.Top), int32(miny)))
maxx = int(d2common.MaxInt32(int32(result.Frames[frameIdx].Box.Right()), int32(maxx)))
maxy = int(d2common.MaxInt32(int32(result.Frames[frameIdx].Box.Bottom()), int32(maxy)))
}
result.Box = d2common.Rectangle{minx, miny, (maxx - minx), (maxy - miny)}
if result.OptionalDataBits > 0 {

View File

@ -5,7 +5,6 @@ import (
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
)
type DS1 struct {
@ -37,7 +36,7 @@ func LoadDS1(fileData []byte) DS1 {
ds1.Width = br.GetInt32() + 1
ds1.Height = br.GetInt32() + 1
if ds1.Version >= 8 {
ds1.Act = d2helper.MinInt32(5, br.GetInt32()+1)
ds1.Act = d2common.MinInt32(5, br.GetInt32()+1)
}
if ds1.Version >= 10 {
ds1.SubstitutionType = br.GetInt32()

View File

@ -10,9 +10,9 @@ import (
"log"
"strings"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/JoshVarga/blast"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2compression"
)
@ -104,7 +104,7 @@ func (v *Stream) readInternalSingleUnit(buffer []byte, offset, count uint32) uin
v.loadSingleUnit()
}
bytesToCopy := d2helper.Min(uint32(len(v.CurrentData))-v.CurrentPosition, count)
bytesToCopy := d2common.Min(uint32(len(v.CurrentData))-v.CurrentPosition, count)
copy(buffer[offset:offset+bytesToCopy], v.CurrentData[v.CurrentPosition:v.CurrentPosition+bytesToCopy])
v.CurrentPosition += bytesToCopy
return bytesToCopy
@ -113,7 +113,7 @@ func (v *Stream) readInternalSingleUnit(buffer []byte, offset, count uint32) uin
func (v *Stream) readInternal(buffer []byte, offset, count uint32) uint32 {
v.bufferData()
localPosition := v.CurrentPosition % v.BlockSize
bytesToCopy := d2helper.MinInt32(int32(len(v.CurrentData))-int32(localPosition), int32(count))
bytesToCopy := d2common.MinInt32(int32(len(v.CurrentData))-int32(localPosition), int32(count))
if bytesToCopy <= 0 {
return 0
}
@ -127,7 +127,7 @@ func (v *Stream) bufferData() {
if requiredBlock == v.CurrentBlockIndex {
return
}
expectedLength := d2helper.Min(v.BlockTableEntry.UncompressedFileSize-(requiredBlock*v.BlockSize), v.BlockSize)
expectedLength := d2common.Min(v.BlockTableEntry.UncompressedFileSize-(requiredBlock*v.BlockSize), v.BlockSize)
v.CurrentData = v.loadBlock(requiredBlock, expectedLength)
v.CurrentBlockIndex = requiredBlock
}

View File

@ -1,4 +1,4 @@
package d2helper
package d2common
import "math"

View File

@ -1,4 +1,4 @@
package d2helper
package d2common
import (
"bytes"
@ -141,7 +141,7 @@ func SplitIntoLinesWithMaxWidth(fullSentence string, maxChars int) []string {
}
func splitCjkIntoChunks(str string, chars int) []string {
chunks := make([]string, chars / len(str))
chunks := make([]string, chars/len(str))
i, count := 0, 0
for j, ch := range str {
if ch < unicode.MaxLatin1 {

View File

@ -1,4 +1,4 @@
package d2helper
package d2common
import "time"

View File

@ -5,10 +5,10 @@ import (
"image/color"
"math"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2dc6"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2dcc"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
)
@ -60,10 +60,10 @@ func createAnimationFromDCC(dcc *d2dcc.DCC, palette *d2datadict.PaletteRec, tran
minX, minY := math.MaxInt32, math.MaxInt32
maxX, maxY := math.MinInt32, math.MinInt32
for _, dccFrame := range dccDirection.Frames {
minX = d2helper.MinInt(minX, dccFrame.Box.Left)
minY = d2helper.MinInt(minY, dccFrame.Box.Top)
maxX = d2helper.MaxInt(maxX, dccFrame.Box.Right())
maxY = d2helper.MaxInt(maxY, dccFrame.Box.Bottom())
minX = d2common.MinInt(minX, dccFrame.Box.Left)
minY = d2common.MinInt(minY, dccFrame.Box.Top)
maxX = d2common.MaxInt(maxX, dccFrame.Box.Right())
maxY = d2common.MaxInt(maxY, dccFrame.Box.Bottom())
}
frameWidth := maxX - minX
@ -222,8 +222,8 @@ func (a *Animation) GetFrameBounds() (int, int) {
direction := a.directions[a.directionIndex]
for _, frame := range direction.frames {
maxWidth = d2helper.MaxInt(maxWidth, frame.width)
maxHeight = d2helper.MaxInt(maxHeight, frame.height)
maxWidth = d2common.MaxInt(maxWidth, frame.width)
maxHeight = d2common.MaxInt(maxHeight, frame.height)
}
return maxWidth, maxHeight

View File

@ -6,8 +6,8 @@ import (
"sync"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2mpq"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
)
type archiveEntry struct {

View File

@ -3,10 +3,10 @@ package d2asset
import (
"log"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2mpq"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2term"
)

View File

@ -4,8 +4,9 @@ import (
"strings"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2resource"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
)
const (

View File

@ -4,9 +4,9 @@ import (
"math"
"math/rand"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
)
@ -87,7 +87,7 @@ func (v *AnimatedEntity) getStepLength(tickTime float64) (float64, float64) {
speed := 6.0
length := tickTime * speed
angle := 359 - d2helper.GetAngleBetween(
angle := 359 - d2common.GetAngleBetween(
v.LocationX,
v.LocationY,
v.TargetX,
@ -102,10 +102,10 @@ func (v *AnimatedEntity) getStepLength(tickTime float64) (float64, float64) {
func (v *AnimatedEntity) Step(tickTime float64) {
stepX, stepY := v.getStepLength(tickTime)
if d2helper.AlmostEqual(v.LocationX, v.TargetX, stepX) {
if d2common.AlmostEqual(v.LocationX, v.TargetX, stepX) {
v.LocationX = v.TargetX
}
if d2helper.AlmostEqual(v.LocationY, v.TargetY, stepY) {
if d2common.AlmostEqual(v.LocationY, v.TargetY, stepY) {
v.LocationY = v.TargetY
}
if v.LocationX != v.TargetX {
@ -145,7 +145,7 @@ func (v *AnimatedEntity) Step(tickTime float64) {
// SetTarget sets target coordinates and changes animation based on proximity and direction
func (v *AnimatedEntity) SetTarget(tx, ty float64, action int32) {
angle := 359 - d2helper.GetAngleBetween(
angle := 359 - d2common.GetAngleBetween(
v.LocationX,
v.LocationY,
tx,

View File

@ -7,17 +7,14 @@ import (
"math/rand"
"strconv"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2ds1"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2dt1"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2resource"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
)
@ -490,10 +487,10 @@ func (mr *MapRegion) generateFloorCache(tile *d2ds1.FloorShadowRecord, tileX, ti
}
tileYMinimum := int32(0)
for _, block := range tileData[i].Blocks {
tileYMinimum = d2helper.MinInt32(tileYMinimum, int32(block.Y))
tileYMinimum = d2common.MinInt32(tileYMinimum, int32(block.Y))
}
tileYOffset := d2helper.AbsInt32(tileYMinimum)
tileHeight := d2helper.AbsInt32(tileData[i].Height)
tileYOffset := d2common.AbsInt32(tileYMinimum)
tileHeight := d2common.AbsInt32(tileData[i].Height)
_, image := d2render.NewSurface(int(tileData[i].Width), int(tileHeight), d2render.FilterNearest)
pixels := make([]byte, 4*tileData[i].Width*tileHeight)
mr.decodeTileGfxData(tileData[i].Blocks, &pixels, tileYOffset, tileData[i].Width)
@ -517,8 +514,8 @@ func (mr *MapRegion) generateShadowCache(tile *d2ds1.FloorShadowRecord, tileX, t
tileMinY := int32(0)
tileMaxY := int32(0)
for _, block := range tileData.Blocks {
tileMinY = d2helper.MinInt32(tileMinY, int32(block.Y))
tileMaxY = d2helper.MaxInt32(tileMaxY, int32(block.Y+32))
tileMinY = d2common.MinInt32(tileMinY, int32(block.Y))
tileMaxY = d2common.MaxInt32(tileMaxY, int32(block.Y+32))
}
tileYOffset := -tileMinY
tileHeight := int(tileMaxY - tileMinY)
@ -566,11 +563,11 @@ func (mr *MapRegion) generateWallCache(tile *d2ds1.WallRecord, tileX, tileY int)
}
for _, block := range target.Blocks {
tileMinY = d2helper.MinInt32(tileMinY, int32(block.Y))
tileMaxY = d2helper.MaxInt32(tileMaxY, int32(block.Y+32))
tileMinY = d2common.MinInt32(tileMinY, int32(block.Y))
tileMaxY = d2common.MaxInt32(tileMaxY, int32(block.Y+32))
}
realHeight := d2helper.MaxInt32(d2helper.AbsInt32(tileData.Height), tileMaxY-tileMinY)
realHeight := d2common.MaxInt32(d2common.AbsInt32(tileData.Height), tileMaxY-tileMinY)
tileYOffset := -tileMinY
//tileHeight := int(tileMaxY - tileMinY)

View File

@ -4,12 +4,11 @@ import (
"image"
"log"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2config"
"github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/ebitenutil"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
)
type EbitenRenderer struct {

View File

@ -13,7 +13,7 @@ import (
"strconv"
"strings"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2input"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
)
@ -130,7 +130,7 @@ func (t *terminal) advance(elapsed float64) error {
}
func (t *terminal) OnKeyDown(event d2input.KeyEvent) bool {
maxOutputIndex := d2helper.MaxInt(0, len(t.outputHistory)-t.lineCount)
maxOutputIndex := d2common.MaxInt(0, len(t.outputHistory)-t.lineCount)
if t.visState == termVisHiding || t.visState == termVisHidden {
if event.Key == d2input.KeyGraveAccent {
@ -180,7 +180,7 @@ func (t *terminal) OnKeyDown(event d2input.KeyEvent) bool {
if event.Key == d2input.KeyUp {
if event.KeyMod == d2input.KeyModControl {
t.lineCount = d2helper.MaxInt(0, t.lineCount-1)
t.lineCount = d2common.MaxInt(0, t.lineCount-1)
} else if len(t.commandHistory) > 0 {
t.command = t.commandHistory[t.commandIndex]
if t.commandIndex == 0 {
@ -194,7 +194,7 @@ func (t *terminal) OnKeyDown(event d2input.KeyEvent) bool {
}
if event.Key == d2input.KeyDown && event.KeyMod == d2input.KeyModControl {
t.lineCount = d2helper.MinInt(t.lineCount+1, termRowCountMax)
t.lineCount = d2common.MinInt(t.lineCount+1, termRowCountMax)
return true
}

View File

@ -1,17 +1,14 @@
package d2ui
import (
"encoding/binary"
"image/color"
"strings"
"unicode"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"encoding/binary"
"unicode"
)
var fontCache = map[string]*Font{}
@ -91,7 +88,7 @@ func (v *Font) GetTextMetrics(text string) (width, height int) {
_, maxCharHeight := v.fontSprite.GetFrameBounds()
for _, ch := range text {
if ch == '\n' {
width = d2helper.MaxInt(width, curWidth)
width = d2common.MaxInt(width, curWidth)
curWidth = 0
height += maxCharHeight + 6
continue
@ -99,7 +96,7 @@ func (v *Font) GetTextMetrics(text string) (width, height int) {
curWidth += v.getCharWidth(ch)
}
width = d2helper.MaxInt(width, curWidth)
width = d2common.MaxInt(width, curWidth)
height += maxCharHeight
return
}
@ -111,7 +108,7 @@ func (v *Font) Render(x, y int, text string, color color.Color, target d2render.
maxCharHeight := uint32(0)
for _, m := range v.metrics {
maxCharHeight = d2helper.Max(maxCharHeight, uint32(m.Height))
maxCharHeight = d2common.Max(maxCharHeight, uint32(m.Height))
}
targetWidth, _ := target.GetSize()

View File

@ -4,10 +4,9 @@ import (
"errors"
"image/color"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
)
type Sprite struct {
@ -53,7 +52,7 @@ func (s *Sprite) RenderSegmented(target d2render.Surface, segmentsX, segmentsY,
}
frameWidth, frameHeight := s.GetCurrentFrameSize()
maxFrameHeight = d2helper.MaxInt(maxFrameHeight, frameHeight)
maxFrameHeight = d2common.MaxInt(maxFrameHeight, frameHeight)
currentX += frameWidth
}

View File

@ -5,15 +5,13 @@ import (
"runtime"
"strconv"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2ui"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2scene"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2input"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2term"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2scene"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2term"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2ui"
)
var loadingSprite *d2ui.Sprite // The sprite shown when loading stuff
@ -30,7 +28,7 @@ func Initialize(loadingSpr *d2ui.Sprite) error {
bsHandler = &bsForInputHanding{}
loadingSprite = loadingSpr
timeScale = 1.0
lastTime = d2helper.Now()
lastTime = d2common.Now()
d2input.BindHandler(bsHandler)
return nil
@ -83,7 +81,7 @@ func Advance() {
return
}
currentTime := d2helper.Now()
currentTime := d2common.Now()
deltaTime := (currentTime - lastTime) * timeScale
lastTime = currentTime
@ -96,8 +94,8 @@ func Advance() {
// Draw draws the game
func render(target d2render.Surface) {
if d2scene.GetLoadingProgress() < 1.0 {
loadingSprite.SetCurrentFrame(int(d2helper.Max(0,
d2helper.Min(uint32(loadingSprite.GetFrameCount()-1),
loadingSprite.SetCurrentFrame(int(d2common.Max(0,
d2common.Min(uint32(loadingSprite.GetFrameCount()-1),
uint32(float64(loadingSprite.GetFrameCount()-1)*d2scene.GetLoadingProgress())))))
loadingSprite.Render(target)
} else {

View File

@ -6,21 +6,20 @@ import (
"os"
"strings"
"github.com/hajimehoshi/ebiten"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2resource"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2audio"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2gamestate"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2inventory"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2map"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2scene"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2audio"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2resource"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2ui"
"github.com/hajimehoshi/ebiten"
)
type CharacterSelect struct {
@ -63,19 +62,19 @@ func (v *CharacterSelect) Load() []func() {
v.background.SetPosition(0, 0)
},
func() {
v.newCharButton = d2ui.CreateButton(d2ui.ButtonTypeTall, dh.CombineStrings(dh.SplitIntoLinesWithMaxWidth(d2common.TranslateString("#831"), 15)))
v.newCharButton = d2ui.CreateButton(d2ui.ButtonTypeTall, d2common.CombineStrings(dh.SplitIntoLinesWithMaxWidth(d2common.TranslateString("#831"), 15)))
v.newCharButton.SetPosition(33, 468)
v.newCharButton.OnActivated(func() { v.onNewCharButtonClicked() })
d2ui.AddWidget(&v.newCharButton)
},
func() {
v.convertCharButton = d2ui.CreateButton(d2ui.ButtonTypeTall, dh.CombineStrings(dh.SplitIntoLinesWithMaxWidth(d2common.TranslateString("#825"), 15)))
v.convertCharButton = d2ui.CreateButton(d2ui.ButtonTypeTall, d2common.CombineStrings(dh.SplitIntoLinesWithMaxWidth(d2common.TranslateString("#825"), 15)))
v.convertCharButton.SetPosition(233, 468)
v.convertCharButton.SetEnabled(false)
d2ui.AddWidget(&v.convertCharButton)
},
func() {
v.deleteCharButton = d2ui.CreateButton(d2ui.ButtonTypeTall, dh.CombineStrings(dh.SplitIntoLinesWithMaxWidth(d2common.TranslateString("#832"), 15)))
v.deleteCharButton = d2ui.CreateButton(d2ui.ButtonTypeTall, d2common.CombineStrings(dh.SplitIntoLinesWithMaxWidth(d2common.TranslateString("#832"), 15)))
v.deleteCharButton.OnActivated(func() { v.onDeleteCharButtonClicked() })
v.deleteCharButton.SetPosition(433, 468)
d2ui.AddWidget(&v.deleteCharButton)

View File

@ -17,7 +17,7 @@ import (
"github.com/OpenDiablo2/OpenDiablo2/d2common"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2ui"
)

View File

@ -17,7 +17,7 @@ import (
"github.com/OpenDiablo2/OpenDiablo2/d2common"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common/d2helper"
dh "github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2audio"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2ui"
)

View File

@ -6,7 +6,6 @@ import (
"gopkg.in/alecthomas/kingpin.v2"
"github.com/OpenDiablo2/OpenDiablo2/d2common"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum"
@ -17,6 +16,7 @@ import (
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2audio"
ebiten2 "github.com/OpenDiablo2/OpenDiablo2/d2core/d2audio/ebiten"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2input"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render/ebiten"