Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Vessel

From PCGamingWiki, the wiki about fixing PC games
Revision as of 19:05, 2 October 2012 by Flibitijibibo (talk | contribs) (Wrote the Vessel page.)

Template:Infobox

Windows, Mac OSX, Linux

Configuration

Options menu.

To edit the configurations outside of Vessel, edit VesselConfig.ini. For Windows this is in "%APPDATA%\Vessel\VesselConfig.ini", for Mac and Linux this is in "~/.vessel/VesselConfig.ini".

Keyboard Input

To change the key bindings, edit VesselKeys.ini, found in Vessel's root folder. For Mac, this is in "Vessel.app/Contents/MacOS/VesselKeys.ini".

Game Saves

It is expected that the game saves for Vessel are cross-platform. For Windows they should be located in "%APPDATA%\Vessel\", and for Mac/Linux they should be in "~/.vessel/". Just poke your saves into those directories and you should be all set!

Mac OSX, Linux

MASSIVE DISCLAIMER! The Mac/Linux versions of Vessel are still in development and this section is subject to change prior to/on/after release. Consider this a preparation guide for now!

Known Issues

Note: The following section was originally written by Vessel's primary Mac/Linux developer, Ethan Lee, but may have been edited after the original post by other contributors.

Resolution Settings

The Problem: Resolution settings do not change after applying them in-game.

The Solution: Edit them in the config:

  • Open up "~/.vessel/VesselConfig.ini" with your text editor of choice.
  • Edit ForcePixelResolutionX for screen width, ForcePixelResolutionY for screen height, VSync for v-sync, and FullScreen for fullscreen.

Why? The renderer, being designed around Direct3D, set display resolutions in a way that SDL/OpenGL was not entirely comfortable with. As a quick fix, I made the engine initialization read the config inputs first, then initialize the display with those settings. I will look at fixing this in-game, however.

Gamepad Bindings

The Problem: I can't set my gamepad bindings in-game!

The Solution: Edit VesselGamepad.ini with your text editor of choice to configure your gamepad. The directions are located in the file. For Mac this will be in "Vessel.app/Contents/MacOS/VesselGamepad.ini", and for Linux this will be in "/path/to/Vessel/VesselGamepad.ini".

Why? The original Win32 version of the game uses XInput and stores configurations for various controllers into the engine itself. For the SDL port, I designed this SDL joystick config system to quickly enable controller support while supporting as many controllers as possible.

Additionally: If you've got a compiler handy, you can use this C file to determine your controller's config values. Note: Requires SDL headers/libs!

Controller Input

The INI File

From the ini file...

-------------------------------------------------------------------------------
-- This is the config file for SDL joystick input.
-- We map joysticks in a somewhat obtuse way in order make Vessel compatible
-- with as many controllers as possible. Here's how it works:
--
-- Let's say I've connected my Classic Controller Pro. Here's what will show up
-- In the terminal output:
-- Gamepad #0: Nintendo Wiimote
-- 	Number of axes: 4
-- 	Number of hats: 1
-- 	Number of buttons: 11
--
-- We bind joystick values from 0 up, and we bind the axes, hats, and buttons
-- in that order.
-- 	1 axis = 1 value. Example: The left thumbstick's x axis is 1 axis.
-- 	1 hat = 4 values: Up, Down, Left, Right in that exact order.
-- 	1 button = 1 value. Yeah.
--
-- So let's look at the Classic Controller again. We have four axes, so we will
-- use 0-3 as our axes keys. We have one hat after that, so values 4-7 will be
-- that hat value's Down, Up, Left and Right keys (the CCP hat is upside down).
-- The buttons will simply be 8-18 after that.
--
-- If you don't want to bind a button value, just use -1.
--
-- Unfortunately there is an element of trial-and-error due to controllers
-- having no real standard, so you are highly encouraged to share your
-- controller configurations with the community. I recommend making a database
-- at the PCGamingWiki: http://www.pcgamingwiki.com/
--
-- Below is my set of bindings for the Classic Controller Pro, mounted with
-- wminput and using this config:
--
-- http://www.flibitijibibo.com/wminput/gamepad.wminput
--
-- Love, flibit
--
-------------------------------------------------------------------------------

The bindings that follow are named after the buttons found on the Xbox 360 controller. Simply bind the values described above to the equivalent 360 controller value.

Configurations

Below is a list of configurations for various controllers, contributed by the community.

Nintendo Wii Classic Controller Pro

This uses the wminput configuration found here: http://www.flibitijibibo.com/wminput/gamepad.wminput

[Binds]
Button_A=9
Button_B=8
Button_X=11
Button_Y=10
Button_Black=13
Button_White=12
Button_LeftTrigger=14
Button_RightTrigger=15
Button_Start=17
Button_Back=16
Button_LeftThumb=18
Button_RightThumb=-1
DPad_Up=5
DPad_Down=4
DPad_Left=6
DPad_Right=7
Axis_LX=0
Axis_LY=1
Axis_RX=2
Axis_RY=3