Compare commits
14 Commits
0.2.0
...
v202508310
Author | SHA1 | Date | |
---|---|---|---|
ba852831aa
|
|||
5de9ad3a54
|
|||
4c8ce23e8a
|
|||
2be5f5d320
|
|||
c428f306ca
|
|||
3dde713c91
|
|||
3280446c7e
|
|||
abc361faf0
|
|||
d5d3eef5f8 | |||
9f553e57d2 | |||
35af19f82e | |||
c113868b58 | |||
51c76e1b2a | |||
c58f66ff4a |
52
.gitea/workflows/build.yml
Normal file
52
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
name: .NET Build and Publish to Gitea
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: '*'
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: self-hosted
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Restore dependencies
|
||||||
|
run: dotnet restore
|
||||||
|
|
||||||
|
- name: Download Dalamud
|
||||||
|
run: |
|
||||||
|
mkdir -p $HOME/.xlcore/dalamud/Hooks/dev/
|
||||||
|
curl -L https://goatcorp.github.io/dalamud-distrib/stg/latest.zip -o latest.zip
|
||||||
|
unzip -o latest.zip -d $HOME/.xlcore/dalamud/Hooks/dev/
|
||||||
|
|
||||||
|
- name: Build project
|
||||||
|
run: dotnet build --no-restore --configuration Release --nologo
|
||||||
|
|
||||||
|
- name: Publish Windows executable
|
||||||
|
run: dotnet publish -c Release -r win-x64 --self-contained true -o ./publish
|
||||||
|
|
||||||
|
- name: Archive published files
|
||||||
|
run: zip -r SnowcloakClient.zip ./publish/*
|
||||||
|
|
||||||
|
- name: Create Gitea release
|
||||||
|
env:
|
||||||
|
GITEA_TOKEN: ${{ secrets.BUILD_SNOWCLOAK_CLIENT }}
|
||||||
|
run: |
|
||||||
|
API_URL="https://imbuilding.anuke.org/api/v1/repos/ProfessorFartsalot/SnowcloakClient/releases"
|
||||||
|
TAG="v$(date +%Y%m%d%H%M)"
|
||||||
|
# Create release
|
||||||
|
RELEASE_ID=$(curl -s -X POST \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "Authorization: token $GITEA_TOKEN" \
|
||||||
|
-d "{\"tag_name\":\"$TAG\",\"name\":\"Automated Build $TAG\",\"body\":\"Automated build artifact\"}" \
|
||||||
|
$API_URL | jq -r '.id')
|
||||||
|
echo "Release ID: $RELEASE_ID"
|
||||||
|
# Upload asset
|
||||||
|
curl -s -X POST \
|
||||||
|
-H "Authorization: token $GITEA_TOKEN" \
|
||||||
|
-F "name=SnowcloakClient.zip" \
|
||||||
|
-F "attachment=@SnowcloakClient.zip" \
|
||||||
|
"$API_URL/$RELEASE_ID/assets"
|
@@ -8,6 +8,6 @@ public static class ConfigurationExtensions
|
|||||||
{
|
{
|
||||||
return configuration.AcceptedAgreement && configuration.InitialScanComplete
|
return configuration.AcceptedAgreement && configuration.InitialScanComplete
|
||||||
&& !string.IsNullOrEmpty(configuration.CacheFolder)
|
&& !string.IsNullOrEmpty(configuration.CacheFolder)
|
||||||
&& Directory.Exists(configuration.CacheFolder) && configuration.AcceptedTOSVersion == configuration.ExpectedTOSVersion;
|
&& Directory.Exists(configuration.CacheFolder);
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -2,7 +2,7 @@
|
|||||||
<Project Sdk="Dalamud.NET.Sdk/13.0.0">
|
<Project Sdk="Dalamud.NET.Sdk/13.0.0">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AssemblyName>Snowcloak</AssemblyName>
|
<AssemblyName>Snowcloak</AssemblyName>
|
||||||
<Version>0.2.0</Version>
|
<Version>0.2.0.2</Version>
|
||||||
<PackageProjectUrl>https://github.com/Eauldane/SnowcloakClient/</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/Eauldane/SnowcloakClient/</PackageProjectUrl>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
@@ -106,9 +106,8 @@ public partial class IntroUi : WindowMediatorSubscriberBase
|
|||||||
{
|
{
|
||||||
if (_uiShared.IsInGpose) return;
|
if (_uiShared.IsInGpose) return;
|
||||||
|
|
||||||
if ((!_configService.Current.AcceptedAgreement || _configService.Current.AcceptedTOSVersion != _configService.Current.ExpectedTOSVersion) && !_readFirstPage)
|
if (!_configService.Current.AcceptedAgreement && !_readFirstPage)
|
||||||
{
|
{
|
||||||
// TODO: The UI bugs hard if this page *isn't* shown before the new TOS. There's probably a way around it.
|
|
||||||
_uiShared.BigText("Welcome to Snowcloak");
|
_uiShared.BigText("Welcome to Snowcloak");
|
||||||
ImGui.Separator();
|
ImGui.Separator();
|
||||||
UiSharedService.TextWrapped("Snowcloak is a plugin that will replicate your full current character state including all Penumbra mods to other paired users. " +
|
UiSharedService.TextWrapped("Snowcloak is a plugin that will replicate your full current character state including all Penumbra mods to other paired users. " +
|
||||||
@@ -126,7 +125,7 @@ public partial class IntroUi : WindowMediatorSubscriberBase
|
|||||||
#if !DEBUG
|
#if !DEBUG
|
||||||
_timeoutTask = Task.Run(async () =>
|
_timeoutTask = Task.Run(async () =>
|
||||||
{
|
{
|
||||||
for (int i = 45; i > 0; i--)
|
for (int i = 10; i > 0; i--)
|
||||||
{
|
{
|
||||||
_timeoutLabel = $"'I agree' button will be available in {i}s";
|
_timeoutLabel = $"'I agree' button will be available in {i}s";
|
||||||
await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false);
|
await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false);
|
||||||
@@ -137,7 +136,7 @@ public partial class IntroUi : WindowMediatorSubscriberBase
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((!_configService.Current.AcceptedAgreement || _configService.Current.AcceptedTOSVersion != _configService.Current.ExpectedTOSVersion) && _readFirstPage)
|
else if (!_configService.Current.AcceptedAgreement && _readFirstPage)
|
||||||
{
|
{
|
||||||
using (_uiShared.UidFont.Push())
|
using (_uiShared.UidFont.Push())
|
||||||
{
|
{
|
||||||
@@ -152,7 +151,6 @@ public partial class IntroUi : WindowMediatorSubscriberBase
|
|||||||
UiSharedService.ColorText(readThis, ImGuiColors.DalamudRed);
|
UiSharedService.ColorText(readThis, ImGuiColors.DalamudRed);
|
||||||
ImGui.SetWindowFontScale(1.0f);
|
ImGui.SetWindowFontScale(1.0f);
|
||||||
ImGui.Separator();
|
ImGui.Separator();
|
||||||
|
|
||||||
UiSharedService.TextWrapped("""
|
UiSharedService.TextWrapped("""
|
||||||
To use Snowcloak, you must be over the age of 18, or 21 in some jurisdictions.
|
To use Snowcloak, you must be over the age of 18, or 21 in some jurisdictions.
|
||||||
""");
|
""");
|
||||||
@@ -190,7 +188,6 @@ public partial class IntroUi : WindowMediatorSubscriberBase
|
|||||||
if (ImGui.Button("I agree##toSetup"))
|
if (ImGui.Button("I agree##toSetup"))
|
||||||
{
|
{
|
||||||
_configService.Current.AcceptedAgreement = true;
|
_configService.Current.AcceptedAgreement = true;
|
||||||
_configService.Current.AcceptedTOSVersion = _configService.Current.ExpectedTOSVersion;
|
|
||||||
_configService.Save();
|
_configService.Save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -199,7 +196,7 @@ public partial class IntroUi : WindowMediatorSubscriberBase
|
|||||||
UiSharedService.TextWrapped(_timeoutLabel);
|
UiSharedService.TextWrapped(_timeoutLabel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((!_configService.Current.AcceptedAgreement || _configService.Current.AcceptedTOSVersion != _configService.Current.ExpectedTOSVersion)
|
else if (_configService.Current.AcceptedAgreement
|
||||||
&& (string.IsNullOrEmpty(_configService.Current.CacheFolder)
|
&& (string.IsNullOrEmpty(_configService.Current.CacheFolder)
|
||||||
|| !_configService.Current.InitialScanComplete
|
|| !_configService.Current.InitialScanComplete
|
||||||
|| !Directory.Exists(_configService.Current.CacheFolder)))
|
|| !Directory.Exists(_configService.Current.CacheFolder)))
|
||||||
|
Reference in New Issue
Block a user