Les vieux jeux et les CG modernes. Wrappers et surtout DXGL

  • Auteur de la discussion bigbernie
  • Date de début

bigbernie

Grand Maître
Bonjour

Euh...... c'est TRÈS technique ! Niveau expert donc. Il y en a ici.

Sous NVidia, par exemple 1050, certains vieux jeux PC ne reconnaissent plus la CG.
Par exemple pour Settlers 4 j'ai du utiliser un wrapper Voodoo. Disons un convertisseur de CG 2017 en CG 1995. Ca c'est normal. Mais ça n'a pas suffit.
Pour S 4 il FAUT en plus utiliser un autre logiciel Widescreen.Tool Settlers 4. Le programmeur de Widescreen.Tool a créé des patches pour environ 150 jeux. Il en reste 5000.

Ca me fait penser a WHDLoad. Pour pouvoir utiliser ce logiciel il FAUT que les slaves de chaque jeu ait été créés. Pas de slave pas de jeu.

Aucune raison que le wrapper voodoo et ses dll d'époque ne soient pas généralistes car on peut aussi l'utiliser pour retrograder vers de nombreuses définitions y compris VGA et retrouver les vieux DirectX et Glide et reconfigurer a donf et pourtant non. Si de bons samaritains ne créaient pas des patches spéciaux pour chaque jeu concerné on ne pourrait plus les faire tourner. Et pour les oldies vs CG modernes ça va empirer.

Ma question porte sur ce soft méconnu et récent. DXGL
DXGL a pour but de remplacer ddraw.dll library, sous OpenGL par une version optimisée.
Le concepteur dit que dans certains cas on n'a pas besoin de wrapper si on remplace cette dll.
Et en fouinant sur des sites techniques anglophones je suis tombe sur un cas d’utilisateur de vieux jeux qui avec DXGL n'a pas besoin de wrapper.

Bon. Je tente ma chance ici. Avant de bidouiller mon système. A éviter sans etre vraiment certain. pour un autre jeu sans patch spécial lui.

Bon weekend. Merci.







 

magellan

Modérâleur
Staff
Heuuu tu parles du logiciel mais quelle est LA question? parce que je ne saisis pas ce que tu veux savoir précisément.
 

bigbernie

Grand Maître
Bonsoir
C'est vrai que j'ai fait trop de ...euh..préparation a la question.
Exposé
Il va être de plus en plus difficile de jouer a des anciens jeux avec les CG modernes.
En utilisant un wrappper bien configurable ça devrait théoriquement suffire. Non. Il faut des patches jeu par jeu qui modifient aussi l'executable.

Il apparaitrait mais sans certitude, qu'un modifiant ddraw.dll on pourrait se passer de wrapper ???

J'ai vu passer ceci : Et en plus le gars fait tourner Settlers 4 sur écran 4 k. Chapeau.

I got Settler IV running with DXGL on Win10 without any other applied "Fix Patches" for the
3D Initialisation Error messages.
I've attached my actual settings. S4 is running without applying any compatibility settings
to S4.exe or S4_main.exe.
I'm using a gfxengine.dll mod to fit the game resolution to my 4k screen though.


Je n'ai pas trop envie de modifier mon systeme profond mème si c'est réversible avec des précautions.
Un de mes 2 S 4 fonctionne donc pas besoin de faire des betises avec l'affichage.

On arrive donc a la question

Quelqu'un ici a t'il utilise DXGL ?

Autrement posé : Quelles solutions globales sont utilisées par des forumers d'ici lorsque leur CG n'est plus adaptée a leurs vieux jeux ?

1° Ils abandonnent
2° Sie kapitulieren nie.

( Phrase historique )


J'espère que c'est mieux ainsi ? Merci de ton attention.

Bonne soirée.


 

magellan

Modérâleur
Staff

Il n'y a pas de réponse universelle, cela dépend totalement de la compétence des développeurs ayant codé le jeu initial, et pire encore de la version de Direct X prise en charge....
Donc
1° Je n'utilise pas DXGL
2° Je n'irais personnellement pas massacrer une Dll système, parce que celle-ci doit rendre fonctionnel l'OS maintenant, et non pour des softs qui ont plus de 15 ans
3° Les wrappers sont intéressants mais ne couvriront jamais tous les soucis
4° LA solution? La virtualisation d'un OS d'époque, et qui se chargera de faire croire au jeu qu'il est sur une CG d'époque également.
 

bigbernie

Grand Maître
Bon dimanche
Très intéressantes tes réponses et surtout la 3. Rien d'universel. C'est ce que je craignais.
Et si j'ai posté c'est que je n'avais pas l'intention de bidouiller le système. Je suis dégourdi en informatique mais pas du genre kamikaze.

Qu'est ce que tu veux dire en pratique a propos du mode virtuel d’époque ? Avec quoi ?
Par exemple j'utilise sur Amiga 1200 mais ça fonctionne aussi sur PC, WHDLoad. Qui fonctionne en mode virtuel. Plus de protections non plus. Oui mais il faut avant ça créer ou que quelqu'un crée, pour chaque jeu son Slave.
Il y a également comme tu sais les disques virtuels. C'est surtout utilisé pour sauter certaines protections.
Microsoft de son cote virtualise partiellement avec ses fonctions de compatibilité. On virtualise W 95 !

Je n'aborde pas ici les jeux Dos. Dosbox réintroduit le Dos dans Windows. Ca marche bien.

Concernant le hardware des CG c'est autre chose.
De quelle façon, avec quel outil tu peux virtualiser un environnement graphique hardware qui n'existe plus ?
C'est ce que fait un wrapper mais comme tu dis si bien, pas toujours.

Les outils pro comme KVM ne sont pas faits pour ça.
Tu conseillerais quoi ?

A +







 

magellan

Modérâleur
Staff
Quand je parle de virtualisation, j'entends par là avoir un PC suffisamment puissant pour faire tourner un VmWare par exemple, avec l'OS d'époque dedans (Windows 98 par exemple). L'intérêt est alors de retrouver les conditions logicielles d'époque, et c'est à VMWare de se taper le boulot de wrapping pour la partie matérielle.

De là: l'implémentation de la 3D dans les jeux (DirectX) est une problématique éternelle, parce que chaque logiciel est dès lors codé avec plus ou moins de respect des normes, voire pire encore nombre de jeux utilisent des "astuces" (hacks) pour obtenir un gain de performance... sur le matériel de l'époque. Prenons un exemple: nombre de jeux sont bien pensés, ceci parce qu'ils disposent d'une couche limitant le framerate sciemment afin qu'en cas de montée drastique en puissance des PC le jeu reste jouable. La plupart des jeux n'en tiennent pas compte, ce qui donne que nombre des vieilles références fonctionnent à (je caricature) 900 fps, ceci parce que le traitement/restitution est indexé sur le processeur, et non sur un framerate plafonné.
Les wrappers sont un problème aussi anciens que les GPU en fait. Ils sont apparus lorsque le marché s'est scindé, à l'époque, entre les trois gros axes de la 3D
- 3Dfx (les cartes Voodoo)
- Nvidia, ATI
- la tentative du MMX Intel
En gros: les jeux pouvaient soit s'adosser à DirectX, soit prendre en charge des librairies spécialisées (Glide pour 3Dfx, et MMX Pour Intel). Cela donnait dès lors des jeux fonctionnant correctement "que" sur un environnement dédié. Les wrappers sont venus compenser pour que les jeux trop orientés puissent exploiter la puissance réellement disponible.
Aujourd'hui? ces wrappers sont désormais faits pour que les anciennes instructions soient interprétées par le DirectX/OpenGL qui se sont imposés comme la norme "unifiée" (et encore... c'est autrement plus complexe je ne fais qu'effleurer la surface!). Donc, sachant que ces wrappers n'ont d'autre fonction que de suppléer à des manques logiciels (pilotes spécialisés), ils ne parviendront jamais à couvrir tous les problèmes possibles, et encore moins à rattraper les développements exotiques faits à l'époque.

Pour ce qui est donc du matériel: la partie émulation/virtualisation permet théoriquement de faire croire à un jeu qu'il tourne sur une CG donnée très "générique". Je n'ai pas trop pris le temps de creuser, mais à mon sens tu peux réussir, via la virtualisation, à faire avaler à tes jeux qu'ils tournent sur une CG haut de gamme de l'époque... à la limitation près des 3Dfx à cause, justement, des librairies trop spécifiques issues de Glide.

En fouinant j'ai trouve que virtualbox "pourrait" (je n'ai pas creusé plus loin) s'acquitter de ce job de manière concrète et a priori fiable.
 

bigbernie

Grand Maître
J'avais raison concernant le niveau d'expertise de certains ici.
J'ai tente de solutionner jusqu'au bout. J'ai 2 Settlers 4. Le tout premier avec ses add ons et ensuite Gold avec la totale.
Le patche WidescreenTool vise s4.exe qui est le launcher des premiers S 4. Mais Gold a son launcher appele S4_Main.exe. Le patch exe ne voit pas main.exe.

Pas grave mais je cherchais tout simplement a trouver...qui sait..une solution universelle pour tous les vieux jeux Windows ayant des ennuis graphiques. Et seulement graphiques. Le wrapper voodoo devait théoriquement etre universel mais en fait ne l'est pas. Il existe des patches pour un certain nombre de jeux.
Et il faut en plus utiliser dgvoodoocpl qui est donc un wrapper. Equivalent video de DosBox ou WHDLoad ou WinUAE.
Mais voodoo n'est pas souvent suffisant. C'est une vraie galère la vidéo.

Pour infos....Ces vieux jeux pourront fonctionner avec des CG récentes. Avec les deux outils.

A noter que S 4 et UFO ne sont pas dedans mais les outils ciblés existent.

A +


Alien Rage
Battlefield 3
Blacklight: Retribution
Binary Domain
Bioshock
C&C: Red Alert 3
Child Of Light
Call Of Duty: Black Ops
Call Of Duty: Modern Warfare 3
Castlevania: Lord of Shadow 2
Dead Rising 2
Death Rally
Diablo III
Dishonored
Far Cry 3
Far Cry 3: Blood Dragon
FIFA 13
Ghost Recon Advanced Warfighter 2
Inversion
Kingdoms of Amalur: Reckoning
Killer Is Dead
Injustice: Gods Among Us
Mass Effect 2
Mirror's Edge
Metal Gear Rising
Ninja Blade
Murdered: Soul Suspect
Orcs Must Die 2
Resident Evil 5
Resident Evil 6
Remember Me
Ridge Racer Unbounded
Skydrift
Sonic Generations
Sonic & Sega All-Stars Racing Transformed
Star Wars: KOTOR
Supreme Commander 2
The Lord of the Rings: War in the North
The Witcher 2
Tomb Raider: Underworld
Tomb Raider: Legend
Transformers: War for Cybertron
Tribes: Ascend
Warhammer 40K: Space Marine
Watch Dogs
YAIBA: Ninja Gaiden Z

Bunch of Heroes
Bulletstorm
Bioshock 2
C&C: Tiberium Wars
Contrast
Call Of Duty: Black Ops II
Call Of Duty: Ghosts
Dark Void
Dark
Darksiders
Dead Rising 2: Off The Record
Deadpool
Defiance
Devil May Cry 5
Flashback
Driver: San Francisco
Enemy Engaged 2
FIFA 12
Guild Wars 2
Grand Theft Auto III
I Am Alive
Jet Set Radio
L.A. Noire
Mass Effect 1
Mass Effect 3
Mini Ninjas
Resident Evil 4
Orcs Must Die
RAGE
Resident Evil 6
Singularity
Starcraft II
Sonic and Sega All-Stars Racing
South Park: The Stick Of Truth
Spec Ops: The Line
Sanctum 2
The Amazing Spiderman 2
The Elder Scrolls V: Skyrim
The Risen 2
The Walking Dead (Series)
Tomb Raider: Anniversary
Transformers: Fall of Cybertron
Unreal Tournament 3: Black Edition
Viscera Cleanup Detail: Shadow Warrior
Wolfenstein: The New Order
Zeno Clash 2





 

magellan

Modérâleur
Staff
Note que ces outils widescreen ont pour rôle quasi unique non de wrapper mais de upscaler l'affichage aux résolutions actuelles. A l'époque pour les plus anciens jeux (antérieurs à 2005 en gros pour caricature) le 16/9 n'existait tout simplement pas, ce qui donnait des résolutions natives 4/3 du style 1280*1024 par exemple. Avec ces outils, cela réussit dans certains cas à fournir au logiciel un écran "large", ceci sans déformation ni, en principe, de bandes noires. Mais c'est loin d'être général.

Note enfin que pour une bonne majorité des jeux cités cela fonctionne nativement, voire uniquement via le mode compatibilité.
 

bigbernie

Grand Maître
Bonjour
Widescreentool ne fait pas que ça. Upscaler, voodoo le fait aussi.
Widescreen fait ça et il est dans pas mal de cas indispensable...et pas pour upscaler

Repository based plugins/modules with autonomous updating and version checking.
Pure Win32 and C++ - fast with low memory utilization, C++ classes exposed to LUA for powerful and fast memory manipulation/injection, registry and file manipulation.
LUA and XML based plugins requiring minimal programming knowledge
SoftTH, AMD Eyefinity and NVIDIA Surround API's integrated for accurate display environment detection including bezel compensation, manually configurable fall-back for non-standard solutions.

Bonne journée.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 847
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut