Opened 3 years ago

Closed 3 years ago

#6044 closed defect (fixed)

Need to check for mods compatibility in game start

Reported by: Silier Owned by: Silier
Priority: Should Have Milestone: Alpha 25
Component: Core engine Keywords:
Cc: Patch: Phab:D3592

Description

Need to check for mods compatibility in game start, because when changing game versions it crashes games and produces errors when mods are set to be always enabled.

Change History (4)

comment:1 by wraitii, 3 years ago

Milestone: BacklogAlpha 25

comment:2 by wraitii, 3 years ago

Should also probably clear the cache

comment:3 by Silier, 3 years ago

Owner: set to Silier
Patch: Phab:D3592

comment:4 by Silier, 3 years ago

Resolution: fixed
Status: newclosed

In 25410:

Do not allow to start pyrogenesis with incompatible mods

Fixing following problems:
Issue number one:
Enable mod with a23 compatibility in a23b.
Save configuration.
Start a24.
Better result:
Mod will be enabled and invisible in mod selection screen producing various errors.
Worse result:
Game will crash and refuse to start.

Issue number two:
Mods can silently set loaded mods without restarting the engine, so mods can unlist themselves from compatibility detection.

Solution:
Enable necessary mods instead if running with gui and open mod page.
Open information window on top of mod page to infom why mod page is showing up.
On mod page show mods which failed in compatibility check and color the resposnible ones.
Disable start button without enabled mods.
Show non existed mods if they failed in compatibility check.

Else just log to mainlog and close.

Another fixes:
Display in enabled mods really enabled mods as current logic confuses players about which mods they have enabled and is not helpful (ref #4881)

Note:
this will not solve issue with mods claiming being compatible with engine version while in fact being incompatible.

Comments by: @vladislavbelov, @Stan, @Imarok
Tested by: @wraitii
Differential revision: D3592
Fixes: #6044 #4881

Note: See TracTickets for help on using tickets.