Skip to content

Commit 6849728

Browse files
authored
feat: add pixel_w and pixel_z support (#341)
1 parent 5fd5a97 commit 6849728

File tree

4 files changed

+25
-8
lines changed

4 files changed

+25
-8
lines changed

internal/app/prefs/save.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ var SaveFormats = []string{
1818
}
1919

2020
const (
21-
SaveNudgeModePixel = "pixel_x/pixel_y"
22-
SaveNudgeModeStep = "step_x/step_y"
21+
SaveNudgeModePixel = "pixel_x/pixel_y"
22+
SaveNudgeModeStep = "step_x/step_y"
23+
SaveNudgeModePixelAlt = "pixel_w/pixel_z"
2324
)
2425

2526
var SaveNudgeModes = []string{
2627
SaveNudgeModePixel,
2728
SaveNudgeModeStep,
29+
SaveNudgeModePixelAlt,
2830
}

internal/app/render/bucket/level/chunk/unit/unit.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,12 @@ func Make(x, y int, i *dmminstance.Instance, iconSize int) Unit {
6060
pixelY, _ := i.Prefab().Vars().Int("pixel_y")
6161
stepX, _ := i.Prefab().Vars().Int("step_x")
6262
stepY, _ := i.Prefab().Vars().Int("step_y")
63+
pixelW, _ := i.Prefab().Vars().Int("pixel_w")
64+
pixelZ, _ := i.Prefab().Vars().Int("pixel_z")
6365

6466
sp := dmicon.Cache.GetSpriteOrPlaceholderV(icon, iconState, dir)
65-
x1 := float32((x-1)*iconSize + pixelX + stepX)
66-
y1 := float32((y-1)*iconSize + pixelY + stepY)
67+
x1 := float32((x-1)*iconSize + pixelX + stepX + pixelW)
68+
y1 := float32((y-1)*iconSize + pixelY + stepY + pixelZ)
6769
x2 := x1 + float32(sp.IconWidth())
6870
y2 := y1 + float32(sp.IconHeight())
6971
r, g, b, a := parseColor(i.Prefab())

internal/app/ui/cpwsarea/wsmap/pmap/pquickedit/pquickedit.go

+9-2
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,25 @@ func (p *Panel) ProcessV(instance *dmminstance.Instance) {
6464

6565
func (p *Panel) showNudgeOption(label string, xAxis bool, instance *dmminstance.Instance) {
6666
var nudgeVarName string
67-
if p.app.Prefs().Editor.NudgeMode == prefs.SaveNudgeModePixel {
67+
switch p.app.Prefs().Editor.NudgeMode {
68+
case prefs.SaveNudgeModePixel:
6869
if xAxis {
6970
nudgeVarName = "pixel_x"
7071
} else {
7172
nudgeVarName = "pixel_y"
7273
}
73-
} else {
74+
case prefs.SaveNudgeModeStep:
7475
if xAxis {
7576
nudgeVarName = "step_x"
7677
} else {
7778
nudgeVarName = "step_y"
7879
}
80+
case prefs.SaveNudgeModePixelAlt:
81+
if xAxis {
82+
nudgeVarName = "pixel_w"
83+
} else {
84+
nudgeVarName = "pixel_z"
85+
}
7986
}
8087

8188
pixelX := instance.Prefab().Vars().IntV(nudgeVarName, 0)

internal/app/ui/cpwsarea/wsmap/tools/move.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,13 @@ func (t *ToolMove) onStart(util.Point) {
4545
t.instance = hoveredInstance
4646
t.lastMouseCoords = imgui.MousePos()
4747
vars := t.instance.Prefab().Vars()
48-
if ed.Prefs().Editor.NudgeMode == prefs.SaveNudgeModePixel {
48+
switch ed.Prefs().Editor.NudgeMode {
49+
case prefs.SaveNudgeModePixel:
4950
t.lastOffsets = [2]int{vars.IntV("pixel_x", 0), vars.IntV("pixel_y", 0)}
50-
} else {
51+
case prefs.SaveNudgeModeStep:
5152
t.lastOffsets = [2]int{vars.IntV("step_x", 0), vars.IntV("step_y", 0)}
53+
case prefs.SaveNudgeModePixelAlt:
54+
t.lastOffsets = [2]int{vars.IntV("pixel_w", 0), vars.IntV("pixel_z", 0)}
5255
}
5356
}
5457
}
@@ -62,6 +65,9 @@ func (t *ToolMove) process() {
6265
if ed.Prefs().Editor.NudgeMode == prefs.SaveNudgeModeStep {
6366
xAxis = "step_x"
6467
yAxis = "step_y"
68+
} else if ed.Prefs().Editor.NudgeMode == prefs.SaveNudgeModePixelAlt {
69+
xAxis = "pixel_w"
70+
yAxis = "pixel_z"
6571
}
6672
origPrefab := t.instance.Prefab()
6773
mouseCoords := imgui.MousePos()

0 commit comments

Comments
 (0)