Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7b9c4757dd | ||
|
b8fc97adf2 | ||
|
c1a7b5bcdb | ||
|
be1c375589 | ||
|
378d19f87a | ||
|
f59f65ec4f | ||
|
7bc4971cf9 |
14
.github/workflows/release.yml
vendored
14
.github/workflows/release.yml
vendored
@@ -53,6 +53,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
dotnet publish -c Release -r win-x64 -o ./publish_windows/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx --self-contained
|
dotnet publish -c Release -r win-x64 -o ./publish_windows/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx --self-contained
|
||||||
dotnet publish -c Release -r win-x64 -o ./publish_windows_sdl2_headless/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx.Headless.SDL2 --self-contained
|
dotnet publish -c Release -r win-x64 -o ./publish_windows_sdl2_headless/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx.Headless.SDL2 --self-contained
|
||||||
|
dotnet publish -c Release -r win-x64 -o ./publish_windows_ava/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx.Ava --self-contained
|
||||||
- name: Packing Windows builds
|
- name: Packing Windows builds
|
||||||
run: |
|
run: |
|
||||||
pushd publish_windows
|
pushd publish_windows
|
||||||
@@ -60,7 +61,11 @@ jobs:
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
pushd publish_windows_sdl2_headless
|
pushd publish_windows_sdl2_headless
|
||||||
7z a ../release_output/ryujinx-headless-sdl2-${{ steps.version_info.outputs.build_version }}-win_x64.zip publish
|
7z a ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-win_x64.zip publish
|
||||||
|
popd
|
||||||
|
|
||||||
|
pushd publish_windows_ava
|
||||||
|
7z a ../release_output/test-ava-ryujinx-${{ steps.version_info.outputs.build_version }}-win_x64.zip publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
@@ -68,6 +73,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
dotnet publish -c Release -r linux-x64 -o ./publish_linux/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx --self-contained
|
dotnet publish -c Release -r linux-x64 -o ./publish_linux/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx --self-contained
|
||||||
dotnet publish -c Release -r linux-x64 -o ./publish_linux_sdl2_headless/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx.Headless.SDL2 --self-contained
|
dotnet publish -c Release -r linux-x64 -o ./publish_linux_sdl2_headless/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx.Headless.SDL2 --self-contained
|
||||||
|
dotnet publish -c Release -r linux-x64 -o ./publish_linux_ava/publish /p:Version="${{ steps.version_info.outputs.build_version }}" /p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" /p:DebugType=embedded Ryujinx.Ava --self-contained
|
||||||
|
|
||||||
- name: Packing Linux builds
|
- name: Packing Linux builds
|
||||||
run: |
|
run: |
|
||||||
@@ -76,7 +82,11 @@ jobs:
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
pushd publish_linux_sdl2_headless
|
pushd publish_linux_sdl2_headless
|
||||||
tar -czvf ../release_output/ryujinx-headless-sdl2-${{ steps.version_info.outputs.build_version }}-linux_x64.tar.gz publish
|
tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-linux_x64.tar.gz publish
|
||||||
|
popd
|
||||||
|
|
||||||
|
pushd publish_linux_ava
|
||||||
|
tar -czvf ../release_output/test-ava-ryujinx-${{ steps.version_info.outputs.build_version }}-linux_x64.tar.gz publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="OpenTK.OpenAL" Version="4.5.0" />
|
<PackageReference Include="OpenTK.OpenAL" Version="4.7.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@@ -177,7 +177,7 @@ namespace Ryujinx.Ava
|
|||||||
{
|
{
|
||||||
if (_renderer != null)
|
if (_renderer != null)
|
||||||
{
|
{
|
||||||
double scale = Program.WindowScaleFactor;
|
double scale = _parent.PlatformImpl.RenderScaling;
|
||||||
_renderer.Window.SetSize((int)(size.Width * scale), (int)(size.Height * scale));
|
_renderer.Window.SetSize((int)(size.Width * scale), (int)(size.Height * scale));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -809,7 +809,7 @@ namespace Ryujinx.Ava
|
|||||||
Width = (int)Renderer.Bounds.Width;
|
Width = (int)Renderer.Bounds.Width;
|
||||||
Height = (int)Renderer.Bounds.Height;
|
Height = (int)Renderer.Bounds.Height;
|
||||||
|
|
||||||
_renderer.Window.SetSize((int)(Width * Program.WindowScaleFactor), (int)(Height * Program.WindowScaleFactor));
|
_renderer.Window.SetSize((int)(Width * _parent.PlatformImpl.RenderScaling), (int)(Height * _parent.PlatformImpl.RenderScaling));
|
||||||
|
|
||||||
Device.Gpu.Renderer.RunLoop(() =>
|
Device.Gpu.Renderer.RunLoop(() =>
|
||||||
{
|
{
|
||||||
|
@@ -4,11 +4,9 @@ using Ryujinx.Ava.Common.Locale;
|
|||||||
using Ryujinx.Input;
|
using Ryujinx.Input;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
using AvaKey = Avalonia.Input.Key;
|
using AvaKey = Avalonia.Input.Key;
|
||||||
using Key = Ryujinx.Input.Key;
|
using Key = Ryujinx.Input.Key;
|
||||||
using TextInputEventArgs = OpenTK.Windowing.Common.TextInputEventArgs;
|
|
||||||
|
|
||||||
namespace Ryujinx.Ava.Input
|
namespace Ryujinx.Ava.Input
|
||||||
{
|
{
|
||||||
@@ -20,7 +18,7 @@ namespace Ryujinx.Ava.Input
|
|||||||
|
|
||||||
public event EventHandler<KeyEventArgs> KeyPressed;
|
public event EventHandler<KeyEventArgs> KeyPressed;
|
||||||
public event EventHandler<KeyEventArgs> KeyRelease;
|
public event EventHandler<KeyEventArgs> KeyRelease;
|
||||||
public event EventHandler<TextInputEventArgs> TextInput;
|
public event EventHandler<string> TextInput;
|
||||||
|
|
||||||
public string DriverName => "Avalonia";
|
public string DriverName => "Avalonia";
|
||||||
|
|
||||||
@@ -36,9 +34,9 @@ namespace Ryujinx.Ava.Input
|
|||||||
_control.TextInput += Control_TextInput;
|
_control.TextInput += Control_TextInput;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Control_TextInput(object sender, Avalonia.Input.TextInputEventArgs e)
|
private void Control_TextInput(object sender, TextInputEventArgs e)
|
||||||
{
|
{
|
||||||
TextInput?.Invoke(this, new TextInputEventArgs(e.Text.First()));
|
TextInput?.Invoke(this, e.Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
public event Action<string> OnGamepadConnected
|
public event Action<string> OnGamepadConnected
|
||||||
|
@@ -98,7 +98,7 @@ namespace Ryujinx.Modules
|
|||||||
string assetState = (string)asset["state"];
|
string assetState = (string)asset["state"];
|
||||||
string downloadURL = (string)asset["browser_download_url"];
|
string downloadURL = (string)asset["browser_download_url"];
|
||||||
|
|
||||||
if (assetName.StartsWith("ava-ryujinx") && assetName.EndsWith(_platformExt))
|
if (assetName.StartsWith("test-ava-ryujinx") && assetName.EndsWith(_platformExt))
|
||||||
{
|
{
|
||||||
_buildUrl = downloadURL;
|
_buildUrl = downloadURL;
|
||||||
|
|
||||||
|
@@ -1,141 +1,144 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<Version>1.0.0-dirty</Version>
|
<Version>1.0.0-dirty</Version>
|
||||||
<RootNamespace>Ryujinx.Ava</RootNamespace>
|
<TieredCompilation>false</TieredCompilation>
|
||||||
<ApplicationIcon>Ryujinx.ico</ApplicationIcon>
|
<TieredCompilationQuickJit>false</TieredCompilationQuickJit>
|
||||||
</PropertyGroup>
|
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
||||||
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
<RootNamespace>Ryujinx.Ava</RootNamespace>
|
||||||
<PublishSingleFile>true</PublishSingleFile>
|
<ApplicationIcon>Ryujinx.ico</ApplicationIcon>
|
||||||
<PublishTrimmed>true</PublishTrimmed>
|
</PropertyGroup>
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
</PropertyGroup>
|
<PublishTrimmed>true</PublishTrimmed>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
</PropertyGroup>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
||||||
</PropertyGroup>
|
<ItemGroup>
|
||||||
<ItemGroup>
|
<PackageReference Include="Avalonia" Version="0.10.14" />
|
||||||
<ContentWithTargetPath Include="..\distribution\windows\alsoft.ini" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'">
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.14" />
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.14" />
|
||||||
<TargetPath>alsoft.ini</TargetPath>
|
<PackageReference Include="Avalonia.Controls.DataGrid" Version="0.10.14" />
|
||||||
</ContentWithTargetPath>
|
<PackageReference Include="Avalonia.Markup.Xaml.Loader" Version="0.10.14" />
|
||||||
<ContentWithTargetPath Include="..\distribution\legal\THIRDPARTY.md">
|
<PackageReference Include="Avalonia.Svg" Version="0.10.13" />
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.13" />
|
||||||
<TargetPath>THIRDPARTY.md</TargetPath>
|
<PackageReference Include="jp2masa.Avalonia.Flexbox" Version="0.2.0" />
|
||||||
</ContentWithTargetPath>
|
<PackageReference Include="DynamicData" Version="7.7.14" />
|
||||||
<ContentWithTargetPath Include="..\Ryujinx.Audio\LICENSE.txt">
|
<PackageReference Include="FluentAvaloniaUI" Version="1.3.4" />
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
<TargetPath>LICENSE-Ryujinx.Audio.txt</TargetPath>
|
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Version="1.21.0.1" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
||||||
</ContentWithTargetPath>
|
<PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="4.4.0-build9" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
||||||
</ItemGroup>
|
<PackageReference Include="OpenTK.Graphics" Version="4.7.2" />
|
||||||
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
<PackageReference Include="SPB" Version="0.0.4-build17" />
|
||||||
<PublishSingleFile>true</PublishSingleFile>
|
<PackageReference Include="SharpZipLib" Version="1.3.3" />
|
||||||
<PublishTrimmed>true</PublishTrimmed>
|
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
|
||||||
</PropertyGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<AvaloniaResource Include="Ui\**\*.xaml">
|
<ItemGroup>
|
||||||
<SubType>Designer</SubType>
|
<ProjectReference Include="..\Ryujinx.Audio.Backends.SDL2\Ryujinx.Audio.Backends.SDL2.csproj" />
|
||||||
</AvaloniaResource>
|
<ProjectReference Include="..\Ryujinx.Input\Ryujinx.Input.csproj" />
|
||||||
<None Remove="Assets\Locales\el_GR.json" />
|
<ProjectReference Include="..\Ryujinx.Input.SDL2\Ryujinx.Input.SDL2.csproj" />
|
||||||
<None Remove="Assets\Locales\ru_RU.json" />
|
<ProjectReference Include="..\Ryujinx.Audio.Backends.OpenAL\Ryujinx.Audio.Backends.OpenAL.csproj" />
|
||||||
<AvaloniaResource Include="Assets\Fonts\SegoeFluentIcons.ttf" />
|
<ProjectReference Include="..\Ryujinx.Audio.Backends.SoundIo\Ryujinx.Audio.Backends.SoundIo.csproj" />
|
||||||
</ItemGroup>
|
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
|
||||||
<ItemGroup>
|
<ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
|
||||||
<None Remove="Assets\Styles\BaseDark.xaml" />
|
<ProjectReference Include="..\ARMeilleure\ARMeilleure.csproj" />
|
||||||
<None Remove="Assets\Styles\BaseLight.xaml" />
|
<ProjectReference Include="..\Ryujinx.Graphics.OpenGL\Ryujinx.Graphics.OpenGL.csproj" />
|
||||||
</ItemGroup>
|
<ProjectReference Include="..\Ryujinx.Graphics.Gpu\Ryujinx.Graphics.Gpu.csproj" />
|
||||||
<ItemGroup>
|
<ProjectReference Include="..\Ryujinx.Ui.Common\Ryujinx.Ui.Common.csproj" />
|
||||||
<AvaloniaResource Include="Assets\Styles\BaseLight.xaml">
|
</ItemGroup>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
|
||||||
</AvaloniaResource>
|
<ItemGroup>
|
||||||
<AvaloniaResource Include="Assets\Styles\BaseDark.xaml">
|
<ContentWithTargetPath Include="..\distribution\windows\alsoft.ini" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</AvaloniaResource>
|
<TargetPath>alsoft.ini</TargetPath>
|
||||||
<AvaloniaResource Include="Assets\Styles\Styles.xaml" />
|
</ContentWithTargetPath>
|
||||||
</ItemGroup>
|
<ContentWithTargetPath Include="..\distribution\legal\THIRDPARTY.md">
|
||||||
<ItemGroup>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
<PackageReference Include="Avalonia.Controls.DataGrid" Version="0.10.14" />
|
<TargetPath>THIRDPARTY.md</TargetPath>
|
||||||
<PackageReference Include="Avalonia.Markup.Xaml.Loader" Version="0.10.14" />
|
</ContentWithTargetPath>
|
||||||
<PackageReference Include="Avalonia.Svg" Version="0.10.13" />
|
<ContentWithTargetPath Include="..\Ryujinx.Audio\LICENSE.txt">
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.13" />
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
<PackageReference Include="DynamicData" Version="7.7.1" />
|
<TargetPath>LICENSE-Ryujinx.Audio.txt</TargetPath>
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.3.4" />
|
</ContentWithTargetPath>
|
||||||
<PackageReference Include="Crc32.NET" Version="1.2.0" />
|
</ItemGroup>
|
||||||
<PackageReference Include="jp2masa.Avalonia.Flexbox" Version="0.2.0" />
|
|
||||||
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Version="1.21.0.1" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
<ItemGroup>
|
||||||
<PackageReference Include="OpenTK" Version="4.6.3" />
|
<AvaloniaResource Include="Ui\**\*.xaml">
|
||||||
<PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="4.4.0-build9" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
<SubType>Designer</SubType>
|
||||||
<PackageReference Include="SharpZipLib" Version="1.3.3" />
|
</AvaloniaResource>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.14" />
|
<AvaloniaResource Include="Assets\Fonts\SegoeFluentIcons.ttf" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.14" />
|
<AvaloniaResource Include="Assets\Styles\BaseLight.xaml">
|
||||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.14" />
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<PackageReference Include="Silk.NET.Vulkan" Version="2.2.0" />
|
</AvaloniaResource>
|
||||||
<PackageReference Include="Silk.NET.Vulkan.Extensions.KHR" Version="2.2.0" />
|
<AvaloniaResource Include="Assets\Styles\BaseDark.xaml">
|
||||||
<PackageReference Include="Silk.NET.Vulkan.Extensions.EXT" Version="2.2.0" />
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
|
</AvaloniaResource>
|
||||||
<PackageReference Include="SPB" Version="0.0.4-build17" />
|
<AvaloniaResource Include="Assets\Styles\Styles.xaml" />
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<Compile Update="App.axaml.cs">
|
||||||
<EmbeddedResource Include="Assets\Locales\el_GR.json" />
|
<DependentUpon>App.axaml</DependentUpon>
|
||||||
<EmbeddedResource Include="Assets\Locales\en_US.json" />
|
<SubType>Code</SubType>
|
||||||
<EmbeddedResource Include="Assets\Locales\es_ES.json" />
|
</Compile>
|
||||||
<EmbeddedResource Include="Assets\Locales\fr_FR.json" />
|
<Compile Update="Ui\Windows\MainWindow.axaml.cs">
|
||||||
<EmbeddedResource Include="Assets\Locales\de_DE.json" />
|
<DependentUpon>MainWindow.axaml</DependentUpon>
|
||||||
<EmbeddedResource Include="Assets\Locales\it_IT.json" />
|
<SubType>Code</SubType>
|
||||||
<EmbeddedResource Include="Assets\Locales\ko_KR.json" />
|
</Compile>
|
||||||
<EmbeddedResource Include="Assets\Locales\pt_BR.json" />
|
<Compile Update="Ui\Windows\AboutWindow.axaml.cs">
|
||||||
<EmbeddedResource Include="Assets\Locales\ru_RU.json" />
|
<DependentUpon>AboutWindow.axaml</DependentUpon>
|
||||||
<EmbeddedResource Include="Assets\Locales\tr_TR.json" />
|
<SubType>Code</SubType>
|
||||||
<EmbeddedResource Include="Assets\Styles\Styles.xaml" />
|
</Compile>
|
||||||
</ItemGroup>
|
<Compile Update="Ui\Applet\ErrorAppletWindow.axaml.cs">
|
||||||
<ItemGroup>
|
<DependentUpon>ProfileWindow.axaml</DependentUpon>
|
||||||
<ProjectReference Include="..\Ryujinx.Audio.Backends.SDL2\Ryujinx.Audio.Backends.SDL2.csproj" />
|
<SubType>Code</SubType>
|
||||||
<ProjectReference Include="..\Ryujinx.Input\Ryujinx.Input.csproj" />
|
</Compile>
|
||||||
<ProjectReference Include="..\Ryujinx.Input.SDL2\Ryujinx.Input.SDL2.csproj" />
|
<Compile Update="Ui\Applet\SwkbdAppletWindow.axaml.cs">
|
||||||
<ProjectReference Include="..\Ryujinx.Audio.Backends.OpenAL\Ryujinx.Audio.Backends.OpenAL.csproj" />
|
<DependentUpon>ProfileWindow.axaml</DependentUpon>
|
||||||
<ProjectReference Include="..\Ryujinx.Audio.Backends.SoundIo\Ryujinx.Audio.Backends.SoundIo.csproj" />
|
<SubType>Code</SubType>
|
||||||
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
|
</Compile>
|
||||||
<ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
|
<Compile Update="Ui\Controls\InputDialog.axaml.cs">
|
||||||
<ProjectReference Include="..\ARMeilleure\ARMeilleure.csproj" />
|
<DependentUpon>InputDialog.axaml</DependentUpon>
|
||||||
<ProjectReference Include="..\Ryujinx.Graphics.OpenGL\Ryujinx.Graphics.OpenGL.csproj" />
|
<SubType>Code</SubType>
|
||||||
<ProjectReference Include="..\Ryujinx.Graphics.Gpu\Ryujinx.Graphics.Gpu.csproj" />
|
</Compile>
|
||||||
<ProjectReference Include="..\Ryujinx.Ui.Common\Ryujinx.Ui.Common.csproj" />
|
<Compile Update="Ui\Windows\ContentDialogOverlay.xaml.cs">
|
||||||
</ItemGroup>
|
<DependentUpon>ContentDialogOverlay.xaml</DependentUpon>
|
||||||
<ItemGroup>
|
</Compile>
|
||||||
<Compile Update="App.axaml.cs">
|
<Compile Update="Ui\Controls\GameListView.axaml.cs">
|
||||||
<DependentUpon>App.axaml</DependentUpon>
|
<DependentUpon>GameListView.axaml</DependentUpon>
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Update="Ui\Windows\MainWindow.axaml.cs">
|
</ItemGroup>
|
||||||
<DependentUpon>MainWindow.axaml</DependentUpon>
|
|
||||||
<SubType>Code</SubType>
|
<ItemGroup>
|
||||||
</Compile>
|
<None Remove="Assets\Locales\el_GR.json" />
|
||||||
<Compile Update="Ui\Windows\AboutWindow.axaml.cs">
|
<None Remove="Assets\Locales\en_US.json" />
|
||||||
<DependentUpon>AboutWindow.axaml</DependentUpon>
|
<None Remove="Assets\Locales\es_ES.json" />
|
||||||
<SubType>Code</SubType>
|
<None Remove="Assets\Locales\fr_FR.json" />
|
||||||
</Compile>
|
<None Remove="Assets\Locales\de_DE.json" />
|
||||||
<Compile Update="Ui\Applet\ErrorAppletWindow.axaml.cs">
|
<None Remove="Assets\Locales\it_IT.json" />
|
||||||
<DependentUpon>ProfileWindow.axaml</DependentUpon>
|
<None Remove="Assets\Locales\ko_KR.json" />
|
||||||
<SubType>Code</SubType>
|
<None Remove="Assets\Locales\pt_BR.json" />
|
||||||
</Compile>
|
<None Remove="Assets\Locales\ru_RU.json" />
|
||||||
<Compile Update="Ui\Applet\SwkbdAppletWindow.axaml.cs">
|
<None Remove="Assets\Locales\tr_TR.json" />
|
||||||
<DependentUpon>ProfileWindow.axaml</DependentUpon>
|
<None Remove="Assets\Styles\Styles.xaml" />
|
||||||
<SubType>Code</SubType>
|
<None Remove="Assets\Styles\BaseDark.xaml" />
|
||||||
</Compile>
|
<None Remove="Assets\Styles\BaseLight.xaml" />
|
||||||
<Compile Update="Ui\Controls\InputDialog.axaml.cs">
|
</ItemGroup>
|
||||||
<DependentUpon>InputDialog.axaml</DependentUpon>
|
|
||||||
<SubType>Code</SubType>
|
<ItemGroup>
|
||||||
</Compile>
|
<EmbeddedResource Include="Assets\Locales\el_GR.json" />
|
||||||
<Compile Update="Ui\Windows\ContentDialogOverlay.xaml.cs">
|
<EmbeddedResource Include="Assets\Locales\en_US.json" />
|
||||||
<DependentUpon>ContentDialogOverlay.xaml</DependentUpon>
|
<EmbeddedResource Include="Assets\Locales\es_ES.json" />
|
||||||
</Compile>
|
<EmbeddedResource Include="Assets\Locales\fr_FR.json" />
|
||||||
<Compile Update="Ui\Controls\GameListView.axaml.cs">
|
<EmbeddedResource Include="Assets\Locales\de_DE.json" />
|
||||||
<DependentUpon>GameListView.axaml</DependentUpon>
|
<EmbeddedResource Include="Assets\Locales\it_IT.json" />
|
||||||
<SubType>Code</SubType>
|
<EmbeddedResource Include="Assets\Locales\ko_KR.json" />
|
||||||
</Compile>
|
<EmbeddedResource Include="Assets\Locales\pt_BR.json" />
|
||||||
</ItemGroup>
|
<EmbeddedResource Include="Assets\Locales\ru_RU.json" />
|
||||||
|
<EmbeddedResource Include="Assets\Locales\tr_TR.json" />
|
||||||
|
<EmbeddedResource Include="Assets\Styles\Styles.xaml" />
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -1,15 +1,16 @@
|
|||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Input;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using OpenTK.Windowing.Common;
|
|
||||||
using Ryujinx.Ava.Input;
|
using Ryujinx.Ava.Input;
|
||||||
using Ryujinx.Ava.Ui.Controls;
|
using Ryujinx.Ava.Ui.Controls;
|
||||||
using Ryujinx.Ava.Ui.Windows;
|
using Ryujinx.Ava.Ui.Windows;
|
||||||
using Ryujinx.Common.Configuration.Hid;
|
|
||||||
using Ryujinx.HLE.Ui;
|
using Ryujinx.HLE.Ui;
|
||||||
using System;
|
using System;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
|
using HidKey = Ryujinx.Common.Configuration.Hid.Key;
|
||||||
|
|
||||||
namespace Ryujinx.Ava.Ui.Applet
|
namespace Ryujinx.Ava.Ui.Applet
|
||||||
{
|
{
|
||||||
class AvaloniaDynamicTextInputHandler : IDynamicTextInputHandler
|
class AvaloniaDynamicTextInputHandler : IDynamicTextInputHandler
|
||||||
@@ -54,20 +55,20 @@ namespace Ryujinx.Ava.Ui.Applet
|
|||||||
TextChangedEvent?.Invoke(_hiddenTextBox.Text ?? string.Empty, _hiddenTextBox.SelectionStart, _hiddenTextBox.SelectionEnd, true);
|
TextChangedEvent?.Invoke(_hiddenTextBox.Text ?? string.Empty, _hiddenTextBox.SelectionStart, _hiddenTextBox.SelectionEnd, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AvaloniaDynamicTextInputHandler_TextInput(object sender, TextInputEventArgs e)
|
private void AvaloniaDynamicTextInputHandler_TextInput(object sender, string text)
|
||||||
{
|
{
|
||||||
Dispatcher.UIThread.InvokeAsync(() =>
|
Dispatcher.UIThread.InvokeAsync(() =>
|
||||||
{
|
{
|
||||||
if (_canProcessInput)
|
if (_canProcessInput)
|
||||||
{
|
{
|
||||||
_hiddenTextBox.SendText(e.AsString);
|
_hiddenTextBox.SendText(text);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AvaloniaDynamicTextInputHandler_KeyRelease(object sender, Avalonia.Input.KeyEventArgs e)
|
private void AvaloniaDynamicTextInputHandler_KeyRelease(object sender, Avalonia.Input.KeyEventArgs e)
|
||||||
{
|
{
|
||||||
var key = (Key)AvaloniaMappingHelper.ToInputKey(e.Key);
|
var key = (HidKey)AvaloniaMappingHelper.ToInputKey(e.Key);
|
||||||
|
|
||||||
if (!(KeyReleasedEvent?.Invoke(key)).GetValueOrDefault(true))
|
if (!(KeyReleasedEvent?.Invoke(key)).GetValueOrDefault(true))
|
||||||
{
|
{
|
||||||
@@ -85,9 +86,9 @@ namespace Ryujinx.Ava.Ui.Applet
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AvaloniaDynamicTextInputHandler_KeyPressed(object sender, Avalonia.Input.KeyEventArgs e)
|
private void AvaloniaDynamicTextInputHandler_KeyPressed(object sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
var key = (Key)AvaloniaMappingHelper.ToInputKey(e.Key);
|
var key = (HidKey)AvaloniaMappingHelper.ToInputKey(e.Key);
|
||||||
|
|
||||||
if (!(KeyPressedEvent?.Invoke(key)).GetValueOrDefault(true))
|
if (!(KeyPressedEvent?.Invoke(key)).GetValueOrDefault(true))
|
||||||
{
|
{
|
||||||
|
@@ -73,10 +73,13 @@ namespace Ryujinx.Ava.Ui.Controls
|
|||||||
{
|
{
|
||||||
SizeChanged?.Invoke(this, rect.Size);
|
SizeChanged?.Invoke(this, rect.Size);
|
||||||
|
|
||||||
RenderSize = rect.Size * Program.WindowScaleFactor;
|
if (!rect.IsEmpty)
|
||||||
|
{
|
||||||
|
RenderSize = rect.Size * VisualRoot.RenderScaling;
|
||||||
|
|
||||||
_glDrawOperation?.Dispose();
|
_glDrawOperation?.Dispose();
|
||||||
_glDrawOperation = new GlDrawOperation(this);
|
_glDrawOperation = new GlDrawOperation(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Render(DrawingContext context)
|
public override void Render(DrawingContext context)
|
||||||
|
@@ -123,10 +123,6 @@ namespace Ryujinx.Ava.Ui.Windows
|
|||||||
CheckLaunchState();
|
CheckLaunchState();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OperatingSystem.IsLinux())
|
|
||||||
{
|
|
||||||
Program.WindowScaleFactor = this.PlatformImpl.RenderScaling;
|
|
||||||
}
|
|
||||||
_rendererWaitEvent = new AutoResetEvent(false);
|
_rendererWaitEvent = new AutoResetEvent(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -677,7 +677,7 @@ namespace Ryujinx.Graphics.OpenGL
|
|||||||
|
|
||||||
GL.MultiDrawElementsIndirectCount(
|
GL.MultiDrawElementsIndirectCount(
|
||||||
_primitiveType,
|
_primitiveType,
|
||||||
(Version46)_elementsType,
|
(All)_elementsType,
|
||||||
(IntPtr)indirectBuffer.Offset,
|
(IntPtr)indirectBuffer.Offset,
|
||||||
(IntPtr)parameterBuffer.Offset,
|
(IntPtr)parameterBuffer.Offset,
|
||||||
maxDrawCount,
|
maxDrawCount,
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="OpenTK.Graphics" Version="4.5.0" />
|
<PackageReference Include="OpenTK.Graphics" Version="4.7.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@@ -23,9 +23,10 @@
|
|||||||
<PackageReference Include="GtkSharp.Dependencies" Version="1.1.1" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
<PackageReference Include="GtkSharp.Dependencies" Version="1.1.1" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
||||||
<PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="4.4.0-build9" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
<PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="4.4.0-build9" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
||||||
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Version="1.21.0.1" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Version="1.21.0.1" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'" />
|
||||||
<PackageReference Include="OpenTK.Graphics" Version="4.5.0" />
|
<PackageReference Include="OpenTK.Graphics" Version="4.7.2" />
|
||||||
<PackageReference Include="SPB" Version="0.0.4-build17" />
|
<PackageReference Include="SPB" Version="0.0.4-build17" />
|
||||||
<PackageReference Include="SharpZipLib" Version="1.3.3" />
|
<PackageReference Include="SharpZipLib" Version="1.3.3" />
|
||||||
|
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -42,20 +43,20 @@
|
|||||||
<ProjectReference Include="..\Ryujinx.Ui.Common\Ryujinx.Ui.Common.csproj" />
|
<ProjectReference Include="..\Ryujinx.Ui.Common\Ryujinx.Ui.Common.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ContentWithTargetPath Include="..\distribution\windows\alsoft.ini" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'">
|
<ContentWithTargetPath Include="..\distribution\windows\alsoft.ini" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
<TargetPath>alsoft.ini</TargetPath>
|
<TargetPath>alsoft.ini</TargetPath>
|
||||||
</ContentWithTargetPath>
|
</ContentWithTargetPath>
|
||||||
<ContentWithTargetPath Include="..\distribution\legal\THIRDPARTY.md">
|
<ContentWithTargetPath Include="..\distribution\legal\THIRDPARTY.md">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
<TargetPath>THIRDPARTY.md</TargetPath>
|
<TargetPath>THIRDPARTY.md</TargetPath>
|
||||||
</ContentWithTargetPath>
|
</ContentWithTargetPath>
|
||||||
<ContentWithTargetPath Include="..\Ryujinx.Audio\LICENSE.txt">
|
<ContentWithTargetPath Include="..\Ryujinx.Audio\LICENSE.txt">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
<TargetPath>LICENSE-Ryujinx.Audio.txt</TargetPath>
|
<TargetPath>LICENSE-Ryujinx.Audio.txt</TargetPath>
|
||||||
</ContentWithTargetPath>
|
</ContentWithTargetPath>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- Due to .net core 3.1 embedded resource loading -->
|
<!-- Due to .net core 3.1 embedded resource loading -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@@ -114,12 +114,12 @@ namespace Ryujinx.Ui
|
|||||||
|
|
||||||
GL.BlitFramebuffer(0,
|
GL.BlitFramebuffer(0,
|
||||||
0,
|
0,
|
||||||
AllocatedWidth,
|
WindowWidth,
|
||||||
AllocatedHeight,
|
WindowHeight,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
AllocatedWidth,
|
WindowWidth,
|
||||||
AllocatedHeight,
|
WindowHeight,
|
||||||
ClearBufferMask.ColorBufferBit,
|
ClearBufferMask.ColorBufferBit,
|
||||||
BlitFramebufferFilter.Linear);
|
BlitFramebufferFilter.Linear);
|
||||||
}
|
}
|
||||||
|
@@ -41,6 +41,8 @@ namespace Ryujinx.Ui
|
|||||||
public IRenderer Renderer { get; private set; }
|
public IRenderer Renderer { get; private set; }
|
||||||
|
|
||||||
public bool ScreenshotRequested { get; set; }
|
public bool ScreenshotRequested { get; set; }
|
||||||
|
protected int WindowWidth { get; private set; }
|
||||||
|
protected int WindowHeight { get; private set; }
|
||||||
|
|
||||||
public static event EventHandler<StatusUpdatedEventArgs> StatusUpdatedEvent;
|
public static event EventHandler<StatusUpdatedEventArgs> StatusUpdatedEvent;
|
||||||
|
|
||||||
@@ -71,9 +73,6 @@ namespace Ryujinx.Ui
|
|||||||
private IKeyboard _keyboardInterface;
|
private IKeyboard _keyboardInterface;
|
||||||
private GraphicsDebugLevel _glLogLevel;
|
private GraphicsDebugLevel _glLogLevel;
|
||||||
private string _gpuVendorName;
|
private string _gpuVendorName;
|
||||||
|
|
||||||
private int _windowHeight;
|
|
||||||
private int _windowWidth;
|
|
||||||
private bool _isMouseInClient;
|
private bool _isMouseInClient;
|
||||||
|
|
||||||
public RendererWidgetBase(InputManager inputManager, GraphicsDebugLevel glLogLevel)
|
public RendererWidgetBase(InputManager inputManager, GraphicsDebugLevel glLogLevel)
|
||||||
@@ -223,10 +222,10 @@ namespace Ryujinx.Ui
|
|||||||
|
|
||||||
Gdk.Monitor monitor = Display.GetMonitorAtWindow(Window);
|
Gdk.Monitor monitor = Display.GetMonitorAtWindow(Window);
|
||||||
|
|
||||||
_windowWidth = evnt.Width * monitor.ScaleFactor;
|
WindowWidth = evnt.Width * monitor.ScaleFactor;
|
||||||
_windowHeight = evnt.Height * monitor.ScaleFactor;
|
WindowHeight = evnt.Height * monitor.ScaleFactor;
|
||||||
|
|
||||||
Renderer?.Window.SetSize(_windowWidth, _windowHeight);
|
Renderer?.Window.SetSize(WindowWidth, WindowHeight);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -307,7 +306,7 @@ namespace Ryujinx.Ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
Renderer = renderer;
|
Renderer = renderer;
|
||||||
Renderer?.Window.SetSize(_windowWidth, _windowHeight);
|
Renderer?.Window.SetSize(WindowWidth, WindowHeight);
|
||||||
|
|
||||||
if (Renderer != null)
|
if (Renderer != null)
|
||||||
{
|
{
|
||||||
|
@@ -112,7 +112,7 @@ namespace Ryujinx.Ui.Windows
|
|||||||
_amiiboJsonPath = System.IO.Path.Join(AppDataManager.BaseDirPath, "system", "amiibo", "Amiibo.json");
|
_amiiboJsonPath = System.IO.Path.Join(AppDataManager.BaseDirPath, "system", "amiibo", "Amiibo.json");
|
||||||
_amiiboList = new List<AmiiboApi>();
|
_amiiboList = new List<AmiiboApi>();
|
||||||
|
|
||||||
_amiiboLogoBytes = EmbeddedResources.Read("Ryujinx/Ui/Resources/Logo_Amiibo.png");
|
_amiiboLogoBytes = EmbeddedResources.Read("Ryujinx.Ui.Common/Resources/Logo_Amiibo.png");
|
||||||
_amiiboImage.Pixbuf = new Gdk.Pixbuf(_amiiboLogoBytes);
|
_amiiboImage.Pixbuf = new Gdk.Pixbuf(_amiiboLogoBytes);
|
||||||
|
|
||||||
_scanButton.Sensitive = false;
|
_scanButton.Sensitive = false;
|
||||||
|
Reference in New Issue
Block a user