Compare commits

...

5 Commits

Author SHA1 Message Date
Logan McNaughton 5e6a7731f4 update to 1.1.19 (#806)
* update to 1.1.19

* more
2026-04-25 07:22:58 +02:00
Logan McNaughton 65c63dfc5d Always set user agent (#805)
* Always set user agent

* more
2026-04-25 07:15:47 +02:00
Logan McNaughton ae4e7cb01f Update download links (#804) 2026-04-24 22:12:24 +02:00
Logan McNaughton a233c72dad add itch.io link (#803) 2026-04-24 10:54:47 +02:00
Logan McNaughton b267b83248 upload to itch.io (#802) 2026-04-24 10:23:28 +02:00
8 changed files with 68 additions and 38 deletions
+28 -1
View File
@@ -75,6 +75,15 @@ jobs:
name: gopher64-${{ matrix.arch }}
path: output/gopher64-${{ matrix.arch }}
archive: false
- name: Setup butler
if: ${{ github.ref_type == 'tag' }}
uses: remarkablegames/setup-butler@v2
- name: Upload to itch.io
if: ${{ github.ref_type == 'tag' }}
run: |
butler push output/gopher64-${{ matrix.arch }} loganmc10/gopher64:${{ matrix.arch }} --userversion ${GITHUB_REF_NAME#v}
env:
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
build-windows:
runs-on: ${{ matrix.os }}
@@ -148,6 +157,15 @@ jobs:
path: output-signed/gopher64-${{ matrix.arch }}.exe
archive: false
overwrite: true
- name: Setup butler
if: ${{ github.ref_type == 'tag' }}
uses: remarkablegames/setup-butler@v2
- name: Upload to itch.io
if: ${{ github.ref_type == 'tag' }}
run: |
butler push output-signed/gopher64-${{ matrix.arch }}.exe loganmc10/gopher64:${{ matrix.arch }} --userversion ${GITHUB_REF_NAME#v}
env:
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
build-macos:
runs-on: macos-15
@@ -194,7 +212,7 @@ jobs:
@executable_path/../Frameworks/libpng16.16.dylib target/${{ matrix.target }}/release/bundle/osx/Gopher64.app/Contents/Frameworks/libfreetype.6.dylib
env:
NETPLAY_ID: ${{ secrets.NETPLAY_ID }}
MACOSX_DEPLOYMENT_TARGET: "15.7"
MACOSX_DEPLOYMENT_TARGET: "15.0"
- name: Sign Bundle Dev
if: ${{ github.ref_type != 'tag' }}
run: |
@@ -221,3 +239,12 @@ jobs:
with:
name: gopher64-${{ matrix.arch }}
path: target/${{ matrix.target }}/release/bundle/osx
- name: Setup butler
if: ${{ github.ref_type == 'tag' }}
uses: remarkablegames/setup-butler@v2
- name: Upload to itch.io
if: ${{ github.ref_type == 'tag' }}
run: |
butler push target/${{ matrix.target }}/release/bundle/osx/Gopher64.app loganmc10/gopher64:${{ matrix.arch }} --userversion ${GITHUB_REF_NAME#v}
env:
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
Generated
+11 -11
View File
@@ -842,9 +842,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.60"
version = "1.2.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20"
checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -1270,9 +1270,9 @@ checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f"
[[package]]
name = "data-encoding"
version = "2.10.0"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea"
checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"
[[package]]
name = "data-url"
@@ -2111,7 +2111,7 @@ dependencies = [
[[package]]
name = "gopher64"
version = "1.1.18"
version = "1.1.19"
dependencies = [
"bindgen",
"cc",
@@ -2330,9 +2330,9 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]]
name = "hybrid-array"
version = "0.4.10"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214"
checksum = "08d46837a0ed51fe95bd3b05de33cd64a1ee88fc797477ca48446872504507c5"
dependencies = [
"typenum",
]
@@ -3148,9 +3148,9 @@ checksum = "b3a6a8c165077efc8f3a971534c50ea6a1a18b329ef4a66e897a7e3a1494565f"
[[package]]
name = "libc"
version = "0.2.185"
version = "0.2.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f"
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
[[package]]
name = "libfuzzer-sys"
@@ -4907,9 +4907,9 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
version = "1.14.0"
version = "1.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd"
checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9"
dependencies = [
"web-time",
"zeroize",
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "gopher64"
version = "1.1.18"
version = "1.1.19"
edition = "2024"
rust-version = "1.95.0"
@@ -60,4 +60,4 @@ identifier = "io.github.gopher64.gopher64"
category = "public.app-category.games"
icon = ["data/icon/gopher64_128x128.png","data/icon/gopher64_256x256.png","data/icon/gopher64_512x512.png"]
osx_frameworks = ["/opt/homebrew/opt/molten-vk/lib/libMoltenVK.dylib","/opt/homebrew/opt/freetype/lib/libfreetype.6.dylib","/opt/homebrew/opt/libpng/lib/libpng16.16.dylib"]
osx_minimum_system_version = "15.7"
osx_minimum_system_version = "15.0"
+10 -3
View File
@@ -11,11 +11,18 @@ Gopher64 is a cross-platform N64 emulator. Some notable features:
## download
Windows: https://github.com/gopher64/gopher64/releases/latest/download/gopher64-windows-x86_64.exe
<a href="https://loganmc10.itch.io/gopher64"><img src="https://static.itch.io/images/badge.svg" width="200" ></a>
MacOS: https://github.com/gopher64/gopher64/releases/latest/download/gopher64-macos-aarch64.zip
Windows:
* Standalone executable: [gopher64-windows-x86_64.exe](https://github.com/gopher64/gopher64/releases/latest/download/gopher64-windows-x86_64.exe)
Linux: https://flathub.org/apps/io.github.gopher64.gopher64
MacOS:
* App Bundle: [gopher64-macos-aarch64.zip](https://github.com/gopher64/gopher64/releases/latest/download/gopher64-macos-aarch64.zip)
* Homebrew: `brew install --cask gopher64`
Linux:
* Standalone executable: [gopher64-linux-x86_64](https://github.com/gopher64/gopher64/releases/latest/download/gopher64-linux-x86_64)
* Flatpak: `flatpak install flathub io.github.gopher64.gopher64`
## wiki
+2 -13
View File
@@ -2,17 +2,6 @@ include!(concat!(env!("OUT_DIR"), "/retroachievements_bindings.rs"));
use crate::ui;
static WEB_CLIENT: std::sync::LazyLock<reqwest::Client> = std::sync::LazyLock::new(|| {
reqwest::Client::builder()
.user_agent(format!(
"{}/{}",
env!("CARGO_PKG_NAME"),
env!("GIT_DESCRIBE")
))
.build()
.unwrap()
});
#[derive(serde::Serialize, serde::Deserialize)]
pub struct RAConfig {
pub username: String,
@@ -85,13 +74,13 @@ pub extern "C" fn rust_server_call(
unsafe { std::ffi::CStr::from_ptr(c_post_data).to_str().unwrap() }.to_string();
let content_type =
unsafe { std::ffi::CStr::from_ptr(c_content_type).to_str().unwrap() }.to_string();
WEB_CLIENT
ui::WEB_CLIENT
.post(url)
.body(post_data)
.header(reqwest::header::CONTENT_TYPE, content_type)
.send()
} else {
WEB_CLIENT.get(url).send()
ui::WEB_CLIENT.get(url).send()
};
let callback = c_callback.addr();
let callback_data = c_callback_data.addr();
+11
View File
@@ -15,6 +15,17 @@ pub mod video;
#[cfg(feature = "gui")]
pub mod vru;
pub static WEB_CLIENT: std::sync::LazyLock<reqwest::Client> = std::sync::LazyLock::new(|| {
reqwest::Client::builder()
.user_agent(format!(
"{}/{}",
env!("CARGO_PKG_NAME"),
env!("GIT_DESCRIBE")
))
.build()
.unwrap()
});
pub struct Dirs {
pub config_dir: std::path::PathBuf,
pub data_dir: std::path::PathBuf,
+1 -5
View File
@@ -28,11 +28,7 @@ pub struct RASettings {
}
fn check_latest_version(weak: slint::Weak<AppWindow>) {
let client = reqwest::Client::builder()
.user_agent(env!("CARGO_PKG_NAME"))
.build()
.unwrap();
let task = client
let task = ui::WEB_CLIENT
.get("https://api.github.com/repos/gopher64/gopher64/releases/latest")
.send();
tokio::spawn(async move {
+3 -3
View File
@@ -109,7 +109,7 @@ impl NetplayPages for NetplayJoin {
}
fn populate_server_names<T: ComponentHandle + NetplayPages + 'static>(weak: slint::Weak<T>) {
let task = reqwest::Client::new()
let task = ui::WEB_CLIENT
.get("https://dispatch.gopher64.com/getRegions")
.header("netplay-id", env!("NETPLAY_ID"))
.send();
@@ -292,7 +292,7 @@ pub fn setup_create_window(
let weak_dialog = message_dialog.as_weak();
message_dialog.show().unwrap();
let task = reqwest::Client::new()
let task = ui::WEB_CLIENT
.get("https://dispatch.gopher64.com/createServer")
.query(&[("region", server_url.strip_prefix("dispatcher:").unwrap())])
.header("netplay-id", env!("NETPLAY_ID"))
@@ -448,7 +448,7 @@ fn show_netplay_error(message: String) {
}
fn update_sessions(weak: slint::Weak<NetplayJoin>) {
let task = reqwest::Client::new()
let task = ui::WEB_CLIENT
.get("https://dispatch.gopher64.com/getServers")
.header("netplay-id", env!("NETPLAY_ID"))
.send();