Add edit villager wearable, expand furniture count to 32

Closes #266
Closes #268

Not sure about Tops/Accessory/Cap, as there are TopsData and UsuallyTops being separate.
This commit is contained in:
Kurt 2020-05-28 12:57:21 -07:00
parent d01e9e0980
commit e8018182d8
12 changed files with 81 additions and 6 deletions

View File

@ -72,9 +72,19 @@ public string CatchPhrase
set => StringUtil.GetBytes(value, 2 * 12).CopyTo(Data, 0x10014);
}
public IReadOnlyList<VillagerItem> Furniture
private const int WearCount = 24;
public IReadOnlyList<VillagerItem> WearStockList
{
get => VillagerItem.GetArray(Data.Slice(0x105EC, 16 * VillagerItem.SIZE));
get => VillagerItem.GetArray(Data.Slice(0x101CC, WearCount * VillagerItem.SIZE));
set => VillagerItem.SetArray(value).CopyTo(Data, 0x101CC);
}
private const int FurnitureCount = 32;
public IReadOnlyList<VillagerItem> FtrStockList
{
get => VillagerItem.GetArray(Data.Slice(0x105EC, FurnitureCount * VillagerItem.SIZE));
set => VillagerItem.SetArray(value).CopyTo(Data, 0x105EC);
}

View File

@ -53,6 +53,7 @@ private void InitializeComponent()
this.B_EditVillagerRoom = new System.Windows.Forms.ToolStripMenuItem();
this.B_EditVillagerDesign = new System.Windows.Forms.ToolStripMenuItem();
this.B_EditVillagerPlayerMemories = new System.Windows.Forms.ToolStripMenuItem();
this.B_EditWear = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.NUD_Variant)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Species)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.PB_Villager)).BeginInit();
@ -83,6 +84,7 @@ private void InitializeComponent()
//
// B_EditVillager
//
this.B_EditVillager.ContextMenuStrip = this.CM_EditVillager;
this.B_EditVillager.Location = new System.Drawing.Point(297, 165);
this.B_EditVillager.Name = "B_EditVillager";
this.B_EditVillager.Size = new System.Drawing.Size(92, 40);
@ -255,11 +257,12 @@ private void InitializeComponent()
//
this.CM_EditVillager.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.B_EditFurniture,
this.B_EditWear,
this.B_EditVillagerRoom,
this.B_EditVillagerDesign,
this.B_EditVillagerPlayerMemories});
this.CM_EditVillager.Name = "CM_EditPlayer";
this.CM_EditVillager.Size = new System.Drawing.Size(186, 92);
this.CM_EditVillager.Size = new System.Drawing.Size(186, 114);
//
// B_EditFurniture
//
@ -289,6 +292,13 @@ private void InitializeComponent()
this.B_EditVillagerPlayerMemories.Text = "Edit Player Memories";
this.B_EditVillagerPlayerMemories.Click += new System.EventHandler(this.B_EditVillagerPlayerMemories_Click);
//
// B_EditWear
//
this.B_EditWear.Name = "B_EditWear";
this.B_EditWear.Size = new System.Drawing.Size(185, 22);
this.B_EditWear.Text = "Edit Wear";
this.B_EditWear.Click += new System.EventHandler(this.B_EditWear_Click);
//
// VillagerEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -350,5 +360,6 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem B_EditVillagerRoom;
private System.Windows.Forms.ToolStripMenuItem B_EditVillagerDesign;
private System.Windows.Forms.ToolStripMenuItem B_EditVillagerPlayerMemories;
private System.Windows.Forms.ToolStripMenuItem B_EditWear;
}
}

View File

@ -151,13 +151,22 @@ private void B_LoadVillager_Click(object sender, EventArgs e)
LoadVillager(Villagers[VillagerIndex] = v);
}
private void B_EditWear_Click(object sender, EventArgs e)
{
var v = Villagers[VillagerIndex];
var items = v.WearStockList;
using var editor = new PlayerItemEditor<VillagerItem>(items, 8, 3);
if (editor.ShowDialog() == DialogResult.OK)
v.WearStockList = items;
}
private void B_EditFurniture_Click(object sender, EventArgs e)
{
var v = Villagers[VillagerIndex];
var items = v.Furniture;
using var editor = new PlayerItemEditor<VillagerItem>(items, 8, 2);
var items = v.FtrStockList;
using var editor = new PlayerItemEditor<VillagerItem>(items, 8, 4);
if (editor.ShowDialog() == DialogResult.OK)
v.Furniture = items;
v.FtrStockList = items;
}
private void B_EditVillagerFlags_Click(object sender, EventArgs e)

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Edit Field Items
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Edit House
Editor.B_EditLandFlags=Edit Flags
Editor.B_EditMap=Edit Map...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Edit Storage
Editor.B_EditPRODesigns=Edit PRO Designs
Editor.B_EditTurnipExchange=Edit Turnip Exchange
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Edit Flags
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Load Villager
Editor.B_RecycleBin=Edit Recycle Bin
Editor.CHK_VillagerMovingOut=Moving Out

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Edit Field Items
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Edit House
Editor.B_EditLandFlags=Edit Flags
Editor.B_EditMap=Edit Map...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Edit Storage
Editor.B_EditPRODesigns=Edit PRO Designs
Editor.B_EditTurnipExchange=Edit Turnip Exchange
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Edit Flags
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Load Villager
Editor.B_RecycleBin=Edit Recycle Bin
Editor.CHK_VillagerMovingOut=Moving Out

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Edit Field Items
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Editar la Casa
Editor.B_EditLandFlags=Editar Flags
Editor.B_EditMap=Edit Map...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Editar Almacen
Editor.B_EditPRODesigns=Edit PRO Designs
Editor.B_EditTurnipExchange=Editar Intercambio de Nabos
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Editar Flags
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Cargar Ciudadano
Editor.B_RecycleBin=Editar Papelera de Reciclaje
Editor.CHK_VillagerMovingOut=Moving Out

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Edit Field Items
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Edit House
Editor.B_EditLandFlags=Edit Flags
Editor.B_EditMap=Edit Map...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Edit Storage
Editor.B_EditPRODesigns=Edit PRO Designs
Editor.B_EditTurnipExchange=Edit Turnip Exchange
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Edit Flags
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Load Villager
Editor.B_RecycleBin=Edit Recycle Bin
Editor.CHK_VillagerMovingOut=Moving Out

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Modifica Bulletin Board
Editor.B_EditDesignsTailor=Modifica Modelli Tailor
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Modifica oggetti sul terreno
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Modifica casa
Editor.B_EditLandFlags=Modifica flag
Editor.B_EditMap=Modifica Mappa...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Modifica sgabuzzino
Editor.B_EditPRODesigns=Modifica modelli pro
Editor.B_EditTurnipExchange=Modifica rape
Editor.B_EditVillager=Modifica Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Modifica flag
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Modifica visitatori
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Importa villager
Editor.B_RecycleBin=Modifica cestino
Editor.CHK_VillagerMovingOut=Trasloco

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Edit Field Items
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Edit House
Editor.B_EditLandFlags=Edit Flags
Editor.B_EditMap=Edit Map...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Edit Storage
Editor.B_EditPRODesigns=Edit PRO Designs
Editor.B_EditTurnipExchange=Edit Turnip Exchange
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Edit Flags
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Load Villager
Editor.B_RecycleBin=Edit Recycle Bin
Editor.CHK_VillagerMovingOut=Moving Out

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=Edit Field Items
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=Edit House
Editor.B_EditLandFlags=Edit Flags
Editor.B_EditMap=Edit Map...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=Edit Storage
Editor.B_EditPRODesigns=Edit PRO Designs
Editor.B_EditTurnipExchange=Edit Turnip Exchange
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=Edit Flags
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=Load Villager
Editor.B_RecycleBin=Edit Recycle Bin
Editor.CHK_VillagerMovingOut=Moving Out

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=编辑布告栏
Editor.B_EditDesignsTailor=编辑裁缝设计
Editor.B_EditFieldGoods=编辑地表物品
Editor.B_EditFieldItems=编辑地皮
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=编辑房屋
Editor.B_EditLandFlags=编辑属性
Editor.B_EditMap=编辑地图...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=编辑仓库物品
Editor.B_EditPRODesigns=编辑专业设计
Editor.B_EditTurnipExchange=编辑大头菜行情
Editor.B_EditVillager=编辑岛民...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=编辑属性
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=编辑旅客
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=导入岛民
Editor.B_RecycleBin=编辑回收箱
Editor.CHK_VillagerMovingOut=赶走岛民

View File

@ -44,6 +44,7 @@ Editor.B_EditBulletin=Edit Bulletin Board
Editor.B_EditDesignsTailor=Edit Tailor Designs
Editor.B_EditFieldGoods=Edit Field Goods
Editor.B_EditFieldItems=編輯地皮
Editor.B_EditFurniture=Edit Furniture
Editor.B_EditHouses=編輯房屋
Editor.B_EditLandFlags=編輯屬性
Editor.B_EditMap=编辑地圖...
@ -62,8 +63,12 @@ Editor.B_EditPlayerStorage=編輯倉庫道具
Editor.B_EditPRODesigns=編輯進階設計
Editor.B_EditTurnipExchange=編輯大頭菜資訊
Editor.B_EditVillager=Edit Villager...
Editor.B_EditVillagerDesign=Edit Design Pattern
Editor.B_EditVillagerFlags=編輯屬性
Editor.B_EditVillagerPlayerMemories=Edit Player Memories
Editor.B_EditVillagerRoom=Edit Room
Editor.B_EditVisitors=Edit Visitors
Editor.B_EditWear=Edit Wear
Editor.B_LoadVillager=讀取島民
Editor.B_RecycleBin=編輯回收箱
Editor.CHK_VillagerMovingOut=即將離開