daily update on 20240422 by nitload youmu, ssd structure improve
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,14 +2,54 @@
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\datahead.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\datahead.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\datasegment.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\datasegment.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\ssd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\ssd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\area.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\area.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\globaldata\\idprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\globaldata\\idprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\ssdraw.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\ssdraw.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\globaldata\\root.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\globaldata\\root.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\ssdvirtualfolder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\ssdvirtualfolder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\serialize\\issdserializable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\serialize\\issdserializable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\encode\\encoder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\encode\\encoder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\encode\\encodstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\encode\\encodstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\environment\\globalsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\globalsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\image.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\image.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
@@ -18,18 +58,6 @@
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\shaderedit\\shader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\shaderedit\\shader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\serialize\\issdserializable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\serialize\\issdserializable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\ssd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\ssd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\environment\\globalsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\globalsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
@@ -142,67 +170,150 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 197,
|
||||
"SelectedChildIndex": 0,
|
||||
"SelectedChildIndex": 4,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "SSDraw.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"ViewState": "AQIAACwAAAAAAAAAAAApwDsAAAAwAAAA",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "DataSegment.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\DataSegment.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\DataSegment.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\DataSegment.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\DataSegment.cs",
|
||||
"ViewState": "AQIAAAwAAAAAAAAAAAAAABAAAAAvAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T17:49:43.784Z",
|
||||
"WhenOpened": "2024-04-21T17:51:51.737Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{e1b7d1f8-9b3c-49b1-8f4f-bfc63a88835d}"
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"Title": "Encoder.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Encode\\Encoder.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\Encode\\Encoder.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Encode\\Encoder.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\Encode\\Encoder.cs",
|
||||
"ViewState": "AQIAAA4AAAAAAAAAAAAhwB4AAAAPAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-20T19:19:20.61Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"Title": "EncodStream.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Encode\\EncodStream.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\Encode\\EncodStream.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Encode\\EncodStream.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\Encode\\EncodStream.cs",
|
||||
"ViewState": "AQIAABUAAAAAAAAAAAAhwCUAAAATAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-20T19:19:13.846Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Area.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\Area.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\Area.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\Area.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\Area.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAuwAsAAAAWAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-20T17:57:11.986Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "DataHead.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\DataHead.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\DataHead.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\DataHead.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\DataHead.cs",
|
||||
"ViewState": "AQIAAB4AAAAAAAAAAAApwCoAAAAgAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-20T08:36:31.196Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "idProvider.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\GlobalData\\idProvider.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\GlobalData\\idProvider.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\GlobalData\\idProvider.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\GlobalData\\idProvider.cs",
|
||||
"ViewState": "AQIAAAYAAAAAAAAAAAAAABcAAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-20T01:08:27.928Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"Title": "GlobalSetting.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"ViewState": "AQIAAAkAAAAAAAAAAAAAADAAAAAwAAAA",
|
||||
"Title": "root.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\GlobalData\\root.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\GlobalData\\root.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\GlobalData\\root.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\GlobalData\\root.cs",
|
||||
"ViewState": "AQIAAAYAAAAAAAAAAAAAABgAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T17:36:01.877Z",
|
||||
"WhenOpened": "2024-04-20T01:05:20.18Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "SSDraw.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSDraw.cs",
|
||||
"ViewState": "AQIAAC4AAAAAAAAAAAAiwDUAAAARAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T17:49:43.784Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 11,
|
||||
"Title": "GlobalSetting.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Environment\\GlobalSetting.cs",
|
||||
"ViewState": "AQIAACQAAAAAAAAAAAAAACkAAAAEAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T17:36:01.877Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "SSD.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSD.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\SSD.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSD.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSD.cs",
|
||||
"ViewState": "AQIAABgAAAAAAAAAAAAAACkAAAAfAAAA",
|
||||
"ViewState": "AQIAACAAAAAAAAAAAAApwDUAAAARAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T17:27:58.8Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"DocumentIndex": 7,
|
||||
"Title": "SSDVirtualFolder.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDVirtualFolder.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\SSDVirtualFolder.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDVirtualFolder.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSDVirtualFolder.cs",
|
||||
"ViewState": "AQIAACUAAAAAAAAAAAAhwCoAAAAZAAAA",
|
||||
"ViewState": "AQIAABgAAAAAAAAAAAAQwCkAAAASAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T17:18:48.003Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T17:18:48.003Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"DocumentIndex": 13,
|
||||
"Title": "Shader.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs",
|
||||
@@ -210,12 +321,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs",
|
||||
"ViewState": "AQIAADcAAAAAAAAAAAAvwEUAAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T16:42:46.136Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T16:42:46.136Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"DocumentIndex": 15,
|
||||
"Title": "Image.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Image.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Graphics\\Image.cs",
|
||||
@@ -223,12 +333,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Graphics\\Image.cs",
|
||||
"ViewState": "AQIAAEsAAAAAAAAAAAApwGEAAAAVAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T16:24:37.077Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T16:24:37.077Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"DocumentIndex": 17,
|
||||
"Title": "vec3d.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec3d.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\vec3d.cs",
|
||||
@@ -236,12 +345,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Math\\Linear\\vec3d.cs",
|
||||
"ViewState": "AQIAACIAAAAAAAAAAIAzwDIAAAAVAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:35:47.517Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:35:47.517Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"DocumentIndex": 19,
|
||||
"Title": "Vec4d.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Vec4d.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Vec4d.cs",
|
||||
@@ -249,12 +357,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Math\\Linear\\Vec4d.cs",
|
||||
"ViewState": "AQIAADgAAAAAAAAAAIAzwEgAAAASAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:35:41.902Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:35:41.902Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 13,
|
||||
"DocumentIndex": 20,
|
||||
"Title": "Vector.Normalize.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Vector.Normalize.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Vector.Normalize.cs",
|
||||
@@ -262,12 +369,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Math\\Linear\\Vector.Normalize.cs",
|
||||
"ViewState": "AQIAAAIAAAAAAAAAAIAzwBIAAAAfAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:35:38.1Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:35:38.1Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 11,
|
||||
"DocumentIndex": 18,
|
||||
"Title": "FrameAsyncThread.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\FrameAsyncThread.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form\\FrameAsyncThread.cs",
|
||||
@@ -275,12 +381,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Graphics\\Form\\FrameAsyncThread.cs",
|
||||
"ViewState": "AQIAAEYAAAAAAAAAAAAWwFQAAAAfAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:35:34.378Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:35:34.378Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"DocumentIndex": 21,
|
||||
"Title": "glParamQueue.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\glParamQueue.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Logic\\glParamQueue.cs",
|
||||
@@ -288,25 +393,23 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Logic\\glParamQueue.cs",
|
||||
"ViewState": "AQIAAEMAAAAAAAAAAEBBwFMAAAABAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:35:29.302Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:35:29.302Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"DocumentIndex": 8,
|
||||
"Title": "ISSDSerializable.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Serialize\\ISSDSerializable.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\Serialize\\ISSDSerializable.cs",
|
||||
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Serialize\\ISSDSerializable.cs",
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\Serialize\\ISSDSerializable.cs",
|
||||
"ViewState": "AQIAAAQAAAAAAAAAAIA1wAsAAAAiAAAA",
|
||||
"ViewState": "AQIAAAgAAAAAAAAAAIA1wB8AAAAVAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:31:36.733Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:31:36.733Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 15,
|
||||
"DocumentIndex": 22,
|
||||
"Title": "Define.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\Serialize\\Define.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\Serialize\\Define.cs",
|
||||
@@ -314,12 +417,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\Serialize\\Define.cs",
|
||||
"ViewState": "AQIAABsAAAAAAAAAAAAAACMAAAABAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:23:08.581Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:23:08.581Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 16,
|
||||
"DocumentIndex": 23,
|
||||
"Title": "M128.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Data\\M128.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Data\\M128.cs",
|
||||
@@ -327,12 +429,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Data\\M128.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACUAAAAGAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:19:31.288Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:19:31.288Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"DocumentIndex": 16,
|
||||
"Title": "M128.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\M128.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Data\\M128.cs",
|
||||
@@ -340,12 +441,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Data\\M128.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACwAAAAFAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T14:17:33.781Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T14:17:33.781Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 17,
|
||||
"DocumentIndex": 24,
|
||||
"Title": "Vector.Normalize.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Math\\Linear\\Vector.Normalize.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Math\\Linear\\Vector.Normalize.cs",
|
||||
@@ -353,12 +453,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Math\\Linear\\Vector.Normalize.cs",
|
||||
"ViewState": "AQIAADUAAAAAAAAAAAAqwBMAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T13:55:13.408Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T13:55:13.408Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 19,
|
||||
"DocumentIndex": 26,
|
||||
"Title": "Vec4d.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Math\\Linear\\Vec4d.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Math\\Linear\\Vec4d.cs",
|
||||
@@ -366,12 +465,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Math\\Linear\\Vec4d.cs",
|
||||
"ViewState": "AQIAADgAAAAAAAAAAIAzwEgAAAAoAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T13:55:02.059Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T13:55:02.059Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 20,
|
||||
"DocumentIndex": 27,
|
||||
"Title": "glParamQueue.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Logic\\glParamQueue.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Logic\\glParamQueue.cs",
|
||||
@@ -379,12 +477,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Logic\\glParamQueue.cs",
|
||||
"ViewState": "AQIAABUAAAAAAAAAAAAAALIAAAAMAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T13:54:10.105Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T13:54:10.105Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 18,
|
||||
"DocumentIndex": 25,
|
||||
"Title": "FrameAsyncThread.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Form\\FrameAsyncThread.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Graphics\\Form\\FrameAsyncThread.cs",
|
||||
@@ -392,12 +489,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Graphics\\Form\\FrameAsyncThread.cs",
|
||||
"ViewState": "AQIAAEYAAAAAAAAAAAAWwFQAAAAfAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T13:53:27.533Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T13:53:27.533Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 21,
|
||||
"DocumentIndex": 28,
|
||||
"Title": "vec3d.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Math\\Linear\\vec3d.cs",
|
||||
"RelativeDocumentMoniker": "StgSharp\\Math\\Linear\\vec3d.cs",
|
||||
@@ -405,12 +501,11 @@
|
||||
"RelativeToolTip": "StgSharp\\Math\\Linear\\vec3d.cs",
|
||||
"ViewState": "AQIAACMAAAAAAAAAAIAzwDMAAAASAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-19T13:53:17.8Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-19T13:53:17.8Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 22,
|
||||
"DocumentIndex": 29,
|
||||
"Title": "ShowForm.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\ShowForm.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form\\ShowForm.cs",
|
||||
@@ -418,12 +513,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Graphics\\Form\\ShowForm.cs",
|
||||
"ViewState": "AQIAAAYAAAAAAAAAAAAAABkAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-15T03:54:31.223Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-15T03:54:31.223Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 23,
|
||||
"DocumentIndex": 30,
|
||||
"Title": "Form.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\Form.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form\\Form.cs",
|
||||
@@ -435,7 +529,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 26,
|
||||
"DocumentIndex": 33,
|
||||
"Title": "TimeSpanProvider.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\TimeSpanProvider.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Logic\\TimeSpanProvider.cs",
|
||||
@@ -447,7 +541,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 27,
|
||||
"DocumentIndex": 34,
|
||||
"Title": "launchSettings.json",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Properties\\launchSettings.json",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Properties\\launchSettings.json",
|
||||
@@ -459,7 +553,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 24,
|
||||
"DocumentIndex": 31,
|
||||
"Title": "TimeProvider.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\TimeProvider.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Environment\\TimeProvider.cs",
|
||||
@@ -471,7 +565,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 25,
|
||||
"DocumentIndex": 32,
|
||||
"Title": "TimeSourceProvider.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\TimeSourceProvider.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Logic\\TimeSourceProvider.cs",
|
||||
@@ -483,7 +577,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"DocumentIndex": 12,
|
||||
"Title": "Image.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Image.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Image.cs",
|
||||
@@ -491,12 +585,11 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Graphics\\Image.cs",
|
||||
"ViewState": "AQIAADoAAAAAAAAAAAD4v0MAAAAcAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-15T03:52:36.477Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-15T03:52:36.477Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 29,
|
||||
"DocumentIndex": 36,
|
||||
"Title": "MainForm.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\OEM\\MainForm.cs",
|
||||
"RelativeDocumentMoniker": "OEM\\MainForm.cs",
|
||||
@@ -508,7 +601,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 28,
|
||||
"DocumentIndex": 35,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\OEM\\Program.cs",
|
||||
"RelativeDocumentMoniker": "OEM\\Program.cs",
|
||||
@@ -520,7 +613,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 32,
|
||||
"DocumentIndex": 39,
|
||||
"Title": "StgSharpC.c",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpC\\StgSharpC.c",
|
||||
"RelativeDocumentMoniker": "StgSharpC\\StgSharpC.c",
|
||||
@@ -532,7 +625,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 31,
|
||||
"DocumentIndex": 38,
|
||||
"Title": "glEnum.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\glEnum.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\glEnum.cs",
|
||||
@@ -544,7 +637,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 30,
|
||||
"DocumentIndex": 37,
|
||||
"Title": "GLpack.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLpack.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLpack.cs",
|
||||
@@ -556,7 +649,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"DocumentIndex": 14,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Program.cs",
|
||||
"RelativeDocumentMoniker": "StgSharpDebug\\Program.cs",
|
||||
@@ -564,8 +657,7 @@
|
||||
"RelativeToolTip": "StgSharpDebug\\Program.cs",
|
||||
"ViewState": "AQIAAC0AAAAAAAAAAAAYwAgAAAAPAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-15T03:13:55.379Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2024-04-15T03:13:55.379Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -35,7 +35,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace StgSharpData
|
||||
namespace StgSharp.Data
|
||||
{
|
||||
public class EncodeStream
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
using StgSharpData;
|
||||
using StgSharp.Data;
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StgSharp.Data
|
||||
{
|
||||
|
||||
public partial class Area
|
||||
{
|
||||
private static byte leastUnusedDisc;
|
||||
|
||||
public byte NewDisc(byte raidWith)
|
||||
{
|
||||
byte ret = leastUnusedDisc;
|
||||
leastUnusedDisc++;
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void ClearDiscIDBuffer()
|
||||
{
|
||||
leastUnusedDisc = 0;
|
||||
}
|
||||
|
||||
private static int leastUnusedID;
|
||||
|
||||
public static int NewID()
|
||||
{
|
||||
int ret = leastUnusedID;
|
||||
if (ret == int.MaxValue)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException("Reaches max IDs that one ssd file can provide.");
|
||||
}
|
||||
leastUnusedID++;
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static void ClearIDBuffer()
|
||||
{
|
||||
leastUnusedID = 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using StgSharp.Data;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StgSharp
|
||||
{
|
||||
public static unsafe partial class StgSharp
|
||||
{
|
||||
private static SSD defaultIdProvider = new SSD();
|
||||
private static List<Area> root = new List<Area>();
|
||||
|
||||
private static byte leastUnusedArea;
|
||||
|
||||
public static byte NewArea()
|
||||
{
|
||||
byte ret = leastUnusedArea;
|
||||
leastUnusedArea++;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
}//------------------ end of class ---------------------
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StgSharp.Data
|
||||
{
|
||||
public partial class Area
|
||||
{
|
||||
private byte _id;
|
||||
private List<SSD> discList;
|
||||
|
||||
|
||||
public Area()
|
||||
{
|
||||
_id = StgSharp.NewArea();
|
||||
}
|
||||
|
||||
public SSDSegment FindSegment(int id, byte SSD)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,13 +44,13 @@ namespace StgSharp.Data
|
||||
{
|
||||
|
||||
[FieldOffset(0)] internal M128 data;
|
||||
[FieldOffset(12)] internal byte size;
|
||||
|
||||
[FieldOffset(0)] public int globalID;
|
||||
[FieldOffset(4)] public int nextID;
|
||||
|
||||
|
||||
[FieldOffset(8)] public int previousHash;
|
||||
|
||||
|
||||
[FieldOffset(12)] internal byte size;
|
||||
[FieldOffset(13)] public byte selfDefine_1;
|
||||
[FieldOffset(14)] public byte selfDefine_2;
|
||||
[FieldOffset(15)] public byte selfDefine_3;
|
||||
@@ -85,115 +85,4 @@ namespace StgSharp.Data
|
||||
}
|
||||
|
||||
|
||||
public unsafe class SSDrawHead : IEnumerable<int>
|
||||
{
|
||||
|
||||
private List<int> freeSegments;
|
||||
private string name;
|
||||
|
||||
private List<(int, int)> segmentRange;
|
||||
internal SSDSegmentHead _head;
|
||||
|
||||
internal SSDrawHead(string name)
|
||||
{
|
||||
int hash;
|
||||
this.name = name;
|
||||
using (SHA256 sha256Hash = SHA256.Create())
|
||||
{
|
||||
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(name));
|
||||
|
||||
hash = BitConverter.ToInt32(bytes, 0);
|
||||
}
|
||||
_head.previousHash = hash;
|
||||
segmentRange = new List<(int, int)>();
|
||||
freeSegments = new List<int>();
|
||||
}
|
||||
|
||||
public SSDrawHead()
|
||||
{
|
||||
segmentRange = new List<(int, int)>();
|
||||
freeSegments = new List<int>();
|
||||
}
|
||||
|
||||
public void AddSingleSegment(int id)
|
||||
{
|
||||
freeSegments.Add(id);
|
||||
}
|
||||
|
||||
public unsafe byte[] GetBytes(out int size)
|
||||
{
|
||||
byte[] namecode = Encoding.UTF8.GetBytes(name);
|
||||
size = 16 + 4 +
|
||||
(segmentRange.Count * 8) +
|
||||
(freeSegments.Count * 4) +
|
||||
namecode.Length;
|
||||
byte[] ret = new byte[size];
|
||||
fixed (byte* bptr = ret)
|
||||
{
|
||||
*(SSDSegmentHead*)bptr = _head;
|
||||
*(bptr + 16) = (byte)segmentRange.Count;
|
||||
*(bptr + 17) = (byte)namecode.Length;
|
||||
*(bptr + 18) = (byte)freeSegments.Count;
|
||||
int t = 20;
|
||||
for (int i = 0; i < segmentRange.Count; i++, t += 8)
|
||||
{
|
||||
*(int*)(bptr + t) = segmentRange[i].Item1;
|
||||
*(int*)(bptr + t + 4) = segmentRange[i].Item2;
|
||||
}
|
||||
for (int i = 0; i < freeSegments.Count; i++, t += 4)
|
||||
{
|
||||
*(int*)(bptr + t) = freeSegments[i];
|
||||
}
|
||||
for (int i = 0; i < namecode.Length; i++, t++)
|
||||
{
|
||||
*(bptr + t) = namecode[i];
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void WriteRange(int begin, int end)
|
||||
{
|
||||
segmentRange.Add((begin, end));
|
||||
}
|
||||
|
||||
internal void MarkSegment(int id)
|
||||
{
|
||||
freeSegments.Add(id);
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
foreach (var tuple in segmentRange)
|
||||
{
|
||||
for (int i = tuple.Item1; i <= tuple.Item2; i++)
|
||||
{
|
||||
yield return i;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in freeSegments)
|
||||
{
|
||||
yield return item;
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator<int> IEnumerable<int>.GetEnumerator()
|
||||
{
|
||||
foreach (var tuple in segmentRange)
|
||||
{
|
||||
for (int i = tuple.Item1; i <= tuple.Item2; i++)
|
||||
{
|
||||
yield return i;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in freeSegments)
|
||||
{
|
||||
yield return item;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StgSharp.Data
|
||||
{
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct SSDSegment
|
||||
{
|
||||
|
||||
[FieldOffset(16)] public fixed byte Data[16 * 16];
|
||||
[FieldOffset(12)] public int DataHash;
|
||||
[FieldOffset(0 * 16)] public SSDSegmentHead Head;
|
||||
[FieldOffset(8)] public int PreviousHash;
|
||||
|
||||
public SSDSegment(int previousHash)
|
||||
{
|
||||
this.PreviousHash = previousHash;
|
||||
}
|
||||
|
||||
public int ID
|
||||
{
|
||||
get { return Head.globalID; }
|
||||
set { Head.globalID = value; }
|
||||
}
|
||||
|
||||
public byte this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (index > (16 * 14) - 1)
|
||||
{
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
return Data[index];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (index > (16 * 14) - 1)
|
||||
{
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
Data[index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public short Size => Head.size;
|
||||
|
||||
public void FillRandomBytes(int begin)
|
||||
{
|
||||
if (begin > 255)
|
||||
{
|
||||
return;
|
||||
}
|
||||
for (int i = begin; i < 255; i++)
|
||||
{
|
||||
Data[i] = 0; //TODO: 使用STGSHARP内部随机数工具处理它
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
byte[] ret = new byte[16 * 18];
|
||||
fixed (M128* mptr = &Head.data)
|
||||
{
|
||||
fixed (byte* aptr = ret)
|
||||
{
|
||||
Vector4* vsptr = (Vector4*)mptr;
|
||||
Vector4* vtptr = (Vector4*)aptr;
|
||||
for (int i = 0; i < 18; i++)
|
||||
{
|
||||
*(vtptr + i) = *(vsptr + i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public int GetDataHash()
|
||||
{
|
||||
Vector4 v = Vector4.One;
|
||||
fixed (M128* mptr = &Head.data)
|
||||
{
|
||||
Vector4* vptr = (Vector4*)mptr;
|
||||
for (int i = 0; i < 16; i += 1)
|
||||
{
|
||||
v += (*vptr) * 31;
|
||||
}
|
||||
}
|
||||
M128 m = new M128(v);
|
||||
DataHash = m.vec.GetHashCode();
|
||||
return DataHash;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
int ret = 17;
|
||||
fixed (M128* mptr = &Head.data)
|
||||
{
|
||||
Vector4* vptr = (Vector4*)mptr;
|
||||
for (int i = 0; i < 18; i++)
|
||||
{
|
||||
ret = (ret + (*vptr).GetHashCode()) * 31;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public unsafe T ReadData<T>(int index) where T : struct
|
||||
{
|
||||
fixed (byte* bptr = Data)
|
||||
{
|
||||
T* tptr = (T*)bptr;
|
||||
return *(tptr + index);
|
||||
}
|
||||
}
|
||||
public unsafe void WriteData<T>(int index, T value) where T : struct
|
||||
{
|
||||
fixed (byte* bptr = Data)
|
||||
{
|
||||
T* tptr = (T*)bptr;
|
||||
*(tptr + index) = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -32,18 +32,32 @@ using StgSharp.Data.FileIO;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection.Metadata.Ecma335;
|
||||
using System.Text;
|
||||
|
||||
namespace StgSharp.Data
|
||||
{
|
||||
public partial class SSD
|
||||
{
|
||||
private SSDrawHead head;
|
||||
|
||||
private SSDFolder _root;
|
||||
private Dictionary<string, int> idDict;
|
||||
private Dictionary<int,SSDraw> fileList;
|
||||
private Dictionary<int, SSDraw> drawList;
|
||||
|
||||
private List<SSDSegment> segments;
|
||||
private FileStream file; //很多时候
|
||||
|
||||
|
||||
public SSDSegment FindSegment(int id)
|
||||
{
|
||||
SSDSegment s = segments[id];
|
||||
if (s.)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -31,43 +31,99 @@
|
||||
using StgSharp.Data.FileIO;
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace StgSharp.Data
|
||||
{
|
||||
public class SSDFolder: SSDSerializable
|
||||
public class SSDFolder : SSDSerializable, IEnumerable<SSDSegmentHead>
|
||||
{
|
||||
internal string _name;
|
||||
private SSD local;
|
||||
private SSDrawHead _head;
|
||||
internal int _folderID;
|
||||
internal List<SSDraw> files;
|
||||
internal List<SSDFolder> folders;
|
||||
internal string _name;
|
||||
internal Dictionary<int, SSDraw> files;
|
||||
internal Dictionary<int, SSDFolder> folders;
|
||||
internal Dictionary<string, int> idIndex;
|
||||
|
||||
public SSDFolder(string name)
|
||||
internal SSDFolder()
|
||||
{
|
||||
folders = new Dictionary<int, SSDFolder>();
|
||||
files = new Dictionary<int, SSDraw>();
|
||||
}
|
||||
|
||||
internal SSDFolder(string name)
|
||||
{
|
||||
if (name == "root")
|
||||
{
|
||||
throw new ArgumentNullException("Name cannot be root");
|
||||
throw new ArgumentNullException(
|
||||
"Name cannot be root," +
|
||||
"it is preserved for root file indexer.");
|
||||
}
|
||||
if (name == "default")
|
||||
{
|
||||
throw new ArgumentNullException(
|
||||
"Name cannot be default," +
|
||||
"it is preserved for default file id provider.");
|
||||
}
|
||||
_name = name;
|
||||
folders = new List<SSDFolder>();
|
||||
|
||||
folders = new Dictionary<int, SSDFolder>();
|
||||
files = new Dictionary<int, SSDraw>();
|
||||
}
|
||||
|
||||
public override byte SSDTypeCode => SerializableTypeCode.VirtualFolder;
|
||||
|
||||
/// <summary>
|
||||
/// Check out if this virtual folder contains certain file.
|
||||
/// </summary>
|
||||
/// <param name="name">Name of the file</param>
|
||||
/// <param name="type">Type code defined in <see cref="SerializableTypeCode"/></param>
|
||||
/// <returns>Id of the file in its virtual disc</returns>
|
||||
public int FindFileId(string name, byte type)
|
||||
{
|
||||
int fileid = 0;
|
||||
if (idIndex.TryGetValue($"{name}{SerializableTypeCode.GetNameTail(type)}"
|
||||
, out fileid) && !(type == SerializableTypeCode.VirtualFolder))
|
||||
{
|
||||
return fileid;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Check out if this virtual folder contains certain file.
|
||||
/// </summary>
|
||||
/// <param name="name">Name of the file</param>
|
||||
/// <returns>Id of the folder in its virtual disc</returns>
|
||||
public int FindFolderId(string name)
|
||||
{
|
||||
int folderid = 0;
|
||||
if (idIndex.TryGetValue($"{name}_f", out folderid))
|
||||
{
|
||||
return folderid;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public SSDraw CreateFile(string name, byte type)
|
||||
{
|
||||
SSDraw ret = new SSDraw(name + SerializableTypeCode.GetNameTail(type));
|
||||
ret.ID = local.
|
||||
}
|
||||
|
||||
//TODO 虚拟文件夹的GetBytes好难写
|
||||
public override byte[] GetBytes()
|
||||
{
|
||||
List<byte> rawBytes =new List<byte>();
|
||||
List<byte> rawBytes = new List<byte>();
|
||||
byte[] size = new byte[5];
|
||||
List<int> fileid = new List<int>();
|
||||
fileid.Add(4);
|
||||
foreach (var item in files)
|
||||
{
|
||||
fileid.Add(item.)
|
||||
fileid.Add(item.);
|
||||
}
|
||||
|
||||
|
||||
return rawBytes.ToArray();
|
||||
}
|
||||
|
||||
@@ -80,5 +136,30 @@ namespace StgSharp.Data
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
foreach (var f in files)
|
||||
{
|
||||
yield return f.Value.Head._head;
|
||||
}
|
||||
foreach (var f in folders)
|
||||
{
|
||||
yield return f.Value._head._head;
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator<SSDSegmentHead> IEnumerable<SSDSegmentHead>.GetEnumerator()
|
||||
{
|
||||
foreach (var f in files)
|
||||
{
|
||||
yield return f.Value.Head._head;
|
||||
}
|
||||
foreach (var f in folders)
|
||||
{
|
||||
yield return f.Value._head._head;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+139
-94
@@ -28,7 +28,10 @@
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
using StgSharp.Graphics.ShaderEdit;
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
@@ -46,18 +49,20 @@ namespace StgSharp.Data.FileIO
|
||||
{
|
||||
|
||||
public const string FileType = "ssdraw";
|
||||
|
||||
public const int SegmentCapacity = 16 * 16;
|
||||
|
||||
private Area home;
|
||||
|
||||
private SSDrawHead _head;
|
||||
private string _name;
|
||||
private string _name;
|
||||
private SSDSegment currentSegment;
|
||||
private int previousHash;
|
||||
private List<SSDSegment> segments;
|
||||
|
||||
public int ID
|
||||
internal SSDraw()
|
||||
{
|
||||
get { return _head._head.globalID; }
|
||||
segments = new List<SSDSegment>();
|
||||
ID = home.
|
||||
}
|
||||
|
||||
public SSDraw(string name)
|
||||
@@ -66,10 +71,41 @@ namespace StgSharp.Data.FileIO
|
||||
segments = new List<SSDSegment>();
|
||||
}
|
||||
|
||||
public int ID
|
||||
{
|
||||
get { return _head._head.globalID; }
|
||||
set { _head._head.globalID = value; }
|
||||
}
|
||||
|
||||
internal SSDrawHead Head
|
||||
{
|
||||
get{return _head; }
|
||||
}
|
||||
|
||||
//TODO 分析头,加载文件头,进一步加载全部的数据块
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="head"></param>
|
||||
/// <returns></returns>
|
||||
public static SSDraw AnalyzeHead(SSDrawHead head)
|
||||
{
|
||||
if (head._head.globalID == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
SSDraw ret = new SSDraw();
|
||||
foreach (var item in head)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void CreateRawFile(string outputFolder, bool rewrite)
|
||||
{
|
||||
string route =
|
||||
$"{(((outputFolder == string.Empty) ? " " : ($"{outputFolder}\\")))}{($"{_name}.{FileType}")}";
|
||||
$"{((outputFolder == string.Empty) ? " " : ($"{outputFolder}\\"))}{$"{_name}.{FileType}"}";
|
||||
if (File.Exists(route) && !rewrite)
|
||||
{
|
||||
throw new Exception("This SSDRAW has already existed.");
|
||||
@@ -86,6 +122,7 @@ namespace StgSharp.Data.FileIO
|
||||
f.Close();
|
||||
}
|
||||
|
||||
//TODO read raw 没写完
|
||||
public static SSDraw readRaw(string route)
|
||||
{
|
||||
string[] routeFolders = route.Split('\\');
|
||||
@@ -93,9 +130,9 @@ namespace StgSharp.Data.FileIO
|
||||
{
|
||||
throw new Exception($"File to open is not a {FileType} file.");
|
||||
}
|
||||
|
||||
FileStream stream = File.Open(route, FileMode.Open);
|
||||
return new SSDraw(string.Empty);
|
||||
|
||||
}
|
||||
|
||||
public void WriteRaw(byte[] dataStream)
|
||||
@@ -133,121 +170,129 @@ namespace StgSharp.Data.FileIO
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct SSDSegment
|
||||
|
||||
public unsafe class SSDrawHead : IEnumerable<int>
|
||||
{
|
||||
|
||||
[FieldOffset(16)] public fixed byte Data[16 * 16];
|
||||
[FieldOffset(12)] public int DataHash;
|
||||
[FieldOffset(0 * 16)] public SSDSegmentHead Head;
|
||||
[FieldOffset(8)] public int PreviousHash;
|
||||
private List<int> freeSegments;
|
||||
private string name;
|
||||
|
||||
public SSDSegment(int previousHash)
|
||||
private List<(int, int)> segmentRange;
|
||||
internal SSDSegmentHead _head;
|
||||
|
||||
internal SSDrawHead(string name)
|
||||
{
|
||||
this.PreviousHash = previousHash;
|
||||
int hash;
|
||||
this.name = name;
|
||||
using (SHA256 sha256Hash = SHA256.Create())
|
||||
{
|
||||
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(name));
|
||||
|
||||
hash = BitConverter.ToInt32(bytes, 0);
|
||||
}
|
||||
_head.previousHash = hash;
|
||||
segmentRange = new List<(int, int)>();
|
||||
freeSegments = new List<int>();
|
||||
}
|
||||
|
||||
public byte this[int index]
|
||||
public SSDrawHead()
|
||||
{
|
||||
get
|
||||
segmentRange = new List<(int, int)>();
|
||||
freeSegments = new List<int>();
|
||||
}
|
||||
|
||||
public byte DiscIndex
|
||||
{
|
||||
get => _head.selfDefine_2;
|
||||
internal set => _head.selfDefine_2 = value;
|
||||
}
|
||||
|
||||
public byte TypeCode
|
||||
{
|
||||
get => _head.selfDefine_1;
|
||||
internal set => _head.selfDefine_1 = value;
|
||||
}
|
||||
|
||||
public void AddSingleSegment(int id)
|
||||
{
|
||||
freeSegments.Add(id);
|
||||
}
|
||||
|
||||
public unsafe byte[] GetBytes(out int size)
|
||||
{
|
||||
byte[] namecode = Encoding.UTF8.GetBytes(name);
|
||||
size = 16 + 4 +
|
||||
(segmentRange.Count * 8) +
|
||||
(freeSegments.Count * 4) +
|
||||
namecode.Length;
|
||||
byte[] ret = new byte[size];
|
||||
fixed (byte* bptr = ret)
|
||||
{
|
||||
if (index > (16 * 14) - 1)
|
||||
*(SSDSegmentHead*)bptr = _head;
|
||||
*(bptr + 16) = (byte)segmentRange.Count;
|
||||
*(bptr + 17) = (byte)namecode.Length;
|
||||
*(bptr + 18) = (byte)freeSegments.Count;
|
||||
int t = 20;
|
||||
for (int i = 0; i < segmentRange.Count; i++, t += 8)
|
||||
{
|
||||
throw new IndexOutOfRangeException();
|
||||
*(int*)(bptr + t) = segmentRange[i].Item1;
|
||||
*(int*)(bptr + t + 4) = segmentRange[i].Item2;
|
||||
}
|
||||
return Data[index];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (index > (16 * 14) - 1)
|
||||
for (int i = 0; i < freeSegments.Count; i++, t += 4)
|
||||
{
|
||||
throw new IndexOutOfRangeException();
|
||||
*(int*)(bptr + t) = freeSegments[i];
|
||||
}
|
||||
Data[index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public short Size => Head.size;
|
||||
|
||||
public void FillRandomBytes(int begin)
|
||||
{
|
||||
if (begin > 255)
|
||||
{
|
||||
return;
|
||||
}
|
||||
for (int i = begin; i < 255; i++)
|
||||
{
|
||||
Data[i] = 0; //TODO: 使用STGSHARP内部随机数工具处理它
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
byte[] ret = new byte[16 * 18];
|
||||
fixed (M128* mptr = &Head.data)
|
||||
{
|
||||
fixed (byte* aptr = ret)
|
||||
for (int i = 0; i < namecode.Length; i++, t++)
|
||||
{
|
||||
Vector4* vsptr = (Vector4*)mptr;
|
||||
Vector4* vtptr = (Vector4*)aptr;
|
||||
for (int i = 0; i < 18; i++)
|
||||
{
|
||||
*(vtptr + i) = *(vsptr + i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public int GetDataHash()
|
||||
{
|
||||
Vector4 v = Vector4.One;
|
||||
fixed (M128* mptr = &Head.data)
|
||||
{
|
||||
Vector4* vptr = (Vector4*)mptr;
|
||||
for (int i = 0; i < 16; i += 1)
|
||||
{
|
||||
v += (*vptr) * 31;
|
||||
}
|
||||
}
|
||||
M128 m = new M128(v);
|
||||
DataHash = m.vec.GetHashCode();
|
||||
return DataHash;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
int ret = 17;
|
||||
fixed (M128* mptr = &Head.data)
|
||||
{
|
||||
Vector4* vptr = (Vector4*)mptr;
|
||||
for (int i = 0; i < 18; i++)
|
||||
{
|
||||
ret = (ret + (*vptr).GetHashCode()) * 31;
|
||||
*(bptr + t) = namecode[i];
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public unsafe T ReadData<T>(int index) where T : struct
|
||||
public void WriteRange(int begin, int end)
|
||||
{
|
||||
fixed (byte* bptr = Data)
|
||||
segmentRange.Add((begin, end));
|
||||
}
|
||||
|
||||
internal void MarkSegment(int id)
|
||||
{
|
||||
freeSegments.Add(id);
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
foreach (var tuple in segmentRange)
|
||||
{
|
||||
T* tptr = (T*)bptr;
|
||||
return *(tptr + index);
|
||||
for (int i = tuple.Item1; i <= tuple.Item2; i++)
|
||||
{
|
||||
yield return i;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in freeSegments)
|
||||
{
|
||||
yield return item;
|
||||
}
|
||||
}
|
||||
public unsafe void WriteData<T>(int index, T value) where T : struct
|
||||
|
||||
IEnumerator<int> IEnumerable<int>.GetEnumerator()
|
||||
{
|
||||
fixed (byte* bptr = Data)
|
||||
foreach (var tuple in segmentRange)
|
||||
{
|
||||
T* tptr = (T*)bptr;
|
||||
*(tptr + index) = value;
|
||||
for (int i = tuple.Item1; i <= tuple.Item2; i++)
|
||||
{
|
||||
yield return i;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in freeSegments)
|
||||
{
|
||||
yield return item;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace StgSharp.Data
|
||||
internal abstract void BuildFromByteStream(byte[] stream);
|
||||
}
|
||||
|
||||
public class SerializableTypeCode
|
||||
public static class SerializableTypeCode
|
||||
{
|
||||
public const byte IndexTable = 1;
|
||||
public const byte Image = 2;
|
||||
@@ -27,6 +27,30 @@ namespace StgSharp.Data
|
||||
public const byte Text = 5;
|
||||
public const byte RawData = 6;
|
||||
public const byte VirtualFolder = 7;
|
||||
|
||||
|
||||
public static string GetNameTail(byte typeCode)
|
||||
{
|
||||
switch (typeCode)
|
||||
{
|
||||
case IndexTable:
|
||||
return "_indexT";
|
||||
case Image:
|
||||
return "_img";
|
||||
case Audio:
|
||||
return "_wav";
|
||||
case Shader:
|
||||
return "_gls";
|
||||
case Text:
|
||||
return "_txt";
|
||||
case RawData:
|
||||
return "_raw";
|
||||
case VirtualFolder:
|
||||
return "_f";
|
||||
default:
|
||||
throw new ArgumentException("Unknown file type");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static partial class Serializer
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+efeb4ba05892154579515936d827ba856937ec40")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+12345d84050455b4dd2d1c5222753104564e8357")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+efeb4ba05892154579515936d827ba856937ec40")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+12345d84050455b4dd2d1c5222753104564e8357")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
Reference in New Issue
Block a user