Chains
Not enough ratings
Custom resolution
By Marcinkonys
Add support for any resolution in a few minutes by editing a single file.
   
Award
Favorite
Favorited
Unfavorite
Introduction
The list of resolutions supported by Chains goes up to 1600x1200. Fortunately, because the game is open source, adding support for any resolution requires editing a single LUA script. Using this method I was able to play the game at 2560x1440 without issues.
Updating the script
The file in question is called menu.lua and is located in the game's Scripts directory. Open the file up in any text editor and navigate to line 690.

You'll see a number of similar code blocks, with the last one setting up a button for 1600x1200:

y = y - 20 if resx == 1600 and resy == 1200 then local b = CreateButton ( 60, y, -3000, silkscreen11, "1600x1200 (4:3)", RED, RED ) table.insert ( options_gui, b ) else local b = CreateButton ( 60, y, -3000, silkscreen11, "1600x1200 (4:3)", WHITE, RED ) b.OnLeftButtonPress = function ( button, x, y ) if ChangeDisplayMode ( 1600, 1200, windowed ) == true then HideOptionsMenu ( ) ShowOptionsMenu ( ) end end table.insert ( options_gui, b ) end

Copy this block and set up another one right below.

There are four places to update here:
  • The first if statement checks if the resolution is 1600 by 1200. If it is, a disabled button is drawn. Otherwise, an enabled button is drawn. Change resx and resy to your desired resolution.
  • The two strings "1600x1200 (4:3)" are the disabled and enabled buttons' text. Update them to your desired resolution and aspect ratio.
  • Update the first two arguments of ChangeDisplayMode to the width and height of your desired resolution.

Save the file. Your custom resolution should now appear in the game, below the other ones. Clicking the button will immediately switch to it.
In-game
Options screen:

First level:
1 Comments
mach kein mux ich bin ein luchs 24 Mar, 2024 @ 6:13am 
this does work for windowed mode, but I cant get it to work with fullscreen