Skip to content

Releases

xml1-builder v0.6.0-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 12:01

Beta - test build

Legends Classic builder v0.6.0-beta.4 (content version 33).

0.6.0-beta.4

Legends Classic 0.6.0-beta.4 (content 33 / catalogue 8 / LC43) goes with XML2 Fix 1.11.0-beta.4.
Update both parts in Ultimate Legends' Beta channel, then Rebuild, then Play. beta.1, beta.2 and beta.3
saves still load. Everyone in an online session needs the same build and settings.

Changes since beta.3

  • USS Arbiter hatches open after their Sentinel launcher consoles are destroyed. Five progression hatches in
    the launch bays are fixed. In an already-stuck save, revisit the destroyed console once, then return to its hatch.
    Owen confirmed the hatch recovery by hand on November 7.
  • Escorted sailors count at the lifeboat. The timed Arbiter crew rescue can progress when the following sailor
    reaches safety. Ten rescue-arrival triggers are corrected, including a later Hive rescue. Owen escorted a crewman
    and confirmed the lifeboat rescue registered on November 8. A full eight-sailor escape and every placement were
    not independently replayed by the agents.
  • Destroyed shock pylons stop pulsing. Their harmful helpers are removed when the exact parent body dies or
    disappears; streaming out and back also cleans up correctly. Health damage keeps XML1's authored rules, and live
    nullifiers still drain energy. Live cleanup uses the native 0.05-second watcher tick; zero-frame timing was not measured.
  • Jubilee's Photo Flash and Frost's Confuse wear off. Inactive rank branches no longer leave permanent allies;
    the builder and companion adapter preserve XML1's randomized duration ranges. Native casts cleared and targets
    became attackable, including after an area reload. One Jubilee rank-1 sample lasted 3.0671 seconds against a
    3-second authored maximum; exact live expiry timing remains under investigation. Already-affected old saves were
    not available for a recovery check.
  • Healer and Forge are offered at Xtraction points after loading a save, using XML1's service timing.
  • A newcomer lost during the restart gets the named leave notice. The cosmetic beta.3 restart-path wording
    issue is closed. Same-PC testing saw one named notice on both surviving peers after canonical restart began,
    matching shared frames and working movement; the host's ordinary in-play dropped-player wording remains unchanged.

Checks and remaining limits

The final candidate includes Owen's two Arbiter hand checks and short agent checks for rescue, hatch recovery,
pylon lifetime and nullifier energy drain. Earlier checks on this DLL's RC1 build covered loaded Healer/Forge,
control-effect expiry, a newcomer lost after restart, same-PC joins and pauses, and saved-campaign loads. The DLL
includes both the named-leave and control-duration changes; it is not beta.3's unchanged tested online DLL.
Native online-host Load Saved Campaign was not re-verified successfully on the newer RC2/RC3 builds: the probe
reached an online-unavailable screen. Normal main-menu campaign loading passed separately. The one release boot
smoke is only a startup/transport-install check, not online-host acceptance.

All still-open beta.3 limitations remain in known issues: intermittent pre-menu DirectInput
startup reliability is unresolved; four-player pause release has test-input coverage only; relay/different home
networks, three or four separate PCs, long sessions and slow joins need checks. Host loss ends the session.
The optional classic conversation background remains off by default, with native Windows checks but no owner,
xemu, DXVK or multiplayer comparison. Save import from xemu and XML1-recomp remains off.

Back up saves before updating. Standalone builders need the matching DLL in the output folder before Build.
These tools distribute no game content; both owned games are required.

0.6.0-beta.3

Legends Classic 0.6.0-beta.3 (content 32 / catalogue 8 / LC42) goes with XML2 Fix 1.11.0-beta.3.
Update both parts in Ultimate Legends' Beta channel, then Rebuild, then Play. Everyone in a session
needs the same build and settings; beta.1 and beta.2 saves still load, but their online games cannot join beta.3.

Changes since beta.2

  • Classic conversation box, optional. Build with --classic-conversation xml1, or choose Classic conversation box
    in Ultimate Legends 0.5.0. The launcher offers it with builders 0.6.0-beta.3 or later. The default is off and keeps
    beta.2's conversation background. Turning it on changes only UI/hud/convo_background.IGB; rebuild with
    --classic-conversation off to restore the PC background.
  • No false lost-synchronization alarm when a joining friend drops out during admission. The existing players
    carry on together. During the join hold the host sees the friend's name and that they have left the game.
    If the loss happens after the area restart begins, the game's standard dropped-players message can still appear
    once (cosmetic; a wording fix is planned).
  • Hosting alone online: the pause and Team Management menus now close with one press of B or Esc.
  • Enter IP has eleven keys (0-9 and the dot), without empty cells or empty bottom buttons.
  • Restart waits use occupied seats only, so an empty participant slot does not arm a restart barrier.

Checks and limits

The online changes were checked with a real controller and keyboard on two PCs at home: solo-host pause and Team
Management, saved-campaign hosting, code join at the next area, host and guest pauses, a lost newcomer, the Enter IP
grid, analog stick and D-pad navigation. The lost-newcomer run suppressed 128 native notices and the session continued.
The conversation option was checked separately on native Windows in two conversation families at three resolutions,
off and on. It has not been hand-tested by Owen; no xemu, DXVK or multiplayer conversation comparison is claimed.

An intermittent pre-menu DirectInput crash was observed; later alternating beta.2 and beta.3 boot checks each
passed ten times. Cause and regression attribution remain unresolved.

Four-player pause release is verified with test input only. Relay play, players on different home networks, three or
four separate PCs, long sessions and slow joins still need checks. Host loss ends the session; there is no host
migration. Save import from xemu and XML1-recomp remains off. All other still-open beta.2 limitations remain in
known issues.

Back up your saves before updating. The standalone builder needs the matching dinput.dll in the output folder
before Build. These tools distribute no game content; you need your own copies of both games.

0.6.0-beta.2

Legends Classic 0.6.0-beta.2 (content 31 / catalogue 8 / LC41) goes with XML2 Fix 1.11.0-beta.2. It fixes the
problems found after beta.1: Blob's fight, the rare 4-player host crash and the lost-newcomer pause. The session now
follows the host's frame rate, and the rest of the online screens are in the classic style and work with keyboard,
controller and mouse. Update both parts and Rebuild before you play together.

Fixed since 0.6.0-beta.1

  • Blob fights again. In beta.1 he could spin on the spot and stop attacking, offline and online, most often when
    nobody was hitting him. When he can't reach the object he wants to pick up or throw, he now gives up after a few
    seconds and goes back to his attacks. He can still circle for several seconds at a time.
  • The first game's other bosses can't get stuck waiting either. The colosseum dopples, Avalanche, Shadow King,
    Magneto and Master Mold could stop attacking for good if a move they were waiting for never became possible (for
    example facing a target, or a power that wasn't ready). They now give up on that move after a few seconds and pick
    another. Pyro, Mystique and Marrow are unchanged.
  • No more host crash in 4-player games. With four players, if a friend who was joining dropped out at the moment
    the host reloaded the area, the host's game could crash. That's fixed, and the other three players carry on.
  • A friend who drops out while joining no longer strands anyone. If the only friend joining dropped out partway
    through, a player already in the game could be left on the pause screen with everyone shown as "Not Ready". Now the
    players already in the game carry on together without leaving and rejoining (tested with two and with three
    players already in the game). Everyone may wait a few seconds at that area load. If two friends are joining and
    one drops out, the other still gets in.
  • Building from Ultimate Legends 0.5.0-beta.4 or later works with this builder. The Classic conversation box
    option arrives in beta.3.

What's new

  • The session follows the host's frame rate. Guests use the host's frame rate while they are in the session and
    get their own setting back when they leave; joining doesn't change your settings file. The host's online limit
    still applies: a host set to 144 fps with the usual 60 fps online limit opens a 60 fps session. To change the
    session's rate, leave and host a new room. A slow PC, a slow connection or fullscreen VSync can still slow
    everyone down. You no longer need to set everyone to 60 by hand.
  • The lobby shows each player's frame rate (for example "30 local / 60 online") and names a player whose PC
    can't keep up ("Cannot hold 60 fps"). It's a warning only; nothing lowers the rate by itself.
  • The rest of the online screens now look like the first game's: Game Options, the screen-name keyboard, Other
    ways to play, LAN host or join, LAN search and its games list, and Enter IP. Other ways still uses X-Men Legends
    II's own LAN and Connect by IP menus, now in the classic style. The old GameSpy-era screens are gone: if the online
    screens can't start, a plain page says to rebuild or update XML2 Fix, with Back to the main menu.
  • **The player list...
Read more

xml1-builder v0.6.0-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 06:10

Beta - test build

Legends Classic builder v0.6.0-beta.3 (content version 32).

0.6.0-beta.3

Legends Classic 0.6.0-beta.3 (content 32 / catalogue 8 / LC42) goes with XML2 Fix 1.11.0-beta.3.
Update both parts in Ultimate Legends' Beta channel, then Rebuild, then Play. Everyone in a session
needs the same build and settings; beta.1 and beta.2 saves still load, but their online games cannot join beta.3.

Changes since beta.2

  • Classic conversation box, optional. Build with --classic-conversation xml1, or choose Classic conversation box
    in Ultimate Legends 0.5.0. The launcher offers it with builders 0.6.0-beta.3 or later. The default is off and keeps
    beta.2's conversation background. Turning it on changes only UI/hud/convo_background.IGB; rebuild with
    --classic-conversation off to restore the PC background.
  • No false lost-synchronization alarm when a joining friend drops out during admission. The existing players
    carry on together. During the join hold the host sees the friend's name and that they have left the game.
    If the loss happens after the area restart begins, the game's standard dropped-players message can still appear
    once (cosmetic; a wording fix is planned).
  • Hosting alone online: the pause and Team Management menus now close with one press of B or Esc.
  • Enter IP has eleven keys (0-9 and the dot), without empty cells or empty bottom buttons.
  • Restart waits use occupied seats only, so an empty participant slot does not arm a restart barrier.

Checks and limits

The online changes were checked with a real controller and keyboard on two PCs at home: solo-host pause and Team
Management, saved-campaign hosting, code join at the next area, host and guest pauses, a lost newcomer, the Enter IP
grid, analog stick and D-pad navigation. The lost-newcomer run suppressed 128 native notices and the session continued.
The conversation option was checked separately on native Windows in two conversation families at three resolutions,
off and on. It has not been hand-tested by Owen; no xemu, DXVK or multiplayer conversation comparison is claimed.

An intermittent pre-menu DirectInput crash was observed; later alternating beta.2 and beta.3 boot checks each
passed ten times. Cause and regression attribution remain unresolved.

Four-player pause release is verified with test input only. Relay play, players on different home networks, three or
four separate PCs, long sessions and slow joins still need checks. Host loss ends the session; there is no host
migration. Save import from xemu and XML1-recomp remains off. All other still-open beta.2 limitations remain in
known issues.

Back up your saves before updating. The standalone builder needs the matching dinput.dll in the output folder
before Build. These tools distribute no game content; you need your own copies of both games.

0.6.0-beta.2

Legends Classic 0.6.0-beta.2 (content 31 / catalogue 8 / LC41) goes with XML2 Fix 1.11.0-beta.2. It fixes the
problems found after beta.1: Blob's fight, the rare 4-player host crash and the lost-newcomer pause. The session now
follows the host's frame rate, and the rest of the online screens are in the classic style and work with keyboard,
controller and mouse. Update both parts and Rebuild before you play together.

Fixed since 0.6.0-beta.1

  • Blob fights again. In beta.1 he could spin on the spot and stop attacking, offline and online, most often when
    nobody was hitting him. When he can't reach the object he wants to pick up or throw, he now gives up after a few
    seconds and goes back to his attacks. He can still circle for several seconds at a time.
  • The first game's other bosses can't get stuck waiting either. The colosseum dopples, Avalanche, Shadow King,
    Magneto and Master Mold could stop attacking for good if a move they were waiting for never became possible (for
    example facing a target, or a power that wasn't ready). They now give up on that move after a few seconds and pick
    another. Pyro, Mystique and Marrow are unchanged.
  • No more host crash in 4-player games. With four players, if a friend who was joining dropped out at the moment
    the host reloaded the area, the host's game could crash. That's fixed, and the other three players carry on.
  • A friend who drops out while joining no longer strands anyone. If the only friend joining dropped out partway
    through, a player already in the game could be left on the pause screen with everyone shown as "Not Ready". Now the
    players already in the game carry on together without leaving and rejoining (tested with two and with three
    players already in the game). Everyone may wait a few seconds at that area load. If two friends are joining and
    one drops out, the other still gets in.
  • Building from Ultimate Legends 0.5.0-beta.4 or later works with this builder. The Classic conversation box
    option arrives in beta.3.

What's new

  • The session follows the host's frame rate. Guests use the host's frame rate while they are in the session and
    get their own setting back when they leave; joining doesn't change your settings file. The host's online limit
    still applies: a host set to 144 fps with the usual 60 fps online limit opens a 60 fps session. To change the
    session's rate, leave and host a new room. A slow PC, a slow connection or fullscreen VSync can still slow
    everyone down. You no longer need to set everyone to 60 by hand.
  • The lobby shows each player's frame rate (for example "30 local / 60 online") and names a player whose PC
    can't keep up ("Cannot hold 60 fps"). It's a warning only; nothing lowers the rate by itself.
  • The rest of the online screens now look like the first game's: Game Options, the screen-name keyboard, Other
    ways to play, LAN host or join, LAN search and its games list, and Enter IP. Other ways still uses X-Men Legends
    II's own LAN and Connect by IP menus, now in the classic style. The old GameSpy-era screens are gone: if the online
    screens can't start, a plain page says to rebuild or update XML2 Fix, with Back to the main menu.
  • The player list in the online pause menu shows each player's name, hero and Ready / Not Ready in the first
    game's font and the player colours, at 4:3 and widescreen resolutions.
  • The keyboards work with keyboard and controller. Enter IP and Change name take typed letters, digits and dots,
    Backspace, the arrow keys or D-pad and Enter / A on a key. Typing follows your keyboard layout (AZERTY and QWERTZ
    included); letters the game can't show, such as accented letters, are refused with "Unsupported". Esc / B or
    Cancel closes the keyboard without changing anything, also on Enter IP. Done only finishes when you choose Done.
    The mouse still works too.
  • Host a game works with keyboard and controller. Up and Down move between the rows; Left and Right change the
    value without leaving the row; Del / Y and Enter / A switch DROP-IN on and off. Holding Enter on Open the room no
    longer posts the game by accident.
  • Using the analog stick on the online keyboard and Host page now moves one key at a time, like the D-pad.
    Holding the stick keeps moving, also like the D-pad. On Host a game it moves one row per push and holding Up or
    Down keeps moving; holding Left or Right changes Visibility or DROP-IN only once, with the stick or the D-pad.
  • Clearer online messages. After a failed connection the Play Online screen keeps saying "Unavailable" instead of
    going back to "Connecting...", and Browse explains the problem in plain words (no error codes). Key names are right
    from the first frame, and Rejoin reads F4 on the keyboard and Y on a controller. A friend who tries to join a
    started game with DROP-IN off is now told: "This session has started. Ask the host to start a new session."
  • LAN games: each game on your network is listed once (a guest of a started game no longer shows up as a second
    copy of it), rows read "Player's game (Normal)", and the selected row is easier to read. A guest who joined over LAN
    sees the host's game name and "LAN" in the lobby instead of empty room-code boxes.
  • Build from an extracted Xbox install. The standalone builder's --iso option also accepts an extracted
    X-Men Legends folder, including a compatible XML1-recomp install. It checks the original files and ignores loose
    mods, saves and settings. It doesn't bring saves across.
  • New Discord artwork for X-Men Legends in your Discord status.

Known issues

  • Pausing with four players is verified with test input only: in a few of those runs one player's Ready press
    didn't register and everyone stayed paused until it was pressed again. If that happens, press Ready again. With
    two or three players the pause released every time (two players also with a real controller on two PCs).
  • Hosting alone online: after Ready the game resumes but the pause menu stays open - press B or Esc again.
  • Co-op was tested on one PC with up to four copies of the game and on two PCs at home. Not verified yet: playing
    through the relay (networks where a direct connection fails), players on different home networks, three or four
    separate PCs, long sessions and joins over slow connections.
  • When a friend who is joining drops out during the admission, the host can show the game's own "lost online sync"
    message a few times. It is cosmetic: the session carries on and nobody else is dropped.
  • If the host leaves, the session ends; host takeover is planned for 0.8. Friends joining a game in progress come in
    at the host's next area, never mid-area.
  • Enter IP still draws a few empty boxes on its keyboard. They do nothing.
  • With the online service working, the Play Online screen can keep showing "Connecting..." for a while; joining by
    code still works.
  • The new screens were checked with a real controller and keyboard on two PCs; they ...
Read more

xml1-builder v0.6.0-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Nov 09:48

Beta - test build

Legends Classic builder v0.6.0-beta.2 (content version 31).

0.6.0-beta.2

Legends Classic 0.6.0-beta.2 (content 31 / catalogue 8 / LC41) goes with XML2 Fix 1.11.0-beta.2. It fixes the
problems found after beta.1: Blob's fight, the rare 4-player host crash and the lost-newcomer pause. The session now
follows the host's frame rate, and the rest of the online screens are in the classic style and work with keyboard,
controller and mouse. Update both parts and Rebuild before you play together.

Fixed since 0.6.0-beta.1

  • Blob fights again. In beta.1 he could spin on the spot and stop attacking, offline and online, most often when
    nobody was hitting him. When he can't reach the object he wants to pick up or throw, he now gives up after a few
    seconds and goes back to his attacks. He can still circle for several seconds at a time.
  • The first game's other bosses can't get stuck waiting either. The colosseum dopples, Avalanche, Shadow King,
    Magneto and Master Mold could stop attacking for good if a move they were waiting for never became possible (for
    example facing a target, or a power that wasn't ready). They now give up on that move after a few seconds and pick
    another. Pyro, Mystique and Marrow are unchanged.
  • No more host crash in 4-player games. With four players, if a friend who was joining dropped out at the moment
    the host reloaded the area, the host's game could crash. That's fixed, and the other three players carry on.
  • A friend who drops out while joining no longer strands anyone. If the only friend joining dropped out partway
    through, a player already in the game could be left on the pause screen with everyone shown as "Not Ready". Now the
    players already in the game carry on together without leaving and rejoining (tested with two and with three
    players already in the game). Everyone may wait a few seconds at that area load. If two friends are joining and
    one drops out, the other still gets in.
  • Building from Ultimate Legends 0.5.0-beta.4 or later works with this builder. The Classic conversation box
    option arrives in beta.3.

What's new

  • The session follows the host's frame rate. Guests use the host's frame rate while they are in the session and
    get their own setting back when they leave; joining doesn't change your settings file. The host's online limit
    still applies: a host set to 144 fps with the usual 60 fps online limit opens a 60 fps session. To change the
    session's rate, leave and host a new room. A slow PC, a slow connection or fullscreen VSync can still slow
    everyone down. You no longer need to set everyone to 60 by hand.
  • The lobby shows each player's frame rate (for example "30 local / 60 online") and names a player whose PC
    can't keep up ("Cannot hold 60 fps"). It's a warning only; nothing lowers the rate by itself.
  • The rest of the online screens now look like the first game's: Game Options, the screen-name keyboard, Other
    ways to play, LAN host or join, LAN search and its games list, and Enter IP. Other ways still uses X-Men Legends
    II's own LAN and Connect by IP menus, now in the classic style. The old GameSpy-era screens are gone: if the online
    screens can't start, a plain page says to rebuild or update XML2 Fix, with Back to the main menu.
  • The player list in the online pause menu shows each player's name, hero and Ready / Not Ready in the first
    game's font and the player colours, at 4:3 and widescreen resolutions.
  • The keyboards work with keyboard and controller. Enter IP and Change name take typed letters, digits and dots,
    Backspace, the arrow keys or D-pad and Enter / A on a key. Typing follows your keyboard layout (AZERTY and QWERTZ
    included); letters the game can't show, such as accented letters, are refused with "Unsupported". Esc / B or
    Cancel closes the keyboard without changing anything, also on Enter IP. Done only finishes when you choose Done.
    The mouse still works too.
  • Host a game works with keyboard and controller. Up and Down move between the rows; Left and Right change the
    value without leaving the row; Del / Y and Enter / A switch DROP-IN on and off. Holding Enter on Open the room no
    longer posts the game by accident.
  • Using the analog stick on the online keyboard and Host page now moves one key at a time, like the D-pad.
    Holding the stick keeps moving, also like the D-pad. On Host a game it moves one row per push and holding Up or
    Down keeps moving; holding Left or Right changes Visibility or DROP-IN only once, with the stick or the D-pad.
  • Clearer online messages. After a failed connection the Play Online screen keeps saying "Unavailable" instead of
    going back to "Connecting...", and Browse explains the problem in plain words (no error codes). Key names are right
    from the first frame, and Rejoin reads F4 on the keyboard and Y on a controller. A friend who tries to join a
    started game with DROP-IN off is now told: "This session has started. Ask the host to start a new session."
  • LAN games: each game on your network is listed once (a guest of a started game no longer shows up as a second
    copy of it), rows read "Player's game (Normal)", and the selected row is easier to read. A guest who joined over LAN
    sees the host's game name and "LAN" in the lobby instead of empty room-code boxes.
  • Build from an extracted Xbox install. The standalone builder's --iso option also accepts an extracted
    X-Men Legends folder, including a compatible XML1-recomp install. It checks the original files and ignores loose
    mods, saves and settings. It doesn't bring saves across.
  • New Discord artwork for X-Men Legends in your Discord status.

Known issues

  • Pausing with four players is verified with test input only: in a few of those runs one player's Ready press
    didn't register and everyone stayed paused until it was pressed again. If that happens, press Ready again. With
    two or three players the pause released every time (two players also with a real controller on two PCs).
  • Hosting alone online: after Ready the game resumes but the pause menu stays open - press B or Esc again.
  • Co-op was tested on one PC with up to four copies of the game and on two PCs at home. Not verified yet: playing
    through the relay (networks where a direct connection fails), players on different home networks, three or four
    separate PCs, long sessions and joins over slow connections.
  • When a friend who is joining drops out during the admission, the host can show the game's own "lost online sync"
    message a few times. It is cosmetic: the session carries on and nobody else is dropped.
  • If the host leaves, the session ends; host takeover is planned for 0.8. Friends joining a game in progress come in
    at the host's next area, never mid-area.
  • Enter IP still draws a few empty boxes on its keyboard. They do nothing.
  • With the online service working, the Play Online screen can keep showing "Connecting..." for a while; joining by
    code still works.
  • The new screens were checked with a real controller and keyboard on two PCs; they still need checks with more
    controllers and at more resolutions. Save import from xemu and XML1-recomp is not switched on in this beta.
  • Everything else: known issues.

How to update

Back up Documents\Activision\X-Men Legends\SaveLC first. In Ultimate Legends' Beta channel, update XML2 Fix to
1.11.0-beta.2
and the builder to 0.6.0-beta.2, then Rebuild, then Play. Using the standalone builder? Copy
the matching dinput.dll into the output folder before you build; the builder refuses an older DLL, and swapping
the DLL alone doesn't update the screens.

Everyone in a game needs this same pair and the same settings (content 31). A beta.1 game and a beta.2 game
refuse each other when you join. Your 0.6.0-beta.1 saves load in beta.2 (same save format as 0.5 and 0.6); stable
0.4.0 can't load them.

Legends Classic is an unofficial, non-commercial fan project. No game files, game art or modified game executables
are distributed; you need your own copies of both games.

0.6.0-beta.1

Legends Classic 0.6.0-beta.1 goes with XML2 Fix 1.11.0-beta.1 (content 30 / catalogue 8 / LC40). It is a beta: the
co-op parts were tested on one PC with two copies of the game and on two PCs at home, and still need wider testing
(see "Known limitations"). Guard stays off by default.

What's new: online co-op inside the game

  • Play Online now opens the game's own co-op screens. Host opens a room: choose Public or Private, give it a
    name, pick a new or saved campaign and choose whether friends may join after the start (DROP-IN). The room code
    appears as soon as the room is open, with Copy code. Join by code takes a pasted or typed code, and
    Browse lists public rooms with the host, campaign, player count and drop-in setting.
  • The lobby shows everyone who has joined. Players mark themselves Ready and the host starts when the group is
    set. The host can also start alone.
  • The Party screen (the pause menu's Party row) shows who is playing and what each player is doing, keeps the
    room code at hand for inviting more friends, and lets the host remove a player.
  • Other ways still opens X-Men Legends II's original online menus (LAN search, Connect by IP). The new screens and
    their fonts are on by default; build with --online-menus off to keep the original menus.
  • A build with the new screens writes [Online] Transport=gns in xml2-fix.ini, the connection setting they need;
    a Rebuild adds it to an older install.
  • Clear messages explain every connection problem on the screen where it happens, with Retry only where trying
    again can help. When a room or player limit is reached, the message says what to do instead.

**What's new: join a g...

Read more

xml1-builder v0.6.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Nov 22:35

Beta - test build

Legends Classic builder v0.6.0-beta.1 (content version 30).

Legends Classic 0.6.0-beta.1 goes with XML2 Fix 1.11.0-beta.1 (content 30 / catalogue 8 / LC40). It is a beta: the
co-op parts were tested on one PC with two copies of the game and on two PCs at home, and still need wider testing
(see "Known limitations"). Guard stays off by default.

What's new: online co-op inside the game

  • Play Online now opens the game's own co-op screens. Host opens a room: choose Public or Private, give it a
    name, pick a new or saved campaign and choose whether friends may join after the start (DROP-IN). The room code
    appears as soon as the room is open, with Copy code. Join by code takes a pasted or typed code, and
    Browse lists public rooms with the host, campaign, player count and drop-in setting.
  • The lobby shows everyone who has joined. Players mark themselves Ready and the host starts when the group is
    set. The host can also start alone.
  • The Party screen (the pause menu's Party row) shows who is playing and what each player is doing, keeps the
    room code at hand for inviting more friends, and lets the host remove a player.
  • Other ways still opens X-Men Legends II's original online menus (LAN search, Connect by IP). The new screens and
    their fonts are on by default; build with --online-menus off to keep the original menus.
  • A build with the new screens writes [Online] Transport=gns in xml2-fix.ini, the connection setting they need;
    a Rebuild adds it to an older install.
  • Clear messages explain every connection problem on the screen where it happens, with Retry only where trying
    again can help. When a room or player limit is reached, the message says what to do instead.

What's new: join a game in progress

  • Friends can join a game that has already started. The newcomer waits on Joined Game while the others keep
    playing; at the host's next area load everyone, the host included, reloads that area together and the newcomer
    takes a free hero. That one load takes a little longer. Nobody appears in the middle of an area.
  • Joining a game in progress works with two, three and four players, at any exit and in areas with enemies: a
    second or third friend joins a running game the same way, and two friends who are waiting at the same time both
    come in at the same exit.
  • When a friend joins, the host and the other players wait up to 10 seconds on an "A player is joining..." message
    instead of replaying a moment of play. The wait is [Online] JoinHoldSeconds in xml2-fix.ini (default 10, 0..15;
    0 turns it off). If a join takes longer than the wait, play continues and the friend comes in moments later.
  • Joining a game in progress is on by default. The host's DROP-IN setting turns it off for one room; a friend
    who enters the code of a game that has started then is told that the session has started and to ask the host to
    return to the lobby. A player who set LateJoin=0 in xml2-fix.ini keeps that choice through a rebuild or repair.
  • In testing, admissions on one PC and on two PCs at home held through movement by both players and the walked exits
    that followed, with every PC staying in step.

Co-op fixes since 0.5

  • A lost connection to the room listing service no longer ends a healthy game during a long loading screen: players
    already in keep playing, and new players cannot join until the host opens a new room.
  • When the host quits (even with a dead hero), crashes or loses the connection, guests see a host-left message with
    working Host again and Back to Online buttons. A sudden crash can take about ten seconds to be noticed.
  • Guests stay connected while the host uses Team Management, and a player who leaves and rejoins gets the roster back.
  • Players can now leave a lobby or a game and others can still join: before this, after someone other than the most
    recent player left, a new or returning player could lose the connection a minute after joining, taking another
    player with them. In testing on two PCs with four players, after a player left the lobby (from the first, a middle
    or the last place) or quit a game in progress, a returning or brand-new player joined, in the lobby or later in the
    game, and everyone stayed connected and in step.
    With three or four players, the guests now connect to each other the same way they connect to the host, and when
    one player's game closes suddenly, the others agree that it left and play on.
  • Fixed a crash when starting with a guest, focus and input getting stuck when returning to Play Online, and
    Party confirmations that swallowed the next Quit or Back.
  • Screens free their text, panels and model data when they close; repeated opening and closing kept memory use steady
    in automated checks.
  • Ready, Start, lobby cards, badges, headings, prompts and the Copy code button were corrected; Browse, Retry and the
    dialogs respond correctly to keyboard, controller and clicks, including on button edges and corners. Resolution keeps
    its value at 4:3.
  • Relay-only connections refuse an unavailable relay instead of quietly connecting directly, and refusing one
    connection no longer disturbs the healthy players in the room.
  • The flying carry attaches the carried character from the first frame.

Other fixes

  • Steam Deck and other Linux PCs that run the game through Proton no longer stop on a black screen at start: every
    XML2 Fix since 1.8.1 could wait there forever while it looked for controllers. Under Proton (Wine),
    [Input] CacheDeviceScan now defaults to 0, so controllers are found the way they were before 1.8.1; a setting
    written in xml2-fix.ini is used as written, and Windows is unchanged.

Carried forward from 0.5

  • The first game's items, shops and drops. All 116 X-Men Legends equipment pieces with their bonuses, the first
    game's drop tables, the Forge tier by tier, the Healer's prices, the Grab Bag, selling and Danger Room rewards. Where
    a bonus has no exact PC equivalent it is converted as closely as the PC game allows; the build's
    Docs\APPROXIMATIONS.md lists each one.
  • A bigger save format with room for 1024 item definitions and 4096 item bonus records, more objectives, talents
    and world items. Existing saves load and are converted.
  • Phoenix's telekinesis (hold power 1 to lift, move and throw an enemy) and the flying carry (Flight rank 3
    for Phoenix, Rogue or Storm: hold Guard over an ally or enemy to pick them up, carry them for about 10 seconds and
    throw them).
  • Guard (Block / Grab) works as in beta 8. The first game's grab rules and held blocking stay optional
    (--guard-decide xml1) and off by default until they pass real-controller checks; docs/RELEASE_GUARD.md
    describes how that default would change.

These stay on by default, from the launcher and from the command line alike; options you turn off stay off.

How to update. Use Ultimate Legends' Beta channel: update XML2 Fix to 1.11.0-beta.1 and the builder to
0.6.0-beta.1
, then Rebuild, then Play. With the standalone builder, copy the matching dinput.dll into the
output folder before you build (the co-op screens need it during the build).

Co-op needs the same version. Everyone needs the same pair, content version 30 and the same gameplay settings,
with Test mode off. A 0.5 game (content version 29) cannot join a 0.6 game. The item catalogue is unchanged from 0.5.

Back up your saves. Copy Documents\Activision\X-Men Legends\SaveLC somewhere safe before updating. 0.6 keeps the
0.5 save format; beta 8 and stable 0.4.0 cannot load these saves (they refuse them without changing them).

Known limitations

  • Added after release (Nov 4): Blob can stop attacking. In East Manhattan, Blob sometimes turns in circles and never attacks again (offline and online). Keep hitting him and he goes back to fighting after a while. Fixed in the next beta.
  • Added after release (Nov 4): rare host crash in 4-player games. With four players, if a friend who is joining drops out at the moment the host reloads the area, the host's game can crash. Two- and three-player games are not affected. Fixed in the next beta.
  • Everyone in a session should use the same frame rate (60 is best): co-op runs at the slowest player's pace, so
    a player on a 144 Hz monitor with a friend at 60 gets judder and input lag. For online play set the frame rate to 60
    ([Display] FrameRate=60 in xml2-fix.ini); a later beta will match it for the whole session automatically.
  • Co-op was tested on one PC and on two PCs at home, with two, three and four players, including fights. Not
    verified yet: playing through the relay (networks where a direct connection fails; relay connection failures are
    still being investigated), four players on four separate PCs, long sessions, and joins over slow connections (if a
    join takes longer than the wait, play continues and the friend comes in moments later).
  • If the host leaves or loses the connection, the session ends; there is no host takeover or automatic reconnect yet
    (planned for 0.8). If a healthy host drops out unexpectedly, please keep xml2-fix.log from every PC: the cause is
    not known yet.
  • Joining a game in progress happens only at the host's next area, never mid-area.
  • If the only friend who is joining drops out partway through, one of the players already in the game can be left on
    the pause screen with every player shown as "Not Ready". That player has to leave and join again by code; the
    others play on. This is being fixed for the next beta.
  • The new screens still need more checks with mouse, keyboard and controllers at 720p, 1080p and 4:3, over long
    sessions (memory and graphics memory), and on the first opening of Party and the slower original screens. The
    Play Online Back selection, Party status labels and the original Kick button's lette...
Read more

xml1-builder v0.5.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 23:45

Beta - test build

Legends Classic builder v0.5.0-beta.1 (content version 29).

0.5.0-beta.1 is the 0.4.2 line released as 0.5, with XML2 Fix 1.10.0-beta.1 and Ultimate Legends 0.4.0 or later
(Beta channel).

What's new in 0.5.0-beta.1

  • The first game's items, shops and drops. All 116 X-Men Legends equipment pieces are in, with their bonuses, and
    enemies drop them from the first game's drop tables. The Forge sells the first game's gear tier by tier, the Healer
    has the first game's prices, the Grab Bag and selling work as they did, and the Danger Room rewards are the first
    game's again. Where a bonus has no exact PC form it is converted as closely as the PC game allows (the build's
    Docs\APPROXIMATIONS.md lists every one).
  • A bigger save format. Room for the new items and for heavier mods later: 1024 item definitions (was 160), 4096
    item bonus records (was 512), more objectives, talents and world items per save. Your existing saves load and are
    converted; see "Back up your saves" below.
  • Phoenix's telekinesis from the first game. Hold power 1 to lift an enemy, move him and throw him; thrown enemies
    take damage when they hit a wall, a prop or another enemy.
  • Guard (Block / Grab) works as in beta 8. The first game's Guard rework is held back for a later beta (on a real
    controller it refused grabs the game would make and showed no block).
  • The flying carry. With Flight rank 3 bought, Phoenix, Rogue and Storm can fly over an ally or an enemy, hold
    Guard to come down and pick him up, carry him for up to about 10 seconds and throw him.
  • Controllers connected after the game started now work (confirmed with an Xbox controller over Bluetooth turned on at the main menu) in the game (before, a pad plugged in at the main menu
    could be ignored). [Input] LatePads = 0 in xml2-fix.ini switches back.
  • More engine headroom for the first game's fights and for mods: fighting styles, style events, fight moves, effect
    templates, primitives, effect vectors, script pools, particle scratch, attached powerups and callback nodes are all
    raised (limits wave 3), and the builder checks every converted level against the new limits.
  • Co-op: a player who is still choosing a hero shows as (Spectating) instead of a blank name. When the host's
    gameplay settings differ from yours, your games list now says so ("Host's gameplay settings differ: ...") and a
    message tells you that both players need the same build and the same settings in xml2-fix.ini; before, the list
    only said "No Games Found".
  • Clearer save messages. A save made with the optional 96-actor limit on ([Limits] Actors=96) now tells you to
    turn Actors=96 back on to load it, instead of asking you to update.

Back up your saves. The first time 0.5 saves your campaign it writes the new save format. Beta 8 (0.4.1) and the
stable 0.4.0 cannot load a save written by 0.5: they refuse it ("this save needs a newer version of XML2 Fix"), they
do not damage it. If you might go back, copy Documents\Activision\X-Men Legends\SaveLC somewhere safe before you
play.

How to update. In Ultimate Legends (Beta channel), update both parts - XML2 Fix to 1.10.0-beta.1 and the
builder to 0.5.0-beta.1 - then Rebuild, then Play.

Co-op needs the same version. Everyone in a session needs XML2 Fix 1.10.0-beta.1 and a 0.5.0-beta.1 build (content
29, LC38). A 0.5 game and a beta 8 or 0.4.0 game refuse each other at join. Test mode must be off for online play.

What to test

  • Your campaign: load it, play a level, save, quit, load again (and keep the backup above).
  • The Forge, the Healer, the Grab Bag and selling; the items enemies drop and their bonuses.
  • Phoenix's telekinesis (hold power 1 on an enemy, throw him into a wall); Guard next to an enemy (grab) and with nobody
    near (block), as in beta 8.
  • The flying carry with Flight rank 3 (Phoenix, Rogue or Storm over an ally or an enemy, hold Guard).
  • Big fights and boss fights with the raised limits; a controller turned on after the game started.
  • Co-op between separate PCs, if you can (not tested on 0.5 yet).

Tested: automated runs on the 0.4.2 candidates (082c-082f) covered the new save format on seed saves and on a copy
of a real campaign (new game, overwrite, zone change, save and reload), beta 8 and 0.4.0 refusing a 0.5 save readably
without changing it, the Forge, the Healer, buying, selling and the Grab Bag at five save levels, drop rates per roll
against the first game's, heavy fights with the wave 3 limits (no refusals), Phoenix's telekinesis on a soldier she
faces (10 of 10), the flying pickup (4 of 4) and a 10-second carry, boot to the main menu three times, and co-op on one PC with two instances (join, fight,
level changes, an Xtraction save on both, the (Spectating) label; a beta 8 game and different gameplay settings
refused on both sides). The optional 96-actor limit ran 96 live actors in a boss fight, refused the 97th cleanly and its
saves reloaded. In 148 real saves every room keeps at least what it keeps on 0.4.0. The two new messages above passed
automated checks but have not been seen in a live game yet. Play between separate PCs has not been tested on 0.5 yet.

Known issues

  • Phoenix's telekinesis lifts the enemy she faces; when she faces away or stands in a crowd the game can pick a crate
    next to him, or nobody (6 of 10 in that test).
  • A flying carry ends when the carried one bumps a prop or a wall, or when the carrier lands (fly higher over crates).
  • Flying carry: at the pickup the carried hero is invisible for a moment, then appears in the carrier's hands
    (visual only).
  • Throws: a thrown enemy is hurt only by what he hits, not by landing on the floor. In testing, "Physical Resistant"
    soldiers lost 4 of 100 health from an Attack throw and none from a Smash throw; whether that is enough is still being
    judged, and a throw straight into a wall has not been tested yet.
  • The first game's Guard (picking up a stunned enemy, Beast's rank 3 wall lunge) is held back for a later beta: with a
    real controller it refused grabs the game would make and showed no block. Guard is beta 8's Block / Grab for now.
  • The first Grab Bag course can be "Challenge - Rogue" rather than the first game's first one (being checked against the
    original).
  • The 96-live-actor limit ([Limits] Actors=96, with [Limits] ActorPools=124) is off by default: the builder does not
    write it. A save written with it on needs it on to load (0.5 with it off asks you to turn it on; beta 8 and 0.4.0
    refuse it), so back up first if you try it.
  • Everything listed under 0.4.1's known issues below still applies (Blob can rarely stand still; enemy power rate and
    the MP5 soldier's mid-range damage #101, falls #22, cosmetics #54, solo parts online #106, button prompts XML2 Fix #8).

See Play online for steps, privacy and troubleshooting.

Details

The 0.4.2 line's options are the builder's defaults since 0.5.0-beta.1 (xml1-builder build and build_xml1.py, what
the launcher's Build and Rebuild run): --save-layout w2, --loot xml1 (with --loot-def-damage-scale resist),
--limits-wave3 all, --telekinesis xml1 and --flying-carry xml1. Each can still be turned off (--save-layout retail with --loot off is the 0.4.1 layout; the moves follow --grab-carry). --guard-decide stays off (Owen's
real-pad check of candidate 082f: the stunned-only rule refused the grabs XML2's Guard makes and a refused press showed
no block), so no GuardDecideRule is written and Guard is XML2's Block / Grab; --guard-decide xml1 still writes it.
The pipeline passes all of them to the build explicitly. --actor-pools (E4 stage 1) and [Limits] Actors=96 (E4 stage 2, an optional
ini preference validated against the companion DLL) stay off. The requirement is >=1.10.0-beta.1 (betas) / >=1.10
(stable); identity content 29 / catalogue 8 / LC38. The entries below were written while the options were opt-in;
"default off" there means the 0.4.2 candidates.

  • Opt-in W2 save layout. build_xml1.py --save-layout w2 (and xml1-builder build --save-layout w2; default
    retail, which writes nothing new and leaves every default build byte for byte as it was) configures and validates
    a build for XML2 Fix's wave 2 native save layout. The ini gets the four keys together: [Save] Format=lc,
    [Limits] EntityCapacity=1, SaveLayout=w2 and ItemEnhancements=4096 (never the default 512 beside SaveLayout).
    Any other combination is refused before a byte is written: SaveLayout without Format=lc, without EntityCapacity=1, with
    another ItemEnhancements value, or with any value but exactly w2; an empty SaveLayout= is never written. A
    companion DLL that does not recognize the key is refused by name (E_XML2FIX_OLD in the builder CLI, which is an
    error rather than the older-fix warning, because an older fix would silently run the baseline layout). A rebuild
    without the option drops the key again. Needs XML2 Fix 1.9 with limits wave 2 step 8; it is in no candidate yet.
  • W2 data limits (validator V67 and the existing rows). With the option, the validator and the budgets use the
    W2 descriptor's numbers and refuse data over them: 64 mission files, 1024 objectives (127 per act), 256 talent
    registrations per pool (still 9 files), hero talent position < 200 and shared < 199, 1024 item definitions, 4096
    enhancement and attached records (the items stage checks the 4096 pool), at most 1024 placements per zone, 1024
    world-item placements over the 8 heaviest resident zones and 8191 zone-string names / 0x1ffff arena bytes over the
    same. Without the option the old limits stay (25 / 299 / 75, 100 / 9 / 99). SPEC 107.
  • Opt-in first-game item economy, builder side (loot + Forge, step 1). build_xml1.py --loot xml1 (and
    xml1-builder build --loot xml1; default off, which leaves every build byte...
Read more

xml1-builder v0.4.1-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 00:18

Beta - test build

Legends Classic builder v0.4.1-beta.1 (content version 28).

0.4.1-beta.1 is the port's beta 8, with XML2 Fix 1.9.0-beta.1 and Ultimate Legends 0.4.0 or later (Beta channel).

What's new in beta 8

  • Colossus's charge hits: it knocks enemies back and does damage, as in the first game.
  • The GRSO Officer and Captain have their guns and grenades again (also broken in 0.4.0): the Officer's nullifier
    beam and incendiary grenade, the Captain's knockback gun and flashbang.
  • Saved rooms stay cleared after updating. Beta 8 changes 65 map files without moving anything in them; the save
    reader used to throw away every saved room of a changed map, so enemies, pickups and doors came back. Now they stay
    as you left them.
  • Bigger engine limits for the first game's content, and groundwork for heavier graphics mods: the model-file
    cache (200 -> 1024), character sound sets (16 -> 127), the animation pool (500 -> 22,528) and resident character
    stats (31 -> 320), and the build's own copy of XMen2.exe can use 4 GB of memory instead of 2 GB (your X-Men
    Legends II install is never changed).
  • The first game's bosses: the colosseum dopples throw the fastball special and set off the arena's traps, and
    Avalanche, Pyro, Mystique, Shadow King, Magneto and Blob fight with their X-Men Legends brains again.
  • Juggernaut grabs you, holds you and hits, as in the first game.
  • More of the first game's moves: wall cling and back-flip for the acrobats, Rogue's drain, Might rank 3 lifting
    the first game's heavy objects, ice and lava skating, Nightcrawler's teleports, popups, Beast's bounce, the fastball
    and the jump attack's and flying charge's damage.
  • Guns aim like the first game's (a thin ray from the muzzle that stops at the first thing in its way), damage
    rounds like the first game's, and the pause menu's Objectives page lists what the first game listed.
  • The builder accepts a retail XMen2.exe that a 4 GB patcher has touched (only the header flag or checksum
    changed); any other change is still refused, with a clearer message.

Still in progress (next beta): the first game's telekinesis for Phoenix, its Guard choice (what a Guard press
grabs, picks up or throws, and the acrobats' wall lunge) and the flying carry (Phoenix, Rogue and Storm carrying and
throwing in flight) are switched off in this beta while they are finished. Guard grabs enemies and picks up objects as
in 0.4.0, Phoenix's power 1 is the PC game's telekinesis, and flying and the flying charge are unchanged.

Your saves carry over; the save format is unchanged.

How to update. In Ultimate Legends (Beta channel), update both parts - XML2 Fix to 1.9.0-beta.1 and the
builder to 0.4.1-beta.1 - then Rebuild, then Play.

Co-op needs the same version. Everyone in a session needs XML2 Fix 1.9.0-beta.1 and a 0.4.1-beta.1 build (content
28, LC37). A beta 8 game and a 0.4.0 or beta 7 game refuse each other at join. Test mode must be off for online play.

Tested: a hand test of this release's content covered Colossus's charge, the GRSO grenades, Guard grabbing and
picking up, and saved rooms in a HAARP save. Automated runs on the beta 8 candidates covered the boss fights,
Juggernaut's grab, crowded rooms with the raised limits (no refusals), memory above 2 GB without a crash, and co-op on
one PC with two instances of the game (fights and a level change, no desync; an older build refused by name). In 148
real saves every room keeps at least what it keeps on 0.4.0. Play between separate PCs has not been tested yet.

Known issues

  • The flying carry, Phoenix's XML1 telekinesis and the XML1 Guard choice are off (above).
  • With a controller connected the game can pause for a moment about once a second (easy to see on the Team
    Management screen). It happens on 0.4.0 too; the cause is found (the game re-checking the controllers) and a fix
    is on the way.
  • Blob fights now, but in rare runs he can still stand still.
  • Everything listed under 0.4.0's known issues below still applies (enemy power rate and the MP5 soldier's mid-range
    damage #101, falls #22, cosmetics #54, loot and shop #6, solo parts online #106, button prompts XML2 Fix #8).

See Play online for steps, privacy and troubleshooting.

Details

  • 4 GB of address space (E12). The build's own copy of XMen2.exe is large-address-aware: one flag word in its
    file header (exe_flags, SPEC 108), so on 64-bit Windows and Wine/Proton the game can use 4 GB instead of 2 GB -
    room for the raised engine limits and bigger assets. Your X-Men Legends II install is never changed. --no-laa
    (builder) / --laa off (build_xml1) keeps the install's exe byte for byte. The manifest now lists XMen2.exe as a
    built file; validator V1 accepts exactly the flag. Needs XML2 Fix 1.9.0's address-space lines to see it in the log.
    Static risk check only so far; the live high-address test is queued. The builder refuses a DLL without the
    address-space module for a build whose exe carries the flag (its address space: laa start line is the marker).

  • Beta 8: the first game's bosses. Builds write [Game] Xml1Bosses (XML2 Fix rule 40) listing every boss whose
    zone and spawn names the build carries: the colosseum dopples, Avalanche (both fights), Pyro, Mystique, Shadow
    King, Magneto, Blob and Marrow (whose brain is already native). Shadow King and Magneto use their authored timed
    shield powers again; a partial build that still carries the old hard-protection scripts keeps them and does not
    list that boss (SPEC 106).

  • Beta 8: more first-game moves. Builds write [Game] Xml1WallCling=xml1 (rule 39: the acrobats' wall cling and
    back-flip), LiftRule=xml1 (rule 38: Might rank 3 lifts the first game's heaviness-4 objects, kept as
    xml1heaviness), the seven shared-handler keys = xml1 (rule 42: skating, Nightcrawler's teleport landings and
    buddy teleport, popups and their landing, the charge, Gambit's object charge) and, with Rogue's decide now the
    default (--rogue-decide xml1; xml2 keeps the old collapse), the power2 decide + internal ability_drain
    chains and Xml1RogueDecide=xml1 (rule 43).

  • Beta 8: saves keep the zones you already cleared. Beta 8's heaviness tags (and the Magneto controller's
    shield script on the asteroid) changed 65 map files without moving or renumbering anything in them, and the save
    reader used to drop every saved zone record of a changed map (enemies, pickups, doors and one-time scenes came
    back). The save-compatibility ledger now carries equivalence rows for those maps against stable 0.4.0, and the
    reader (XML2 Fix 1.9.0) keeps such records exactly; every zone applies at least as many saved records as on 0.4.0
    in the real-saves gate.

  • Beta 8: damage rounds as in the first game. Balance builds add [Balance] ReceiveRounding=xml1 and
    DamageCap=xml1 (rule 41).

  • Beta 8: room for graphics mods. [Limits] IGBCache=1024 with ResourceNames=2048 and [Engine] ModelHandles=8192 (rules 31-32). The conversion still keeps every package under the game's own 200 (V12).

  • Beta 8: the objectives page as in the first game. Builds write [Game] ClassicObjectives=1 (XML2 Fix 1.9.0-beta.1:
    the page lists the visible objectives with no gaps and opens on the current one), the pause layout puts each
    selector on the picture the engine draws (36, 346 - 45n), lifts the bottom bar 14 units off the screen's edge
    (prompts at z 33) and the objectives tables carry the act file's order. Checked live on 10-25 (1280x720 windowed,
    2560x1440 borderless) beside X-Men Legends I in xemu.

  • Beta 8: grabs as in the first game. --grab-carry xml1 is the default content option (xml2 = the stock
    handlers for A/B builds) and builds write [Game] Xml1GrabCarry=xml1 (rule 45): Juggernaut's grab-and-hit, the
    shared grab victim, pickup and thrown-landing recovery, the ally throw and the flying charge picking up whoever it
    hits, and XML1's flight upkeep (rule 45 revision 3: the builder requires that DLL by its install line).

  • In progress for beta 9: the first game's telekinesis, guard decide and flying carry. Phoenix's XML1 telekinesis
    (TelekinesisRule, rule 46 bit 512) and the flying carry (Phoenix, Rogue and Storm picking up, carrying and throwing
    or smashing in flight) are switched off in beta 8 while their throw damage, carry pose and held-button pickup are
    finished: builds no longer write [Game] TelekinesisRule=xml1 (--telekinesis xml1 keeps it for test builds) and
    write [Game] Xml1FlyingCarry=0 beside Xml1GrabCarry=xml1 (--flying-carry xml1 leaves it out). Since candidate
    080i the first game's guard decide (GuardDecideRule, rule 46 bit 1024) is off too: in the 10-26 hand test a real
    Guard press (pad X / keyboard E) with it did nothing at all - no grab, no pickup - so builds no longer write
    [Game] GuardDecideRule=xml1 (--guard-decide xml1 keeps it for test builds) and Guard grabs enemies and picks up
    objects as in 0.4.0 (XML2's guard decide). Juggernaut's grab, the flying charge and XML1's flight upkeep stay on.
    The builder refuses a DLL without the Xml1FlyingCarry key or its install line (080g and older would install the
    carry).

  • Builder: a retail XMen2.exe touched by a 4 GB patcher is accepted. The install's exe was refused
    (E_XML2_UNKNOWN_EXE) when a large-address-aware patch or a checksum rewrite had changed its header. The builder
    now identifies the retail exe by its size and a hash with the large-address-aware flag and the PE checksum zeroed
    (the md5 check stays); any other difference is still refused, and the message now says whether the code differs
    from retail or it is a different build.

  • Beta 8: the first game's animation enums. --anim-enums xml1 is the default (the flying carry needs it;
    --grab-carry xml2 builds may turn it off): the 21 XM...

Read more

xml1-builder v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 00:29

Legends Classic builder v0.4.0 (content version 27).

Legends Classic 0.4.0 is the first stable release since 0.2.5. It gathers the seven 0.4.0 betas (0.3.0-beta.1 to
0.4.0-beta.7) and needs XML2 Fix 1.8.0 and Ultimate Legends 0.4.0.

What's new since 0.2.5

  • Online co-op. Host or join a game by code, or browse public games, from the game's own online menus and the
    launcher's Online panel - no port forwarding and no ini editing. Friends can drop in mid-campaign and come into play
    at the next level change, and during the first game's solo story parts (Wolverine's opening, Magma's mansion tour)
    the other players stay connected and watch. A guest dropping out of a game of three or four no longer ends it for
    the others, slow players are no longer thrown out, and four-player starts no longer crash. Online play no longer drops to about 15 frames a second on a busy PC (it runs at 30 by default; 60 where the PC holds it). Connections are encrypted, with a relay when a direct
    connection fails.
  • Fewer crashes. The team-combo popup crash is fixed, the game's model pools are four times bigger (effects,
    props and heads no longer go missing in big fights), and quitting no longer crashes now and then.
  • The classic look. The HUD, the pause menu, Options, Save/Load, the character room, Review, the Codex, the
    Danger Room, the Forge, the healer, trivia, loading screens and credits wear the first game's art, converted from
    your own disc. The white cones and gold rings in the character room are gone, and the Codex's Details and Back work
    as in the first game.
  • Enemies fight like the first game. Enemy combos stop when your hit makes them flinch. Every gun enemy (the MP5
    and laser soldiers, the officers, the flamethrower and lightning commanders, the police) uses the first game's
    weapon brain: they shoot from range instead of walking up to punch, and throw grenades when their energy is full. A gun
    only lands a hit on the first game's half-second timer, as in X-Men Legends. Enemy powers come on time, and enemy
    power attacks are never blocked, as in the original.
  • Walls only block you from the front in the first game's levels, as in X-Men Legends, so enemies no longer get
    stuck on the ends of walls.
  • "Alison" beside Magma's early lines, as in the first game.
  • Reviving a hero costs what it did in the first game: 200 / 800 / 1,800 / 3,200 / 5,000 Tech Bits by team level band; earlier versions charged far more (XML2 Fix 1.8.0).
  • Text fixes: Magneto's codex biographies keep the first game's layout, and three level names the first game's
    own data had mixed up are right again.

Your saves carry over; the save format is unchanged.

How to update. In Ultimate Legends 0.4.0 (Stable channel), update both parts - XML2 Fix to 1.8.0 and the
builder to 0.4.0 - then Rebuild, then Play. Coming from 0.2.5 the launcher offers the Rebuild itself. A
beta 7 build is already the same game (content 27, LC36), so beta 7 testers only need to update both parts - XML2
Fix 1.8.0 is what fixes the revival price.

Co-op needs the same version. Everyone in a session needs XML2 Fix 1.8.0 and a 0.4.0 build. 0.4.0 makes exactly
the same game as 0.4.0-beta.7, but XML2 Fix 1.8.0 charges the first game's revival price and beta 7's fix did not,
so a PC still on XML2 Fix 1.8.0-beta.7 is refused at join, naming 10 Xtraction services/RevivalCost, until it
updates. 0.2.x and the older betas cannot join 0.4.0 games. Test mode must be off for online play.

Tested: online was tested on one PC with two instances of the game: two games played together for 21 minutes at 30 fps (fights with AI teammates, a co-op save, a player dropping out and rejoining by room code, two level changes) plus a 3-player drop test at 60 fps, with no desync; beta 6 and stable games refuse each other. Internet play between
different PCs, and games of three or four players, have not been fully verified yet.

Known issues

  • Enemy powers (issue #101): enemies may still use their powers a little more often than in the first game; this is
    still being measured (beta 7 measured attack and melee rates within range of the original).
  • Gun enemies (issue #101): at mid range the MP5 soldier still does more damage than in the original (about 1.6 to
    2.2 times: the original misses the first shot or two after each pause, the port doesn't yet). The flamethrower and
    lightning commanders have not been compared side by side with the original yet.
  • Falls (issue #22): 15 of the first game's fall kill zones (20 placements in 14 maps) stay switched off until
    each one is proven safe for the AI teammates too.
  • Cosmetic reports (issue #54): for example ground textures that look speckled at some camera angles (seen on a
    Steam Deck, not yet compared with Windows).
  • Loot and the item shop (issue #6) still use X-Men Legends II's systems.
  • Solo story parts online (issue #106): the other players now stay connected and watch; the issue stays open
    until it has been played through in more sessions. Please report it if a player is dropped during a solo part.
  • Button prompts (XML2 Fix issue #8): after rebinding the controls, or with Steam Input, a prompt may show the
    wrong button. Not reproduced on Windows so far.
  • Host loss ends the session. There is no host migration or automatic reconnection; a guest can join again by
    code. A failed shared-campaign restore can require rehosting. LAG warnings may still show.
  • Public games connect players directly, so players can see each other's internet address. Use a private code
    to play only with friends.
  • Hazards: fire, spike and electricity damage was checked in only a few rooms; tell us the room if one doesn't
    hurt.
  • The classic look was checked on one PC at 4:3 and 16:9; report any screen whose text is cut off.

See Play online for steps, privacy and troubleshooting.

Beta by beta

  • Beta 7: gun hits on the first game's timer. The weapon rows now carry each gun's XML1 trace time and accuracy
    (schema 4) and the converted bullets carry an inert marker, so XML2 Fix 1.8.0-beta.7 lands a bullet's hit only when
    its trace timer has run out (the MP5's half second), as in X-Men Legends, while the shot sound and muzzle flash stay
    on every shot. The builder refuses a beta 7 fix that cannot read schema 4 rows.

  • Beta 7: every gun NPC gets the first game's weapon brain. The characters stage now exports all 20 gun NPCs of
    your XML1 data (schema 4 rows actor|recoil|range|burst|leader|warmup|flags|tracetime|accuracy, 8 melee-weapon exclusions): the
    officer, the MP5 and laser/super-laser soldiers, the nullifier and knockback officers (warm-up before every shot),
    the lightning and flamethrower commanders (continuous beam, warm-up once) and the police pistol (default-handler
    primary). XML2 Fix 1.8.0-beta.7 runs them with the original input gate, the bullet line-of-sight drop and the
    empty-query branches (gameplay rule 16 revision 11).

  • Beta 7: enemy powers on time, power attacks never blocked. With XML2 Fix 1.8.0-beta.7 the existing
    NpcPowerRule=xml1 is rule 16 revision 11: power re-checks and attack decisions that fell due while an enemy
    was busy attacking are spent as in the first game (powers no longer fire seconds late), and an enemy's power attack
    is never rolled for a block, as in X-Men Legends. A beta 7 PC and a beta 6 PC refuse each other in co-op
    (16 NpcPowerRule).

  • Beta 7: "Alison" beside Magma's early lines, as in the first game. X-Men Legends showed "Alison" next to the
    212 lines Magma speaks before she takes her codename (the Danger Room training, Emma Frost's introduction, ...); the
    port showed "Magma". The builder now marks those lines (speakerlabel, SPEC 12.1) and writes
    [Game] ClassicSpeakers=1; XML2 Fix shows the label while the portrait and the talking animation stay Magma's.

  • Beta 7: one-sided level walls for movement, as in the first game. Builds write [Game] WorldBackfaces=xml1
    (XML2 Fix 1.8.0-beta.7, gameplay rule 30): movement no longer collides with the back faces of the level's walls,
    which XML1 never tests, so actors stop wedging against walls seen from behind (the HAARP officer's positioning
    stall). Only in the XML1 levels: the build writes the zones it converted as [WorldBackfaces] ZoneCount / Z1..Zn
    (198 zones, the XML1 Danger Room arenas and the menu backdrop included; gameplay rule 30 revision 2), and the
    X-Men Legends II maps an install still carries keep XML2's collision; no zone list (no zones stage output) = no key.
    The builder refuses a DLL that does not read the list ([WorldBackfaces] ZoneCount).
    It touches every character's movement there; a beta 7 PC and one without it (or with another zone list) refuse
    each other (30 WorldBackfaces).

  • Beta 7 review fixes. V66 (text coverage) checks a Danger Room reward item's enhancement descriptions by running
    the conversion (a converted item whose descriptions were lost is now reported; XML2's own items keep the item-table
    policy); companion docs say beta 7 (RELEASING, BUILDING, research/npc-semi-auto.md revision 11, README's
    NpcPowerRule row); the release checklist names the release-identity step; the speaker-label test uses invented
    wording.

  • Beta 7: text fixes from the full XML1 text trace. Magneto's two codex biographies keep the tab the first game's
    text has (the builder's XML reader had turned it into a space), and three zone labels XML1's own data misfiled are
    repaired: mount reads "Mount Entrance", mount2 "Transport Conduit", muir_in2 "Muir Island". A new validator check
    (V66, SPEC 105) accounts for every XML1 text string (shipped, moved, rewritten by a named rule, XML2's by design or
    dropped with a reason). Codex and zoneinfo output change; saves are unaffected.

  • **Beta 7: needs XML2 Fix `>=1.8.0-be...

Read more

xml1-builder v0.4.0-beta.7

Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Oct 20:19

Beta - test build

Legends Classic builder v0.4.0-beta.7 (content version 27).

  • Beta 7: gun hits on the first game's timer. The weapon rows now carry each gun's XML1 trace time and accuracy
    (schema 4) and the converted bullets carry an inert marker, so XML2 Fix 1.8.0-beta.7 lands a bullet's hit only when
    its trace timer has run out (the MP5's half second), as in X-Men Legends, while the shot sound and muzzle flash stay
    on every shot. The builder refuses a beta 7 fix that cannot read schema 4 rows.

  • Beta 7: every gun NPC gets the first game's weapon brain. The characters stage now exports all 20 gun NPCs of
    your XML1 data (schema 4 rows actor|recoil|range|burst|leader|warmup|flags|tracetime|accuracy, 8 melee-weapon exclusions): the
    officer, the MP5 and laser/super-laser soldiers, the nullifier and knockback officers (warm-up before every shot),
    the lightning and flamethrower commanders (continuous beam, warm-up once) and the police pistol (default-handler
    primary). XML2 Fix 1.8.0-beta.7 runs them with the original input gate, the bullet line-of-sight drop and the
    empty-query branches (gameplay rule 16 revision 11).

  • Beta 7: enemy powers on time, power attacks never blocked. With XML2 Fix 1.8.0-beta.7 the existing
    NpcPowerRule=xml1 is rule 16 revision 11: power re-checks and attack decisions that fell due while an enemy
    was busy attacking are spent as in the first game (powers no longer fire seconds late), and an enemy's power attack
    is never rolled for a block, as in X-Men Legends. A beta 7 PC and a beta 6 PC refuse each other in co-op
    (16 NpcPowerRule).

  • Beta 7: "Alison" beside Magma's early lines, as in the first game. X-Men Legends showed "Alison" next to the
    212 lines Magma speaks before she takes her codename (the Danger Room training, Emma Frost's introduction, ...); the
    port showed "Magma". The builder now marks those lines (speakerlabel, SPEC 12.1) and writes
    [Game] ClassicSpeakers=1; XML2 Fix shows the label while the portrait and the talking animation stay Magma's.

  • Beta 7: one-sided level walls for movement, as in the first game. Builds write [Game] WorldBackfaces=xml1
    (XML2 Fix 1.8.0-beta.7, gameplay rule 30): movement no longer collides with the back faces of the level's walls,
    which XML1 never tests, so actors stop wedging against walls seen from behind (the HAARP officer's positioning
    stall). Only in the XML1 levels: the build writes the zones it converted as [WorldBackfaces] ZoneCount / Z1..Zn
    (198 zones, the XML1 Danger Room arenas and the menu backdrop included; gameplay rule 30 revision 2), and the
    X-Men Legends II maps an install still carries keep XML2's collision; no zone list (no zones stage output) = no key.
    The builder refuses a DLL that does not read the list ([WorldBackfaces] ZoneCount).
    It touches every character's movement there; a beta 7 PC and one without it (or with another zone list) refuse
    each other (30 WorldBackfaces).

  • Beta 7 review fixes. V66 (text coverage) checks a Danger Room reward item's enhancement descriptions by running
    the conversion (a converted item whose descriptions were lost is now reported; XML2's own items keep the item-table
    policy); companion docs say beta 7 (RELEASING, BUILDING, research/npc-semi-auto.md revision 11, README's
    NpcPowerRule row); the release checklist names the release-identity step; the speaker-label test uses invented
    wording.

  • Beta 7: text fixes from the full XML1 text trace. Magneto's two codex biographies keep the tab the first game's
    text has (the builder's XML reader had turned it into a space), and three zone labels XML1's own data misfiled are
    repaired: mount reads "Mount Entrance", mount2 "Transport Conduit", muir_in2 "Muir Island". A new validator check
    (V66, SPEC 105) accounts for every XML1 text string (shipped, moved, rewritten by a named rule, XML2's by design or
    dropped with a reason). Codex and zoneinfo output change; saves are unaffected.

  • Beta 7: needs XML2 Fix >=1.8.0-beta.7. A beta 6 fix cannot read the new weapon-brain rows and does not know
    [Game] ClassicSpeakers, so the builder refuses it by name.

  • Beta 7: a new content identity. The conversations, the powerstyles' bullet markers and xml2-fix.ini change, so
    the content version rises to 27 and the lobby token to LC36: the launcher offers a Rebuild, and a beta 7 game and
    a beta 6 or older game never join each other - everyone updates both parts and rebuilds. Saves carry over.

  • Beta 6: enemy AI fidelity. Every XML1 build now turns on the first game's weapon brain for
    its semi-auto gunmen ([Game] NpcSemiAuto=xml1 and the [NpcSemiAuto] rows, derived from your XML1 data during
    the build): the HAARP officer fires one aimed shot about every 0.9 s, never bursts or melees at range, closes from
    far away, and holds his grenade at full energy, as on the Xbox. With XML2 Fix 1.8.0-beta.6 the existing
    NpcPowerRule=xml1 also becomes gameplay rule 16 revision 10 (enemy combos stop when a hit makes them react,
    as in the first game). Needs XML2 Fix >=1.8.0-beta.6; a beta 5 fix is refused by name ([Game] NpcSemiAuto),
    and a beta 6 PC and a beta 5 PC refuse each other in co-op (16 NpcPowerRule).

  • Beta 6: no small-map frame. The bigger bevel beta 5 drew around the small map was too large, so it is gone:
    the HUD atlas no longer carries the frame (that region is transparent) and the companion XML2 Fix draws the
    small map where the game itself puts it. Everything else of the classic HUD is unchanged.

  • Beta 6: a new content identity. The build's output changes (the HUD atlas and the new xml2-fix.ini keys), so
    the content version rises to 26 and the lobby token to LC35: the launcher offers a Rebuild, and a beta 6 game and
    a beta 5 or older game never join each other - everyone updates both parts and rebuilds. Saves carry over.

Renumbered from 0.3.0 while in beta (the betas 0.3.0-beta.1..3 are this release's history);
no stable 0.3.0 was published. Betas 1-4 were content 24 / LC33; beta 5 (the classic look) content 25 / LC34; beta 6
(enemy AI fidelity) content 26 / LC35; beta 7 (every gunman's weapon brain, one-sided walls) is content 27 / LC36.

Legends Classic 0.4.0 brings online play from Ultimate Legends 0.4.0. Update the launcher to 0.4.0 first,
then Rebuild, then Play. Everyone needs the same 0.4.0 build and XML2 Fix 1.8.0 or later;
0.2.x and 0.4.0 never join each other. Test mode must be off.

  • Beta 5: the classic look. The port's screens now wear the first game's own art, converted from your disc when
    you build: the HUD (hero heads and bars, the power wheel, the target frame and a bigger small-map frame that keeps
    fog and markers inside it), the pause menu, Objectives, Options and Controls, the Save/Load lists and the dialogs,
    the character room (the Blackbird backdrop and classic frames around Stats, Skills, Gear and AI), Review, the Codex,
    the Danger Room, the Forge, the healer, trivia, loading screens and credits. In the character room the pulsing white
    cones and gold rings are gone; the selected hero stands on a bright blue podium and a selection mark follows the
    keyboard and controller. In the Codex, Details opens the entry you are on, and Back from a biography returns to the
    list with that entry still selected. Only the look changes: the port's controls, tabs, numbers, shops, gameplay and
    saves stay the same (your saves carry over). Builds write XML2 Fix's [Game] ClassicHud = xml1 and
    ClassicCodex = 1, so beta and rc builders now require >=1.8.0-beta.5 and the builder refuses an older DLL by
    name. Because the build's output changes, the content version rises to 25 and the lobby token to LC34: the
    launcher offers a Rebuild, and a beta 5 game and a beta 4 or older game never join each other - everyone updates
    and rebuilds.

  • Beta 3: online at 60 fps. Builds now write XML2 Fix's [Online] TickRate = 60: online sessions run at 60
    frames a second like single-player instead of the game's own 30 (the game keeps its speed; about 11 KB/s upload
    per player instead of ~6). TickRate = 30 in xml2-fix.ini is the fallback for a slow PC - then every player in
    that session sets 30. The rate is gameplay-agreement rule 29, so a 60 and a 30 game refuse each other at join
    naming 29 TickRate, and a beta 2 game and a beta 3 game never join. Beta and rc builders now require
    >=1.8.0-beta.3; the builder refuses an older DLL that does not know the key. Content and the lobby token (LC33)
    are unchanged. XML2 Fix beta 3 also fixes an occasional crash on quit and the cleanup of beta 2's bigger model
    pools on level changes and quits.

  • Beta 2: no more team-combo crash, bigger model pools. Builds now write XML2 Fix's [Engine] ModelPools = x4
    (4096 models, 2048 IGB, 128 actors, 128 particle clouds ...) and [Game] ComboPopupGuard = 1: with the game's own
    pools a heavy fight could fill one, effects and props went missing and a team-combo popup without a hero's head
    crashed the game (beta 1, hosting alone in the Maintenance Garage). The pools are gameplay-agreement rule 28, so a
    beta 1 game and a beta 2 game refuse each other at join, naming 28 ModelPools on the beta 2 PC: everyone
    rebuilds with builder 0.3.0-beta.2 and XML2 Fix 1.8.0-beta.2. Beta and rc builders now require
    >=1.8.0-beta.2; the builder refuses an older DLL that does not know the two keys. Content and the lobby token
    (LC33) are unchanged.

  • Four-player start is fixed: participants keep distinct peers when the game starts.

  • Hero swaps survive level changes. Solo-segment hand-back runs only during the segment and where it ends,
    using the heroes held when the segment began (rule 26 revision 6).

  • Slow players stay connected. LAG warnings may still show, but the slow-player drop is disabled.

  • Frozen guests: a jo...

Read more

xml1-builder v0.4.0-beta.6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Oct 03:31

Beta - test build

Legends Classic builder v0.4.0-beta.6 (content version 26).

  • Beta 6: enemy AI fidelity. Every XML1 build now turns on the first game's weapon brain for
    its semi-auto gunmen ([Game] NpcSemiAuto=xml1 and the [NpcSemiAuto] rows, derived from your XML1 data during
    the build): the HAARP officer fires one aimed shot about every 0.9 s, never bursts or melees at range, closes from
    far away, and holds his grenade at full energy, as on the Xbox. With XML2 Fix 1.8.0-beta.6 the existing
    NpcPowerRule=xml1 also becomes gameplay rule 16 revision 10 (enemy combos stop when a hit makes them react,
    as in the first game). Needs XML2 Fix >=1.8.0-beta.6; a beta 5 fix is refused by name ([Game] NpcSemiAuto),
    and a beta 6 PC and a beta 5 PC refuse each other in co-op (16 NpcPowerRule).

  • Beta 6: no small-map frame. The bigger bevel beta 5 drew around the small map was too large, so it is gone:
    the HUD atlas no longer carries the frame (that region is transparent) and the companion XML2 Fix draws the
    small map where the game itself puts it. Everything else of the classic HUD is unchanged.

  • Beta 6: a new content identity. The build's output changes (the HUD atlas and the new xml2-fix.ini keys), so
    the content version rises to 26 and the lobby token to LC35: the launcher offers a Rebuild, and a beta 6 game and
    a beta 5 or older game never join each other - everyone updates both parts and rebuilds. Saves carry over.

Renumbered from 0.3.0 while in beta (the betas 0.3.0-beta.1..3 are this release's history);
no stable 0.3.0 was published. Betas 1-4 were content 24 / LC33; beta 5 (the classic look) content 25 / LC34; beta 6 (enemy AI fidelity) is
content 26 / LC35.

Legends Classic 0.4.0 brings online play from Ultimate Legends 0.4.0. Update the launcher to 0.4.0 first,
then Rebuild, then Play. Everyone needs the same 0.4.0 build and XML2 Fix 1.8.0 or later;
0.2.x and 0.4.0 never join each other. Test mode must be off.

  • Beta 5: the classic look. The port's screens now wear the first game's own art, converted from your disc when
    you build: the HUD (hero heads and bars, the power wheel, the target frame and a bigger small-map frame that keeps
    fog and markers inside it), the pause menu, Objectives, Options and Controls, the Save/Load lists and the dialogs,
    the character room (the Blackbird backdrop and classic frames around Stats, Skills, Gear and AI), Review, the Codex,
    the Danger Room, the Forge, the healer, trivia, loading screens and credits. In the character room the pulsing white
    cones and gold rings are gone; the selected hero stands on a bright blue podium and a selection mark follows the
    keyboard and controller. In the Codex, Details opens the entry you are on, and Back from a biography returns to the
    list with that entry still selected. Only the look changes: the port's controls, tabs, numbers, shops, gameplay and
    saves stay the same (your saves carry over). Builds write XML2 Fix's [Game] ClassicHud = xml1 and
    ClassicCodex = 1, so beta and rc builders now require >=1.8.0-beta.5 and the builder refuses an older DLL by
    name. Because the build's output changes, the content version rises to 25 and the lobby token to LC34: the
    launcher offers a Rebuild, and a beta 5 game and a beta 4 or older game never join each other - everyone updates
    and rebuilds.

  • Beta 3: online at 60 fps. Builds now write XML2 Fix's [Online] TickRate = 60: online sessions run at 60
    frames a second like single-player instead of the game's own 30 (the game keeps its speed; about 11 KB/s upload
    per player instead of ~6). TickRate = 30 in xml2-fix.ini is the fallback for a slow PC - then every player in
    that session sets 30. The rate is gameplay-agreement rule 29, so a 60 and a 30 game refuse each other at join
    naming 29 TickRate, and a beta 2 game and a beta 3 game never join. Beta and rc builders now require
    >=1.8.0-beta.3; the builder refuses an older DLL that does not know the key. Content and the lobby token (LC33)
    are unchanged. XML2 Fix beta 3 also fixes an occasional crash on quit and the cleanup of beta 2's bigger model
    pools on level changes and quits.

  • Beta 2: no more team-combo crash, bigger model pools. Builds now write XML2 Fix's [Engine] ModelPools = x4
    (4096 models, 2048 IGB, 128 actors, 128 particle clouds ...) and [Game] ComboPopupGuard = 1: with the game's own
    pools a heavy fight could fill one, effects and props went missing and a team-combo popup without a hero's head
    crashed the game (beta 1, hosting alone in the Maintenance Garage). The pools are gameplay-agreement rule 28, so a
    beta 1 game and a beta 2 game refuse each other at join, naming 28 ModelPools on the beta 2 PC: everyone
    rebuilds with builder 0.3.0-beta.2 and XML2 Fix 1.8.0-beta.2. Beta and rc builders now require
    >=1.8.0-beta.2; the builder refuses an older DLL that does not know the two keys. Content and the lobby token
    (LC33) are unchanged.

  • Four-player start is fixed: participants keep distinct peers when the game starts.

  • Hero swaps survive level changes. Solo-segment hand-back runs only during the segment and where it ends,
    using the heroes held when the segment began (rule 26 revision 6).

  • Slow players stay connected. LAG warnings may still show, but the slow-player drop is disabled.

  • Frozen guests: a joiner frozen for 30 seconds is removed through the agreed cut frame; survivors keep playing.
    A host drop or freeze still ends the joiners' session with "lost connection to the host".

  • Host or join by code, without port forwarding or ini editing. The code appears in the game's online menus
    and host lobby; the launcher copies it when it first appears.

  • Browse public games: opt in to a public listing with a room name, or keep the room private and share its code.
    The list shows the host, level, mode and player count. A matching build's row can join: room tokens are exactly
    GameVersion (LC33), with no content fingerprint appended. The normal gameplay agreement still checks content
    and rules when joining.

  • Drop-in co-op is on by default. Start alone, let friends join mid-campaign, then bring them into play at the
    next level change. When the last guest leaves, the host keeps playing and can accept another.

  • Solo story segments: players without a hero stay connected as watchers and regain control when the party
    widens. This covers Wolverine's opening and Magma's mansion tour (issue #106).

  • An abrupt guest drop in a game of three or more no longer ends the survivors' session. XML2 Fix's rule 25
    revision 4 agrees a cut frame before removing the lost player. That player can join again by code and return at
    the next level change. Losing the host still ends the session; there is no host migration.

  • Clearer room messages: room_closed means the game cannot take new players right now; room_full means
    all four places are taken (launcher contract v1.5).

  • Encrypted connections with relay fallback, and online hardening. Public games connect players directly, so
    players can see each other's internet address. Use a private code to play only with friends.

  • The broker allows at most two public rooms and two seats in other people's rooms per internet address.

  • Includes 0.2.5's bedroom picture window and per-hit hero stun fix. The save format is unchanged.

See Play online for steps, privacy and troubleshooting.

Known issues

  • Enemy attack rate (issue #101): unarmed enemies (the Brotherhood in the HAARP tunnels) still attack about 1.5
    times as often per minute as in the first game (about 19 against 28 attacks per enemy per minute with a moving
    hero, 20 against 32 with a still one); the cause is not found. The per-hit hero stun fix shipped in 0.2.5; whether
    heroes are now stunned as long as in the first game has not been measured again, so it does not close the
    remaining combat report.
  • Gun soldiers (issues #101 and #54): the HAARP officer, and probably the other gun soldiers, still close in to
    punch where the first game's keep their distance and shoot (matched 45 s window: 49 shots and no punches in the
    first game, no shots and 24 punches in the port).
  • Falls (issue #22): 15 of the first game's fall kill zones (20 placements in 14 maps, three of the zones in demo
    maps outside the campaign) stay switched off until proven safe for the AI followers too. The double jump out of the play area on the HAARP slopes and bridge that
    0.2.2 listed could not be reproduced from 0.2.3 on (18 jumps, all landing inside; the zone's boundary data matches
    the first game).
  • Cosmetics (issue #54): the HAARP officer's gun is louder than on the Xbox: the port fires a seven-shot burst
    where the first game fires single spaced shots, and each shot plays its own ~1.5 s sound, so about seven stack
    (the sound's volume is the original's). The bedroom picture window is fixed.
  • Loot and the item shop (issue #6) still use the sequel's systems.
  • Hazards (issue #104): the earlier 57-level audit had live checks in only three rooms. Report any fire,
    spike or electricity that still does not hurt.
  • Host loss ends the session. There is no host migration; host again and load the last save.
  • Four-player internet play is not yet verified. Local three-player abrupt-drop checks passed; the owner's
    030e three-PC acceptance including a hotspot PC is still required before publication.
  • A failed shared-campaign restore can require rehosting. Automatic reconnection is not provided.
Technical details
  • Builder 0.4.0, content 24, catalogue 7, game version LC33; requires XML2 Fix >=1.8 (CMake/DLL 1.8.0).
  • Builder defaults include Broker, BrokerPin, JoinInProgress=1, FastTransfer=1 and ReceiveValidation=1.
    Room starts imply GNS transport (rule 25 rev...
Read more

xml1-builder v0.4.0-beta.5

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 22:39

Beta - test build

Legends Classic builder v0.4.0-beta.5 (content version 25).

Renumbered from 0.3.0 while in beta (the betas 0.3.0-beta.1..3 are this release's history);
no stable 0.3.0 was published. Betas 1-4 were content 24 / LC33; beta 5 (the classic look) is content 25 / LC34.

Legends Classic 0.4.0 brings online play from Ultimate Legends 0.4.0. Update the launcher to 0.4.0 first,
then Rebuild, then Play. Everyone needs the same 0.4.0 build and XML2 Fix 1.8.0 or later;
0.2.x and 0.4.0 never join each other. Test mode must be off.

  • Beta 5: the classic look. The port's screens now wear the first game's own art, converted from your disc when
    you build: the HUD (hero heads and bars, the power wheel, the target frame and a bigger small-map frame that keeps
    fog and markers inside it), the pause menu, Objectives, Options and Controls, the Save/Load lists and the dialogs,
    the character room (the Blackbird backdrop and classic frames around Stats, Skills, Gear and AI), Review, the Codex,
    the Danger Room, the Forge, the healer, trivia, loading screens and credits. In the character room the pulsing white
    cones and gold rings are gone; the selected hero stands on a bright blue podium and a selection mark follows the
    keyboard and controller. In the Codex, Details opens the entry you are on, and Back from a biography returns to the
    list with that entry still selected. Only the look changes: the port's controls, tabs, numbers, shops, gameplay and
    saves stay the same (your saves carry over). Builds write XML2 Fix's [Game] ClassicHud = xml1 and
    ClassicCodex = 1, so beta and rc builders now require >=1.8.0-beta.5 and the builder refuses an older DLL by
    name. Because the build's output changes, the content version rises to 25 and the lobby token to LC34: the
    launcher offers a Rebuild, and a beta 5 game and a beta 4 or older game never join each other - everyone updates
    and rebuilds.

  • Beta 3: online at 60 fps. Builds now write XML2 Fix's [Online] TickRate = 60: online sessions run at 60
    frames a second like single-player instead of the game's own 30 (the game keeps its speed; about 11 KB/s upload
    per player instead of ~6). TickRate = 30 in xml2-fix.ini is the fallback for a slow PC - then every player in
    that session sets 30. The rate is gameplay-agreement rule 29, so a 60 and a 30 game refuse each other at join
    naming 29 TickRate, and a beta 2 game and a beta 3 game never join. Beta and rc builders now require
    >=1.8.0-beta.3; the builder refuses an older DLL that does not know the key. Content and the lobby token (LC33)
    are unchanged. XML2 Fix beta 3 also fixes an occasional crash on quit and the cleanup of beta 2's bigger model
    pools on level changes and quits.

  • Beta 2: no more team-combo crash, bigger model pools. Builds now write XML2 Fix's [Engine] ModelPools = x4
    (4096 models, 2048 IGB, 128 actors, 128 particle clouds ...) and [Game] ComboPopupGuard = 1: with the game's own
    pools a heavy fight could fill one, effects and props went missing and a team-combo popup without a hero's head
    crashed the game (beta 1, hosting alone in the Maintenance Garage). The pools are gameplay-agreement rule 28, so a
    beta 1 game and a beta 2 game refuse each other at join, naming 28 ModelPools on the beta 2 PC: everyone
    rebuilds with builder 0.3.0-beta.2 and XML2 Fix 1.8.0-beta.2. Beta and rc builders now require
    >=1.8.0-beta.2; the builder refuses an older DLL that does not know the two keys. Content and the lobby token
    (LC33) are unchanged.

  • Four-player start is fixed: participants keep distinct peers when the game starts.

  • Hero swaps survive level changes. Solo-segment hand-back runs only during the segment and where it ends,
    using the heroes held when the segment began (rule 26 revision 6).

  • Slow players stay connected. LAG warnings may still show, but the slow-player drop is disabled.

  • Frozen guests: a joiner frozen for 30 seconds is removed through the agreed cut frame; survivors keep playing.
    A host drop or freeze still ends the joiners' session with "lost connection to the host".

  • Host or join by code, without port forwarding or ini editing. The code appears in the game's online menus
    and host lobby; the launcher copies it when it first appears.

  • Browse public games: opt in to a public listing with a room name, or keep the room private and share its code.
    The list shows the host, level, mode and player count. A matching build's row can join: room tokens are exactly
    GameVersion (LC33), with no content fingerprint appended. The normal gameplay agreement still checks content
    and rules when joining.

  • Drop-in co-op is on by default. Start alone, let friends join mid-campaign, then bring them into play at the
    next level change. When the last guest leaves, the host keeps playing and can accept another.

  • Solo story segments: players without a hero stay connected as watchers and regain control when the party
    widens. This covers Wolverine's opening and Magma's mansion tour (issue #106).

  • An abrupt guest drop in a game of three or more no longer ends the survivors' session. XML2 Fix's rule 25
    revision 4 agrees a cut frame before removing the lost player. That player can join again by code and return at
    the next level change. Losing the host still ends the session; there is no host migration.

  • Clearer room messages: room_closed means the game cannot take new players right now; room_full means
    all four places are taken (launcher contract v1.5).

  • Encrypted connections with relay fallback, and online hardening. Public games connect players directly, so
    players can see each other's internet address. Use a private code to play only with friends.

  • The broker allows at most two public rooms and two seats in other people's rooms per internet address.

  • Includes 0.2.5's bedroom picture window and per-hit hero stun fix. The save format is unchanged.

See Play online for steps, privacy and troubleshooting.

Known issues

  • Enemy attack rate (issue #101): unarmed enemies (the Brotherhood in the HAARP tunnels) still attack about 1.5
    times as often per minute as in the first game (about 19 against 28 attacks per enemy per minute with a moving
    hero, 20 against 32 with a still one); the cause is not found. The per-hit hero stun fix shipped in 0.2.5; whether
    heroes are now stunned as long as in the first game has not been measured again, so it does not close the
    remaining combat report.
  • Gun soldiers (issues #101 and #54): the HAARP officer, and probably the other gun soldiers, still close in to
    punch where the first game's keep their distance and shoot (matched 45 s window: 49 shots and no punches in the
    first game, no shots and 24 punches in the port).
  • Falls (issue #22): 15 of the first game's fall kill zones (20 placements in 14 maps, three of the zones in demo
    maps outside the campaign) stay switched off until proven safe for the AI followers too. The double jump out of the play area on the HAARP slopes and bridge that
    0.2.2 listed could not be reproduced from 0.2.3 on (18 jumps, all landing inside; the zone's boundary data matches
    the first game).
  • Cosmetics (issue #54): the HAARP officer's gun is louder than on the Xbox: the port fires a seven-shot burst
    where the first game fires single spaced shots, and each shot plays its own ~1.5 s sound, so about seven stack
    (the sound's volume is the original's). The bedroom picture window is fixed.
  • Loot and the item shop (issue #6) still use the sequel's systems.
  • Hazards (issue #104): the earlier 57-level audit had live checks in only three rooms. Report any fire,
    spike or electricity that still does not hurt.
  • Host loss ends the session. There is no host migration; host again and load the last save.
  • Four-player internet play is not yet verified. Local three-player abrupt-drop checks passed; the owner's
    030e three-PC acceptance including a hotspot PC is still required before publication.
  • A failed shared-campaign restore can require rehosting. Automatic reconnection is not provided.
Technical details
  • Builder 0.4.0, content 24, catalogue 7, game version LC33; requires XML2 Fix >=1.8 (CMake/DLL 1.8.0).
  • Builder defaults include Broker, BrokerPin, JoinInProgress=1, FastTransfer=1 and ReceiveValidation=1.
    Room starts imply GNS transport (rule 25 revision 4 / framing 3); drop-in uses rule 26 revision 6.
  • Conversation timing is the 0.2.4 fix (rule 27), retained here, rather than a new 0.4.0 feature.

The Ultimate Legends launcher installs and runs it for you. Standalone use: unzip, then run
xml1-builder.exe --help. It contains no game data: it builds X-Men Legends from your own Xbox disc
image and your own X-Men Legends II install, and makes no network calls.

SHA-256:

25e8a928aeb98c79b87a8090512eb148e321fa3359a2e1f8bacada5cc1376f41  xml1-builder-0.4.0-beta.5-win64.zip
b538197f46c2e671dc443a00053f2a9bef6e98ee9e9d295e03cf26d13b3b9e59  xml1-builder/xml1-builder.exe