{"id":15209548,"url":"https://github.com/Ginsakura/MUSYNXSaveCSharp","last_synced_at":"2025-10-29T15:30:49.553Z","repository":{"id":239767631,"uuid":"800506195","full_name":"Ginsakura/MUSYNXSaveCSharp","owner":"Ginsakura","description":"同步音律喵赛克(MUSYNX) Steam端 存档解析工具，用于解析本地存档内容，快速查看谱面游玩状态与游玩记录","archived":false,"fork":false,"pushed_at":"2024-08-24T07:09:21.000Z","size":13926,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T02:11:43.685Z","etag":null,"topics":["csharp","dotnet","dotnet-core","dotnetcore","musynx","save","save-manager","steam-games","wpf","wpf-application","wpf-chart","wpf-ui"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ginsakura.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-14T13:14:41.000Z","updated_at":"2025-01-26T11:45:44.000Z","dependencies_parsed_at":"2024-08-24T08:25:49.371Z","dependency_job_id":"abe3f7af-2c4c-487c-994c-7f44d87940f2","html_url":"https://github.com/Ginsakura/MUSYNXSaveCSharp","commit_stats":null,"previous_names":["ginsakura/musyncsavecpp","ginsakura/musynxsavecpp","ginsakura/musynxsavecsharp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ginsakura%2FMUSYNXSaveCSharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ginsakura%2FMUSYNXSaveCSharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ginsakura%2FMUSYNXSaveCSharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ginsakura%2FMUSYNXSaveCSharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ginsakura","download_url":"https://codeload.github.com/Ginsakura/MUSYNXSaveCSharp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238840749,"owners_count":19539606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","dotnet-core","dotnetcore","musynx","save","save-manager","steam-games","wpf","wpf-application","wpf-chart","wpf-ui"],"created_at":"2024-09-28T07:41:09.691Z","updated_at":"2025-10-29T15:30:49.547Z","avatar_url":"https://github.com/Ginsakura.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# 同步音律喵赛克 Steam端 存档解析工具\nMUSYNX Steam Client Savefile Decode \u0026 Analyze Tool\n\nPython版本: [MUSYNXSave](https://github.com/Ginsakura/MUSYNXSave)\n\n[down_svg]: https://img.shields.io/github/downloads/ginsakura/MUSYNXSaveCSharp/total?label=All%20Downloads\n[all_release]: https://github.com/Ginsakura/MUSYNXSaveCSharp/releases\n[commit_svg]: https://img.shields.io/github/commit-activity/t/ginsakura/MUSYNXSaveCSharp?label=All%20Commits\n[commit]: https://github.com/Ginsakura/MUSYNXSaveCSharp/commits\n[license_svg]: https://img.shields.io/github/license/ginsakura/MUSYNXSaveCSharp?label=License\n[![All releases][down_svg]][all_release]\n[![All commit activity (branch)][commit_svg]][commit]\n[![License][license_svg]](./LICENSE)\n\n[latest_prerelease_svg]: https://img.shields.io/github/v/release/ginsakura/MUSYNXSaveCSharp?display_name=release\u0026label=Latest%20PreRelease\u0026include_prereleases\n[all_tags]: https://github.com/Ginsakura/MUSYNXSaveCSharp/tags\n[![Latest tag][latest_prerelease_svg]][all_tags]\n\n[latest_release_svg]: https://img.shields.io/github/v/release/ginsakura/MUSYNXSaveCSharp?display_name=release\u0026label=Latest%20Release\n[release]: https://github.com/Ginsakura/MUSYNXSaveCSharp/releases/latest\n[![latest release][latest_release_svg]][release]\n\n## How to use\n\n1. [English (English, `en-us`) v1.2.6 rc2](How_to_use.en.md)\n2. [简体中文 (Simplified Chinese, `zh-Hans`) v1.2.6 rc2](How_to_use.zh.md)\n\n## 界面展示\n\n\u003cdetails\u003e\n\u003csummary\u003e界面展示\u003c/summary\u003e\n\n![主页面](./ReadmeResources/main.png \"主页面\")\n![score-diff页面](./ReadmeResources/score-diff.png \"score-diff页面\")\n![HitDelay页面](./ReadmeResources/HitDelay.png \"HitDelay页面\")\n![HitAnalyze-Pie\u0026Bar页面](./ReadmeResources/HitAnalyze-Pie\u0026Bar.png \"HitAnalyze-Pie\u0026Bar页面\")\n![HitAnalyze-Line页面](./ReadmeResources/HitAnalyze-Line.png \"HitAnalyze-Line页面\")\n![AllHitAnalyze-Pie页面](./ReadmeResources/AllHitAnalyze.png \"AllHitAnalyze页面\")\n![AvgAcc-SYNC.Rate回归分析页面](./ReadmeResources/AvgAcc-SYNC.Rate.png \"AvgAcc-SYNC.Rate回归分析\")\n\n\u003c/details\u003e\n\n## 计划\n### 未来的计划\n- [ ] 提供全球排行榜显示功能 (需要调用SteamAPI)\n- [ ] 将提供一个文档来演示使用方法 (在写了,咕咕咕)\n- [ ] 使用文件夹内指定文件名的方式自定义美化UI\n- [ ] 主程序目录通过exe文件进行判断\n### 已完成的计划\n\n## 功能控制模块\n\u003cdetails\u003e\n\u003csummary\u003e控制参数详解\u003c/summary\u003e\n\u003cstyle\u003e\n  table { margin: 0 auto; }\n\u003c/style\u003e\n\n于`./musync_data/ExtraFunction.cfg`文件中启用/禁用对应功能\n\n|            配置项           |     默认值     | 值类型  |                                配置说明                                |\n|-----------------------------|----------------|---------|------------------------------------------------------------------------|\n| `LoggerFilter`              | 'INFO'         | string  |  |\n| `Acc_Sync`                  | false          | boolean | 是否启用Acc-Synx图表                                                    |\n| `CheckUpdate`               | false          | boolean | 是否启用自动检查更新                                                    |\n| `DLLInjection`              | false          | boolean | 是否启用DLL注入以开启`高级功能`                                         |\n| `SystemDPI`                 | `自动获取`     | string  | 读取系统DPI, 提供DPI窗体修正(未实现)                                    |\n| `DonutChartinHitDelay`      | false          | boolean | 是否在单次游玩统计中显示击打延迟环形图                                  |\n| `DonutChartinAllHitAnalyze` | false          | boolean | 是否在全局统计中显示击打延迟环形图                                      |\n| `NarrowDelayInterval`       | true           | boolean | 是否在单次游玩统计中使用更狭窄的击打区间来计算平均偏移值(Delay)\u003cbr\u003e[true=±45ms,false=±90ms]|\n| `ChangeConsoleStyle`        | false          | boolean | 是否启用自定义喵赛克游戏本体控制台窗口样式                              |\n| `ConsoleAlpha`              | 75             | int     | 游戏控制台窗口的不透明度\u003cbr\u003e(取值范围[0,100],100为完全不透明,不建议取值在30以下)|\n| `ConsoleFont`               | '霞鹜文楷等宽' | string  | 游戏控制台窗口的字体                                                    |\n| `ConsoleFontSize`           | 36             | int     | 游戏控制台窗口的字号                                                    |\n| `MainExecPath`              | `自动获取`     | string  | 游戏主程序所在的路径                                                    |\n| `DefaultKeys`               | false          | boolean | `高级功能`中默认`键数`参数 (true为4K, false为6K)                        |\n| `DefaultDiffcute`           | 0              | int     | `高级功能`中默认`难度`参数 (0为Easy, 1为Hard, 2为Inferno)               |\n\n\u003c/details\u003e\n\n### 高级功能简介\n下列组件对游戏客户端有修改,请谨慎使用\n\n*** $\\color{Red}{ 注意备份 注意备份 注意备份 }$ ***\n\n$\\color{Red}{请自行决定是否使用,使用过程中出现任何意外}$\n$\\color{Red}{后果自负,开发者概不负责}$\n\nHitDelay模块用法:启用DLL注入后,在本次游戏进行首次谱面游玩时会打开一个cmd窗口 $\\color{Red}{请勿关闭该窗口}$\n\n- `HitDelayFix.dll` 被精心修改过的客户端文件,原始文件为`./MUSYNX_Data/Managed/Assembly-CSharp.dll`.\n- `HitDelayLine.py` 用于读取控制台中的击打信息生成可视化数据表,标题栏提供三个统计信息.\n    - `AvgDelay` 平均击打延迟,即所有击打的平均值,能够一定程度上提示游戏延迟应该调整的数值(可能有较大偏差,仅供参考).\n    比如游戏内判定补偿是+010ms,AvgDelay数值为-5ms,那么就应将游戏内判定补偿减少5ms,但是具体需要调整多少请多次测试.\n    - `AllKeys` 谱面中存在note的数目.\n    - `AvgAcc` 平均击打偏差,即所有击打的绝对值的平均值,该值总为正数.\n    该值反应了您当前谱面本次游玩击打Key的时机的精准度,该值与您本次游玩的结算成绩有一定的关联:\n\n    该值越小,就说明您击打的越精准,(在该值小于45ms时，您的)分值就会越高.\n\n## 更新日志\n\u003c!--\n### Version \n#### PreRelease\n1. 更新\n    1. xxx\n2. 修复\n    1. xxx\n3. 优化\n    1. xxx\n--\u003e\n### Version 1.0.0\n#### PreRelease\n1. 更新\n    1. xxx\n2. 修复\n    1. xxx\n3. 优化\n    1. xxx\n\n\u003c!--## 旧版本更新日志 (1.0.0 - 1.2.8rc5)\n\u003cdetails\u003e\n  \u003csummary\u003e旧版本更新日志\u003c/summary\u003e\n\u003c/details\u003e--\u003e\n\n## 声明：妾身 ***不会*** 对存档文件进行 ***写*** 操作","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGinsakura%2FMUSYNXSaveCSharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGinsakura%2FMUSYNXSaveCSharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGinsakura%2FMUSYNXSaveCSharp/lists"}