mirror of
https://github.com/4sval/FModel.git
synced 2026-06-20 15:00:12 -05:00
Honor of Kings: World support
Some checks are pending
FModel QA Builder / build (push) Waiting to run
Some checks are pending
FModel QA Builder / build (push) Waiting to run
Co-Authored-By: LongerWarrior <37636768+LongerWarrior@users.noreply.github.com>
This commit is contained in:
parent
147e0147ba
commit
bcba355146
|
|
@ -1 +1 @@
|
|||
Subproject commit 5dd002d23f61f8104eca549ede03c2d9f112072f
|
||||
Subproject commit 3a243aa9452658bbc6a74d538d1cf4d73da758f4
|
||||
|
|
@ -14,6 +14,7 @@ public static class AvalonExtensions
|
|||
private static readonly IHighlightingDefinition _cppHighlighter = LoadHighlighter("Cpp.xshd");
|
||||
private static readonly IHighlightingDefinition _changelogHighlighter = LoadHighlighter("Changelog.xshd");
|
||||
private static readonly IHighlightingDefinition _verseHighlighter = LoadHighlighter("Verse.xshd");
|
||||
private static readonly IHighlightingDefinition _luaHighlighter = LoadHighlighter("Lua.xshd");
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private static IHighlightingDefinition LoadHighlighter(string resourceName)
|
||||
|
|
@ -29,6 +30,9 @@ public static class AvalonExtensions
|
|||
{
|
||||
switch (ext)
|
||||
{
|
||||
case "lua":
|
||||
case "luac":
|
||||
return _luaHighlighter;
|
||||
case "ini":
|
||||
case "csv":
|
||||
return _iniHighlighter;
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@
|
|||
<None Remove="Resources\Xml.xshd" />
|
||||
<None Remove="Resources\Cpp.xshd" />
|
||||
<None Remove="Resources\Changelog.xshd" />
|
||||
<None Remove="Resources\Lua.xshd" />
|
||||
<None Remove="Resources\unix.png" />
|
||||
<None Remove="Resources\linux.png" />
|
||||
<None Remove="Resources\stateofdecay2.png" />
|
||||
|
|
@ -129,6 +130,7 @@
|
|||
<EmbeddedResource Include="Resources\Verse.xshd" />
|
||||
<EmbeddedResource Include="Resources\Xml.xshd" />
|
||||
<EmbeddedResource Include="Resources\Cpp.xshd" />
|
||||
<EmbeddedResource Include="Resources\Lua.xshd" />
|
||||
<EmbeddedResource Include="Resources\Changelog.xshd" />
|
||||
<EmbeddedResource Include="Resources\default.frag" />
|
||||
<EmbeddedResource Include="Resources\default.vert" />
|
||||
|
|
|
|||
230
FModel/Resources/Lua.xshd
Normal file
230
FModel/Resources/Lua.xshd
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
<SyntaxDefinition name="Lua" extensions=".lua;.luac" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
|
||||
<Color name="Keyword1" foreground="#C586C0" fontWeight="bold" />
|
||||
<Color name="Keyword2" foreground="#569CD6" fontWeight="bold" />
|
||||
<Color name="Comment" foreground="#6A9955" />
|
||||
<Color name="String" foreground="#D69D85" />
|
||||
<Color name="Number" foreground="#B5CEA8" />
|
||||
<Color name="Function" foreground="#DCDCAA" />
|
||||
<Color name="Punctuation" foreground="#89DDFF" />
|
||||
<Color name="ObjectName" foreground="#3DC9B0" />
|
||||
<Color name="Constant" foreground="#9CDCFE" />
|
||||
|
||||
<RuleSet>
|
||||
<Rule color="Comment">--.*$</Rule>
|
||||
|
||||
<Rule color="String">"([^"\\]|\\.)*"</Rule>
|
||||
<Rule color="String">'([^'\\]|\\.)*'</Rule>
|
||||
|
||||
<Rule color="Number">\b\d+\.\d+([eE][+-]?\d+)?\b</Rule>
|
||||
<Rule color="Number">\b\d+[eE][+-]?\d+\b</Rule>
|
||||
<Rule color="Number">\b\d+\b</Rule>
|
||||
|
||||
<Keywords color="Keyword1">
|
||||
<Word>return</Word>
|
||||
<Word>function</Word>
|
||||
<Word>goto</Word>
|
||||
<Word>end</Word>
|
||||
<Word>if</Word>
|
||||
<Word>else</Word>
|
||||
<Word>elseif</Word>
|
||||
<Word>then</Word>
|
||||
<Word>for</Word>
|
||||
<Word>in</Word>
|
||||
<Word>until</Word>
|
||||
<Word>while</Word>
|
||||
<Word>break</Word>
|
||||
<Word>or</Word>
|
||||
<Word>and</Word>
|
||||
<Word>repeat</Word>
|
||||
<Word>do</Word>
|
||||
</Keywords>
|
||||
|
||||
<Keywords color="Keyword2">
|
||||
<Word>local</Word>
|
||||
<Word>nil</Word>
|
||||
<Word>not</Word>
|
||||
<Word>true</Word>
|
||||
<Word>false</Word>
|
||||
</Keywords>
|
||||
|
||||
<Keywords color="Function">
|
||||
<!-- Core functions -->
|
||||
<Word>assert</Word>
|
||||
<Word>collectgarbage</Word>
|
||||
<Word>error</Word>
|
||||
<Word>ipairs</Word>
|
||||
<Word>next</Word>
|
||||
<Word>pairs</Word>
|
||||
<Word>pcall</Word>
|
||||
<Word>print</Word>
|
||||
<Word>rawequal</Word>
|
||||
<Word>rawget</Word>
|
||||
<Word>rawlen</Word>
|
||||
<Word>rawset</Word>
|
||||
<Word>select</Word>
|
||||
<Word>setmetatable</Word>
|
||||
<Word>tonumber</Word>
|
||||
<Word>tostring</Word>
|
||||
<Word>type</Word>
|
||||
<Word>xpcall</Word>
|
||||
<Word>getmetatable</Word>
|
||||
<Word>require</Word>
|
||||
<Word>module</Word>
|
||||
|
||||
<!-- Modules / tables -->
|
||||
<Word>math</Word>
|
||||
<Word>string</Word>
|
||||
<Word>table</Word>
|
||||
<Word>coroutine</Word>
|
||||
<Word>os</Word>
|
||||
<Word>io</Word>
|
||||
<Word>utf8</Word>
|
||||
<Word>bit32</Word>
|
||||
<Word>package</Word>
|
||||
<Word>debug</Word>
|
||||
|
||||
<!-- Bit32 / bitwise functions -->
|
||||
<Word>arshift</Word>
|
||||
<Word>band</Word>
|
||||
<Word>bnot</Word>
|
||||
<Word>bor</Word>
|
||||
<Word>bxor</Word>
|
||||
<Word>btest</Word>
|
||||
<Word>extract</Word>
|
||||
<Word>lrotate</Word>
|
||||
<Word>lshift</Word>
|
||||
<Word>replace</Word>
|
||||
<Word>rrotate</Word>
|
||||
<Word>rshift</Word>
|
||||
|
||||
<!-- Coroutine functions -->
|
||||
<Word>create</Word>
|
||||
<Word>resume</Word>
|
||||
<Word>running</Word>
|
||||
<Word>status</Word>
|
||||
<Word>wrap</Word>
|
||||
<Word>yield</Word>
|
||||
<Word>isyieldable</Word>
|
||||
|
||||
<!-- Debug functions -->
|
||||
<Word>getuservalue</Word>
|
||||
<Word>gethook</Word>
|
||||
<Word>getinfo</Word>
|
||||
<Word>getlocal</Word>
|
||||
<Word>getregistry</Word>
|
||||
<Word>getupvalue</Word>
|
||||
<Word>upvaluejoin</Word>
|
||||
<Word>upvalueid</Word>
|
||||
<Word>setuservalue</Word>
|
||||
<Word>sethook</Word>
|
||||
<Word>setlocal</Word>
|
||||
<Word>setupvalue</Word>
|
||||
<Word>traceback</Word>
|
||||
|
||||
<!-- IO functions -->
|
||||
<Word>close</Word>
|
||||
<Word>flush</Word>
|
||||
<Word>input</Word>
|
||||
<Word>lines</Word>
|
||||
<Word>open</Word>
|
||||
<Word>output</Word>
|
||||
<Word>popen</Word>
|
||||
<Word>read</Word>
|
||||
<Word>tmpfile</Word>
|
||||
<Word>seek</Word>
|
||||
<Word>setvbuf</Word>
|
||||
<Word>write</Word>
|
||||
|
||||
<!-- String functions -->
|
||||
<Word>byte</Word>
|
||||
<Word>char</Word>
|
||||
<Word>dump</Word>
|
||||
<Word>find</Word>
|
||||
<Word>format</Word>
|
||||
<Word>gmatch</Word>
|
||||
<Word>gsub</Word>
|
||||
<Word>len</Word>
|
||||
<Word>lower</Word>
|
||||
<Word>match</Word>
|
||||
<Word>rep</Word>
|
||||
<Word>reverse</Word>
|
||||
<Word>sub</Word>
|
||||
<Word>upper</Word>
|
||||
<Word>pack</Word>
|
||||
<Word>packsize</Word>
|
||||
<Word>unpack</Word>
|
||||
<Word>concat</Word>
|
||||
<Word>maxn</Word>
|
||||
<Word>insert</Word>
|
||||
<Word>move</Word>
|
||||
<Word>offset</Word>
|
||||
<Word>codepoint</Word>
|
||||
<Word>codes</Word>
|
||||
<Word>charpattern</Word>
|
||||
|
||||
<!-- OS / Time functions -->
|
||||
<Word>clock</Word>
|
||||
<Word>date</Word>
|
||||
<Word>difftime</Word>
|
||||
<Word>execute</Word>
|
||||
<Word>exit</Word>
|
||||
<Word>getenv</Word>
|
||||
<Word>remove</Word>
|
||||
<Word>rename</Word>
|
||||
<Word>setlocale</Word>
|
||||
<Word>time</Word>
|
||||
<Word>loadlib</Word>
|
||||
<Word>searchpath</Word>
|
||||
<Word>seeall</Word>
|
||||
<Word>preload</Word>
|
||||
<Word>cpath</Word>
|
||||
<Word>path</Word>
|
||||
<Word>searchers</Word>
|
||||
<Word>loaded</Word>
|
||||
|
||||
<!-- Math functions / constants -->
|
||||
<Word>abs</Word>
|
||||
<Word>acos</Word>
|
||||
<Word>asin</Word>
|
||||
<Word>atan</Word>
|
||||
<Word>atan2</Word>
|
||||
<Word>ceil</Word>
|
||||
<Word>cos</Word>
|
||||
<Word>cosh</Word>
|
||||
<Word>deg</Word>
|
||||
<Word>exp</Word>
|
||||
<Word>floor</Word>
|
||||
<Word>fmod</Word>
|
||||
<Word>ult</Word>
|
||||
<Word>log</Word>
|
||||
<Word>log10</Word>
|
||||
<Word>max</Word>
|
||||
<Word>min</Word>
|
||||
<Word>modf</Word>
|
||||
<Word>pi</Word>
|
||||
<Word>rad</Word>
|
||||
<Word>random</Word>
|
||||
<Word>randomseed</Word>
|
||||
<Word>sin</Word>
|
||||
<Word>sqrt</Word>
|
||||
<Word>tan</Word>
|
||||
<Word>sinh</Word>
|
||||
<Word>tanh</Word>
|
||||
<Word>pow</Word>
|
||||
<Word>frexp</Word>
|
||||
<Word>ldexp</Word>
|
||||
<Word>huge</Word>
|
||||
<Word>maxinteger</Word>
|
||||
<Word>mininteger</Word>
|
||||
</Keywords>
|
||||
|
||||
<Rule color="Punctuation">(\|)|(<<)|(>>)|(\/\/)|(==)|(~=)|(<=)|(>=)|(<)|(>)|(=)|(\()|(\))|(\{)|(\})|(\[)|(\])|(::)|(:)|(;)|(,)|(\.\.\.)|(\.\.)|(\.)|[+\-*%\^#&~]</Rule>
|
||||
|
||||
<Rule color="ObjectName">(?<=function\s)[A-Za-z0-9_]+(?=\.)</Rule>
|
||||
|
||||
<Rule color="Function">(?<=\.)[A-Za-z0-9_]+(?=\()</Rule>
|
||||
<Rule color="Function">(?<=function\s)[A-Za-z0-9_]+(?=\s*\()</Rule> <!-- Standalone function name -->
|
||||
|
||||
<Rule color="Constant">\b[A-Z_][A-Z0-9_]*\b</Rule>
|
||||
</RuleSet>
|
||||
</SyntaxDefinition>
|
||||
|
|
@ -24,6 +24,7 @@ using CUE4Parse.GameTypes.Borderlands3.Assets.Exports;
|
|||
using CUE4Parse.GameTypes.Borderlands4.Assets.Exports;
|
||||
using CUE4Parse.GameTypes.Borderlands4.Wwise;
|
||||
using CUE4Parse.GameTypes.DFHO.Assets.Objects;
|
||||
using CUE4Parse.GameTypes.HonorOfKings.FileProvider;
|
||||
using CUE4Parse.GameTypes.KRD.Assets.Exports;
|
||||
using CUE4Parse.GameTypes.RocoKingdomWorld.Assets.Objects;
|
||||
using CUE4Parse.GameTypes.SMG.UE4.Assets.Exports.Wwise;
|
||||
|
|
@ -195,6 +196,7 @@ public class CUE4ParseViewModel : ViewModel
|
|||
], SearchOption.AllDirectories, versionContainer, pathComparer),
|
||||
_ when versionContainer.Game is EGame.GAME_AshEchoes => new AEDefaultFileProvider(gameDirectory, SearchOption.AllDirectories, versionContainer, pathComparer),
|
||||
_ when versionContainer.Game is EGame.GAME_BlackStigma => new DefaultFileProvider(gameDirectory, SearchOption.AllDirectories, versionContainer, StringComparer.Ordinal),
|
||||
_ when versionContainer.Game is EGame.GAME_HonorofKingsWorld => new HoKWDefaultFileProvider(gameDirectory, SearchOption.AllDirectories, versionContainer, pathComparer),
|
||||
_ => new DefaultFileProvider(gameDirectory, SearchOption.AllDirectories, versionContainer, pathComparer)
|
||||
};
|
||||
|
||||
|
|
@ -718,7 +720,6 @@ public class CUE4ParseViewModel : ViewModel
|
|||
case "verse":
|
||||
case "html":
|
||||
case "json5":
|
||||
case "json":
|
||||
case "uref":
|
||||
case "cube":
|
||||
case "usda":
|
||||
|
|
@ -773,6 +774,17 @@ public class CUE4ParseViewModel : ViewModel
|
|||
|
||||
break;
|
||||
}
|
||||
case "json":
|
||||
{
|
||||
var data = Provider.SaveAsset(entry);
|
||||
using var stream = new MemoryStream(data) { Position = 0 };
|
||||
using var reader = new StreamReader(stream);
|
||||
|
||||
var parsedJson = JsonConvert.DeserializeObject(reader.ReadToEnd());
|
||||
TabControl.SelectedTab.SetDocumentText(JsonConvert.SerializeObject(parsedJson, Formatting.Indented), saveProperties, updateUi);
|
||||
|
||||
break;
|
||||
}
|
||||
case "locmeta":
|
||||
{
|
||||
var archive = entry.CreateReader();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user