summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/VillageArt.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-21 11:15:49 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-21 11:15:49 +0800
commit7f0c40dc89672d218f10ba3f81a0ee235da30969 (patch)
treeefa2e3884c4d1443854c17248bad8ddc027feb2f /src/LivingVillage.Desktop/VillageArt.fs
parent326575888b9c8edf0ded1dcf1c01f5c78d3eca84 (diff)
downloadliving-village-7f0c40dc89672d218f10ba3f81a0ee235da30969.tar.gz
feat(desktop): 村民五套服饰帽饰区分
人物图集扩至五套变体(1280x48):靛蓝袍配布巾、褐衫配发髻马甲、翠衫配发簪红巾、灰袍配瓜皮帽,主角专属斗笠独立第五套;村民按 id 取模四种服饰轮转,永不与主角同装,四向两帧动画保持。
Diffstat (limited to 'src/LivingVillage.Desktop/VillageArt.fs')
-rw-r--r--src/LivingVillage.Desktop/VillageArt.fs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/LivingVillage.Desktop/VillageArt.fs b/src/LivingVillage.Desktop/VillageArt.fs
index 151c73a..3b948e5 100644
--- a/src/LivingVillage.Desktop/VillageArt.fs
+++ b/src/LivingVillage.Desktop/VillageArt.fs
@@ -72,6 +72,7 @@ module VillageArt =
| IndigoRobe
| OchreVest
| JadeSash
+ | GreyCap
| StrawHat
type FacingDirection =
@@ -239,10 +240,11 @@ module VillageArt =
if remainder < 0 then remainder + divisor else remainder
let npcVisualVariant (NpcId npcId) : NpcVisualVariant =
- match positiveModulo 3 npcId with
+ match positiveModulo 4 npcId with
| 0 -> IndigoRobe
| 1 -> OchreVest
- | _ -> JadeSash
+ | 2 -> JadeSash
+ | _ -> GreyCap
let private positiveModulo64 divisor value =
let remainder = value % divisor
@@ -289,7 +291,8 @@ module VillageArt =
| IndigoRobe -> 0
| OchreVest -> 1
| JadeSash -> 2
- | StrawHat -> 3
+ | GreyCap -> 3
+ | StrawHat -> 4
let directionIndex =
match spec.Direction with
| NorthFacing -> 0
@@ -317,7 +320,7 @@ module VillageArt =
let worldTileCount = 21
let worldAtlasWidth = Sim.tilePixels * worldTileCount
let worldAtlasHeight = Sim.tilePixels
- let characterAtlasWidth = 32 * 4 * 4 * 2
+ let characterAtlasWidth = 32 * 5 * 4 * 2
let characterAtlasHeight = 48
let interiorAtlasWidth = 392
let interiorAtlasHeight = 96