-
Notifications
You must be signed in to change notification settings - Fork 0
XLive
See the Tron: Evolution Mod Documentation on XLive and the PCGamingWiki Games for Windows - LIVE entry for more information.
The game can also handle updates using GFWL via FuelUpdate.exe.
XLive Exports (Ordinal <-> Symbol Name)
This is a configuration file used by GFWL to retrieve information about the game.
US
<Liveconfig>
<titleid>434D082F</titleid>
<titleversion>10000084</titleversion>
<lankey>FEEFF00D01020304506071728a8da99d</lankey>
<enableCrossPlatformSystemLink>false</enableCrossPlatformSystemLink>
<OriginalXliveTarget>2.0.0673.0</OriginalXliveTarget>
</Liveconfig>
RU
<Liveconfig>
<titleid>434D082F</titleid>
<titleversion>10000085</titleversion>
<lankey>FEEFF00D01020304506071728a8da99d</lankey>
<enableCrossPlatformSystemLink>false</enableCrossPlatformSystemLink>
<OriginalXliveTarget>2.0.0687.0</OriginalXliveTarget>
</Liveconfig>
There are two differences between the regions (1) titleversion
is 10000084
in US and 10000085
in RU and (2) OriginalXliveTarget
is 2.0.0673.0
in US and 2.0.0687.0
in RU. It makes sense that these are higher in RU than US since the Russian release was later.
FUEL uses the following exported functions from xlive.dll
. The "XLiveLessNess Status" column represents the completeness of the XLiveLessNess implementation of the function. ✔️ means that an honest attempt was made to implement the function, not necessarily that the function works as intended. ❌ means that the function is a TODO
item, either entirely or in specific cases.
Ordinal | Identifier | XLiveLessNess Status | Priority |
---|---|---|---|
3 | XSocketCreate | ✔️ | |
4 | XSocketClose | ✔️ | |
5 | XSocketShutdown | ✔️ | |
6 | XSocketIOCTLSocket | ✔️ | |
7 | XSocketSetSockOpt | ✔️ | |
11 | XSocketBind | ✔️ | |
12 | XSocketConnect | ✔️ | |
13 | XSocketListen | ✔️ | |
18 | XSocketRecv | ✔️ | |
20 | XSocketRecvFrom | ✔️ | |
22 | XSocketSend | ✔️ | |
24 | XSocketSendTo | ✔️ | |
26 | XSocketInet_Addr | ✔️ | |
37 | XSocketHTONL | ✔️ | |
38 | XSocketNTOHS | ✔️ | |
39 | XSocketNTOHL | ✔️ | |
40 | XSocketHTONS | ✔️ | |
51 | XNetStartup | ✔️ | |
52 | XNetCleanup | ✔️ | |
55 | XNetRegisterKey | ✔️ | |
56 | XNetUnregisterKey | ✔️ | |
57 | XNetXnAddrToInAddr | ✔️ | |
62 | XNetInAddrToString | ✔️ | |
63 | XNetUnregisterInAddr | ❌ (UnregisterSecureAddr ) |
High |
65 | XNetConnect | ❌ | High |
66 | XNetGetConnectStatus | ❌ | High |
651 | XNotifyGetNext | ✔️ | |
652 | XNotifyPositionUI | ✔️ | |
1082 | XGetOverlappedExtendedError | ✔️ | |
1083 | XGetOverlappedResult | ✔️ | |
5002 | XLiveRender | ✔️ | |
5003 | XLiveUninitialize | ✔️ | |
5008 | XHVCreateEngine | ✔️ | |
5022 | XLiveGetUpdateInformation | ✔️ | |
5024 | XLiveUpdateSystem | ❌ | Low |
5030 | XLivePreTranslateMessage | ✔️ | |
5031 | XLiveSetDebugLevel | ✔️ | |
5034 | XLiveProtectData | ✔️ | |
5035 | XLiveUnprotectData | ✔️ | |
5036 | XLiveCreateProtectedDataContext | ✔️ | |
5038 | XLiveCloseProtectedDataContext | ✔️ | |
5215 | XShowGuideUI | ✔️ | |
5251 | XCloseHandle | ✔️ | |
5252 | XShowGamerCardUI | ✔️ | |
5254 | XCancelOverlapped | ❌ | Medium |
5256 | XEnumerate | ✔️ | |
5260 | XShowSigninUI | ✔️ | |
5261 | XUserGetXUID | ✔️ | |
5262 | XUserGetSigninState | ✔️ | |
5263 | XUserGetName | ✔️ | |
5264 | XUserAreUsersFriends | ✔️ | |
5265 | XUserCheckPrivilege | ✔️ | |
5270 | XNotifyCreateListener | ✔️ | |
5276 | XUserSetProperty | ❌ | Low |
5278 | XUserWriteAchievements | ❌ | Low |
5280 | XUserCreateAchievementEnumerator | ❌ | Low |
5284 | XUserCreateStatsEnumeratorByRank | ✔️ | |
5286 | XUserCreateStatsEnumeratorByXuid | ✔️ | |
5291 | XUserResetStatsViewAllUsers | ❌ | Low |
5292 | XUserSetContextEx | ❌ (dwContextId (0x00008001) X_CONTEXT_PRESENCE not handled) |
Low |
5293 | XUserSetPropertyEx | ❌ | Low |
5297 | XLiveInitializeEx | ✔️ (pPii->wLivePortOverride not handled but we do not need it) |
|
5300 | XSessionCreate | ✔️ | |
5310 | XOnlineStartup | ✔️ | |
5311 | XOnlineCleanup | ✔️ | |
5312 | XFriendsCreateEnumerator | ✔️ | |
5314 | XUserMuteListQuery | ✔️ | |
5315 | XInviteGetAcceptedInfo | ✔️ | |
5316 | XInviteSend | ❌ | Low |
5317 | XSessionWriteStats | ❌ | Low |
5318 | XSessionStart | ✔️ | |
5321 | XSessionSearch | ✔️ (search criteria not handled but we do not need it) | |
5326 | XSessionJoinRemote | ✔️ (always says "Not enough slots" but this is likely due to a problem somewhere else) | |
5327 | XSessionJoinLocal | ✔️ (always says "Not enough slots" but this is likely due to a problem somewhere else) | |
5329 | XSessionFlushStats | ❌ | Low |
5330 | XSessionDelete | ❌ | Medium |
5331 | XUserReadProfileSettings | ✔️ | |
5332 | XSessionEnd | ❌ | Medium |
5336 | XSessionLeaveRemote | ❌ | Medium |
Originally a DLL replacement for GTA IV, XLiveLess has grown to become a staple in the Games For Windows Live space. Most GFWL games have a modification of this to patch out the GFWL requirement due to the service being awful, and FUEL is no exception (PCGamingWiki Fuel GFWL Fix (XliveLess)). Both the original XLiveLess and the one for FUEL do the bare minimum to stub out the xlive.dll exports meaning that basically none of the original GFWL functionality will work. However, there are projects which aim to maintain online functionality in addition to the expected XLiveLess features.
It is a replacement for Games For Windows / Games For Windows Live (GFWL). That is (for clarity), you cannot use XLiveLessNess and GFWL at the same time. Xliveless is a different project and is not the same thing as XLiveLessNess. Xliveless does not restore any online functionality and has limited support for attempting to replicate GFWL functionality which leads to issues or crashes in the games themselves. XLLN tries to replicate GFWL functionality such that the game itself does not know it is not actually running on the real GFWL. - What is XLiveLessNess / XLLN?
It is not yet possible to play FUEL multiplayer with another person using XLiveLessNess. While you will connect to the hub and the game will display as online, it is not possible to connect to another player in freeride or career races. Even if both players appear as connected to the hub, a session created by one player will never be found by the other. The closed XLiveLessNess issue Add direct IP joining / invitations improved things here, but FUEL multiplayer still does not work. The continuing issues with multiplayer are likely due to the large number of networking-related TODOs. See also: Networking
There is a FUEL module in the XLLN-Modules repository that fixes some crashes. The first crash this fixes is when during startup, the game looks up the achievements and assumes there will always be at least one, but XLiveLessNess returns uninitialized data by default. There is no plan to support achievements in XLiveLessNess. Secondly, the module fixes a crash where attempting to access the leaderboards will also crash the game. Finally, the module fixes a crash when xlive_xhv_engine_enabled
is disabled.
This module also contains some quality-of-life improvements such as allowing you to launch the game without the SecuROM launcher and allowing multiple instances of the game to run at once.
For xlive_user_auto_login_p1...
in the configuration file to work you also need to enable xlive_auto_login_on_xliveinitialize
if you don't want a prompt asking you to log in on startup.
XLiveLessNess is the most complete project in the "replace xlive.dll" market and will be the first thing I reach for when I decide to get FUEL working without GFWL, whenever that may be.
Far more incomplete than XLiveLessNess and specific to Age of Empires Online.
For FMTK Users and Mod Developers
For FMTK Developers
Asobo BigFile Format Specification
Asobo Classes
Animation_Z
Binary_Z
Bitmap_Z
Camera_Z
CollisionVol_Z
Fonts_Z
GameObj_Z
GenWorld_Z
GwRoad_Z
Keyframer*_Z
Light_Z
LightData_Z
Lod_Z
LodData_Z
Material_Z
MaterialAnim_Z
MaterialObj_Z
Mesh_Z
MeshData_Z
Node_Z
Omni_Z
Particles_Z
ParticlesData_Z
RotShape_Z
RotShapeData_Z
Rtc_Z
Skel_Z
Skin_Z
Sound_Z
Spline_Z
SplineGraph_Z
Surface_Z
SurfaceDatas_Z
UserDefine_Z
Warp_Z
World_Z
WorldRef_Z
Asobo File Format Idioms
Asobo CRC32
Asobo LZ Compression
Asobo Arithmetic Coding Compression
Asobo Save Game File Format Specification
Asobo Audio Formats
TotemTech/ToonTech/Zouna/ACE/BSSTech/Opal Timeline
Zouna Modding Resources
Miscellaneous