mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-09-15 05:52:05 +00:00
Merge pull request #40 from r2dliu/feature/ci
Unix CI for Slippi Mainline
This commit is contained in:
commit
42950d09ac
6 changed files with 548 additions and 17 deletions
411
.github/workflows/main.yml
vendored
Normal file
411
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,411 @@
|
||||||
|
name: PR Builds x64
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
paths-ignore:
|
||||||
|
- "**.md"
|
||||||
|
- "**.ini"
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
paths-ignore:
|
||||||
|
- "**.md"
|
||||||
|
- "**.ini"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# windows64-netplay:
|
||||||
|
# env:
|
||||||
|
# DXSDK_DIR: "C:\\Program Files (x86)\\Microsoft DirectX SDK (June 2010)\\"
|
||||||
|
# name: "Windows Netplay"
|
||||||
|
# runs-on: windows-2019
|
||||||
|
# steps:
|
||||||
|
# - name: "Remove Redistributable"
|
||||||
|
# shell: cmd
|
||||||
|
# run: |
|
||||||
|
# MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
|
||||||
|
# - name: "Setup MSBuild"
|
||||||
|
# uses: microsoft/setup-msbuild@v1
|
||||||
|
# - name: "Install DirectX SDK"
|
||||||
|
# shell: powershell
|
||||||
|
# run: |
|
||||||
|
# choco install directx-sdk
|
||||||
|
# - name: "Checkout"
|
||||||
|
# uses: actions/checkout@v2.3.1
|
||||||
|
# - name: 'Fetch Git Tags'
|
||||||
|
# if: success()
|
||||||
|
# shell: bash
|
||||||
|
# run: |
|
||||||
|
# git fetch --prune --unshallow
|
||||||
|
# echo ::set-env name=GIT_BRANCH::$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
# echo ::set-env name=GIT_HASH::$(git rev-parse --short HEAD)
|
||||||
|
# echo ::set-env name=GIT_TAG::$(git describe --tags --abbrev=0)
|
||||||
|
# echo ::set-env name=CURR_DATE::$(date +%Y-%m-%d)
|
||||||
|
# - name: "Build Netplay Dolphin"
|
||||||
|
# shell: cmd
|
||||||
|
# run: |
|
||||||
|
# msbuild /p:Configuration=Release /p:Platform=x64 ${{ github.workspace }}\Source\Dolphin.sln
|
||||||
|
# - name: "Package Netplay"
|
||||||
|
# working-directory: ${{ github.workspace }}
|
||||||
|
# run: |
|
||||||
|
# $env:FILE_NAME="${{ env.CURR_DATE }}-${{ env.OBS_GIT_HASH }}-${{ env.OBS_GIT_TAG }}-win64-netplay.zip"
|
||||||
|
# mkdir artifact
|
||||||
|
# Xcopy /Y /E /I .\Data\Sys .\Binary\x64\Sys
|
||||||
|
# cd .\Binary\x64\
|
||||||
|
# fsutil file createnew portable.txt 0
|
||||||
|
# fsutil file createnew FIX-VCRUNTIME140-ERROR.txt 0
|
||||||
|
# echo "Download and install this: https://aka.ms/vs/16/release/vc_redist.x64.exe" > .\FIX-VCRUNTIME140-ERROR.txt
|
||||||
|
# 7z a ${env:FILE_NAME} .\*
|
||||||
|
# move ${env:FILE_NAME} ..\..\artifact\
|
||||||
|
# - name: "Publish"
|
||||||
|
# if: success()
|
||||||
|
# uses: actions/upload-artifact@v2-preview
|
||||||
|
# with:
|
||||||
|
# name: "windows64-netplay"
|
||||||
|
# path: "./artifact/"
|
||||||
|
# windows64-playback:
|
||||||
|
# env:
|
||||||
|
# DXSDK_DIR: "C:\\Program Files (x86)\\Microsoft DirectX SDK (June 2010)\\"
|
||||||
|
# name: "Windows Playback"
|
||||||
|
# runs-on: windows-2019
|
||||||
|
# steps:
|
||||||
|
# - name: "Remove Redistributable"
|
||||||
|
# shell: cmd
|
||||||
|
# run: |
|
||||||
|
# MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
|
||||||
|
# - name: "Setup MSBuild"
|
||||||
|
# uses: microsoft/setup-msbuild@v1
|
||||||
|
# - name: "Install DirectX SDK"
|
||||||
|
# shell: powershell
|
||||||
|
# run: |
|
||||||
|
# choco install directx-sdk
|
||||||
|
# - name: "Checkout"
|
||||||
|
# uses: actions/checkout@v2.3.1
|
||||||
|
# - name: 'Fetch Git Tags'
|
||||||
|
# if: success()
|
||||||
|
# shell: bash
|
||||||
|
# run: |
|
||||||
|
# git fetch --prune --unshallow
|
||||||
|
# echo ::set-env name=GIT_BRANCH::$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
# echo ::set-env name=GIT_HASH::$(git rev-parse --short HEAD)
|
||||||
|
# echo ::set-env name=GIT_TAG::$(git describe --tags --abbrev=0)
|
||||||
|
# echo ::set-env name=CURR_DATE::$(date +%Y-%m-%d)
|
||||||
|
# - name: "Build Playback Dolphin"
|
||||||
|
# shell: cmd
|
||||||
|
# run: |
|
||||||
|
# msbuild /p:Configuration=ReleasePlayback /p:Platform=x64 ${{ github.workspace }}\Source\Dolphin.sln
|
||||||
|
# - name: "Package Playback"
|
||||||
|
# if: success()
|
||||||
|
# working-directory: ${{ github.workspace }}
|
||||||
|
# run: |
|
||||||
|
# $env:FILE_NAME="${{ env.CURR_DATE }}-${{ env.OBS_GIT_HASH }}-${{ env.OBS_GIT_TAG }}-win64-playback.zip"
|
||||||
|
# mkdir artifact
|
||||||
|
# git clone https://github.com/project-slippi/slippi-desktop-app
|
||||||
|
# Xcopy /Y /E /I .\Data\Sys .\Binary\x64\Sys
|
||||||
|
# Xcopy /Y /E /I .\slippi-desktop-app\app\dolphin-dev\overwrite\Sys .\Binary\x64\Sys
|
||||||
|
# Xcopy /Y /E /I .\slippi-desktop-app\app\dolphin-dev\overwrite\User .\Binary\x64\User
|
||||||
|
# cd .\Binary\x64\
|
||||||
|
# fsutil file createnew portable.txt 0
|
||||||
|
# 7z a ${env:FILE_NAME} .\*
|
||||||
|
# move ${env:FILE_NAME} ..\..\artifact\
|
||||||
|
# - name: "Publish"
|
||||||
|
# if: success()
|
||||||
|
# uses: actions/upload-artifact@v2-preview
|
||||||
|
# with:
|
||||||
|
# name: "windows64-playback"
|
||||||
|
# path: "./artifact/"
|
||||||
|
ubuntu64-netplay:
|
||||||
|
name: "Ubuntu Netplay"
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- name: "Checkout"
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: 'Fetch Git Tags'
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow
|
||||||
|
echo ::set-env name=GIT_BRANCH::$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
echo ::set-env name=GIT_HASH::$(git rev-parse --short HEAD)
|
||||||
|
echo ::set-env name=GIT_TAG::$(git describe --tags --abbrev=0)
|
||||||
|
echo ::set-env name=CURR_DATE::$(date +%Y-%m-%d)
|
||||||
|
- name: "Install prerequisites"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo dpkg --add-architecture amd64
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install \
|
||||||
|
cmake \
|
||||||
|
pkg-config \
|
||||||
|
git \
|
||||||
|
wget \
|
||||||
|
libao-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libavcodec-dev \
|
||||||
|
libavformat-dev \
|
||||||
|
libbluetooth-dev \
|
||||||
|
libenet-dev \
|
||||||
|
libgtk2.0-dev \
|
||||||
|
liblzo2-dev \
|
||||||
|
libminiupnpc-dev \
|
||||||
|
libopenal-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsfml-dev \
|
||||||
|
libsoil-dev \
|
||||||
|
libsoundtouch-dev \
|
||||||
|
libswscale-dev \
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
libxext-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
portaudio19-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libevdev-dev \
|
||||||
|
libmbedtls-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libegl1-mesa-dev \
|
||||||
|
libpng-dev \
|
||||||
|
qtbase5-private-dev \
|
||||||
|
libxxf86vm-dev \
|
||||||
|
x11proto-xinerama-dev
|
||||||
|
- name: "Build Netplay Dolphin"
|
||||||
|
if: success()
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
chmod +x ./build-linux.sh
|
||||||
|
./build-linux.sh
|
||||||
|
- name: "Build Netplay AppImage"
|
||||||
|
if: success()
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
chmod +x ./build-appimage.sh
|
||||||
|
./build-appimage.sh
|
||||||
|
- name: "Package Netplay"
|
||||||
|
if: success()
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
mkdir artifact
|
||||||
|
FILE_NAME=${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-linux-appimage-netplay.zip
|
||||||
|
zip -r "${FILE_NAME}" ./*.AppImage*
|
||||||
|
mv "${FILE_NAME}" ./artifact/
|
||||||
|
- name: "Publish"
|
||||||
|
if: success()
|
||||||
|
uses: actions/upload-artifact@v2-preview
|
||||||
|
with:
|
||||||
|
name: "linux-netplay"
|
||||||
|
path: "./artifact/"
|
||||||
|
ubuntu64-playback:
|
||||||
|
name: "Ubuntu Playback"
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- name: "Checkout"
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: 'Fetch Git Tags'
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow
|
||||||
|
echo ::set-env name=GIT_BRANCH::$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
echo ::set-env name=GIT_HASH::$(git rev-parse --short HEAD)
|
||||||
|
echo ::set-env name=GIT_TAG::$(git describe --tags --abbrev=0)
|
||||||
|
echo ::set-env name=CURR_DATE::$(date +%Y-%m-%d)
|
||||||
|
- name: "Install prerequisites"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo dpkg --add-architecture amd64
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install \
|
||||||
|
cmake \
|
||||||
|
pkg-config \
|
||||||
|
git \
|
||||||
|
wget \
|
||||||
|
libao-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libavcodec-dev \
|
||||||
|
libavformat-dev \
|
||||||
|
libbluetooth-dev \
|
||||||
|
libenet-dev \
|
||||||
|
libgtk2.0-dev \
|
||||||
|
liblzo2-dev \
|
||||||
|
libminiupnpc-dev \
|
||||||
|
libopenal-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsfml-dev \
|
||||||
|
libsoil-dev \
|
||||||
|
libsoundtouch-dev \
|
||||||
|
libswscale-dev \
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
libxext-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
portaudio19-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libevdev-dev \
|
||||||
|
libmbedtls-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libegl1-mesa-dev \
|
||||||
|
libpng-dev \
|
||||||
|
qtbase5-private-dev \
|
||||||
|
libxxf86vm-dev \
|
||||||
|
x11proto-xinerama-dev
|
||||||
|
- name: "Build Playback Dolphin"
|
||||||
|
if: success()
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
chmod +x ./build-linux.sh
|
||||||
|
./build-linux.sh playback
|
||||||
|
- name: "Build Playback AppImage"
|
||||||
|
if: success()
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
chmod +x ./build-appimage.sh
|
||||||
|
./build-appimage.sh playback
|
||||||
|
- name: "Package Playback"
|
||||||
|
if: success()
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
mkdir artifact
|
||||||
|
FILE_NAME=${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-linux-appimage-playback.zip
|
||||||
|
zip -r "${FILE_NAME}" ./*.AppImage
|
||||||
|
mv "${FILE_NAME}" ./artifact/
|
||||||
|
- name: "Publish"
|
||||||
|
if: success()
|
||||||
|
uses: actions/upload-artifact@v2-preview
|
||||||
|
with:
|
||||||
|
name: "linux-playback"
|
||||||
|
path: "./artifact/"
|
||||||
|
macOS64-netplay:
|
||||||
|
name: "macOS Netplay"
|
||||||
|
runs-on: macos-10.15
|
||||||
|
steps:
|
||||||
|
- name: "Checkout"
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: 'Fetch Git Tags'
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow
|
||||||
|
echo ::set-env name=GIT_BRANCH::$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
echo ::set-env name=GIT_HASH::$(git rev-parse --short HEAD)
|
||||||
|
echo ::set-env name=GIT_TAG::$(git describe --tags --abbrev=0)
|
||||||
|
echo ::set-env name=CURR_DATE::$(date +%Y-%m-%d)
|
||||||
|
- name: "Install 10.14 SDK"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.14.sdk.tar.xz
|
||||||
|
tar -xf MacOSX10.14.sdk.tar.xz
|
||||||
|
rm MacOSX10.14.sdk.tar.xz
|
||||||
|
sudo mv MacOSX10.14.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
||||||
|
- name: "Download and Install prerequisites"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
brew upgrade cmake
|
||||||
|
brew install \
|
||||||
|
ffmpeg \
|
||||||
|
libpng \
|
||||||
|
libav \
|
||||||
|
pkgconfig \
|
||||||
|
libao \
|
||||||
|
sound-touch \
|
||||||
|
hidapi \
|
||||||
|
qt
|
||||||
|
- name: "Build Netplay"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
export LIBRARY_PATH=/usr/lib/
|
||||||
|
cmake -DSLIPPI_PLAYBACK=false -DQt5_DIR=$(brew --prefix qt)/lib/cmake/Qt5 -DENABLE_NOGUI=false ..
|
||||||
|
make -j7
|
||||||
|
- name: "Package Netplay"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
FILE_NAME=${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-macOS-netplay.tar.gz
|
||||||
|
echo "::set-env name=FILE_NAME::${FILE_NAME}"
|
||||||
|
cp -Rf Data/Sys build/Binaries/Dolphin.app/Contents/Resources/
|
||||||
|
mkdir artifact
|
||||||
|
cd ./build/Binaries/
|
||||||
|
zip -r "${FILE_NAME}" Dolphin.app
|
||||||
|
mv "${FILE_NAME}" ../../artifact/
|
||||||
|
- name: "Publish"
|
||||||
|
if: success()
|
||||||
|
uses: actions/upload-artifact@v2-preview
|
||||||
|
with:
|
||||||
|
name: "macOS-netplay"
|
||||||
|
path: "./artifact/"
|
||||||
|
macOS64-playback:
|
||||||
|
name: "macOS Playback"
|
||||||
|
runs-on: macos-10.15
|
||||||
|
steps:
|
||||||
|
- name: "Checkout"
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: 'Fetch Git Tags'
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow
|
||||||
|
echo ::set-env name=GIT_BRANCH::$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
echo ::set-env name=GIT_HASH::$(git rev-parse --short HEAD)
|
||||||
|
echo ::set-env name=GIT_TAG::$(git describe --tags --abbrev=0)
|
||||||
|
echo ::set-env name=CURR_DATE::$(date +%Y-%m-%d)
|
||||||
|
- name: "Install 10.14 SDK"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.14.sdk.tar.xz
|
||||||
|
tar -xf MacOSX10.14.sdk.tar.xz
|
||||||
|
rm MacOSX10.14.sdk.tar.xz
|
||||||
|
sudo mv MacOSX10.14.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
||||||
|
- name: "Download and Install prerequisites"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
brew upgrade cmake
|
||||||
|
brew install \
|
||||||
|
ffmpeg \
|
||||||
|
libpng \
|
||||||
|
libav \
|
||||||
|
pkgconfig \
|
||||||
|
libao \
|
||||||
|
sound-touch \
|
||||||
|
hidapi \
|
||||||
|
qt
|
||||||
|
- name: "Build Playback"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
export LD_LIBRARY_PATH=/usr/lib/
|
||||||
|
cd build
|
||||||
|
cmake -DQt5_DIR=$(brew --prefix qt)/lib/cmake/Qt5 -DENABLE_NOGUI=false ..
|
||||||
|
make -j7
|
||||||
|
- name: "Package Playback"
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
mkdir artifact
|
||||||
|
git clone https://github.com/project-slippi/slippi-desktop-app
|
||||||
|
cd ./build/Binaries/
|
||||||
|
cp -Rf ../../Data/Sys ./Dolphin.app/Contents/Resources
|
||||||
|
cp -Rf ../../slippi-desktop-app/app/dolphin-dev/overwrite/Sys ./Dolphin.app/Contents/Resources
|
||||||
|
cp -Rf ../../slippi-desktop-app/app/dolphin-dev/overwrite/User ./Dolphin.app/Contents/Resources
|
||||||
|
FILE_NAME=${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-macOS-playback.zip
|
||||||
|
zip -r "${FILE_NAME}" Dolphin.app
|
||||||
|
mv "${FILE_NAME}" ../../artifact/
|
||||||
|
- name: "Publish"
|
||||||
|
if: success()
|
||||||
|
uses: actions/upload-artifact@v2-preview
|
||||||
|
with:
|
||||||
|
name: "macOS-playback"
|
||||||
|
path: "./artifact/"
|
|
@ -626,7 +626,7 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
pkg_search_module(ZSTD QUIET libzstd)
|
pkg_search_module(ZSTD QUIET libzstd)
|
||||||
if(ZSTD_FOUND)
|
if(ZSTD_FOUND AND NOT APPLE)
|
||||||
message(STATUS "Using shared zstd")
|
message(STATUS "Using shared zstd")
|
||||||
else()
|
else()
|
||||||
check_vendoring_approved(zstd)
|
check_vendoring_approved(zstd)
|
||||||
|
|
10
Data/slippi-online.desktop
Normal file
10
Data/slippi-online.desktop
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Icon=dolphin-emu
|
||||||
|
Exec=dolphin-emu
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Game;Emulator;
|
||||||
|
Name=Slippi Online
|
||||||
|
GenericName=Wii/GameCube Emulator
|
||||||
|
Comment=A Wii/GameCube Emulator
|
34
Externals/imgui/imgui_widgets.cpp
vendored
34
Externals/imgui/imgui_widgets.cpp
vendored
|
@ -402,43 +402,43 @@ void ImGui::BulletTextV(const char* fmt, va_list args)
|
||||||
// See the series of events below and the corresponding state reported by dear imgui:
|
// See the series of events below and the corresponding state reported by dear imgui:
|
||||||
//------------------------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
// with PressedOnClickRelease: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
// with PressedOnClickRelease: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
||||||
// Frame N+0 (mouse is outside bb) - - - - - -
|
// Frame N+0 (mouse is outside bb) - - - - - -
|
||||||
// Frame N+1 (mouse moves inside bb) - true - - - -
|
// Frame N+1 (mouse moves inside bb) - true - - - -
|
||||||
// Frame N+2 (mouse button is down) - true true true - true
|
// Frame N+2 (mouse button is down) - true true true - true
|
||||||
// Frame N+3 (mouse button is down) - true true - - -
|
// Frame N+3 (mouse button is down) - true true - - -
|
||||||
// Frame N+4 (mouse moves outside bb) - - true - - -
|
// Frame N+4 (mouse moves outside bb) - - true - - -
|
||||||
// Frame N+5 (mouse moves inside bb) - true true - - -
|
// Frame N+5 (mouse moves inside bb) - true true - - -
|
||||||
// Frame N+6 (mouse button is released) true true - - true -
|
// Frame N+6 (mouse button is released) true true - - true -
|
||||||
// Frame N+7 (mouse button is released) - true - - - -
|
// Frame N+7 (mouse button is released) - true - - - -
|
||||||
// Frame N+8 (mouse moves outside bb) - - - - - -
|
// Frame N+8 (mouse moves outside bb) - - - - - -
|
||||||
//------------------------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
// with PressedOnClick: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
// with PressedOnClick: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
||||||
// Frame N+2 (mouse button is down) true true true true - true
|
// Frame N+2 (mouse button is down) true true true true - true
|
||||||
// Frame N+3 (mouse button is down) - true true - - -
|
// Frame N+3 (mouse button is down) - true true - - -
|
||||||
// Frame N+6 (mouse button is released) - true - - true -
|
// Frame N+6 (mouse button is released) - true - - true -
|
||||||
// Frame N+7 (mouse button is released) - true - - - -
|
// Frame N+7 (mouse button is released) - true - - - -
|
||||||
//------------------------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
// with PressedOnRelease: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
// with PressedOnRelease: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
||||||
// Frame N+2 (mouse button is down) - true - - - true
|
// Frame N+2 (mouse button is down) - true - - - true
|
||||||
// Frame N+3 (mouse button is down) - true - - - -
|
// Frame N+3 (mouse button is down) - true - - - -
|
||||||
// Frame N+6 (mouse button is released) true true - - - -
|
// Frame N+6 (mouse button is released) true true - - - -
|
||||||
// Frame N+7 (mouse button is released) - true - - - -
|
// Frame N+7 (mouse button is released) - true - - - -
|
||||||
//------------------------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
// with PressedOnDoubleClick: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
// with PressedOnDoubleClick: return-value IsItemHovered() IsItemActive() IsItemActivated() IsItemDeactivated() IsItemClicked()
|
||||||
// Frame N+0 (mouse button is down) - true - - - true
|
// Frame N+0 (mouse button is down) - true - - - true
|
||||||
// Frame N+1 (mouse button is down) - true - - - -
|
// Frame N+1 (mouse button is down) - true - - - -
|
||||||
// Frame N+2 (mouse button is released) - true - - - -
|
// Frame N+2 (mouse button is released) - true - - - -
|
||||||
// Frame N+3 (mouse button is released) - true - - - -
|
// Frame N+3 (mouse button is released) - true - - - -
|
||||||
// Frame N+4 (mouse button is down) true true true true - true
|
// Frame N+4 (mouse button is down) true true true true - true
|
||||||
// Frame N+5 (mouse button is down) - true true - - -
|
// Frame N+5 (mouse button is down) - true true - - -
|
||||||
// Frame N+6 (mouse button is released) - true - - true -
|
// Frame N+6 (mouse button is released) - true - - true -
|
||||||
// Frame N+7 (mouse button is released) - true - - - -
|
// Frame N+7 (mouse button is released) - true - - - -
|
||||||
//------------------------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
// The behavior of the return-value changes when ImGuiButtonFlags_Repeat is set:
|
// The behavior of the return-value changes when ImGuiButtonFlags_Repeat is set:
|
||||||
// Repeat+ Repeat+ Repeat+ Repeat+
|
// Repeat+ Repeat+ Repeat+ Repeat+
|
||||||
// PressedOnClickRelease PressedOnClick PressedOnRelease PressedOnDoubleClick
|
// PressedOnClickRelease PressedOnClick PressedOnRelease PressedOnDoubleClick
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
// Frame N+0 (mouse button is down) - true - true
|
// Frame N+0 (mouse button is down) - true - true
|
||||||
// ... - - - -
|
// ... - - - -
|
||||||
// Frame N + RepeatDelay true true - true
|
// Frame N + RepeatDelay true true - true
|
||||||
// ... - - - -
|
// ... - - - -
|
||||||
|
@ -2208,6 +2208,8 @@ float ImGui::SliderCalcRatioFromValueT(ImGuiDataType data_type, TYPE v, TYPE v_m
|
||||||
return (float)((FLOATTYPE)(v_clamped - v_min) / (FLOATTYPE)(v_max - v_min));
|
return (float)((FLOATTYPE)(v_clamped - v_min) / (FLOATTYPE)(v_max - v_min));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template float ImGui::SliderCalcRatioFromValueT<int, float>(ImGuiDataType, int, int, int, float, float);
|
||||||
|
|
||||||
// FIXME: Move some of the code into SliderBehavior(). Current responsability is larger than what the equivalent DragBehaviorT<> does, we also do some rendering, etc.
|
// FIXME: Move some of the code into SliderBehavior(). Current responsability is larger than what the equivalent DragBehaviorT<> does, we also do some rendering, etc.
|
||||||
template<typename TYPE, typename SIGNEDTYPE, typename FLOATTYPE>
|
template<typename TYPE, typename SIGNEDTYPE, typename FLOATTYPE>
|
||||||
bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, TYPE* v, const TYPE v_min, const TYPE v_max, const char* format, float power, ImGuiSliderFlags flags, ImRect* out_grab_bb)
|
bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, TYPE* v, const TYPE v_min, const TYPE v_max, const char* format, float power, ImGuiSliderFlags flags, ImRect* out_grab_bb)
|
||||||
|
|
81
build-appimage.sh
Normal file
81
build-appimage.sh
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
# build-online-appimage.sh
|
||||||
|
|
||||||
|
ZSYNC_STRING="gh-releases-zsync|project-slippi|Ishiiruka|latest|Slippi_Online-x86_64.AppImage.zsync"
|
||||||
|
PLAYBACK_APPIMAGE_STRING="Slippi_Playback-x86_64.AppImage"
|
||||||
|
|
||||||
|
LINUXDEPLOY_PATH="https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous"
|
||||||
|
LINUXDEPLOY_FILE="linuxdeploy-x86_64.AppImage"
|
||||||
|
LINUXDEPLOY_URL="${LINUXDEPLOY_PATH}/${LINUXDEPLOY_FILE}"
|
||||||
|
|
||||||
|
UPDATEPLUG_PATH="https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous"
|
||||||
|
UPDATEPLUG_FILE="linuxdeploy-plugin-appimage-x86_64.AppImage"
|
||||||
|
UPDATEPLUG_URL="${UPDATEPLUG_PATH}/${UPDATEPLUG_FILE}"
|
||||||
|
|
||||||
|
UPDATETOOL_PATH="https://github.com/AppImage/AppImageUpdate/releases/download/continuous"
|
||||||
|
UPDATETOOL_FILE="appimageupdatetool-x86_64.AppImage"
|
||||||
|
UPDATETOOL_URL="${UPDATETOOL_PATH}/${UPDATETOOL_FILE}"
|
||||||
|
|
||||||
|
DESKTOP_APP_URL="https://github.com/project-slippi/slippi-desktop-app"
|
||||||
|
DESKTOP_APP_SYS_PATH="./slippi-desktop-app/app/dolphin-dev/overwrite/Sys"
|
||||||
|
|
||||||
|
APPDIR_BIN="./AppDir/usr/bin"
|
||||||
|
|
||||||
|
# Grab various appimage binaries from GitHub if we don't have them
|
||||||
|
if [ ! -e ./Tools/linuxdeploy ]; then
|
||||||
|
wget ${LINUXDEPLOY_URL} -O ./Tools/linuxdeploy
|
||||||
|
chmod +x ./Tools/linuxdeploy
|
||||||
|
fi
|
||||||
|
if [ ! -e ./Tools/linuxdeploy-update-plugin ]; then
|
||||||
|
wget ${UPDATEPLUG_URL} -O ./Tools/linuxdeploy-update-plugin
|
||||||
|
chmod +x ./Tools/linuxdeploy-update-plugin
|
||||||
|
fi
|
||||||
|
if [ ! -e ./Tools/appimageupdatetool ]; then
|
||||||
|
wget ${UPDATEPLUG_URL} -O ./Tools/appimageupdatetool
|
||||||
|
chmod +x ./Tools/appimageupdatetool
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Delete the AppDir folder to prevent build issues
|
||||||
|
rm -rf ./AppDir/
|
||||||
|
|
||||||
|
# Build the AppDir directory for this image
|
||||||
|
mkdir -p AppDir
|
||||||
|
./Tools/linuxdeploy \
|
||||||
|
--appdir=./AppDir \
|
||||||
|
-e ./build/Binaries/dolphin-emu \
|
||||||
|
-d ./Data/slippi-online.desktop \
|
||||||
|
-i ./Data/dolphin-emu.png
|
||||||
|
|
||||||
|
# Add the Sys dir to the AppDir for packaging
|
||||||
|
cp -r Data/Sys ${APPDIR_BIN}
|
||||||
|
|
||||||
|
# Build type
|
||||||
|
if [ -z "$1" ] # Netplay
|
||||||
|
then
|
||||||
|
echo "Using Netplay build config"
|
||||||
|
|
||||||
|
# Package up the update tool within the AppImage
|
||||||
|
cp ./Tools/appimageupdatetool ./AppDir/usr/bin/
|
||||||
|
|
||||||
|
# Bake an AppImage with the update metadata
|
||||||
|
UPDATE_INFORMATION="${ZSYNC_STRING}" \
|
||||||
|
./Tools/linuxdeploy-update-plugin --appdir=./AppDir/
|
||||||
|
elif [ "$1" == "playback" ] # Playback
|
||||||
|
then
|
||||||
|
echo "Using Playback build config"
|
||||||
|
if [ -d "slippi-desktop-app" ]
|
||||||
|
then
|
||||||
|
pushd slippi-desktop-app
|
||||||
|
git checkout master
|
||||||
|
git pull --ff-only
|
||||||
|
popd
|
||||||
|
else
|
||||||
|
git clone ${DESKTOP_APP_URL}
|
||||||
|
fi
|
||||||
|
# Update Sys dir with playback codes
|
||||||
|
rm -rf "${APPDIR_BIN}/GameSettings" # Delete netplay codes
|
||||||
|
cp -r ${DESKTOP_APP_SYS_PATH} ${APPDIR_BIN}
|
||||||
|
|
||||||
|
OUTPUT="${PLAYBACK_APPIMAGE_STRING}" \
|
||||||
|
./Tools/linuxdeploy-update-plugin --appdir=./AppDir/
|
||||||
|
fi
|
27
build-linux.sh
Normal file
27
build-linux.sh
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
# build-linux.sh
|
||||||
|
|
||||||
|
CMAKE_FLAGS='-DLINUX_LOCAL_DEV=true'
|
||||||
|
|
||||||
|
# Build type
|
||||||
|
if [ -z "$1" ]
|
||||||
|
then
|
||||||
|
# TODO: move this around, playback should be the secondary build
|
||||||
|
CMAKE_FLAGS+=" -DSLIPPI_PLAYBACK=false"
|
||||||
|
echo "Using Netplay build config"
|
||||||
|
elif [ "$1" == "playback" ]
|
||||||
|
then
|
||||||
|
echo "Using Playback build config"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Move into the build directory, run CMake, and compile the project
|
||||||
|
mkdir -p build
|
||||||
|
pushd build
|
||||||
|
cmake ${CMAKE_FLAGS} ../
|
||||||
|
make -j$(nproc)
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Copy the Sys folder in
|
||||||
|
cp -r -n Data/Sys/ build/Binaries/
|
||||||
|
|
||||||
|
touch ./build/Binaries/portable.txt
|
Loading…
Add table
Add a link
Reference in a new issue