Skip to content

Commit 55fe9fa

Browse files
committed
Initial version of the plugin.
0 parents  commit 55fe9fa

5 files changed

Lines changed: 522 additions & 0 deletions

File tree

.gitignore

Lines changed: 345 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,345 @@
1+
## Ignore Visual Studio temporary files, build results, and
2+
## files generated by popular Visual Studio add-ons.
3+
##
4+
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5+
6+
# User-specific files
7+
*.rsuser
8+
*.suo
9+
*.user
10+
*.userosscache
11+
*.sln.docstates
12+
13+
# User-specific files (MonoDevelop/Xamarin Studio)
14+
*.userprefs
15+
16+
# Build results
17+
[Dd]ebug/
18+
[Dd]ebugPublic/
19+
[Rr]elease/
20+
[Rr]eleases/
21+
x64/
22+
x86/
23+
[Aa][Rr][Mm]/
24+
[Aa][Rr][Mm]64/
25+
bld/
26+
[Bb]in/
27+
[Oo]bj/
28+
[Ll]og/
29+
30+
# Visual Studio 2015/2017 cache/options directory
31+
.vs/
32+
# Uncomment if you have tasks that create the project's static files in wwwroot
33+
#wwwroot/
34+
35+
# Visual Studio 2017 auto generated files
36+
Generated\ Files/
37+
38+
# MSTest test Results
39+
[Tt]est[Rr]esult*/
40+
[Bb]uild[Ll]og.*
41+
42+
# NUNIT
43+
*.VisualState.xml
44+
TestResult.xml
45+
46+
# Build Results of an ATL Project
47+
[Dd]ebugPS/
48+
[Rr]eleasePS/
49+
dlldata.c
50+
51+
# Benchmark Results
52+
BenchmarkDotNet.Artifacts/
53+
54+
# .NET Core
55+
project.lock.json
56+
project.fragment.lock.json
57+
artifacts/
58+
59+
# StyleCop
60+
StyleCopReport.xml
61+
62+
# Files built by Visual Studio
63+
*_i.c
64+
*_p.c
65+
*_h.h
66+
*.ilk
67+
*.meta
68+
*.obj
69+
*.iobj
70+
*.pch
71+
*.pdb
72+
*.ipdb
73+
*.pgc
74+
*.pgd
75+
*.rsp
76+
*.sbr
77+
*.tlb
78+
*.tli
79+
*.tlh
80+
*.tmp
81+
*.tmp_proj
82+
*_wpftmp.csproj
83+
*.log
84+
*.vspscc
85+
*.vssscc
86+
.builds
87+
*.pidb
88+
*.svclog
89+
*.scc
90+
91+
# Chutzpah Test files
92+
_Chutzpah*
93+
94+
# Visual C++ cache files
95+
ipch/
96+
*.aps
97+
*.ncb
98+
*.opendb
99+
*.opensdf
100+
*.sdf
101+
*.cachefile
102+
*.VC.db
103+
*.VC.VC.opendb
104+
105+
# Visual Studio profiler
106+
*.psess
107+
*.vsp
108+
*.vspx
109+
*.sap
110+
111+
# Visual Studio Trace Files
112+
*.e2e
113+
114+
# TFS 2012 Local Workspace
115+
$tf/
116+
117+
# Guidance Automation Toolkit
118+
*.gpState
119+
120+
# ReSharper is a .NET coding add-in
121+
_ReSharper*/
122+
*.[Rr]e[Ss]harper
123+
*.DotSettings.user
124+
125+
# JustCode is a .NET coding add-in
126+
.JustCode
127+
128+
# TeamCity is a build add-in
129+
_TeamCity*
130+
131+
# DotCover is a Code Coverage Tool
132+
*.dotCover
133+
134+
# AxoCover is a Code Coverage Tool
135+
.axoCover/*
136+
!.axoCover/settings.json
137+
138+
# Visual Studio code coverage results
139+
*.coverage
140+
*.coveragexml
141+
142+
# NCrunch
143+
_NCrunch_*
144+
.*crunch*.local.xml
145+
nCrunchTemp_*
146+
147+
# MightyMoose
148+
*.mm.*
149+
AutoTest.Net/
150+
151+
# Web workbench (sass)
152+
.sass-cache/
153+
154+
# Installshield output folder
155+
[Ee]xpress/
156+
157+
# DocProject is a documentation generator add-in
158+
DocProject/buildhelp/
159+
DocProject/Help/*.HxT
160+
DocProject/Help/*.HxC
161+
DocProject/Help/*.hhc
162+
DocProject/Help/*.hhk
163+
DocProject/Help/*.hhp
164+
DocProject/Help/Html2
165+
DocProject/Help/html
166+
167+
# Click-Once directory
168+
publish/
169+
170+
# Publish Web Output
171+
*.[Pp]ublish.xml
172+
*.azurePubxml
173+
# Note: Comment the next line if you want to checkin your web deploy settings,
174+
# but database connection strings (with potential passwords) will be unencrypted
175+
*.pubxml
176+
*.publishproj
177+
178+
# Microsoft Azure Web App publish settings. Comment the next line if you want to
179+
# checkin your Azure Web App publish settings, but sensitive information contained
180+
# in these scripts will be unencrypted
181+
PublishScripts/
182+
183+
# NuGet Packages
184+
*.nupkg
185+
# The packages folder can be ignored because of Package Restore
186+
**/[Pp]ackages/*
187+
# except build/, which is used as an MSBuild target.
188+
!**/[Pp]ackages/build/
189+
# Uncomment if necessary however generally it will be regenerated when needed
190+
#!**/[Pp]ackages/repositories.config
191+
# NuGet v3's project.json files produces more ignorable files
192+
*.nuget.props
193+
*.nuget.targets
194+
195+
# Microsoft Azure Build Output
196+
csx/
197+
*.build.csdef
198+
199+
# Microsoft Azure Emulator
200+
ecf/
201+
rcf/
202+
203+
# Windows Store app package directories and files
204+
AppPackages/
205+
BundleArtifacts/
206+
Package.StoreAssociation.xml
207+
_pkginfo.txt
208+
*.appx
209+
210+
# Visual Studio cache files
211+
# files ending in .cache can be ignored
212+
*.[Cc]ache
213+
# but keep track of directories ending in .cache
214+
!?*.[Cc]ache/
215+
216+
# Others
217+
ClientBin/
218+
~$*
219+
*~
220+
*.dbmdl
221+
*.dbproj.schemaview
222+
*.jfm
223+
*.pfx
224+
*.publishsettings
225+
orleans.codegen.cs
226+
227+
# Including strong name files can present a security risk
228+
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
229+
#*.snk
230+
231+
# Since there are multiple workflows, uncomment next line to ignore bower_components
232+
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
233+
#bower_components/
234+
# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
235+
**/wwwroot/lib/
236+
237+
# RIA/Silverlight projects
238+
Generated_Code/
239+
240+
# Backup & report files from converting an old project file
241+
# to a newer Visual Studio version. Backup files are not needed,
242+
# because we have git ;-)
243+
_UpgradeReport_Files/
244+
Backup*/
245+
UpgradeLog*.XML
246+
UpgradeLog*.htm
247+
ServiceFabricBackup/
248+
*.rptproj.bak
249+
250+
# SQL Server files
251+
*.mdf
252+
*.ldf
253+
*.ndf
254+
255+
# Business Intelligence projects
256+
*.rdl.data
257+
*.bim.layout
258+
*.bim_*.settings
259+
*.rptproj.rsuser
260+
*- Backup*.rdl
261+
262+
# Microsoft Fakes
263+
FakesAssemblies/
264+
265+
# GhostDoc plugin setting file
266+
*.GhostDoc.xml
267+
268+
# Node.js Tools for Visual Studio
269+
.ntvs_analysis.dat
270+
node_modules/
271+
272+
# Visual Studio 6 build log
273+
*.plg
274+
275+
# Visual Studio 6 workspace options file
276+
*.opt
277+
278+
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
279+
*.vbw
280+
281+
# Visual Studio LightSwitch build output
282+
**/*.HTMLClient/GeneratedArtifacts
283+
**/*.DesktopClient/GeneratedArtifacts
284+
**/*.DesktopClient/ModelManifest.xml
285+
**/*.Server/GeneratedArtifacts
286+
**/*.Server/ModelManifest.xml
287+
_Pvt_Extensions
288+
289+
# Paket dependency manager
290+
.paket/paket.exe
291+
paket-files/
292+
293+
# FAKE - F# Make
294+
.fake/
295+
296+
# JetBrains Rider
297+
.idea/
298+
*.sln.iml
299+
300+
# CodeRush personal settings
301+
.cr/personal
302+
303+
# Python Tools for Visual Studio (PTVS)
304+
__pycache__/
305+
*.pyc
306+
307+
# Cake - Uncomment if you are using it
308+
# tools/**
309+
# !tools/packages.config
310+
311+
# Tabs Studio
312+
*.tss
313+
314+
# Telerik's JustMock configuration file
315+
*.jmconfig
316+
317+
# BizTalk build output
318+
*.btp.cs
319+
*.btm.cs
320+
*.odx.cs
321+
*.xsd.cs
322+
323+
# OpenCover UI analysis results
324+
OpenCover/
325+
326+
# Azure Stream Analytics local run output
327+
ASALocalRun/
328+
329+
# MSBuild Binary and Structured Log
330+
*.binlog
331+
332+
# NVidia Nsight GPU debugger configuration file
333+
*.nvuser
334+
335+
# MFractors (Xamarin productivity tool) working folder
336+
.mfractor/
337+
338+
# Local History for Visual Studio
339+
.localhistory/
340+
341+
# BeatPulse healthcheck temp database
342+
healthchecksdb
343+
344+
# Backup folder for Package Reference Convert tool in Visual Studio 2017
345+
MigrationBackup/

AuroraGSIPlugin.cs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
using Newtonsoft.Json;
2+
using OsuRTDataProvider;
3+
using Sync.Plugins;
4+
using System;
5+
using System.Linq;
6+
using System.Net.Http;
7+
8+
namespace OsuAuroraMod {
9+
10+
[SyncRequirePlugin(typeof(OsuRTDataProviderPlugin))]
11+
public class AuroraGSIPlugin : Plugin {
12+
13+
// Meta-data
14+
public const string PLUGIN_NAME = "AuroraGSI";
15+
public const string PLUGIN_AUTHOR = "Wibble199";
16+
public const string VERSION = "1.0.0";
17+
18+
// HTTP/GSI variables
19+
private HttpClient client = new HttpClient();
20+
private RootGSINode gsiNode = new RootGSINode();
21+
22+
// Required constructor
23+
public AuroraGSIPlugin() : base(PLUGIN_NAME, PLUGIN_AUTHOR) { }
24+
25+
public override void OnEnable() {
26+
try {
27+
// Get a reference to the OsuRTDataProviderPlugin and it's ListenerManager
28+
var dp = (OsuRTDataProviderPlugin)getHoster().EnumPluings().First(plugin => plugin.Name == "OsuRTDataProvider");
29+
var lm = dp.ListenerManager;
30+
31+
// Add events and update the payload
32+
lm.OnStatusChanged += (_, status) => { gsiNode.game.status = status.ToString(); SendUpdate(); };
33+
lm.OnAccuracyChanged += acc => { gsiNode.game.accuracy = acc; SendUpdate(); };
34+
lm.OnHealthPointChanged += hp => { gsiNode.game.hp = hp; SendUpdate(); };
35+
lm.OnComboChanged += combo => { gsiNode.game.combo = combo; SendUpdate(); };
36+
lm.OnCount50Changed += count => { gsiNode.game.count50 = count; SendUpdate(); };
37+
lm.OnCount100Changed += count => { gsiNode.game.count100 = count; SendUpdate(); };
38+
lm.OnCount300Changed += count => { gsiNode.game.count300 = count; SendUpdate(); };
39+
lm.OnCountKatuChanged += count => { gsiNode.game.countKatu = count; SendUpdate(); };
40+
lm.OnCountGekiChanged += count => { gsiNode.game.countGeki = count; SendUpdate(); };
41+
lm.OnCountMissChanged += count => { gsiNode.game.countMiss = count; SendUpdate(); };
42+
43+
} catch { }
44+
}
45+
46+
// Serialize and send the updates to Aurora
47+
private void SendUpdate() {
48+
string json = JsonConvert.SerializeObject(gsiNode);
49+
client.PostAsync("http://localhost:9088/", new StringContent(json));
50+
}
51+
}
52+
}

0 commit comments

Comments
 (0)