Mass Effect 1 - pure virtual function being called

Problem dotyczy gry wymienionej w tytule. Otóż po jakimś czasie od włączenia pokazuje się taki oto komunikat:
Pure virtual function
po czym gra się wyłącza.

Ustawienie najniższej jakości tekstur i efektów cząsteczkowych nie pomaga.

Oto log gry:

    [0.020] Log: Log file open, 04/07/21 12:34:43
    [0.020] Init: BioWare Final Build Version: 1.2.20608.0
    [0.020] Init: Command line: 
    [0.020] Init: Base directory: C:\Program Files (x86)\Origin Games\Mass Effect\Binaries\
    [0.335] Init: CPU Page size=4096, Processors=4
    [0.335] Init: High frequency timer resolution =10.000000 MHz
    [0.335] Init: Memory total: Phys=4194303K Pagef=4193791K Virt=4194175K
    [39.420] Log: Shader compiling for material Nodebuddy_GOOD took 15.94s
    [62.079] Log: Failed to load 'Material None.': Failed to find object 'Material None.'
    [62.079] Log: Failed to load 'Material None.': Failed to find object 'Material None.'
    [62.079] Log: Failed to load 'Material None.': Failed to find object 'Material None.'
    [62.079] Log: Failed to load 'Material None.': Failed to find object 'Material None.'
    [62.080] Log: Failed to load 'Material None.': Failed to find object 'Material None.'
    [62.084] Log: Failed to load 'Material None.': Failed to find object 'Material None.'
    [74.558] Init: Audio Driver: Wbudowany dzwik Analogowe stereo (winemm.vxd)
    [79.167] Init: Audio Device: OpenAL Soft
    [80.930] Init: 64 Free Sources, 2 Reserved
    [100.466] Log: >>>>>>>>>>>>>> Initial startup: 100.47s <<<<<<<<<<<<<<<
    [101.275] Log: Bio2DA.cpp::CheckedGetIntEntry(): Failed to read row(1902, isNum=0), column(4) in Bio2DA(Talent_TalentEffectLevels)
    [101.275] Log: Bio2DA.cpp::CheckedGetFloatEntry(): Failed to read row(1918, isNum=0), column(4) in Bio2DA(Talent_TalentEffectLevels)
    [144.854] Log: Failed to load 'BIOG_2DA_Vegas_Music_X': Can't find file 'BIOG_2DA_Vegas_Music_X'
    [164.579] Log: Bio2DA.cpp::CheckedGetIntEntry(): Failed to read row(1902, isNum=0), column(4) in Bio2DA(Talent_TalentEffectLevels)
    [164.580] Log: Bio2DA.cpp::CheckedGetFloatEntry(): Failed to read row(1918, isNum=0), column(4) in Bio2DA(Talent_TalentEffectLevels)
    [169.122] Log: Closing by request
    [170.641] Uninitialized: Log file closed, 04/07/21 12:37:34

Grę uruchamiam poprzez klienta Origin przy pomocy Lutris.

Parametry mojego komputera i systemu:

  • Procesor Intel Core i3-5020U 2.20GHz czterordzeniowy
  • RAM 12 GB
  • Grafika Intel HD Graphics 5500
  • Jądro 5.9.16-1
  • Środowisko graficzne GNOME 40.beta.0

Ma ktoś jakiś pomysł, co z tym fantem zrobić?

Jeśli korzystasz z jakichś dodatków czy DLC to spróbuj je wyłączyć – możliwe, że któryś z nich powoduje ten błąd.

Może też być tak, że gra korzysta z jakichś bibliotek, których nie posiadasz w systemie, albo które nie działają zbyt dobrze z Wine (lub w ogóle nie działają – choć wtedy gra by się raczej nie uruchamiała).W tym przypadku warto spróbować z inną wersją Wine. Albo zastosować inne parametry dla Wine – nie musisz grzebać w plikach czy konsoli, Lutris zapewnia wygodne gui do tego, choć nie mam pojęcia czy rzeczywiście wszystkie opcje da się ustawić.

Może też to być błąd w kodzie gry – wtedy za wiele nie zrobisz poza czekaniem na aktualizację. Możesz spróbować zrobić coś w plikach gry, ale równie dobrze może to pogorszyć sytuację.

Przejrzyj poniższą dyskusję, co prawda dotyczy ona Protona (to nic więcej jak zmodyfikowany Wine na potrzeby Steam), ale może podsunie ci jakiś pomysł co można zrobić:

Dzięki za odpowiedź :slightly_smiling_face:

Tak się składa, że nie mam zainstalowanych żadnych DLC.

Kombinowałem w konfiguracji gry w Lutris, niestety bez skutku :slightly_frowning_face:. Generalnie sporą część parametrów faktycznie można ustawić w Lutrisie bez babrania w konsoli.

Co do aktualizacji, to nie wiem czy w najbliższym czasie wyjdzie coś do takiego starocia :grinning:.

Jeśli chodzi o tę dyskusję na GH, to próbowałem m.in. tego rozwiązania:

Niestety to także nie pomogło.

Przy okazji zaintrygował mnie ten post:

Autor pisze, że pomogło mu polecenie git reset --hard. Ok, gdzie jest w takim razie to repozytorium gita, żeby to wykonać, bo chyba nie w folderze z grą :smile:?

Jeszcze jest opcja uruchomienia ME w innej wersji Wine, tylko właśnie… jak to zrobić? :thinking: Tzn. chodzi mi o samą instalację „winiacza”, bo jak przypisać wersję Wine do uruchamianej aplikacji, to wiem. Do tej pory uruchamiałem ME w winie 5.7, a ponoć w wersji 4-coś lepiej działa (nawet w Originie).

W AUR nie znalazłem paki z tą wersją, na stronie winehq(.)org również nie mogłem znaleźć nic pod Manjaro, dlatego próbowałem to zrobić w PlayOnLinux. Niestety problem polega na tym, że gdy próbuję zainstalować inną wersję wina niż mam wgraną w systemie (6.4), to wyświetla mi się komunikat: „Wygląda na to, że pobieranie się nie powiodło”.

Wersja 5.7 tak jakby „sama” się zainstalowała przy okazji instalacji Origina w Lutrisie.

Przez Lutrisa. Wchodzisz do managera runnerów, szukasz Wine i instalujesz dodatkowe wersje.

Podejrzewam, że chodzi o repozytorium Protona.