LosaDev source snapshot 2019

This commit is contained in:
LosaDev committed 2026-11-07 13:30:45 +07:00
commit c198676e97
20588 files changed
+8812878

No files matched your search

File diff suppressed because it is too large. Load diff
+199
View File
@@ -0,0 +1,199 @@
namespace ItemDictionary
{
partial class ItemDictionary
{
/// <summary>
/// 필수 디자이너 변수입니다.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 사용 중인 모든 리소스를 정리합니다.
/// </summary>
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form 디자이너에서 생성한 코드
/// <summary>
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemDictionary));
this.imagetreeView = new System.Windows.Forms.TreeView();
this.item_grideView = new System.Windows.Forms.DataGridView();
this.pack_textBox = new System.Windows.Forms.TextBox();
this.desc_textBox = new System.Windows.Forms.TextBox();
this.TextureBox = new System.Windows.Forms.PictureBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.search_Label = new System.Windows.Forms.ToolStripLabel();
this.search_TextBox = new System.Windows.Forms.ToolStripTextBox();
this.custom_desc_textBox = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.item_grideView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.TextureBox)).BeginInit();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// imagetreeView
//
this.imagetreeView.BackColor = System.Drawing.SystemColors.Window;
this.imagetreeView.ForeColor = System.Drawing.SystemColors.WindowText;
this.imagetreeView.HideSelection = false;
this.imagetreeView.Location = new System.Drawing.Point(10, 40);
this.imagetreeView.Name = "imagetreeView";
this.imagetreeView.Size = new System.Drawing.Size(410, 512);
this.imagetreeView.TabIndex = 1;
this.imagetreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.ImageTree_AfterSelect);
//
// item_grideView
//
this.item_grideView.AllowUserToAddRows = false;
this.item_grideView.AllowUserToDeleteRows = false;
this.item_grideView.AllowUserToResizeColumns = false;
this.item_grideView.AllowUserToResizeRows = false;
this.item_grideView.BackgroundColor = System.Drawing.SystemColors.Window;
this.item_grideView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.item_grideView.Location = new System.Drawing.Point(10, 560);
this.item_grideView.MultiSelect = false;
this.item_grideView.Name = "item_grideView";
this.item_grideView.ReadOnly = true;
this.item_grideView.RowTemplate.Height = 23;
this.item_grideView.Size = new System.Drawing.Size(1280, 380);
this.item_grideView.TabIndex = 2;
this.item_grideView.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.item_CellMouseClick);
//
// pack_textBox
//
this.pack_textBox.BackColor = System.Drawing.SystemColors.Window;
this.pack_textBox.Location = new System.Drawing.Point(950, 40);
this.pack_textBox.Name = "pack_textBox";
this.pack_textBox.ReadOnly = true;
this.pack_textBox.Size = new System.Drawing.Size(340, 21);
this.pack_textBox.TabIndex = 3;
//
// desc_textBox
//
this.desc_textBox.BackColor = System.Drawing.SystemColors.Window;
this.desc_textBox.Location = new System.Drawing.Point(950, 70);
this.desc_textBox.Multiline = true;
this.desc_textBox.Name = "desc_textBox";
this.desc_textBox.ReadOnly = true;
this.desc_textBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.desc_textBox.Size = new System.Drawing.Size(340, 420);
this.desc_textBox.TabIndex = 5;
//
// TextureBox
//
this.TextureBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.TextureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.TextureBox.Location = new System.Drawing.Point(430, 40);
this.TextureBox.Name = "TextureBox";
this.TextureBox.Size = new System.Drawing.Size(512, 512);
this.TextureBox.TabIndex = 0;
this.TextureBox.TabStop = false;
this.TextureBox.Click += new System.EventHandler(this.TextureBox_Click);
//
// toolStrip1
//
this.toolStrip1.AutoSize = false;
this.toolStrip1.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.toolStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.search_Label,
this.search_TextBox});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
this.toolStrip1.Size = new System.Drawing.Size(1301, 35);
this.toolStrip1.TabIndex = 10;
this.toolStrip1.Text = "toolStrip1";
//
// search_Label
//
this.search_Label.Name = "search_Label";
this.search_Label.Size = new System.Drawing.Size(34, 32);
this.search_Label.Text = "검색:";
//
// search_TextBox
//
this.search_TextBox.AutoToolTip = true;
this.search_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.search_TextBox.Name = "search_TextBox";
this.search_TextBox.Size = new System.Drawing.Size(200, 35);
this.search_TextBox.ToolTipText = "입력후 엔터를 쳐주세요.";
this.search_TextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.search_TextBox_KeyDown);
//
// custom_desc_textBox
//
this.custom_desc_textBox.Location = new System.Drawing.Point(950, 530);
this.custom_desc_textBox.Name = "custom_desc_textBox";
this.custom_desc_textBox.Size = new System.Drawing.Size(340, 21);
this.custom_desc_textBox.TabIndex = 11;
this.custom_desc_textBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.refresh_custom_desc);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(950, 510);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 12;
this.label1.Text = "검색어";
//
// ItemDictionary
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1301, 952);
this.Controls.Add(this.label1);
this.Controls.Add(this.custom_desc_textBox);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.TextureBox);
this.Controls.Add(this.desc_textBox);
this.Controls.Add(this.pack_textBox);
this.Controls.Add(this.item_grideView);
this.Controls.Add(this.imagetreeView);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.ImeMode = System.Windows.Forms.ImeMode.Hangul;
this.MaximizeBox = false;
this.Name = "ItemDictionary";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "로스트사가 아이템 사전";
this.Load += new System.EventHandler(this.Form1_Load);
this.Shown += new System.EventHandler(this.Form1_Shown);
((System.ComponentModel.ISupportInitialize)(this.item_grideView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.TextureBox)).EndInit();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TreeView imagetreeView;
private System.Windows.Forms.DataGridView item_grideView;
private System.Windows.Forms.TextBox pack_textBox;
private System.Windows.Forms.TextBox desc_textBox;
private System.Windows.Forms.PictureBox TextureBox;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripTextBox search_TextBox;
private System.Windows.Forms.ToolStripLabel search_Label;
private System.Windows.Forms.TextBox custom_desc_textBox;
private System.Windows.Forms.Label label1;
}
}
+481
View File
@@ -0,0 +1,481 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using S16.Drawing;
using XMLLoader;
using System.Xml;
using INILoader;
namespace ItemDictionary
{
public partial class ItemDictionary : Form
{
String main_path;
String cur_pack;
List<ItemData> item_data_list;
List<PackData> icon_pack_list;
List<ItemCustomData> item_custom_list;
private xmlLoader m_xmlLoader;
public ItemDictionary()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.SetStyle( ControlStyles.OptimizedDoubleBuffer, true );
icon_pack_list = new List<PackData>();
INILoader.INILoader loader = new INILoader.INILoader("./ItemDictionary.ini", false);
loader.SetTitle("path");
main_path = loader.LoadString( "path", "" );
m_xmlLoader = new xmlLoader(String.Format("{0}/XML/uiimageset.xml", main_path ) );
LoadData();
imagetreeView.SuspendLayout();
XmlElement element = m_xmlLoader.GetElement();
foreach (XmlNode ImageSetNode in element.ChildNodes)
{
if (ImageSetNode.Name == "#comment")
continue;
ImageTreeNode node = new ImageTreeNode( "Imageset",
"",
ImageSetNode.Attributes["Name"].Value,
ImageSetNode.Attributes["File"].Value,
0, 0, 0, 0, 0, 0 );
imagetreeView.Nodes.Add( node );
String set_name = ImageSetNode.Attributes["Name"].Value.ToString();
foreach( XmlNode ImageNode in ImageSetNode.ChildNodes )
{
if (ImageNode.Name == "#comment")
continue;
int offsetX = 0;
int offsetY = 0;
foreach ( XmlAttribute att in ImageNode.Attributes )
{
if( att.Name == "OffsetX" )
offsetX = Int32.Parse( att.Value );
else if( att.Name == "OffsetY" )
offsetY = Int32.Parse( att.Value );
}
String pack_name = String.Format( "{0}#{1}", set_name, ImageNode.Attributes["Name"].Value );
ImageTreeNode child_node = new ImageTreeNode( "Image",
pack_name,
ImageNode.Attributes["Name"].Value,
ImageSetNode.Attributes["File"].Value,
Int32.Parse( ImageNode.Attributes["X"].Value ),
Int32.Parse( ImageNode.Attributes["Y"].Value ),
Int32.Parse( ImageNode.Attributes["Width"].Value ),
Int32.Parse( ImageNode.Attributes["Height"].Value ),
offsetX,
offsetY );
node.Nodes.Add( child_node );
PackData data;
data.file = ImageSetNode.Attributes["File"].Value.ToString();
data.pack = pack_name;
data.x = Int32.Parse( ImageNode.Attributes["X"].Value );
data.y = Int32.Parse( ImageNode.Attributes["Y"].Value );
data.width = Int32.Parse( ImageNode.Attributes["Width"].Value );
data.height = Int32.Parse( ImageNode.Attributes["Height"].Value );
data.offset_x = offsetX;
data.offset_y = offsetY;
icon_pack_list.Add(data);
}
}
imagetreeView.Sort();
imagetreeView.ResumeLayout(false);
}
private void RefreshTextureBox( String _path )
{
if( Path.GetExtension(_path) != ".dds" )
return;
String path = String.Format( "{0}/resource/texture/{1}", main_path, _path );
if (File.Exists(path) == false)
{
TextureBox.Image = null;
return;
}
TextureBox.Image = null;
DDSImage image = new DDSImage(File.ReadAllBytes(path));
if( image.BitmapImage.Width > 512 || image.BitmapImage.Height > 512 )
{
TextureBox.SizeMode = PictureBoxSizeMode.Zoom;
TextureBox.Image = image.BitmapImage;
}
else
{
TextureBox.SizeMode = PictureBoxSizeMode.Normal;
TextureBox.Image = image.BitmapImage;
}
}
private void TextureBox_Click(object sender, EventArgs e)
{
if( String.IsNullOrEmpty(cur_pack) )
return;
MouseEventArgs me = e as MouseEventArgs;
Point pos = me.Location;
foreach ( PackData data in icon_pack_list )
{
if( data.file != cur_pack )
continue;
Rectangle rec = new Rectangle( data.x, data.y, data.width, data.height );
if( rec.Contains(pos) )
{
RefreshTextureBox(cur_pack);
Graphics g = Graphics.FromImage(TextureBox.Image);
Pen pen = new Pen(Color.Red, 2);
g.DrawRectangle(pen, data.x, data.y, data.width, data.height);
//MessageBox.Show( data.pack );
String[] token = data.pack.Split('#');
FocusTreeViewNode( token[0], token[1] );
return;
}
}
}
private void ImageTree_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeView tree = (TreeView)sender;
if (tree.SelectedNode.Parent == null)
{
ImageTreeNode node = tree.SelectedNode as ImageTreeNode;
RefreshTextureBox( node.file );
SetDesc("");
cur_pack = node.file;
}
else
{
ImageTreeNode parent_node = tree.SelectedNode.Parent as ImageTreeNode;
ImageTreeNode node = tree.SelectedNode as ImageTreeNode;
SetDesc(node.pack_name);
PackData data = icon_pack_list.Find( p => p.pack == node.pack_name );
RefreshTextureBox( data.file );
Graphics g = Graphics.FromImage(TextureBox.Image);
Pen pen = new Pen(Color.Red, 2);
g.DrawRectangle(pen, data.x, data.y, data.width, data.height);
cur_pack = parent_node.file;
}
}
private void LoadData()
{
if( item_data_list == null )
item_data_list = new List<ItemData>();
else
item_data_list.Clear();
LoadItemData();
LoadExtraItemData();
LoadSkillData();
LoadMedalData();
LoadQuestData();
LoadEtcItemData();
LoadCostumeData();
LoadAccessoryData();
LoadDecoManData();
LoadDecoWomanData();
LoadCustomDesc();
/*StreamWriter sw = new StreamWriter("test.txt");
foreach( ItemData data in item_data_list )
{
String line = String.Format( "{0},{1},{2},{3}", data.pack_name, data.name, data.desc, "" );
sw.WriteLine(line);
}
sw.Close();*/
item_grideView.SuspendLayout();
item_grideView.RowHeadersVisible = false;
item_grideView.Rows.Clear();
item_grideView.Columns.Add("pack", "팩");
item_grideView.Columns.Add("type", "타입");
item_grideView.Columns.Add("name", "이름");
item_grideView.Columns.Add("desc", "설명");
item_grideView.ResumeLayout(false);
}
private void SetGridView( List<ItemData> list )
{
item_grideView.SuspendLayout();
item_grideView.Rows.Clear();
foreach (ItemData data in list)
{
DataGridViewRow r = item_grideView.Rows[item_grideView.Rows.Add(new DataGridViewRow())];
r.Cells["pack"].Value = data.pack_name;
r.Cells["type"].Value = data.type;
r.Cells["name"].Value = data.name;
r.Cells["desc"].Value = data.desc;
}
item_grideView.AutoResizeColumns();
item_grideView.ResumeLayout(false);
}
private void FocusTreeViewNode( String value1, String value2 )
{
if( String.IsNullOrEmpty(value2) )
{
TreeNode[] node = imagetreeView.Nodes.Find(value1, false);
if (node.Length > 0)
{
imagetreeView.SelectedNode = node[0];
}
}
else
{
TreeNode[] parent_node = imagetreeView.Nodes.Find(value1, false);
if (parent_node.Length > 0)
{
TreeNode[] node = parent_node[0].Nodes.Find(value2, false);
if (node.Length > 0)
{
imagetreeView.SelectedNode = node[0];
}
}
}
}
private void item_CellMouseClick(object sender, DataGridViewCellEventArgs e)
{
if( e.RowIndex < 0 )
return;
DataGridViewCell cell = (DataGridViewCell)item_grideView.Rows[e.RowIndex].Cells["pack"];
PackData data = icon_pack_list.Find( p => p.pack == cell.Value.ToString() );
if( String.IsNullOrEmpty(data.pack) )
{
MessageBox.Show("!?");
return;
}
RefreshTextureBox( data.file );
if( !String.IsNullOrEmpty(data.pack) )
{
Graphics g = Graphics.FromImage(TextureBox.Image);
Pen pen = new Pen(Color.Red, 2);
g.DrawRectangle(pen, data.x, data.y, data.width, data.height);
SetDesc(data.pack);
String[] token = data.pack.Split('#');
if( token.Length == 1 )
{
FocusTreeViewNode( token[0], "" );
}
else if( token.Length == 2 )
{
FocusTreeViewNode( token[0], token[1] );
}
cur_pack = data.file;
}
}
private void search_TextBox_KeyDown(object sender, KeyEventArgs e)
{
if( e.KeyCode != Keys.Return )
return;
if (String.IsNullOrEmpty(search_TextBox.Text))
return;
List<ItemData> list = new List<ItemData>();
foreach (ItemData data in item_data_list)
{
if (data.name.Contains(search_TextBox.Text))
{
list.Add(data);
}
else if (data.desc.Contains(search_TextBox.Text))
{
list.Add(data);
}
else if (data.type.Contains(search_TextBox.Text))
{
list.Add(data);
}
else if( Regex.IsMatch(data.pack_name, search_TextBox.Text, RegexOptions.IgnoreCase) )
{
list.Add(data);
}
}
String search_pack_name = String.Empty;
foreach (ItemCustomData data in item_custom_list)
{
if (data.desc.Contains(search_TextBox.Text))
{
search_pack_name = data.pack_name;
}
if (!String.IsNullOrEmpty(search_pack_name))
{
ItemData item_data = list.Find(p => p.pack_name == search_pack_name);
if (String.IsNullOrEmpty(item_data.pack_name))
{
ItemData temp = new ItemData();
temp.pack_name = search_pack_name;
list.Add(temp);
}
}
}
foreach (PackData data in icon_pack_list)
{
if (Regex.IsMatch(data.pack, search_TextBox.Text, RegexOptions.IgnoreCase))
{
ItemData item_data = list.Find(p => p.pack_name == data.pack);
if (String.IsNullOrEmpty(item_data.pack_name))
{
ItemData temp = new ItemData();
temp.pack_name = data.pack;
list.Add(temp);
}
}
}
if (list.Count > 0)
{
SetGridView(list);
}
else
{
MessageBox.Show( "검색결과가 없습니다.", "검색실패", MessageBoxButtons.OK, MessageBoxIcon.Information );
}
}
private void refresh_custom_desc(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Return)
return;
if (String.IsNullOrEmpty(pack_textBox.Text))
return;
bool is_refresh = false;
for( int i=0; i<item_custom_list.Count; ++i )
{
if( item_custom_list[i].pack_name == pack_textBox.Text )
{
ItemCustomData data;
data.pack_name = pack_textBox.Text;
data.desc = custom_desc_textBox.Text;
item_custom_list[i] = data;
is_refresh = true;
break;
}
}
if( !is_refresh && !String.IsNullOrEmpty(custom_desc_textBox.Text) )
{
ItemCustomData data;
data.pack_name = pack_textBox.Text;
data.desc = custom_desc_textBox.Text;
item_custom_list.Add(data);
}
SaveCustomDesc();
}
private void Form1_Shown(object sender, EventArgs e)
{
search_TextBox.Focus();
}
private void SetDesc( String pack_name )
{
PackData data = icon_pack_list.Find( p => p.pack == pack_name );
pack_textBox.Clear();
desc_textBox.Clear();
if( !String.IsNullOrEmpty(data.pack) )
{
pack_textBox.Text = data.pack;
String info = String.Format("[이미지정보]{0}",Environment.NewLine);
info += String.Format("위치 : {0}, {1}{2}", data.x, data.y, Environment.NewLine);
info += String.Format("크기 : {0}*{1}{2}", data.width, data.height, Environment.NewLine);
info += String.Format("옵셋 : {0}, {1}", data.offset_x, data.offset_y);
desc_textBox.Text = info;
int add_count = 0;
List<ItemData> item_datas = item_data_list.FindAll( p => p.pack_name == pack_name );
foreach( ItemData item_data in item_datas )
{
String desc = String.Format( "{0} / {1} 아이콘{2}{3}{4}", item_data.name, item_data.type, Environment.NewLine, Environment.NewLine, item_data.desc );
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += "------------------------------------------------";
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += desc;
add_count++;
if( add_count >= 10 )
{
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += "------------------------------------------------";
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += String.Format( "사용하는 위치가 너무 많아 검색을 종료합니다." );
desc_textBox.Text += Environment.NewLine;
desc_textBox.Text += String.Format( "총 사용량 {0}건.", item_datas.Count );
break;
}
}
}
ItemCustomData custom_data = item_custom_list.Find( p => p.pack_name == pack_name );
if( !String.IsNullOrEmpty(custom_data.pack_name) )
{
custom_desc_textBox.Text = custom_data.desc;
}
else
{
custom_desc_textBox.Text = "";
}
}
}
}
+219
View File
@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAEBAAAAAAIABoBAAAJgAAACAgAAAAACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAEAE
AAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wEAAAD/AAAA/wAAAP////8B////Af///wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/////AQAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP////8B////Af///wH///8B////AQAAAP8AAAD//////wAA
AP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD/AAAA/////wH///8B////Af///wEAAAD/AAAA////
//8/Pz//AAAA/z8/P///////AAAA////////////AAAA/wAAAP////8B////Af///wH///8BAAAA/wAA
AP8/Pz///////39/f///////Pz8//wAAAP//////AAAA/wAAAP8AAAD/////Af///wH///8B////AQAA
AEEAAAD/AAAA/z8/P///////Pz8//wAAAP8AAAD//////wAAAP8AAAD/////Af///wEAAABBAAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wEAAABBAAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////AQAAAP8AAAD/AAAA/////wH///8BAAAA/wAA
AP8/Pz////////////8/Pz//AAAA//////8AAAD/AAAA/////wH///8B////Af///wH///8B////AQAA
AP8AAAD//////z8/P/8/Pz///////wAAAP//////AAAA/wAAAP8AAAD/////Af///wH///8B////Af//
/wEAAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD/AAAA/////wH///8B////Af//
/wH///8BAAAA/wAAAP//////Pz8//z8/P///////AAAA//////8AAAD/AAAA/wAAAP////8B////Af//
/wH///8B////AQAAAP8AAAD/Pz8/////////////Pz8//wAAAP//////AAAA/wAAAP////8B////Af//
/wH///8B////Af///wEAAABBAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////Af//
/wH///8B////Af///wH///8B////AQAAAEEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////Af//
/wH///8B////Af///wH///8B////AQAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA
//8AAP//AAD//wAA//8AAP//AAD//wAA//8oAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAA
AAAAAAAA////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8B////Af///wH///8B////AQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////8B////AQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////AQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8BAAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////AQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP////8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/////wH///8B////Af//
/wH///8B////Af///wH///8B////Af///wEAAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP////8B////Af///wH///8B////Af///wH///8B////AQAAAP8AAAD/AAAA/wAAAP///////////wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/////wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA////
////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////////////
//8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af///wH///8B////Af///wEAAAD/AAAA/wAA
AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/////////
/////////////wAAAP8AAAD/AAAA/wAAAP////8B////Af///wH///8B////Af///wH///8B////AQAA
AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP////////////////8AAAD/AAAA/wAA
AP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8B////Af///wH///8B////Af//
/wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af//
/wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAA
AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af//
/wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
//8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP////8B////Af//
/wH///8B////Af///wEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
/wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/////Af///wH///8B////AQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8BAAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/////Af///wH///8B////Af///wEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////Af///wEAAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP////8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
/////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP////8B////Af//
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAD/AAAA/wAAAP8AAAD/AAAA////
/////////////////////////////wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAAAP8AAAD/AAAA/wAA
AP////////////////8AAAD/AAAA/////////////////wAAAP8AAAD///////////8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP////8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAA
AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wEAAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
//////////////////8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////AQAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP///////////wAA
AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP////8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////
////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////wH///8B////Af//
/wH///8B////Af///wH///8B////Af///wEAAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
AP////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////Af//
/wH///8B////Af///wH///8B////Af///wH///8B////AQAAAP8AAAD/AAAA/wAAAP8AAAD/////////
////////////////////////AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/////Af//
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
AP////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8B////Af///wH///8BAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////8B////Af///wH///8B////Af///wH///8B////Af//
/wH///8B////Af///wH///8B////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
</value>
</data>
</root>
Binary file not shown.
+66
View File
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ItemDictionary
{
public class ImageTreeNode : System.Windows.Forms.TreeNode
{
public String type;
public String pack_name;
public String name;
public String file;
public int x;
public int y;
public int width;
public int height;
public int offset_x;
public int offset_y;
public ImageTreeNode() { }
public ImageTreeNode(String _type, String _pack_name, String _name, String _file, int _x, int _y, int _width, int _height, int _offset_x, int _offset_y)
: base(_name)
{
pack_name = _pack_name;
Name = _name;
type = _type;
name = _name;
file = _file;
x = _x;
y = _y;
width = _width;
height = _height;
offset_x = _offset_x;
offset_y = _offset_y;
}
}
public struct ItemData
{
public String pack_name;
public String type;
public String name;
public String desc;
public int item_code;
}
public struct ItemCustomData
{
public String pack_name;
public String desc;
}
public struct PackData
{
public String file;
public String pack;
public int x;
public int y;
public int width;
public int height;
public int offset_x;
public int offset_y;
}
}
+143
View File
@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{B7A14EA6-505A-4EDD-9792-D68A82071E04}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ItemDictionary</RootNamespace>
<AssemblyName>ItemDictionary</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Resources\icon32x32.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="INILoader">
<HintPath>.\INILoader.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DDSImage.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="ItemData.cs" />
<Compile Include="LoadData.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="xmlLoader.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4 Client Profile%28x86 및 x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Content Include="Resources\icon16x16.ico" />
<Content Include="Resources\icon32x32.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
+20
View File
@@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ItemDictionary", "ItemDictionary.csproj", "{B7A14EA6-505A-4EDD-9792-D68A82071E04}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B7A14EA6-505A-4EDD-9792-D68A82071E04}.Debug|x86.ActiveCfg = Debug|x86
{B7A14EA6-505A-4EDD-9792-D68A82071E04}.Debug|x86.Build.0 = Debug|x86
{B7A14EA6-505A-4EDD-9792-D68A82071E04}.Release|x86.ActiveCfg = Release|x86
{B7A14EA6-505A-4EDD-9792-D68A82071E04}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+531
View File
@@ -0,0 +1,531 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using INILoader;
namespace ItemDictionary
{
public partial class ItemDictionary : Form
{
private void LoadItemData()
{
String item_path = String.Format("{0}/config/sp2_item.ini", main_path);
INILoader.INILoader item_file_loader = new INILoader.INILoader(item_path, false);
item_file_loader.SetTitle("common_info");
int count = item_file_loader.LoadInt("item_group_cnt", 0);
for (int i = 0; i < count; ++i)
{
String group_key = String.Format("item_group{0}", i + 1);
String temp = item_file_loader.LoadString(group_key, "");
String path = String.Format("{0}\\config\\{1}", main_path, temp);
if (File.Exists(path) == false)
continue;
INILoader.INILoader item_loader = new INILoader.INILoader(path, false);
item_loader.SetTitle("common");
int item_count = item_loader.LoadInt("item_cnt", 0);
if (item_count == 0)
continue;
for (int j = 0; j < item_count; ++j)
{
String title = String.Format("item{0}", j + 1);
item_loader.SetTitle(title);
ItemData data = new ItemData();
int code = item_loader.LoadInt("code", 0);
int type = code/100000;
switch( type )
{
case 0:
data.desc = "일반 무기";
break;
case 1:
data.desc = "일반 갑옷";
break;
case 2:
data.desc = "일반 투구";
break;
case 3:
data.desc = "일반 망토";
break;
default:
data.desc = "오브젝트";
break;
}
data.type = "장비";
data.name = item_loader.LoadString("name", "");
data.pack_name = item_loader.LoadString("item_large_icon0", "");
item_data_list.Add(data);
}
}
}
private void LoadExtraItemData()
{
String item_path = String.Format("{0}/config/sp2_extraitem.ini", main_path);
INILoader.INILoader item_file_loader = new INILoader.INILoader(item_path, false);
item_file_loader.SetTitle("common_info");
int count = item_file_loader.LoadInt("item_group_cnt", 0);
for (int i = 0; i < count; ++i)
{
String group_key = String.Format("item_group{0}", i + 1);
String temp = item_file_loader.LoadString(group_key, "");
String path = String.Format("{0}\\config\\{1}", main_path, temp);
if (File.Exists(path) == false)
continue;
INILoader.INILoader item_loader = new INILoader.INILoader(path, false);
item_loader.SetTitle("common");
int item_count = item_loader.LoadInt("item_cnt", 0);
if (item_count == 0)
continue;
for (int j = 0; j < item_count; ++j)
{
String title = String.Format("item{0}", j + 1);
item_loader.SetTitle(title);
ItemData data = new ItemData();
int code = item_loader.LoadInt("code", 0);
int type = code / 100000;
switch (type)
{
case 0:
data.desc = "고급 무기";
break;
case 1:
data.desc = "고급 갑옷";
break;
case 2:
data.desc = "고급 투구";
break;
case 3:
data.desc = "고급 망토";
break;
default:
data.desc = "오브젝트";
break;
}
data.type = "고급장비";
data.name = item_loader.LoadString("name", "");
data.pack_name = item_loader.LoadString("item_large_icon0", "");
data.item_code = code;
item_data_list.Add(data);
}
}
}
private void LoadSkillData()
{
String skill_path = String.Format("{0}/config/sp2_skill.ini", main_path);
INILoader.INILoader skill_file_loader = new INILoader.INILoader(skill_path, false);
skill_file_loader.SetTitle( "common_info" );
int count = skill_file_loader.LoadInt( "skill_group_cnt", 0 );
for( int i=0; i<count; ++i )
{
String group_key = String.Format( "skill_group{0}", i+1 );
String temp = skill_file_loader.LoadString( group_key, "" );
String path = String.Format("{0}\\config\\{1}", main_path, temp );
if( File.Exists( path ) == false )
continue;
INILoader.INILoader skill_loader = new INILoader.INILoader(path, false);
skill_loader.SetTitle( "common" );
int skill_count = skill_loader.LoadInt( "skill_cnt", 0 );
if( skill_count == 0 )
continue;
for( int j=0; j<skill_count; ++j )
{
String title = String.Format( "skill{0}", j+1 );
skill_loader.SetTitle( title );
ItemData data = new ItemData();
data.type = "스킬";
String name = skill_loader.LoadString( "desc_full_name", "" );
if( String.IsNullOrEmpty(name) )
data.name = skill_loader.LoadString( "desc_name", "" );
else
data.name = name;
data.desc = skill_loader.LoadString( "desc", "" );
data.name += " (";
data.name += skill_loader.LoadString( "name", "" );
data.name += ")";
data.pack_name = skill_loader.LoadString( "icon", "" );
item_data_list.Add(data);
}
}
}
private void LoadMedalData()
{
String medal_path = String.Format("{0}/config/sp2_medalitem_info.ini", main_path);
String medal_manual_path = String.Format("{0}/config/sp2_medal_inven_manual.ini", main_path);
INILoader.INILoader medal_loader = new INILoader.INILoader(medal_path, false);
INILoader.INILoader medal_manual_loader = new INILoader.INILoader(medal_manual_path, false);
medal_loader.SetTitle("item_info_common");
int cnt = medal_loader.LoadInt("max_item_info", 0);
for (int i = 0; i < cnt; ++i)
{
medal_loader.SetTitle(String.Format("item_info_{0}", i + 1));
ItemData data = new ItemData();
data.pack_name = medal_loader.LoadString("icon", "");
data.name = medal_loader.LoadString("name", "");
if (String.IsNullOrEmpty(data.name))
{
continue;
}
String manual = medal_loader.LoadString("manual", "");
StringBuilder sb = new StringBuilder();
medal_manual_loader.SetTitle(String.Format("Manual{0}", manual));
for (int j = 0; j < 30; ++j)
{
String desc = medal_manual_loader.LoadString(String.Format("{0}Text1", j + 1), "");
if (String.IsNullOrEmpty(desc))
{
data.desc = sb.ToString();
break;
}
if (j != 0)
sb.Append(Environment.NewLine);
sb.Append(desc);
}
data.type = "메달";
item_data_list.Add(data);
}
}
private void LoadQuestData()
{
String path = String.Format("{0}/config/sp2_quest_info.ini", main_path);
INILoader.INILoader quest_file_loader = new INILoader.INILoader(path, false);
quest_file_loader.SetTitle( "common" );
int count = quest_file_loader.LoadInt( "max_quest", 0 );
for( int i=0; i<count; ++i )
{
quest_file_loader.SetTitle(String.Format("quest{0}", i + 1));
int quest_cnt = quest_file_loader.LoadInt("max_sub_quest", 0);
for( int j=0; j<quest_cnt; ++j )
{
ItemData data = new ItemData();
String icon_name = String.Format( "sub{0}_icon", j+1 );
String name = String.Format( "sub{0}_title", j+1 );
String desc = String.Format( "sub{0}_progress", j+1 );
data.pack_name = quest_file_loader.LoadString(icon_name, "");
data.name = quest_file_loader.LoadString(name, "");
data.desc = quest_file_loader.LoadString(desc, "");
data.type = "퀘스트";
item_data_list.Add(data);
}
}
}
private void LoadEtcItemData()
{
String etcitem_manual_path = String.Format("{0}/config/sp2_etc_inven_manual.ini", main_path);
String path = String.Format("{0}/config/sp2_etcitem_info.ini", main_path);
INILoader.INILoader loader = new INILoader.INILoader(path, false);
INILoader.INILoader etcitem_manual_loader = new INILoader.INILoader(etcitem_manual_path, false);
loader.SetTitle("common");
int count = loader.LoadInt("max", 0);
for (int i = 0; i < count; ++i)
{
String title = String.Format("etcitem{0}", i+1 );
loader.SetTitle(title);
ItemData data = new ItemData();
data.pack_name = loader.LoadString("icon_name", "");
data.name = loader.LoadString("name", "");
data.type = "특별아이템";
int manual = loader.LoadInt("inventory_manual", 0);
StringBuilder sb = new StringBuilder();
etcitem_manual_loader.SetTitle(String.Format("Manual{0}", manual));
for (int j = 0; j < 30; ++j)
{
String desc = etcitem_manual_loader.LoadString(String.Format("{0}Text1", j + 1), "");
if (String.IsNullOrEmpty(desc))
{
data.desc = sb.ToString();
break;
}
if (j != 0)
sb.Append(Environment.NewLine);
sb.Append(desc);
}
item_data_list.Add(data);
}
}
private void LoadCostumeData()
{
String path = String.Format("{0}/config/sp2_costume.ini", main_path);
INILoader.INILoader loader = new INILoader.INILoader(path, false);
loader.SetTitle("common_info");
int count = loader.LoadInt("costume_group_cnt", 0);
for (int i = 0; i < count; ++i)
{
String group_key = String.Format("costume_group{0}", i + 1);
String temp = loader.LoadString(group_key, "");
String costume_path = String.Format("{0}\\config\\{1}", main_path, temp);
if (File.Exists(costume_path) == false)
continue;
INILoader.INILoader costume_loader = new INILoader.INILoader(costume_path, false);
costume_loader.SetTitle( "common_info" );
int costume_cnt = costume_loader.LoadInt("costume_cnt", 0);
for( int j=0; j<costume_cnt; ++j )
{
String title = String.Format( "costume{0}", j+1 );
costume_loader.SetTitle( title );
ItemData data = new ItemData();
data.pack_name = costume_loader.LoadString("icon_name", "");
if( String.IsNullOrEmpty(data.pack_name) )
{
int code = costume_loader.LoadInt( "costum_code", 0 );
if( code > 0 )
{
ItemData item_data = item_data_list.Find( p => p.item_code == code );
if( !String.IsNullOrEmpty(item_data.pack_name) )
data.pack_name = item_data.pack_name;
}
}
data.name = costume_loader.LoadString("name", "");
data.desc = "";
data.type = "코스튬";
item_data_list.Add(data);
}
}
}
private void LoadAccessoryData()
{
String path = String.Format("{0}/config/sp2_accessory.ini", main_path);
INILoader.INILoader loader = new INILoader.INILoader(path, false);
loader.SetTitle("common_info");
int count = loader.LoadInt("item_group_cnt", 0);
for (int i = 0; i < count; ++i)
{
String group_key = String.Format("item_group{0}", i + 1);
String temp = loader.LoadString(group_key, "");
String accessory_path = String.Format("{0}\\config\\{1}", main_path, temp);
if (File.Exists(accessory_path) == false)
continue;
INILoader.INILoader item_loader = new INILoader.INILoader(accessory_path, false);
item_loader.SetTitle("common");
int item_cnt = item_loader.LoadInt("item_cnt", 0);
for (int j = 0; j < item_cnt; ++j)
{
String title = String.Format("item{0}", j + 1);
item_loader.SetTitle(title);
ItemData data = new ItemData();
data.pack_name = item_loader.LoadString("item_large_icon0", "");
data.name = item_loader.LoadString("name", "");
data.desc = "";
int desc_cnt = item_loader.LoadInt( "max_tooltip_text_size", 0 );
for( int k=0; k<desc_cnt; ++k )
{
if( String.IsNullOrEmpty(data.desc) )
{
String key = String.Format("tooltip_text{0}", k + 1);
data.desc = item_loader.LoadString(key, "");
}
else
{
String key = String.Format("tooltip_text{0}", k + 1);
data.desc += Environment.NewLine + item_loader.LoadString(key, "");
}
}
data.type = "악세사리";
item_data_list.Add(data);
}
}
}
private void LoadDecoManData()
{
String path = String.Format("{0}/config/sp2_deco_man.ini", main_path);
String deco_manual_path = String.Format("{0}/config/sp2_deco_manual.ini", main_path);
INILoader.INILoader loader = new INILoader.INILoader(path, false);
INILoader.INILoader deco_manual_loader = new INILoader.INILoader(deco_manual_path, false);
loader.SetTitle("Info");
int count = loader.LoadInt("max_Deco", 0);
for (int i = 0; i < count; ++i)
{
String title = String.Format("Deco{0}", i + 1);
loader.SetTitle(title);
int deco_cnt = loader.LoadInt( "Max", 0 );
for( int j=0; j<deco_cnt; ++j )
{
ItemData data = new ItemData();
String item_name = String.Format( "Name_{0}", j+1 );
String icon_name = String.Format( "Icon_{0}", j+1 );
String manual_name = String.Format( "manual_{0}", j+1 );
data.pack_name = loader.LoadString(icon_name, "");
data.name = loader.LoadString(item_name, "");
data.type = "남성치장";
int manual = loader.LoadInt( manual_name, 0 );
StringBuilder sb = new StringBuilder();
deco_manual_loader.SetTitle(String.Format("Manual{0}", manual));
for (int k = 0; k < 30; ++k)
{
String desc = deco_manual_loader.LoadString(String.Format("{0}Text1", k + 1), "");
if (String.IsNullOrEmpty(desc))
{
data.desc = sb.ToString();
break;
}
if (k != 0)
sb.Append(Environment.NewLine);
sb.Append(desc);
}
item_data_list.Add(data);
}
}
}
private void LoadDecoWomanData()
{
String path = String.Format("{0}/config/sp2_deco_woman.ini", main_path);
String deco_manual_path = String.Format("{0}/config/sp2_deco_manual.ini", main_path);
INILoader.INILoader loader = new INILoader.INILoader(path, false);
INILoader.INILoader deco_manual_loader = new INILoader.INILoader(deco_manual_path, false);
loader.SetTitle("Info");
int count = loader.LoadInt("max_Deco", 0);
for (int i = 0; i < count; ++i)
{
String title = String.Format("Deco{0}", i + 1);
loader.SetTitle(title);
int deco_cnt = loader.LoadInt("Max", 0);
for (int j = 0; j < deco_cnt; ++j)
{
ItemData data = new ItemData();
String item_name = String.Format("Name_{0}", j + 1);
String icon_name = String.Format("Icon_{0}", j + 1);
String manual_name = String.Format("manual_{0}", j + 1);
data.pack_name = loader.LoadString(icon_name, "");
data.name = loader.LoadString(item_name, "");
data.type = "여성치장";
int manual = loader.LoadInt(manual_name, 0);
StringBuilder sb = new StringBuilder();
deco_manual_loader.SetTitle(String.Format("Manual{0}", manual));
for (int k = 0; k < 30; ++k)
{
String desc = deco_manual_loader.LoadString(String.Format("{0}Text1", k + 1), "");
if (String.IsNullOrEmpty(desc))
{
data.desc = sb.ToString();
break;
}
if (k != 0)
sb.Append(Environment.NewLine);
sb.Append(desc);
}
item_data_list.Add(data);
}
}
}
private void LoadCustomDesc()
{
item_custom_list = new List<ItemCustomData>();
item_custom_list.Clear();
if (!File.Exists("./custom_desc.txt"))
return;
StreamReader sr = new StreamReader("./custom_desc.txt");
String szLine = String.Empty;
while (sr.Peek() > -1)
{
szLine = sr.ReadLine();
char[] charSeparators = new char[] { ',' };
String[] RetString = szLine.Split(charSeparators, 2);
if( RetString.Length == 2 )
{
ItemCustomData data;
data.pack_name = RetString[0];
data.desc = RetString[1];
item_custom_list.Add(data);
}
}
sr.Close();
}
private void SaveCustomDesc()
{
if( item_custom_list.Count == 0 )
return;
StreamWriter sw = new StreamWriter("./custom_desc.txt");
foreach( ItemCustomData data in item_custom_list )
{
if( String.IsNullOrEmpty(data.desc) )
continue;
String line = String.Format( "{0},{1}", data.pack_name, data.desc );
sw.WriteLine(line);
}
sw.Close();
}
}
}
+21
View File
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace ItemDictionary
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new ItemDictionary());
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
// 어셈블리와 관련된 정보를 수정하려면
// 이 특성 값을 변경하십시오.
[assembly: AssemblyTitle("편하게 일 합시다!")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("WEMADEIO Co., Ltd.")]
[assembly: AssemblyProduct("로스트사가 아이템 사전")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("da47c25f-1458-4916-972d-5fdddd167d18")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
//
// 주 버전
// 부 버전
// 빌드 번호
// 수정 버전
//
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
// 지정되도록 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.1")]
+63
View File
@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다.
// 런타임 버전:4.0.30319.42000
//
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
// 이러한 변경 내용이 손실됩니다.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ItemDictionary.Properties {
using System;
/// <summary>
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
/// </summary>
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
// 클래스에서 자동으로 생성되었습니다.
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
// 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ItemDictionary.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대한 현재 스레드의 CurrentUICulture
/// 속성을 재정의합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+30
View File
@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ItemDictionary.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

+42
View File
@@ -0,0 +1,42 @@
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
namespace XMLLoader
{
class xmlLoader
{
public String m_FileName;
XmlDocument m_xmlDocument;
XmlElement m_xmlDocumentElement;
public xmlLoader(String FileName)
{
if (!File.Exists(FileName))
{
MessageBox.Show("File not found.. : " + FileName);
return;
}
m_FileName = FileName;
m_xmlDocument = new XmlDocument();
m_xmlDocument.Load(m_FileName);
m_xmlDocumentElement = (XmlElement)m_xmlDocument.DocumentElement;
}
public XmlDocument GetDocument()
{
return m_xmlDocument;
}
public XmlElement GetElement()
{
return m_xmlDocumentElement;
}
}
}