From 53606374f67d289249ea8ac414c33ba9290c9145 Mon Sep 17 00:00:00 2001 From: Afevis Date: Tue, 19 Nov 2024 05:37:47 -0700 Subject: [PATCH] Speed up detection a bit --- .gitignore | 398 +++++++++++++++++++++++++++++ Battlenet-Launcher.sln | 31 +++ Battlenet-Launcher.vcxproj | 123 +++++++++ Battlenet-Launcher.vcxproj.filters | 9 + Source/main.cpp | 9 +- Source/resources.aps | Bin 114228 -> 0 bytes 6 files changed, 569 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 Battlenet-Launcher.sln create mode 100644 Battlenet-Launcher.vcxproj create mode 100644 Battlenet-Launcher.vcxproj.filters delete mode 100644 Source/resources.aps diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8a30d25 --- /dev/null +++ b/.gitignore @@ -0,0 +1,398 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml diff --git a/Battlenet-Launcher.sln b/Battlenet-Launcher.sln new file mode 100644 index 0000000..9534b40 --- /dev/null +++ b/Battlenet-Launcher.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35506.116 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Battlenet-Launcher", "Battlenet-Launcher.vcxproj", "{DEA346C3-9C2B-443C-9162-82A87151FC6F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Debug|x64.ActiveCfg = Debug|x64 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Debug|x64.Build.0 = Debug|x64 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Debug|x86.ActiveCfg = Debug|Win32 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Debug|x86.Build.0 = Debug|Win32 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Release|x64.ActiveCfg = Release|x64 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Release|x64.Build.0 = Release|x64 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Release|x86.ActiveCfg = Release|Win32 + {DEA346C3-9C2B-443C-9162-82A87151FC6F}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AAED72A9-09B5-4343-8E1E-1BE6699E0309} + EndGlobalSection +EndGlobal diff --git a/Battlenet-Launcher.vcxproj b/Battlenet-Launcher.vcxproj new file mode 100644 index 0000000..0850de1 --- /dev/null +++ b/Battlenet-Launcher.vcxproj @@ -0,0 +1,123 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {DEA346C3-9C2B-443C-9162-82A87151FC6F} + Battlenet-Launcher + 10.0 + Battlenet-Launcher + + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + + + + + Level3 + Disabled + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + + + + + + + + + + + + \ No newline at end of file diff --git a/Battlenet-Launcher.vcxproj.filters b/Battlenet-Launcher.vcxproj.filters new file mode 100644 index 0000000..9f48d3c --- /dev/null +++ b/Battlenet-Launcher.vcxproj.filters @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Source/main.cpp b/Source/main.cpp index 3d03879..0f4886d 100644 --- a/Source/main.cpp +++ b/Source/main.cpp @@ -196,11 +196,18 @@ int main(int argc, char **argv) //launch game Start(oDir, oID); for (int i = 1; i<10; i++){ - Sleep (1000);} + Sleep (1000); + if (IsRunning(gEX)) { + break; + } + } if (!IsRunning(gEX)) { Start(oDir, oID); for (int i = 1; i < 10; i++) { Sleep(1000); + if (IsRunning(gEX)) { + break; + } } //exit if game does not start after 2 attempts over 20s if (!IsRunning(gEX)) { diff --git a/Source/resources.aps b/Source/resources.aps deleted file mode 100644 index 32e86d91e175c37fe33aeab99ce4eddc27af82f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114228 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