Commit 1a6cfad1 authored by keyongyu's avatar keyongyu

2.2.2.2

parent 85f291e0
......@@ -356,7 +356,7 @@ void Menuitem_openClick(object sender, EventArgs e)
}
#endregion
#region find
void Tb_inputKeyDown(object sender, KeyEventArgs e)
{
......@@ -398,5 +398,6 @@ void CodeEditFormFormClosing(object sender, FormClosingEventArgs e)
Save();
}
}
}
}
/*
* 由SharpDevelop创建。
* 用户: Acer
* 日期: 2014-10-25
* 时间: 8:12
*
*/
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace DataEditorX
{
/// <summary>
/// Description of LuaFunction.
/// </summary>
public class LuaFunction
{
#region log
static string oldfun;
static string logtxt;
static string funclisttxt;
static void ResetLog(string file)
{
File.Delete(logtxt);
}
static void Log(string str)
{
File.AppendAllText(logtxt, str+Environment.NewLine);
}
#endregion
#region old functions
static SortedList<string,string> funclist=new SortedList<string,string>();
public static SortedList<string,string> Read(string funtxt)
{
funclist.Clear();
oldfun=funtxt;
SortedList<string,string> list=new SortedList<string,string>();
if(File.Exists(funtxt))
{
string[] lines=File.ReadAllLines(funtxt);
bool isFind=false;
string name="";
string desc="";
foreach(string line in lines)
{
if(string.IsNullOrEmpty(line)
|| line.StartsWith("==")
|| line.StartsWith("#"))
continue;
if(line.StartsWith("●"))
{
//add
if(!string.IsNullOrEmpty(name))
{
if(list.ContainsKey(name)){
list[name] +=Environment.NewLine+desc;
funclist[name] +=Environment.NewLine+desc;
}
else{
list.Add(name, desc);
funclist.Add(name, desc);
}
}
int w=line.IndexOf("(");
int t=line.IndexOf(" ");
if(t<w && t>0){
name=line.Substring(t+1,w-t-1);
isFind=true;
desc=line.Replace("●","");
}
}
else if(isFind){
desc+=Environment.NewLine+line;
}
}
if(!string.IsNullOrEmpty(name))
{
if(list.ContainsKey(name)){
list[name] +=Environment.NewLine+desc;
funclist[name] +=Environment.NewLine+desc;
}
else{
list.Add(name, desc);
funclist.Add(name, desc);
}
}
}
return list;
}
#endregion
static void Save()
{
if(string.IsNullOrEmpty(oldfun))
return;
using(FileStream fs=new FileStream(oldfun+"_sort.txt",
FileMode.Create,
FileAccess.Write))
{
StreamWriter sw=new StreamWriter(fs,Encoding.UTF8);
foreach(string k in funclist.Keys)
{
sw.WriteLine("●"+funclist[k]);
}
sw.Close();
}
}
#region find libs
public static bool Find(string path)
{
string name="interpreter.cpp";
string file=Path.Combine(path,name);
string file2=Path.Combine(Path.Combine(path, "ocgcore"), name);
logtxt=Path.Combine(path, "find_functions.log");
ResetLog(logtxt);
funclisttxt =Path.Combine(path, "_functions.txt");
File.Delete(funclisttxt);
if(!File.Exists(file)){
Log("error: no find file "+file);
if(File.Exists(file2)){
file=file2;
path=Path.Combine(path, "ocgcore");
}
else{
Log("error: no find file "+file2);
return false;
}
}
string texts=File.ReadAllText(file);
Regex libRex=new Regex(@"\sluaL_Reg\s([a-z]*?)lib\[\]([\s\S]*?)^\}"
,RegexOptions.Multiline);
MatchCollection libsMatch=libRex.Matches(texts);
Log("log:count "+libsMatch.Count.ToString());
foreach ( Match m in libsMatch )
{
if(m.Groups.Count>2){
string word=m.Groups[1].Value;
Log("log:find "+word);
GetFunctions(word, m.Groups[2].Value,
Path.Combine(path,"lib"+word+".cpp"));
}
}
Save();
return true;
}
#endregion
#region find function name
static string ToTitle(string str)
{
return str.Substring(0, 1).ToUpper()+str.Substring(1);
}
static Dictionary<string,string> GetFunctionNames(string texts,string name)
{
Dictionary<string,string> dic=new Dictionary<string, string>();
Regex funcRex=new Regex("\"(\\S*?)\",\\s*?(\\S*?::\\S*?)\\s");
MatchCollection funcsMatch=funcRex.Matches(texts);
Log("log: functions count "+name+":"+funcsMatch.Count.ToString());
foreach ( Match m in funcsMatch )
{
if(m.Groups.Count>2)
{
string k=ToTitle(name)+"."+m.Groups[1].Value;
string v=m.Groups[2].Value;
if(!dic.ContainsKey(k))
dic.Add(k,v);
}
}
return dic;
}
#endregion
#region find code
static string FindCode(string texts,string name)
{
Regex reg=new Regex(@"int32\s+?"+name
+@"[\s\S]+?\{([\s\S]*?^)\}",
RegexOptions.Multiline);
Match mc=reg.Match(texts);
if(mc.Success)
{
if(mc.Groups.Count>1)
return mc.Groups[0].Value
.Replace("\r\n","\n")
.Replace("\r","\n")
.Replace("\n",Environment.NewLine);
}
return "";
}
#endregion
#region find return
static string FindReturn(string texts,string name)
{
string restr="";
if(texts.IndexOf("lua_pushboolean")>=0)
return "bool ";
else
{
if(texts.IndexOf("interpreter::card2value")>=0)
restr += "Card ";
if(texts.IndexOf("interpreter::group2value")>=0)
restr += "Group ";
if(texts.IndexOf("interpreter::effect2value")>=0)
restr += "Effect ";
else if(texts.IndexOf("interpreter::function2value")>=0)
restr += "function ";
if(texts.IndexOf("lua_pushinteger")>=0)
restr += "int ";
if(texts.IndexOf("lua_pushstring")>=0)
restr += "string ";
}
if(string.IsNullOrEmpty(restr))
restr="void ";
if(restr.IndexOf(" ") !=restr.Length-1){
restr = restr.Replace(" ","|").Substring(0,restr.Length-1)+" ";
}
return restr;
}
#endregion
#region find args
static string getUserType(string str)
{
if(str.IndexOf("card")>=0)
return "Card";
if(str.IndexOf("effect")>=0)
return "Effect";
if(str.IndexOf("group")>=0)
return "Group";
return "Any";
}
static void AddArgs(string texts,string regx,string arg,SortedList<int,string> dic)
{
//function
Regex reg=new Regex(regx);
MatchCollection mcs=reg.Matches(texts);
foreach(Match m in mcs)
{
if(m.Groups.Count>1)
{
string v=arg;
int k=int.Parse(m.Groups[1].Value);
if(dic.ContainsKey(k))
dic[k] = dic[k]+"|"+v;
else
dic.Add(k,v);
}
}
}
static string FindArgs(string texts,string name)
{
SortedList<int,string> dic=new SortedList<int, string>();
//card effect ggroup
Regex reg=new Regex(@"\((\S+?)\)\s+?lua_touserdata\(L,\s+(\d+)\)");
MatchCollection mcs=reg.Matches(texts);
foreach(Match m in mcs)
{
if(m.Groups.Count>2)
{
string v=m.Groups[1].Value.ToLower();
v = getUserType(v);
int k=int.Parse(m.Groups[2].Value);
if(dic.ContainsKey(k))
dic[k] = dic[k]+"|"+v;
else
dic.Add(k,v);
}
}
//function
AddArgs(texts
,@"interpreter::get_function_handle\(L,\s+(\d+)\)"
,"function",dic);
//int
AddArgs(texts,@"lua_tointeger\(L,\s+(\d+)\)","integer",dic);
//string
AddArgs(texts,@"lua_tostring\(L,\s+(\d+)\)","string",dic);
//bool
AddArgs(texts,@"lua_toboolean\(L,\s+(\d+)\)","boolean",dic);
string args="(";
foreach(int i in dic.Keys)
{
args +=dic[i]+", ";
}
if(args.Length>1)
args = args.Substring(0,args.Length-2);
args += ")";
return args;
}
#endregion
#region find old
static string FindOldDesc(string name)
{
if(funclist.ContainsKey(name))
return funclist[name];
return "";
}
#endregion
#region Save Functions
public static void GetFunctions(string name,string texts,string file)
{
if(!File.Exists(file)){
Log("error:no find file "+file);
return;
}
string cpps=File.ReadAllText(file);
//lua name /cpp name
Dictionary<string,string> fun=GetFunctionNames(texts,name);
if(fun==null || fun.Count==0){
Log("warning: no find functions of "+name);
return;
}
Log("log: find functions "+name+":"+fun.Count.ToString());
using(FileStream fs=new FileStream(file+".txt",
FileMode.Create,
FileAccess.Write))
{
StreamWriter sw=new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine("========== "+name+" ==========");
File.AppendAllText(funclisttxt, "========== "+name+" ==========");
foreach(string k in fun.Keys)
{
string v=fun[k];
string code=FindCode(cpps, v);
string txt="●"+FindReturn(code,v)+k+FindArgs(code,v)
+Environment.NewLine
+FindOldDesc(k)
+Environment.NewLine
+code;
sw.WriteLine(txt);
File.AppendAllText(funclisttxt,txt+Environment.NewLine);
}
sw.Close();
}
}
#endregion
}
}
......@@ -86,8 +86,10 @@ string getMonster(Card c,string img,bool isPendulum)
sb.Replace("%type2%",types[2]);
sb.Replace("%type3%",types[3]);
if(isPendulum){
sb.Replace("%desc%", conv.ReDesc(
conv.GetDesc(c.desc, cfg.regx_monster)));
string text= conv.GetDesc(c.desc, cfg.regx_monster);
if(string.IsNullOrEmpty(text))
text=c.desc;
sb.Replace("%desc%", conv.ReDesc(text));
sb.Replace("%pl%", ((c.level >> 0x18) & 0xff).ToString());
sb.Replace("%pr%", ((c.level >> 0x10) & 0xff).ToString());
sb.Replace("%pdesc%", conv.ReDesc(
......
......@@ -23,7 +23,7 @@ public RegStr(string p,string r)
}
string Re(string str)
{
return str.Replace("\\n","\n").Replace("\\t","\t");
return str.Replace("\\n","\n").Replace("\\t","\t").Replace("\\s"," ");
}
public string pstr;
public string rstr;
......
......@@ -93,7 +93,6 @@ public string ReDesc(string desc)
sb.Replace(Environment.NewLine, "\n");
sb.Replace("\n\n","\n");
sb.Replace("\n","\n\t\t");
sb.Replace(" ","^");
return sb.ToString();
}
public string[] GetTypes(Card c)
......
......@@ -783,7 +783,7 @@ private void InitializeComponent()
this.pl_image.AllowDrop = true;
this.pl_image.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pl_image.BackColor = System.Drawing.SystemColors.ButtonHighlight;
this.pl_image.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.pl_image.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.pl_image.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pl_image.Location = new System.Drawing.Point(218, 52);
this.pl_image.Name = "pl_image";
......
......@@ -1470,18 +1470,15 @@ void setImage(string id)
{
temp=new Bitmap(pic2);
pl_image.BackgroundImage=temp;
pl_image.BackgroundImageLayout=ImageLayout.Center;
}
else if(menuitem_importmseimg.Checked && File.Exists(pic3))
{
temp=new Bitmap(pic3);
pl_image.BackgroundImage=temp;
pl_image.BackgroundImageLayout=ImageLayout.Center;
}
else if(File.Exists(pic)){
temp=new Bitmap(pic);
pl_image.BackgroundImage=temp;
pl_image.BackgroundImageLayout= ImageLayout.Stretch;
}
else
pl_image.BackgroundImage=m_cover;
......
......@@ -79,6 +79,7 @@
<Compile Include="Core\DataConfig.cs" />
<Compile Include="Core\DataManager.cs" />
<Compile Include="Core\ImageSet.cs" />
<Compile Include="Core\LuaFunction.cs" />
<Compile Include="Core\MSE.cs" />
<Compile Include="Core\MSEConfig.cs" />
<Compile Include="Core\MSEConvert.cs" />
......@@ -235,6 +236,9 @@
<None Include="english\_functions.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="lua function tmp.zip">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Magic Set Editor 2\download.bat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
......
......@@ -74,6 +74,7 @@ private void InitializeComponent()
this.menuitem_close = new System.Windows.Forms.ToolStripMenuItem();
this.menuitem_closeother = new System.Windows.Forms.ToolStripMenuItem();
this.menuitem_closeall = new System.Windows.Forms.ToolStripMenuItem();
this.menuitem_findluafunc = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
......@@ -150,6 +151,7 @@ private void InitializeComponent()
this.menuitem_open,
this.menuitem_new,
this.menuitem_save,
this.menuitem_findluafunc,
this.toolStripSeparator3,
this.menuitem_copyselect,
this.menuitem_copyall,
......@@ -316,6 +318,13 @@ private void InitializeComponent()
this.menuitem_closeall.Text = "Close All";
this.menuitem_closeall.Click += new System.EventHandler(this.CloseAllToolStripMenuItemClick);
//
// menuitem_findluafunc
//
this.menuitem_findluafunc.Name = "menuitem_findluafunc";
this.menuitem_findluafunc.Size = new System.Drawing.Size(261, 22);
this.menuitem_findluafunc.Text = "Find LuaFunctons";
this.menuitem_findluafunc.Click += new System.EventHandler(this.Menuitem_findluafuncClick);
//
// MainForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
......@@ -335,6 +344,7 @@ private void InitializeComponent()
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.ToolStripMenuItem menuitem_findluafunc;
private System.Windows.Forms.ToolStripMenuItem menuitem_save;
private System.Windows.Forms.ToolStripMenuItem menuitem_codeeditor;
private System.Windows.Forms.ToolStripMenuItem menuitem_copyall;
......
......@@ -31,8 +31,8 @@ public partial class MainForm : Form
string cdbHistoryFile;
List<string> cdblist;
string datapath;
string conflang,conflang_de,conflang_ce,confmsg;
string funtxt,conlua;
string conflang,conflang_de,conflang_ce,confmsg,conflang_pe;
string funtxt,conlua,fieldtxt;
DataEditForm compare1,compare2;
Card[] tCards;
Dictionary<DataEditForm,string> list;
......@@ -72,6 +72,8 @@ void Init(string datapath)
conflang = Path.Combine(datapath, "language-mainform.txt");
conflang_de = Path.Combine(datapath, "language-dataeditor.txt");
conflang_ce = Path.Combine(datapath, "language-codeeditor.txt");
conflang_pe = Path.Combine(datapath, "language-puzzleditor.txt");
fieldtxt= Path.Combine(datapath, "Puzzle.txt");
confmsg = Path.Combine(datapath, "message.txt");
funtxt = Path.Combine(datapath, "_functions.txt");
conlua = Path.Combine(datapath, "constant.lua");
......@@ -203,6 +205,7 @@ protected override void DefWndProc(ref System.Windows.Forms.Message m)
#endregion
#region open
public void OpenScript(string file)
{
if(!string.IsNullOrEmpty(file) && File.Exists(file)){
......@@ -513,7 +516,7 @@ void InitCodeEditor(string funtxt,string conlua)
AddConToolTip(key, datacfg.dicSetnames[k]);
}
}
//MessageBox.Show(funList.Count.ToString());
}
#endregion
......@@ -529,14 +532,16 @@ void AddFunction(string funtxt)
foreach(string line in lines)
{
if(string.IsNullOrEmpty(line)
|| line.StartsWith("=="))
|| line.StartsWith("==")
|| line.StartsWith("#"))
continue;
if(line.StartsWith("●"))
{
//add
AddFuncTooltip(name, desc);
int t=line.IndexOf(" ");
int w=line.IndexOf("(");
int t=line.IndexOf(" ");
if(t<w && t>0){
name=line.Substring(t+1,w-t-1);
isFind=true;
......@@ -553,6 +558,12 @@ void AddFunction(string funtxt)
string GetFunName(string str)
{
int t=str.IndexOf(".");
//if(str.StartsWith("Debug.")
// || str.StartsWith("Duel.")
// || str.StartsWith("bit.")
// || str.StartsWith("aux.")
// )
// return str;
if(t>0)
return str.Substring(t+1);
return str;
......@@ -633,5 +644,18 @@ void AddConstant(string conlua)
}
#endregion
void Menuitem_findluafuncClick(object sender, EventArgs e)
{
using(FolderBrowserDialog fd=new FolderBrowserDialog())
{
fd.Description="Folder Name: ocgcore";
if(fd.ShowDialog()==DialogResult.OK)
{
LuaFunction.Read(funtxt);
LuaFunction.Find(fd.SelectedPath);
MessageBox.Show("OK");
}
}
}
}
}
......@@ -28,4 +28,4 @@
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("2.2.2.1")]
[assembly: AssemblyVersion("2.2.2.2")]
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -4,6 +4,7 @@ MainForm->menuitem_open 打开(&O)
MainForm->menuitem_save 保存(&S)
MainForm->menuitem_copyselect 复制所选卡片
MainForm->menuitem_copyall 复制当前结果的所有卡片
MainForm->menuitem_findluafunc 从源码获取Lua函数
MainForm->menuitem_pastecards 粘贴卡片
MainForm->menuitem_comp1 对比-卡片数据 1
MainForm->menuitem_comp2 对比-卡片数据 2
......
......@@ -17,5 +17,6 @@ pendulum-text = 】[\s\S]*?\n([\S\s]*?)\n【
monster-text = [果|介|述|報]】\n([\S\s]*)
# en monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
########################### Replace
replace = ([鮟|鱇|・]) <i>$1</i>
replace = ([鮟|鱇|・|·]) <i>$1</i>
#replace = \s <sym-auto>^</sym-auto>
replace = ([A-Z]) <i>$1</i>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -30,8 +30,8 @@ DataEditForm->menuitem_importmseimg Drop Image to MSE
DataEditForm->menuitem_convertimage Import Images
DataEditForm->menuitem_openLastDataBase Open Last DataBase
DataEditForm->menuitem_cutimages Cut Images For Game
DataEditForm->menuitem_saveasmse_select Select Cards Save As...
DataEditForm->menuitem_saveasmse All Now Cards Save As...
DataEditForm->menuitem_saveasmse_select Select Cards Save As MSE
DataEditForm->menuitem_saveasmse All Cards Save As MSE
DataEditForm->menuitem_about About
DataEditForm->menuitem_checkupdate Check Update
DataEditForm->menuitem_copyselectto Slect Cards Copy To...
......
......@@ -4,6 +4,7 @@ MainForm->menuitem_open Open
MainForm->menuitem_save Save
MainForm->menuitem_copyselect Copy Select Cards
MainForm->menuitem_copyall Copy All Cards
MainForm->menuitem_findluafunc Find Lua Functions
MainForm->menuitem_pastecards Paste Cards
MainForm->menuitem_comp1 Compare-Cards 1
MainForm->menuitem_comp2 Compare-Cards 2
......
......@@ -8,5 +8,8 @@ trap = [Trap Card%%]
############################ Text
pendulum-text = Text:\n([\S\s]*?)\n[\S\s]*?Text:
monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
# pendulum-text = Pendulum Effect[\S\s]*?\n([\S\s]*?)\n=================
# pendulum-text = Pendulum Effect\n([\S\s]*?)\n\n
# monster-text = Monster Effect\n([\S\s]*)
########################### Replace
# replace = ([A-Z]) <i>$1</i>
\ No newline at end of file
......@@ -12,9 +12,9 @@
%desc%
attack: %atk%
defense: %def%
gamecode: %code%
pendulum: medium
pendulum scale 1: %pl%
pendulum scale 2: %pr%
pendulum text:
%pdesc%
\ No newline at end of file
%pdesc%
gamecode: %code%
\ No newline at end of file
[DataEditorX]2.2.2.1[DataEditorX]
[DataEditorX]2.2.2.2[DataEditorX]
[URL]https://github.com/247321453/DataEditorX/raw/master/win32/win32.zip[URL]
★使用前,请关联lua的打开方式,例如记事本,notepad++,等。
......@@ -68,6 +68,10 @@ DataEditorX.exe.config
描述不详细的bug,我修复不了。(都不知道是bug是什么)
★更新历史
2.2.2.2
增加从源码获取Lua的函数,并且自动排序函数
更新cpp的函数库,未包括utility.lua
fix english mse-config
2.2.2.1
添加关闭标签快捷键 Ctrl+W
修复lua编辑器打开大文件,无响应
......
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
# history
F:\games\ygocore\cards (2).cdb
F:\games\ygocore\script\utility.lua
F:\games\ygopro\script\c126218.lua
F:\games\ygocore\script\c99995595.lua
F:\games\ygopro\script\c32864.lua
F:\games\ygocore\script\c126218.lua
F:\games\ygocore\script\c131182.lua
F:\games\ygocore\script\c900787.lua
F:\games\ygopro\cards.cdb
F:\games\ygopro\script\c168917.lua
F:\games\ygopro\script\c191749.lua
\ No newline at end of file
F:\games\ygopro\script\c191749.lua
E:\github\DataEditorX\DataEditorX\chinese\constant.lua
F:\games\ygocore\script\constant.lua
F:\games\ygocore\single\[sample]BerserkDragon.lua
F:\games\ygopro\cards.cdb
F:\games\ygocore\script\utility.lua
\ No newline at end of file
......@@ -4,6 +4,7 @@ MainForm->menuitem_open 打开(&O)
MainForm->menuitem_save 保存(&S)
MainForm->menuitem_copyselect 复制所选卡片
MainForm->menuitem_copyall 复制当前结果的所有卡片
MainForm->menuitem_findluafunc 从源码获取Lua函数
MainForm->menuitem_pastecards 粘贴卡片
MainForm->menuitem_comp1 对比-卡片数据 1
MainForm->menuitem_comp2 对比-卡片数据 2
......
......@@ -17,5 +17,6 @@ pendulum-text = 】[\s\S]*?\n([\S\s]*?)\n【
monster-text = [果|介|述|報]】\n([\S\s]*)
# en monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
########################### Replace
replace = ([鮟|鱇|・]) <i>$1</i>
replace = ([鮟|鱇|・|·]) <i>$1</i>
#replace = \s <sym-auto>^</sym-auto>
replace = ([A-Z]) <i>$1</i>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
# history
F:\games\ygocore\cards.cdb
F:\cards.cdb
F:\cards2.cdb
\ No newline at end of file
......@@ -30,8 +30,8 @@ DataEditForm->menuitem_importmseimg Drop Image to MSE
DataEditForm->menuitem_convertimage Import Images
DataEditForm->menuitem_openLastDataBase Open Last DataBase
DataEditForm->menuitem_cutimages Cut Images For Game
DataEditForm->menuitem_saveasmse_select Select Cards Save As...
DataEditForm->menuitem_saveasmse All Now Cards Save As...
DataEditForm->menuitem_saveasmse_select Select Cards Save As MSE
DataEditForm->menuitem_saveasmse All Cards Save As MSE
DataEditForm->menuitem_about About
DataEditForm->menuitem_checkupdate Check Update
DataEditForm->menuitem_copyselectto Slect Cards Copy To...
......
......@@ -4,6 +4,7 @@ MainForm->menuitem_open Open
MainForm->menuitem_save Save
MainForm->menuitem_copyselect Copy Select Cards
MainForm->menuitem_copyall Copy All Cards
MainForm->menuitem_findluafunc Find Lua Functions
MainForm->menuitem_pastecards Paste Cards
MainForm->menuitem_comp1 Compare-Cards 1
MainForm->menuitem_comp2 Compare-Cards 2
......
......@@ -8,5 +8,8 @@ trap = [Trap Card%%]
############################ Text
pendulum-text = Text:\n([\S\s]*?)\n[\S\s]*?Text:
monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
# pendulum-text = Pendulum Effect[\S\s]*?\n([\S\s]*?)\n=================
# pendulum-text = Pendulum Effect\n([\S\s]*?)\n\n
# monster-text = Monster Effect\n([\S\s]*)
########################### Replace
# replace = ([A-Z]) <i>$1</i>
\ No newline at end of file
......@@ -12,9 +12,9 @@
%desc%
attack: %atk%
defense: %def%
gamecode: %code%
pendulum: medium
pendulum scale 1: %pl%
pendulum scale 2: %pr%
pendulum text:
%pdesc%
\ No newline at end of file
%pdesc%
gamecode: %code%
\ No newline at end of file
[DataEditorX]2.2.2.1[DataEditorX]
[DataEditorX]2.2.2.2[DataEditorX]
[URL]https://github.com/247321453/DataEditorX/raw/master/win32/win32.zip[URL]
★使用前,请关联lua的打开方式,例如记事本,notepad++,等。
......@@ -68,6 +68,10 @@ DataEditorX.exe.config
描述不详细的bug,我修复不了。(都不知道是bug是什么)
★更新历史
2.2.2.2
增加从源码获取Lua的函数,并且自动排序函数
更新cpp的函数库,未包括utility.lua
fix english mse-config
2.2.2.1
添加关闭标签快捷键 Ctrl+W
修复lua编辑器打开大文件,无响应
......
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment