View Full Version : PC Split Screen in Left 4 Dead
Nemesis_vs_Leon
11-18-2008, 03:42 PM
Split Screen is accomplished by setting ss_enable 1 then ss_splitmode 1
you can also set binds with this:
cmd2 bind <key> <command>
according to [THIS] (http://forums.steampowered.com/forums/showthread.php?t=745113) it works perfectly, but I can't get my non-xbox 360 joystick to switch over to player 2.
I'm using GlovePIE and PPJoy to transform wiimote inputs into joystick inputs. It works perfectly for player 1 but won't switch to player 2.
Hopefully someone could help, but I'll probably find it on my own. In the mean time just discuss splitscreen in the PC version here.
DrGreatJob
11-18-2008, 04:33 PM
How does the Wii-mote control handle? Is it as fluid as the controls for Metroid Prime 3?
Grubster11
11-18-2008, 04:40 PM
Wii-mote control
Oh, God
DrGreatJob
11-18-2008, 04:47 PM
Haha, I didn't even realize what I had typed. That's hilarious.
Nemesis_vs_Leon
11-18-2008, 05:02 PM
Wii-mote control handle?
it's however I want it. All wiimote fps controls I've seen on the wii have been incompetent compared to what is easily possible.
I already made the perfect aiming system myself for shooters like Left 4 Dead that keep you aimed at the middle of the screen.
the Wiimote feels good to use, better than a mouse, but you'll never get that from the developers.
Seriously, I made the best fps aiming with just GlovePIE on the computer!! Why can't big companies get it right when it's so easy!?
The Wiimote handles perfectly of course.
Frito
11-18-2008, 05:13 PM
I couldn't figure this out earlier today, thanks. Now I'll actually be able to play WITH my friends.
Cheeseliker
11-18-2008, 07:15 PM
Worked for me. It was great.
arienh4
11-18-2008, 08:28 PM
Could you like share your GlovePIE file with us? Then I can finally use that wireless infrared bar thingy.
I never got aiming to work.
Nemesis_vs_Leon
11-19-2008, 12:28 AM
<div class="quote">
// ALL WORK BELOW HERE WAS NOT DONE BY ME (deceased)------------------------
//Mouse Control Script using IR
//by vkapadia with much assistance from inio
//vkapadia@vkapadia.com
//
//Calibration:
//To calibrate, run this program and put the Wiimote on a flat surface face-up.
//Then read the values in the debug line (next to the run button).
//Change these values until the debug line reads approx. all zeros.
var.xtrim = -2
var.ytrim = -21
var.ztrim = -1
var.accx = wiimote.RawForceX + var.xtrim
var.accy = wiimote.RawForceY + var.ytrim
var.accz = wiimote.RawForceZ + var.ztrim
if wiimote.dot1vis and wiimote.dot2vis then
if var.accy > -7 then
var.orientation = 0
elseif var.accy > -45 then
if var.accx < 0 then
var.orientation = 3
else
var.orientation = 1
endif
else
var.orientation = 2
endif
if var.leftpoint = 0 then
if var.orientation = 0 then
if wiimote.dot1x < wiimote.dot2x then
var.leftpoint = 1
else
var.leftpoint = 2
endif
endif
if var.orientation = 1 then
if wiimote.dot1y > wiimote.dot2y then
var.leftpoint = 1
else
var.leftpoint = 2
endif
endif
if var.orientation = 2 then
if wiimote.dot1x > wiimote.dot2x then
var.leftpoint = 1
else
var.leftpoint = 2
endif
endif
if var.orientation = 3 then
if wiimote.dot1y < wiimote.dot2y then
var.leftpoint = 1
else
var.leftpoint = 2
endif
endif
endif
if var.leftpoint = 1 then
var.fix1x = wiimote.dot1x
var.fix1y = wiimote.dot1y
var.fix2x = wiimote.dot2x
var.fix2y = wiimote.dot2y
else
var.fix1x = wiimote.dot2x
var.fix1y = wiimote.dot2y
var.fix2x = wiimote.dot1x
var.fix2y = wiimote.dot1y
endif
var.dx = var.fix2x - var.fix1x
var.dy = var.fix2y - var.fix1y
var.cx = (var.fix1x+var.fix2x)/800.0 - 1
var.cy = (var.fix1y+var.fix2y)/800.0 - .75
var.d = sqrt(var.dx*var.dx+var.dy*var.dy)
var.dx = var.dx / var.d
var.dy = var.dy / var.d
var.ox = -var.dy*var.cy-var.dx*var.cx;
var.oy = -var.dx*var.cy+var.dy*var.cx;
var.ax = (var.ox * screen.desktopwidth) + (screen.desktopwidth / 2)
var.ay = (-var.oy * screen.desktopwidth) + (screen.desktopheight / 2)
var.dx = var.ax - mouse.DirectInputX
var.dy = var.ay - mouse.DirectInputY
var.d = sqrt((var.dx*var.dx)+(var.dy*var.dy))
var.a = 180 / (200 + var.d * var.d * var.d * .001)
var.finalx = mouse.DirectInputX * var.a + var.ax * (1 - var.a)
var.finaly = mouse.DirectInputY * var.a + var.ay * (1 - var.a)
// First Dimension, move when you move
if abs(var.finalx - var.PrevIRx) > 10 then mouse.DirectInputX = mouse.DirectInputX + ((var.finalx - var.PrevIRx) / 20);
if abs(var.finaly - var.PrevIRy) > 10 then mouse.DirectInputY = mouse.DirectInputY + ((var.finaly - var.PrevIRy) / 20);
var.PrevIRx = var.finalx;
var.PrevIRy = var.finaly;
//if (var.finalx > 150) || (var.finalx < -150) then mouse.DirectInputX = (mouse.DirectInputX + (var.finalx / 75));
//if (var.finaly > 150) || (var.finaly < -150) then mouse.DirectInputY = (mouse.DirectInputY + (var.finaly / 75));
//Second Dimension, Move constantly when aiming at edge
if (var.finalx > 300) || (var.finalx < -300) then mouse.DirectInputX = (mouse.DirectInputX + (var.finalx / 200));
if (var.finaly > 175) || (var.finaly < -175) then mouse.DirectInputY = (mouse.DirectInputY + (var.finaly / 200));
if (var.finalx > 2500) || (var.finalx < -2500) then mouse.DirectInputX = (mouse.DirectInputX + (var.finalx / 200));
if (var.finaly > 2000) || (var.finaly < -2000) then mouse.DirectInputY = (mouse.DirectInputY + (var.finaly / 200));
else
var.leftpoint = 0
endif
</div>
that is the aiming portion of the script. You have to turn off your wii, connect the wiimote to your computer through bluetooth adapter, and AFTER it is connected to the computer, you can turn the wii on without it connecting to the wii.
What this does:
-every small movement will move the screen, so you can instantly aim to a part of the screen if you need to
-there is a "dead zone" 1/4 the size of the screen in the center, and the further from this zone you are aiming, the faster the view turns automatically (you turn REALLY fast if aiming all the way at the edge)
directly moving it every time you move the wiimote combined with an auto-moving view when you aim toward edges makes this a very effective setup. You can instantly and easily fight the auto-moving when you need to since the direct-moving happens at the same time.
There is a certain point where it will not detect the IR lights, and your movements cannot be tracked past that point. This is no problem since you only ever aim towards the screen.
FRAGious
11-19-2008, 12:46 AM
Wow, Nemesis. I'm impressed.
Nemesis_vs_Leon
11-19-2008, 11:17 AM
Wow, Nemesis. I'm impressed.
Most of the work was done by someone else, I just edited it to use my 2-dimensional aiming system.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.