Dungeon Lords Steam Edition (271760)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- c, linux
- Ambito
- operating-systems
Direzione di ricerca
Inizia in dlls/win32u/input.c, all'interno di NtUserGetAsyncKeyState, e verifica la gestione esistente specifica per i giochi di GetAsyncKeyState. Riproduci il problema provando a saltare o mettere in pausa i filmati introduttivi in Dungeon Lords Steam Edition, quindi verifica che il comportamento della pressione dei tasti interessati funzioni senza introdurre regressioni nel caso esistente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Compatibility Report
- Name of the game with compatibility issues: Dungeon Lords Steam Edition
- Steam AppID of the game: 271760
System Information
- GPU: Radeon 6700XT
- Video driver version: Mesa 25.0.5
- Kernel version: 6.14.6
- Proton version: Proton Experimental
I confirm:
- that I haven't found an existing compatibility report for this game.
- that I have checked whether there are updates for my system available.
Symptoms
Game's movie player relies on recent bit in GetAsyncKeyState to detect keypresses (e.g. if ((GetAsyncKeyState(VK_ESCAPE) & 1) != 0)) and these proton hacks interferes so movies cannot be skipped or paused:
4b7342236aedf9db88dcdebd251889262a93505f -> HACK: user32: Always pretend that GetAsyncKeyState recent bit is 0
c8355ba22826e2e492059b7d6eba729f7e3e1256 -> HACK: win32u: Enable GetAsyncKeyState() recent bit for Amerzone (1999).
Solution
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
index 42daab3d301..b2c4f5d6835 100644
--- a/dlls/win32u/input.c
+++ b/dlls/win32u/input.c
@@ -818,7 +818,7 @@ SHORT WINAPI NtUserGetAsyncKeyState( INT key )
if (use_recent_bit == -1) {
const char *sgi = getenv("SteamGameId");
- use_recent_bit = sgi && strcmp(sgi, "302190") == 0;
+ use_recent_bit = sgi && (strcmp(sgi, "271760") == 0 || strcmp(sgi, "302190") == 0);
}
if (key < 0 || key >= 256) return 0;
Reproduction
- Start the game
- Try to skip any intro movies (or movie on new game) with Escape key or pause them with Spacebar key.
- Lingua principale
- C++
- Stelle
- 33.2k
- Fork
- 1.7k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ValveSoftware/Proton
-
Mixed-case DriverStore/FileRepository path for igdext64.dll duplicates Wine's driverstore folder and breaks Steam's "Move install folder"Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ValveSoftware/Proton#10270 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
ValveSoftware/Proton#10167 ·
-
Game compatibility - Unofficial
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
ValveSoftware/Proton#10105 · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ValveSoftware/Proton#10098 · 2 reazioni ·
-
DarkOrbit Reloaded (4054110)ApertaGame compatibility - Unofficial
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
ValveSoftware/Proton#9612 ·
Tutte le issue di ValveSoftware/Proton
Issue simili
-
area:qmc bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
I maintainer di solito rispondono entro 3 giorni
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
ASGC-Game-Jam/asgc-gamejam-2026#563 ·
I maintainer di solito rispondono entro 1 giorno
-
area/ysql kind/bug priority/medium status/awaiting-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yugabyte/yugabyte-db#37523 ·
I maintainer di solito rispondono entro 1 giorno
-
Let agents name their jobsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Cockatrice/Cockatrice#7896 ·
I maintainer di solito rispondono entro 1 giorno