Friday, 20 May 2011

portal 2 pc slitscreen


If anyone was wondering, you can play split screen on a PC just like L4D1. All you need is a spare controller. If you don't know what a developer console is, this guide is probably not for you. Ask a friend for help or see another guide.

HINT FOR CONSOLE NEWBIES:
I've noticed a lot of people having trouble running exec or ss_map. It's usually just a typo. To save yourself a lot of time and trouble, try pushing the TAB key when you type. The Source engine has something called tab completion built into the console - it will try to fill in whatever you are typing or give you possible results as you type.

Working Controllers
  • Wired 360 Controller
  • PS3 Controller (MotionJoy Driver, 360 profile, requires two controllers)
  • Wii Classic Controller (see post)
  • PS2 Controller (see post)
  • Some hints for a Logitech pad are in this post. You can also try emulation (see below).
  • Other controllers can try using a 360 controller emulator, see this post or this post for help.
You'll need to use JoyID or the 360 trick detailed below to switch your joystick to the second player slot.

Making a new config for a joystick? See this support page.


Step by Step Guide
Make a new controller config in your portal2/cfg folder with these contents (see below the code if you're confused):

cmd2 joy_name "Xbox360 controller"

cmd2 joy_advanced 1
cmd2 joy_advaxisx 3
cmd2 joy_advaxisy 1
cmd2 joy_advaxisz 0
cmd2 joy_advaxisr 2
cmd2 joy_advaxisu 4
cmd2 joy_advaxisv 0

cmd2 joy_forwardsensitivity -1
cmd2 joy_sidesensitivity 1
cmd2 joy_pitchsensitivity 0.75
cmd2 joy_pitchsensitivity_default 0.75
cmd2 joy_yawsensitivity -1.5
cmd2 joy_yawsensitivity_default -1.5
cmd2 joy_autoaimdampenrange 0.85
cmd2 joy_autoaimdampen 0.5
cmd2 joy_lowend 0.75
cmd2 joy_lowmap 0.25
cmd2 joy_no_accel_scale 1
cmd2 joy_accelscale 2.0
cmd2 joy_accelmax 1.0
cmd2 joy_response_move 5
cmd2 joy_response_look 1
cmd2 joyadvancedupdate
cmd2 crosshair 1
cmd2 hud_draw_fixed_reticle 1

cmd2 bind "JOY1" "+jump" // (A) Button
cmd2 bind "JOY2" "+duck" // (B) Button
cmd2 bind "JOY3" "+use" // (X) Button
cmd2 bind "JOY4" "+remote_view" // (Y) Button
cmd2 bind "JOY5" "+quick_ping" // Left Bumper
cmd2 bind "JOY6" "+zoom" // Right Bumper
cmd2 unbind "JOY7" //"+mouse_menu_taunt" // Back ("select") Button
cmd2 bind "JOY8" "gameui_activate" // Start Button
cmd2 unbind "JOY9" //"+quick_ping" // Left Stick In
cmd2 unbind "JOY10" //"+zoom" // Right Stick In
cmd2 unbind "JOY11"
cmd2 unbind "JOY12"

cmd2 bind "Z AXIS POS" "+attack2" // Left Trigger
cmd2 bind "Z AXIS NEG" "+attack" // Right Trigger

cmd2 bind "POV_UP" "+mouse_menu_taunt" // D-Pad
cmd2 bind "POV_LEFT" "+mouse_menu" // D-Pad
cmd2 unbind "POV_RIGHT" //"+mouse_menu" // D-Pad
cmd2 unbind "POV_DOWN" //"+mouse_menu_taunt" // D-Pad

cmd2 joystick 1
cmd2 sk_autoaim_mode 2
cmd2 +jlook
  1. This is basically the joy_configuration.cfg file but with cmd2 in front of everything. Name your new file something appropriate like joy_coop.360.cfg and save in the "common/Portal 2/Portal2/cfg" folder. Feel free to customize the binds to whatever you like as long as you keep the cmd2 in front of any command or bind.
  2. NEW STEP! Click "Play Cooperative" and wait for it to load the friends list. This allows you to save your progress. Thanks Gander!
  3. Plug in the controller, and load a map with the following in your developer console:
    Code:
    ss_map mp_coop_start
  4. IMPORTANT! While it is loading, unplug your controller, wait a few seconds, then replug it. This should switch the player light on the 360 pad to the second slot. Once you have the light on the player 2 slot you can leave the joypad in and it should stay on that slot (mine survives a hibernate even). If this doesn't work (you probably have a wireless 360 pad) you can try JoyID (note: JoyID doesn't work for me).
  5. Execute the config you just made in the developer console:
    Code:
    exec joy_coop.360.cfg
    You should only need to do this once - the config should stick for player 2.

You should now be able to control the second slot with your 360 pad and the first should be whatever binds you had on the keyboard/mouse!
Tips and Tweaks

Play With Two 360 Controllers
Change the cmd2 joystick 1 line in the config to cmd2 joystick 2
Vertical Split for Two Monitors
Edit your aspect in the "common\Portal 2\portal2\splitscreen_config.txt" file. Here's another tutorial that will probably help you out.
Changing FOV
The FOV settings for various split modes are also in the "common\Portal 2\portal2\splitscreen_config.txt" file.
Switch to Vertical/Horizontal Split
Use ss_splitmode 0, ss_splitmode 1, or ss_splitmode 2 to select a different split mode.
Map Order
Thanks Kpok/Khasim!
Code:
mp_coop_start (First map of chapter 1)
mp_coop_lobby_2
mp_coop_doors
mp_coop_race_2
mp_coop_laser_2
mp_coop_rat_maze
mp_coop_laser_crusher
mp_coop_teambts
mp_coop_fling_3 (First map of chapter 2, have to load this map after completing coop_teambts or else it will just restart coop_start)
mp_coop_infinifling_train
mp_coop_come_along
mp_coop_fling_1
mp_coop_catapult_1
mp_coop_multifling_1
mp_coop_fling_crushers
mp_coop_fan
mp_coop_wall_intro (First map of chapter 3)
mp_coop_wall_2
mp_coop_catapult_wall_intro
mp_coop_wall_block
mp_coop_catapult_2
mp_coop_turret_walls
mp_coop_turret_ball
mp_coop_wall_5
mp_coop_tbeam_redirect (First map of chapter 4)
mp_coop_tbeam_drill
mp_coop_tbeam_catch_grind_1
mp_coop_tbeam_laser_1
mp_coop_tbeam_polarity
mp_coop_tbeam_polarity2
mp_coop_tbeam_polarity3
mp_coop_tbeam_maze
mp_coop_tbeam_end
mp_coop_paint_come_along (First map of chapter 5)
mp_coop_paint_redirect
mp_coop_paint_bridge
mp_coop_paint_walljumps
mp_coop_paint_speed_fling
mp_coop_paint_red_racer
mp_coop_paint_speed_catch
mp_coop_paint_longjump_intro
mp_coop_credits
 
 

No comments:

Post a Comment