mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
ARMSX2 is GPL-3.0+ and the Discord Social SDK is proprietary. Linking them into one binary would make the emulator a combined work with a library whose corresponding source cannot be supplied, so the SDK now runs as a separate program in its own process and the two talk over a deliberately dumb message interface: a title, a serial, an image URL, a list of names. No emulator type crosses that line. libemucore has no DT_NEEDED on the SDK and never loads it; the bridge builds into its own libarmsx2_discord.so, loaded only in :discord. With the feature switched off that process does not exist and the library is never mapped at all. Verify with: llvm-readelf -d libemucore_4k.so | grep -i discord (must be empty) The SDK itself is no longer in this repository. Discord's terms permit shipping it inside a working application but not republishing the raw SDK, so it is an optional private build input via DISCORD_SDK_DIR. Unset -- every public clone -- the feature compiles out and the UI reports itself unavailable. Deliberately not a product flavour: one release variant, and the only difference is whether that directory was present at build time. Also here, from testing the feature into shape: - Presence uses the game's own cover art, and our logo (an Art Asset key, not a repo URL, so it tracks the current mark) when idle. - Friends show their avatar AND the cover of what they are playing, never one instead of the other -- swapping the face out for box art loses the identity exactly when the row gets interesting. - A count badge on the Friends entry point, in the drawer and in the in-game header, because the point of it is to be seen by someone not looking at the friends list. - Friends moved off the in-game tab rail into a header button with its own panel. It was last on a rail that scrolls, so reaching it meant knowing it was there. The panel is composed, not a Dialog: a Dialog takes its own focused window and swallows gamepad keys before our input plumbing sees them. - "<friend> is now online" is one Compose banner at the Activity root, replacing a split between an emulator OSD message in game and nothing at all in the library. The OSD is text-only and could never show an avatar. - Reconnect after a drop, with backoff. The SDK does not retry and its connection does not survive being backgrounded, so a drop used to be terminal until the app was restarted.
166 lines
2.8 KiB
Plaintext
166 lines
2.8 KiB
Plaintext
.*.swp
|
|
.*.swn
|
|
.*.swo
|
|
|
|
*.suo
|
|
*.ncb
|
|
*.sdf
|
|
*.opensdf
|
|
*.user
|
|
*.log
|
|
*.dsp
|
|
*.dsw
|
|
*.bsc
|
|
*.aps
|
|
*.exe
|
|
*.wav
|
|
|
|
*.trace
|
|
*.dump
|
|
|
|
*.asm
|
|
# ...but hand-written source assembly is real source, not build output.
|
|
!common/FastJmp.asm
|
|
!common/FastJmp.aarch64.asm
|
|
|
|
*.VC.db
|
|
*.VC.VC.opendb
|
|
|
|
_ReSharper.*
|
|
pcsx2.snapshot_*
|
|
svnrev.h
|
|
|
|
/build*
|
|
/obj-*
|
|
*.obj
|
|
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
Debug.txt
|
|
install_log.txt
|
|
bad_shader_*
|
|
crash-*.txt
|
|
|
|
# Ad-hoc dev logs (produced by instrumentation / testing)
|
|
crash.txt
|
|
emulog.txt
|
|
vu0_ops_*.log
|
|
vu1_ops_*.log
|
|
vu0_rec.log
|
|
vu1_rec.log
|
|
vu1_interp.log
|
|
vu1_xgkick_*.log
|
|
vkinfo_*.txt
|
|
|
|
# Python bytecode
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
Debug
|
|
Release
|
|
Devel
|
|
|
|
oprofile_data/
|
|
|
|
# Recording Specific Ignores (pcsx2-rr)
|
|
*.p2s
|
|
*.p2m2
|
|
*.p2m2_backup
|
|
*.p2m2_SaveState.p2s
|
|
|
|
# Visual Studio upgrades
|
|
/Backup*
|
|
/UpgradeLog*.htm
|
|
/.vscode*
|
|
|
|
# Jetbrains Rider
|
|
/.idea*
|
|
|
|
# KDevelop 4 Workspace Configuration Files
|
|
*.kdev4
|
|
/.kdev4*
|
|
|
|
# Kate Projects
|
|
.kateproject*
|
|
|
|
# Resources and docs in /bin are tracked
|
|
/bin/**/*.dll
|
|
/bin/**/*.dmp
|
|
/bin/**/*.exp
|
|
/bin/**/*.ilk
|
|
/bin/**/*.lib
|
|
/bin/**/*.pdb
|
|
/bin/pcsx2*
|
|
/bin/qt.conf
|
|
/bin/bios
|
|
/bin/cache
|
|
/bin/cheats
|
|
/bin/patches
|
|
/bin/covers
|
|
/bin/dumps
|
|
/bin/gamesettings
|
|
/bin/help
|
|
/bin/inis
|
|
/bin/inis/debuggersettings
|
|
/bin/logs
|
|
/bin/memcards
|
|
/bin/plugins
|
|
/bin/snaps
|
|
/bin/sstates
|
|
/bin/textures
|
|
/bin/translations
|
|
/bin/inputprofiles
|
|
/bin/videos
|
|
/bin/portable.ini
|
|
/bin/portable.txt
|
|
|
|
# Resources and docs copied from /bin
|
|
/bin-arm64
|
|
|
|
# Manually added by user.
|
|
/bin/resources/patches.zip
|
|
|
|
# Resources that are runtime downloaded.
|
|
/bin/resources/fonts/NotoSansJP-Regular.ttf
|
|
/bin/resources/fonts/NotoSansKR-Regular.ttf
|
|
/bin/resources/fonts/NotoSansSC-Regular.ttf
|
|
/bin/resources/fonts/NotoSansTC-Regular.ttf
|
|
|
|
/deps-build
|
|
/deps
|
|
/deps-arm64
|
|
/pcsx2-deps
|
|
/gammaray-build
|
|
/gammaray
|
|
/ipch
|
|
|
|
!/3rdparty/libjpeg/change.log
|
|
/tools/bin
|
|
.vs
|
|
|
|
/out/build/x64-Debug (default)
|
|
CMakeSettings.json
|
|
/ci-artifacts/
|
|
/out/
|
|
/.cache/
|
|
|
|
# Achievement sounds are shipped assets, not build output — keep them tracked
|
|
!platforms/android/app/src/main/assets/resources/sounds/**/*.wav
|
|
|
|
# RetroAchievements client User-Agent secret — the real pinned version is injected
|
|
# from this header at build time and must NEVER be committed (spoofing prevention).
|
|
ra_ua_secret.h
|
|
|
|
# Kotlin compiler session scratch dir created by Gradle next to the android project.
|
|
platforms/android/.kotlin/
|
|
|
|
# Discord Social SDK — supplied privately at build time via DISCORD_SDK_DIR, never committed.
|
|
# Discord's terms permit shipping the SDK inside a working application but not republishing the
|
|
# raw SDK on its own, so none of it belongs in this repository. Our own bridge, IPC interface and
|
|
# helper service ARE here; only Discord's material is excluded.
|
|
**/libdiscord_partner_sdk.so
|
|
**/discord_partner_sdk.aar
|
|
**/discord_partner_sdk.jar
|
|
platforms/android/app/src/main/cpp/3rdparty/discord/include/
|