diff --git a/convert.py b/convert.py index 0cc3900..3d5ba57 100644 --- a/convert.py +++ b/convert.py @@ -1,29 +1,35 @@ import csbparsers as Parser import flatbuffers -import os, sys, string, random +import os, sys, string, random, shutil ENGINE_VERSION = "3.10.0.0" script_path = os.path.split(os.path.realpath(sys.argv[0]))[0] targetOut = os.path.join(script_path, "csd") +if os.path.exists(targetOut): + shutil.rmtree(targetOut) +os.mkdir(targetOut) + csdPath = "" def writeFile(text): global csdPath - print text - # with open(csdPath, "a") as fileObj: - # fileObj.write(text) - # fileObj.close() + with open(csdPath, "a") as fileObj: + fileObj.write(text) + fileObj.close() def writeHeader(groupName): - global ENGINE_VERSION, SCENE_SIZE + global ENGINE_VERSION randomId = random.sample(string.ascii_lowercase + "-" + string.digits, 36) + randomId = "".join(randomId) text = '' text = text + '\n' - text = text + ' \n' %(groupName, randomId, ENGINE_VERSION) + text = text + ' \n' %(groupName, randomId, ENGINE_VERSION) text = text + ' \n' text = text + ' \n' + text = text + ' \n' + writeFile(text) def writeFooter(): @@ -36,26 +42,306 @@ def writeFooter(): def writeRootNode(nodeTree): widgetOption = nodeTree.Options().Data() widgetSize = widgetOption.Size() + widgetName = widgetOption.Name() text = '' - text = text + ' \n' %(widgetOption.Name()) + text = text + ' \n' %(widgetName, widgetName) text = text + ' \n' %(widgetSize.Width(), widgetSize.Height()) writeFile(text) -def writeOption(nodeTree, tab): - widgetOption = nodeTree.Options().Data() +def getRealOption(className, optionData): + realOption = None + if className == "Button": + realOption = Parser.ButtonOptions() + elif className == "CheckBox": + realOption = Parser.CheckBoxOptions() + elif className == "ImageView": + realOption = Parser.ImageViewOptions() + elif className == "ListView": + realOption = Parser.ListViewOptions() + elif className == "LoadingBar": + realOption = Parser.LoadingBarOptions() + elif className == "Node": + realOption = Parser.WidgetOptions() + elif className == "PageView": + realOption = Parser.PageViewOptions() + elif className == "Panel": + realOption = Parser.PanelOptions() + elif className == "Particle": + realOption = Parser.ParticleSystemOptions() + elif className == "ProjectNode": + realOption = Parser.ProjectNodeOptions() + elif className == "ScrollView": + realOption = Parser.ScrollViewOptions() + elif className == "Sprite": + realOption = Parser.SpriteOptions() + elif className == "Text": + realOption = Parser.TextOptions() + elif className == "TextAtlas": + realOption = Parser.TextAtlasOptions() + elif className == "TextBMFont": + realOption = Parser.TextBMFontOptions() + elif className == "TextField": + realOption = Parser.TextFieldOptions() + elif className == "SingleNode": + realOption = Parser.SingleNodeOptions() + + if realOption: + realOption._tab = optionData.Data()._tab + return realOption + else: + return realOption + +def getSingleProperty(optionData, optionType): + funcList = dir(optionData) + validFuncList = [] + for funcName in funcList: + if funcName.startswith("_"): + continue + if funcName == "Init" or funcName.startswith("GetRoot"): + continue + validFuncList.append(funcName) + text = ' <%s ' %(optionType) + for funcName in validFuncList: + func = getattr(optionData, funcName) + result = func() + text = text + '%s="%s" ' %(funcName, str(result)) + text = text + "/>\n" + return text + +def formatOption(optionData, funcKey, default="", optionKey=""): + func = getattr(optionData, funcKey) + result = str(func()) + if result == str(default): + return "" + if optionKey == "": + optionKey = funcKey + result = result.replace("\n", " ") + text = '%s="%s" ' %(optionKey, result) + return text + +def getNormalOption(widgetOption, tab): + sizeOption = widgetOption.Size() + anchorOption = widgetOption.AnchorPoint() + positionOption = widgetOption.Position() + colorOption = widgetOption.Color() + textList = [ + '%s ' %(tab, sizeOption.Width(), sizeOption.Height()), + '%s ' %(tab, anchorOption.ScaleX(), anchorOption.ScaleY()), + '%s ' %(tab, positionOption.X(), positionOption.Y()), + '%s \n' %(tab, colorOption.A(), colorOption.R(), colorOption.G(), colorOption.B()), + ] + text = "\n".join(textList) + return text + +def getNormalOptionHeader(widgetOption, tab): + layoutComponent = widgetOption.LayoutComponent() + skewOption = widgetOption.RotationSkew() layoutComponent = widgetOption.LayoutComponent() - className = nodeTree.Classname() textList = [ - '' %(className), + '%s\n' %(className) + writeFile(text) + +def getImageResource(resourceData, childKey): + fileType = "Normal" + if resourceData.ResourceType() == 1: + fileType = "PlistSubImage" + text = ' <%s Type="%s" Path="%s" Plist="%s" />\n' %(childKey, fileType, resourceData.Path(), resourceData.PlistFile()) + return text + +def writeChildOption(realOption, widgetOption, className, tab): + text = getNormalOption(widgetOption, tab) + + if className == "Button": + text = text + tab + getSingleProperty(realOption.TextColor(), "TextColor") + text = text + tab + getSingleProperty(realOption.OutlineColor(), "OutlineColor") + text = text + tab + getImageResource(realOption.NormalData(), "NormalFileData") + text = text + tab + getImageResource(realOption.PressedData(), "PressedFileData") + text = text + tab + getImageResource(realOption.DisabledData(), "DisabledFileData") + elif className == "CheckBox": + pass + elif className == "ImageView": + text = text + tab + getImageResource(realOption.FileNameData(), "FileData") + elif className == "ListView": + pass + elif className == "LoadingBar": + pass + elif className == "Node": + pass + elif className == "PageView": + pass + elif className == "Panel": + pass + elif className == "Particle": + pass + elif className == "ProjectNode": + pass + elif className == "ScrollView": + pass + elif className == "Sprite": + text = text + tab + getImageResource(realOption.FileNameData(), "FileData") + text = text + tab + getSingleProperty(realOption.BlendFunc(), "BlendFunc") + elif className == "Text": + text = text + tab + getImageResource(realOption.FontResource(), "FontResource") + elif className == "TextAtlas": + pass + elif className == "TextBMFont": + pass + elif className == "TextField": + pass + elif className == "SingleNode": + pass writeFile(text) +def writeOption(nodeTree, tab): + optionData = nodeTree.Options() + className = nodeTree.Classname() + realOption = getRealOption(className, optionData) + try: + widgetOption = realOption.WidgetOptions() + except: + widgetOption = realOption.NodeOptions() + else: + pass + + writeOptionHeader(realOption, widgetOption, className, tab) + writeChildOption(realOption, widgetOption, className, tab) + writeFile(tab + '\n') + def recursionConvertTree(nodeTree, level = 0): baseTab = ' ' + " "*level if level > 0: diff --git a/csbparsers/__init__.py b/csbparsers/__init__.py index 44deec9..7dda330 100644 --- a/csbparsers/__init__.py +++ b/csbparsers/__init__.py @@ -1 +1,49 @@ -from .CSParseBinary import CSParseBinary \ No newline at end of file +from .AnchorPoint import AnchorPoint +from .AnimationInfo import AnimationInfo +from .BlendFrame import BlendFrame +from .BlendFunc import BlendFunc +from .BoolFrame import BoolFrame +from .ButtonOptions import ButtonOptions +from .CapInsets import CapInsets +from .CheckBoxOptions import CheckBoxOptions +from .Color import Color +from .ColorFrame import ColorFrame +from .ColorVector import ColorVector +from .ComAudioOptions import ComAudioOptions +from .ComponentOptions import ComponentOptions +from .CSParseBinary import CSParseBinary +from .EasingData import EasingData +from .EventFrame import EventFrame +from .FlatSize import FlatSize +from .Frame import Frame +from .GameMapOptions import GameMapOptions +from .ImageViewOptions import ImageViewOptions +from .InnerActionFrame import InnerActionFrame +from .IntFrame import IntFrame +from .LayoutComponentTable import LayoutComponentTable +from .ListViewOptions import ListViewOptions +from .LoadingBarOptions import LoadingBarOptions +from .NodeAction import NodeAction +from .NodeTree import NodeTree +from .Options import Options +from .PageViewOptions import PageViewOptions +from .PanelOptions import PanelOptions +from .ParticleSystemOptions import ParticleSystemOptions +from .PointFrame import PointFrame +from .Position import Position +from .ProjectNodeOptions import ProjectNodeOptions +from .ResourceData import ResourceData +from .RotationSkew import RotationSkew +from .Scale import Scale +from .ScaleFrame import ScaleFrame +from .ScrollViewOptions import ScrollViewOptions +from .SingleNodeOptions import SingleNodeOptions +from .SliderOptions import SliderOptions +from .SpriteOptions import SpriteOptions +from .TextAtlasOptions import TextAtlasOptions +from .TextBMFontOptions import TextBMFontOptions +from .TextFieldOptions import TextFieldOptions +from .TextOptions import TextOptions +from .TextureFrame import TextureFrame +from .TimeLine import TimeLine +from .WidgetOptions import WidgetOptions \ No newline at end of file diff --git a/test/kpqz_animate_lose.csb b/test/kpqz_animate_lose.csb new file mode 100644 index 0000000..b0d1602 Binary files /dev/null and b/test/kpqz_animate_lose.csb differ diff --git a/test/kpqz_animate_lose.csd b/test/kpqz_animate_lose.csd new file mode 100644 index 0000000..b8953f5 --- /dev/null +++ b/test/kpqz_animate_lose.csd @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_animate_start.csb b/test/kpqz_animate_start.csb new file mode 100644 index 0000000..8ebad61 Binary files /dev/null and b/test/kpqz_animate_start.csb differ diff --git a/test/kpqz_animate_start.csd b/test/kpqz_animate_start.csd new file mode 100644 index 0000000..d87bf7c --- /dev/null +++ b/test/kpqz_animate_start.csd @@ -0,0 +1,446 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_animate_win.csb b/test/kpqz_animate_win.csb new file mode 100644 index 0000000..2e547d8 Binary files /dev/null and b/test/kpqz_animate_win.csb differ diff --git a/test/kpqz_animate_win.csd b/test/kpqz_animate_win.csd new file mode 100644 index 0000000..a7695b1 --- /dev/null +++ b/test/kpqz_animate_win.csd @@ -0,0 +1,567 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_animate_winhead_1.csb b/test/kpqz_animate_winhead_1.csb new file mode 100644 index 0000000..d5fc878 Binary files /dev/null and b/test/kpqz_animate_winhead_1.csb differ diff --git a/test/kpqz_animate_winhead_1.csd b/test/kpqz_animate_winhead_1.csd new file mode 100644 index 0000000..acb99d3 --- /dev/null +++ b/test/kpqz_animate_winhead_1.csd @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_animate_winhead_2.csb b/test/kpqz_animate_winhead_2.csb new file mode 100644 index 0000000..930ad35 Binary files /dev/null and b/test/kpqz_animate_winhead_2.csb differ diff --git a/test/kpqz_animate_winhead_2.csd b/test/kpqz_animate_winhead_2.csd new file mode 100644 index 0000000..e8a5f2d --- /dev/null +++ b/test/kpqz_animate_winhead_2.csd @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_createroom.csb b/test/kpqz_createroom.csb new file mode 100644 index 0000000..1f5412d Binary files /dev/null and b/test/kpqz_createroom.csb differ diff --git a/test/kpqz_createroom.csd b/test/kpqz_createroom.csd new file mode 100644 index 0000000..dfcce37 --- /dev/null +++ b/test/kpqz_createroom.csd @@ -0,0 +1,766 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_exploits.csb b/test/kpqz_exploits.csb new file mode 100644 index 0000000..96ba56d Binary files /dev/null and b/test/kpqz_exploits.csb differ diff --git a/test/kpqz_exploits.csd b/test/kpqz_exploits.csd new file mode 100644 index 0000000..98f09a6 --- /dev/null +++ b/test/kpqz_exploits.csd @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_gameLayer.csb b/test/kpqz_gameLayer.csb new file mode 100644 index 0000000..99e396c Binary files /dev/null and b/test/kpqz_gameLayer.csb differ diff --git a/test/kpqz_gameLayer.csd b/test/kpqz_gameLayer.csd new file mode 100644 index 0000000..a2ebf99 --- /dev/null +++ b/test/kpqz_gameLayer.csd @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_moreLayer.csb b/test/kpqz_moreLayer.csb new file mode 100644 index 0000000..f8c062a Binary files /dev/null and b/test/kpqz_moreLayer.csb differ diff --git a/test/kpqz_moreLayer.csd b/test/kpqz_moreLayer.csd new file mode 100644 index 0000000..93ceda0 --- /dev/null +++ b/test/kpqz_moreLayer.csd @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_operate_layer.csb b/test/kpqz_operate_layer.csb new file mode 100644 index 0000000..37e22f7 Binary files /dev/null and b/test/kpqz_operate_layer.csb differ diff --git a/test/kpqz_operate_layer.csd b/test/kpqz_operate_layer.csd new file mode 100644 index 0000000..caae7df --- /dev/null +++ b/test/kpqz_operate_layer.csd @@ -0,0 +1,443 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_player_item.csb b/test/kpqz_player_item.csb new file mode 100644 index 0000000..d2f0801 Binary files /dev/null and b/test/kpqz_player_item.csb differ diff --git a/test/kpqz_player_item.csd b/test/kpqz_player_item.csd new file mode 100644 index 0000000..d07fe8e --- /dev/null +++ b/test/kpqz_player_item.csd @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_playview.csb b/test/kpqz_playview.csb new file mode 100644 index 0000000..3718ac1 Binary files /dev/null and b/test/kpqz_playview.csb differ diff --git a/test/kpqz_playview.csd b/test/kpqz_playview.csd new file mode 100644 index 0000000..d983145 --- /dev/null +++ b/test/kpqz_playview.csd @@ -0,0 +1,467 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_result.csb b/test/kpqz_result.csb new file mode 100644 index 0000000..72de74e Binary files /dev/null and b/test/kpqz_result.csb differ diff --git a/test/kpqz_result.csd b/test/kpqz_result.csd new file mode 100644 index 0000000..4a1c713 --- /dev/null +++ b/test/kpqz_result.csd @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_resultitem.csb b/test/kpqz_resultitem.csb new file mode 100644 index 0000000..781930e Binary files /dev/null and b/test/kpqz_resultitem.csb differ diff --git a/test/kpqz_resultitem.csd b/test/kpqz_resultitem.csd new file mode 100644 index 0000000..6c658f1 --- /dev/null +++ b/test/kpqz_resultitem.csd @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_roomrecord.csb b/test/kpqz_roomrecord.csb new file mode 100644 index 0000000..408f763 Binary files /dev/null and b/test/kpqz_roomrecord.csb differ diff --git a/test/kpqz_roomrecord.csd b/test/kpqz_roomrecord.csd new file mode 100644 index 0000000..5e53bb9 --- /dev/null +++ b/test/kpqz_roomrecord.csd @@ -0,0 +1,979 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/kpqz_status_item.csb b/test/kpqz_status_item.csb new file mode 100644 index 0000000..9ddb8a8 Binary files /dev/null and b/test/kpqz_status_item.csb differ diff --git a/test/kpqz_status_item.csd b/test/kpqz_status_item.csd new file mode 100644 index 0000000..b74bfaf --- /dev/null +++ b/test/kpqz_status_item.csd @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file