Repository navigation
XML2 Fix v1.2.0
The biggest update yet: display options, Discord presence, button prompts for pads, a mods folder, and the engine features mods and the X-Men Legends I community port need. Drop in the new dinput.dll; no settings file needed.
Heads-up: what changes when you update
- Some new features are on by default (list below). Each has a one-line switch in
xml2-fix.ininext to the DLL. - One rule for every
xml2-fix.inivalue. A value ends at the first;, so inline comments work on every key (Mode=borderless ; my setup); the spaces around it don't count. An empty value (Key=orKey= ; later) is the same as no key at all: the default. Switches take1/0,true/false,yes/nooron/off. [Online] Domain=offis now the only way to switch the OpenSpy redirect off. An emptyDomain=used to switch it off; it now means the default,openspy.net.
On by default
- Pad button prompts. A player on a pad sees the pad's buttons in prompts, the tutorial and the power wheel: A B X Y in their Xbox colours, the rest as [LB], [Start]. Prompts follow the device each player last used. Off:
[Input] Prompts=off(orkeyboard). - Discord Rich Presence. With the Discord app running, your profile shows the zone, your heroes and their levels, and the mode (menus, cutscene, Danger Room, online co-op). No player names, no PC, network or account details; it goes to the Discord app on your PC only. Off:
[Discord] Enabled=0(ShowZone=0/ShowParty=0to share less). - The right network address on a PC with WSL, Hyper-V, Docker or a VPN. For online play the game used to take a virtual adapter's address as its own (the LocalIP on the Play Online screen), one other players can't reach; it now takes the one this PC reaches the internet from. Old behaviour:
[Online] LocalIP=first. - Four new rows in Options → Controls → Advanced: display mode, frame rate, VSync and run in background. They change nothing until you change them. Hide them:
[Display] InGameOptions=0. - Mods folder. Put each mod in its own folder under
mods\next to the game, laid out like the game folder; the game's files stay untouched.mods\load-order.txtsets the order and switches mods on (+Name) and off (-Name). With no files inmods\, nothing changes.
New, when you ask for it
- Borderless and windowed modes (
[Display] Mode) at your desktop's resolution: no mode switch, instant alt-tab. Your desktop's resolution shows in Options → Video;ResolutionList=alloffers up to 64 sizes (and fixes the stock game's overflow of its 20-entry list into the default key bindings). - Frame rate above 60 or unlimited (
FrameRate=144,refreshor0) without the game's busy-wait, and VSync. Menus stay at 60 fps so pads and keys don't skip items. - Bigger zones for big mods.
[Limits] ActorSlots(up to 127) andResourceNames(up to 4096) raise the engine's tables of loaded characters (40) and resource names (450), which crash a crowded zone or a long session when they fill up. - Online:
[Online] Server=<IPv4>sends every GameSpy lookup to one address (a self-hosted OpenSpy);GameVersionkeeps a mod that is another game apart from XML2's games. Online play works through OpenSpy: hosted games register and show in Join Game's list (the PC version has no region step), and co-op sessions were tested host-to-join; a join across two different home networks hasn't been tested yet. - For mods with their own campaign (
[Game], used by the X-Men Legends I port):NewGameTeam,ResetUnlocks,SaveFolder,WindowTitle,NewGamePlus,ForcedTeams/AddHero/JoinHero(script functions for fixed parties, with Change Team locked at Xtraction Points),PostgameScript,EndHeroUnlock,MainMenuItems,ReviewStats,XPCurve=xml1. - For test tooling:
[Test] InputPipe/PipeName/VirtualPads(keys, virtual pads, script statements and screenshots over a named pipe, without the focus);[Debug] LogFiles.
Fixed
- The game no longer hangs for seconds at start-up (sometimes long enough for Windows to call it "not responding") while Windows looks for controllers: XInput now starts on a thread of its own.
- Pads work in borderless and windowed modes too: when the game's own DirectInput read of the pad fails (it isn't acquired without exclusive fullscreen), the pad's state comes from XInput anyway.
Every patch checks the bytes it relies on against the retail XMen2.exe first; on any other build that feature stays off and xml2-fix.log says why. Every setting, with its default: README → Settings.
Install: copy dinput.dll into the folder that contains XMen2.exe (replace the old one). See the README.
Unofficial fan fix, not affiliated with or endorsed by Activision, Marvel, Disney, Raven Software or Beenox. No game files included: you need your own copy of the game.