1. Post #761
    itty-bitty pretty kitty
    Dennab
    September 2008
    9,837 Posts
    Doesn't work at all for me. Guess it hates me, considering I can't even think about compiling the swarm sdk with 08. I've only been able to get the allied modders OB sdk to compile but my friend has perfect intellisense and it compiles 100% for him. I guess as they say, it hates me :V
    https://developer.valvesoftware.com/...g_under_VS2010
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  2. Post #762
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    I don't think resolving those issues aids in IntelliSense working, but they are things that need to be taken care of in the first place.
    Reply With Quote Edit / Delete Windows 7 United States Show Events Agree Agree x 1 (list)

  3. Post #763
    Map in a box's Avatar
    July 2009
    7,420 Posts
    I said that my friend has it compiling 100% and we're both using same source/project file. Alien Swarm compiles (or should) out-of-box.
    Reply With Quote Edit / Delete Windows XP United States Show Events Useful Useful x 1 (list)

  4. Post #764
    SupahVee's Avatar
    December 2007
    1,114 Posts
    I wrote an article about my old physics platformer game.
    It covers the creation of my custom physics engine, where it failed, and how it survives today.

    Check it out, you may find it interesting :)

    http://veegamedev.wordpress.com/2012...ight-part-one/

    Reply With Quote Edit / Delete Windows 8 Italy Show Events Winner Winner x 6Informative Informative x 1Friendly Friendly x 1 (list)

  5. Post #765
    Map in a box's Avatar
    July 2009
    7,420 Posts
    Have my adopted babbeis

    Edited:

    Read that entire article, was a fun read

    Edited:

    Anxious for part 2!
    Reply With Quote Edit / Delete Windows XP United States Show Events Useful Useful x 1Friendly Friendly x 1 (list)

  6. Post #766
    Gold Member
    ZenX2's Avatar
    February 2009
    5,129 Posts
    I think anyone wanting to make a platformer has run into that Box2D issue. They should really just fix it instead of making people use chains and stuff.
    Reply With Quote Edit / Delete Windows 7 United States Show Events Agree Agree x 2 (list)

  7. Post #767
    Gold Member

    August 2012
    30 Posts
    That's exactly what I try to develop right now!
    I started to create/invent a game, too. And I'm inventing a Collision/Physics-System just like you.

    Pictures will follow. ;)
    Reply With Quote Edit / Delete Windows 7 Germany Show Events Friendly Friendly x 1 (list)

  8. Post #768
    Gold Member

    October 2008
    3,838 Posts
    I think anyone wanting to make a platformer has run into that Box2D issue. They should really just fix it instead of making people use chains and stuff.
    That's not a problem with Box2D, that's a problem with physics engines in general. You can't create tight controls with a physics engine.

    Although, I wonder what Source uses to keep the player controls tight while also running a physics engine...
    Reply With Quote Edit / Delete Windows 7 United States Show Events Agree Agree x 1 (list)

  9. Post #769
    Or use Linux/Lubuntu and sudo shutdown, and be able to close your lapop lid without it sleeping
    You can also set Windows to not sleep when closing the laptop lid, and Windows' shutdown command also takes a timer. It's just that the timer is in seconds and this translates h/m/s to seconds.
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events Late Late x 1Agree Agree x 1 (list)

  10. Post #770
    Reposting BUG threads since 2011!
    TehBigA's Avatar
    March 2007
    426 Posts
    Finishing my senior project by 2PM EDT. Hope I pass so I can graduate!

    Streaming: http://twitch.tv/TehBigA

    All done streaming for now
    Reply With Quote Edit / Delete Windows 7 United States Show Events Winner Winner x 4 (list)

  11. Post #771
    Gold Member
    Darwin226's Avatar
    January 2009
    4,159 Posts
    Because when you pass stuff to the shader to be drawn you pass them as a vertex not as a triangle, meaning you will need to pass the normal 3 times or better said add the normal to the normal list 3 times
    He's doing it right. You push one normal per vertex.
    Reply With Quote Edit / Delete Windows 7 Croatia Show Events

  12. Post #772
    Capsup's Avatar
    April 2007
    823 Posts
    He's doing it right. You push one normal per vertex.
    Yeah, that's what I thought too. The other thing sounded really illogical to me.
    I'd be more than happy to provide you my entire source, if you'd like Darwin. I just really want to get this to work, but after 2 days of hair pulling, I just don't have much hair left.
    Reply With Quote Edit / Delete Windows 7 Denmark Show Events

  13. Post #773
    Gold Member
    BackwardSpy's Avatar
    May 2008
    6,563 Posts
    I wrote an article about my old physics platformer game.
    It covers the creation of my custom physics engine, where it failed, and how it survives today.

    Check it out, you may find it interesting :)

    http://veegamedev.wordpress.com/2012...ight-part-one/

    That was a really interesting read, it brings back memories of our many steam conversations trying to get it working!
    You've inspired me to do some more work on my platformer, as well.
    Reply With Quote Edit / Delete Windows 7 United Kingdom Show Events Friendly Friendly x 2 (list)

  14. Post #774
    Gold Member
    Darwin226's Avatar
    January 2009
    4,159 Posts
    Yeah, that's what I thought too. The other thing sounded really illogical to me.
    I'd be more than happy to provide you my entire source, if you'd like Darwin. I just really want to get this to work, but after 2 days of hair pulling, I just don't have much hair left.
    I might take a look if you do.
    And don't worry, hair isn't a requirement for programming.
    Reply With Quote Edit / Delete Windows 7 Croatia Show Events

  15. Post #775
    Capsup's Avatar
    April 2007
    823 Posts
    I might take a look if you do.
    And don't worry, hair isn't a requirement for programming.
    Not sure what the easiest way to share is, but here's the code and my project file atleast:
    https://dl.dropbox.com/u/40398697/Sh...8/upEngine.zip

    And thanks alot for the help so far. :)
    Reply With Quote Edit / Delete Windows 7 Denmark Show Events

  16. Post #776
    Tamschi's Avatar
    December 2009
    3,641 Posts
    That's not a problem with Box2D, that's a problem with physics engines in general. You can't create tight controls with a physics engine.

    Although, I wonder what Source uses to keep the player controls tight while also running a physics engine...
    It's a separate system from the main physics if I remember correctly.

    You should be able to come somewhat close with separate directional damping and friction relative to the (intended) movement direction and by adjusting damping based on player input.
    Reply With Quote Edit / Delete Windows 7 Germany Show Events Agree Agree x 1 (list)

  17. Post #777
    Gold Member
    Darwin226's Avatar
    January 2009
    4,159 Posts
    Not sure what the easiest way to share is, but here's the code and my project file atleast:
    https://dl.dropbox.com/u/40398697/Sh...8/upEngine.zip

    And thanks alot for the help so far. :)
    I think I know where the problem is.
    In the part where you populate the vertices vector you use XZ, X+1Z, XZ+1 and X+1Z+1 but the normals you use for each of those are not attached to those points on the map in any way.

    Imagine this gird

    Code:
    ABCDEF
    GHIJKL
    You are pushing in the coordinates of ABG and H but normals of ABC and D. Then for the next quad you use BCHI but the normals of BCDE.

    That's my understanding of your code anyways.
    Also, what I found strange is that you construct quads in the vertices vector but later on you render as triangles. Thought I admit, I didn't look through the whole thing if you do some extra transformations to it later, you did load that quad filled vector into the buffer.
    Reply With Quote Edit / Delete Windows 7 Croatia Show Events Useful Useful x 2 (list)

  18. Post #778
    SupahVee's Avatar
    December 2007
    1,114 Posts


    Hey everyone, I'm glad you found my first article about collisions interesting. I've finished writing the second part, that you can find here:
    http://veegamedev.wordpress.com/2012...ight-part-two/

    It explains how collision detection and resolution is done in my simple 2d collision engine. It is full of code and easy-to-understand diagrams, along with some .gifs of my older projects.

    It also contains links to my GitHub page, where all the source code is freely available.

    Check it out! :D
    Reply With Quote Edit / Delete Windows 8 Italy Show Events Funny Funny x 13Winner Winner x 2Friendly Friendly x 1 (list)

  19. Post #779
    Capsup's Avatar
    April 2007
    823 Posts
    I think I know where the problem is.
    In the part where you populate the vertices vector you use XZ, X+1Z, XZ+1 and X+1Z+1 but the normals you use for each of those are not attached to those points on the map in any way.

    Imagine this gird

    Code:
    ABCDEF
    GHIJKL
    You are pushing in the coordinates of ABG and H but normals of ABC and D. Then for the next quad you use BCHI but the normals of BCDE.

    That's my understanding of your code anyways.
    You're right, I didn't actually think of that. Thanks.

    All that time, and it's such an easy fix...

    Now I just need to get my shader working properly.

    Not sure if the normals are correct, though?


    Also, what I found strange is that you construct quads in the vertices vector but later on you render as triangles. Thought I admit, I didn't look through the whole thing if you do some extra transformations to it later, you did load that quad filled vector into the buffer.
    Well, I've always been told to use triangles rather than quads, so that's why I do it like that. But if there's a better way to render them, do tell?
    Reply With Quote Edit / Delete Windows 7 Denmark Show Events Artistic Artistic x 1 (list)

  20. Post #780
    Gold Member
    Darwin226's Avatar
    January 2009
    4,159 Posts
    You're right, I didn't actually think of that. Thanks.

    All that time, and it's such an easy fix...

    Now I just need to get my shader working properly.

    Not sure if the normals are correct, though?



    Well, I've always been told to use triangles rather than quads, so that's why I do it like that. But if there's a better way to render them, do tell?
    Well, it does look correct. I think.

    As for the quads thing, you're right. You should render triangles instead of quads because quads are deprecated, the thing is, when you tell GPU to render triangles it expects sets of 3 vertices, when you tell it to render quads it expects sets of 4 vertices. If you make your buffer contain quads (4 vertices) and render triangles from that then the last vertex in the first set will be the first vertex of the next set and... well.

    The thing is, it appears to be working just fine so I don't know about that...
    Reply With Quote Edit / Delete Windows 7 Croatia Show Events

  21. Post #781
    T3hGamerDK's Avatar
    January 2011
    2,551 Posts
    Well, it does look correct. I think.

    As for the quads thing, you're right. You should render triangles instead of quads because quads are deprecated, the thing is, when you tell GPU to render triangles it expects sets of 3 vertices, when you tell it to render quads it expects sets of 4 vertices. If you make your buffer contain quads (4 vertices) and render triangles from that then the last vertex in the first set will be the first vertex of the next set and... well.

    The thing is, it appears to be working just fine so I don't know about that...
    If possible, it's always best to conform to standards and avoid deprecated methods.
    Reply With Quote Edit / Delete Linux Denmark Show Events

  22. Post #782
    Capsup's Avatar
    April 2007
    823 Posts
    Well, it does look correct. I think.

    As for the quads thing, you're right. You should render triangles instead of quads because quads are deprecated, the thing is, when you tell GPU to render triangles it expects sets of 3 vertices, when you tell it to render quads it expects sets of 4 vertices. If you make your buffer contain quads (4 vertices) and render triangles from that then the last vertex in the first set will be the first vertex of the next set and... well.

    The thing is, it appears to be working just fine so I don't know about that...
    I'm using elements so that's why I put in vertices of 4, but get 2 triangles. Triangle 1 = element 0, 1, 2 and triangle 2 = element 1, 2, 3.
    So I'm pretty sure it should be correct..?
    Reply With Quote Edit / Delete Windows 7 Denmark Show Events

  23. Post #783
    T3hGamerDK's Avatar
    January 2011
    2,551 Posts
    I've just started out a bit with Perl 6 using Rakudo. Anything bad I should know about the performance before getting on with it?
    Reply With Quote Edit / Delete Linux Denmark Show Events

  24. Post #784
    Gold Member
    Darwin226's Avatar
    January 2009
    4,159 Posts
    I'm using elements so that's why I put in vertices of 4, but get 2 triangles. Triangle 1 = element 0, 1, 2 and triangle 2 = element 1, 2, 3.
    So I'm pretty sure it should be correct..?
    Oh. Right. Didn't notice.

    Yeah, there's nothing wrong with doing that.
    Reply With Quote Edit / Delete Windows 7 Croatia Show Events

  25. Post #785
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    So, I've got this thing that I want to resolve, but I'm not sure how I want to do it yet. The Source engine Lua API in HL2:SB lets you handle your own fonts.




    That's great, but it means you have to recreate them manually in OnScreenSizeChanged when... you guessed it - the screen size changes - because they're scripted in, and not loaded through a scheme. All of the fonts invalidate at that point, and need to be recreated. On top of it, since they're scripted, you have to replace the font handles.

    So a unit test of this, without font reloading, looks like:

    --========== Copyleft  2012, Team Sandbox, Some rights reserved. ===========--
    --
    -- Purpose: Tests the usage of HFont with surface library functions.
    --
    --===========================================================================--
    
    if ( not bit ) then
      require( "bit" )
    end
    local bor = bit.bor
    local vgui = require( "vgui" )
    local Frame = vgui.Frame
    local Panel = vgui.Panel
    
    surface.AddCustomFontFile( "gamemodes\\sandbox\\content\\resource\\DINLi.ttf" )
    local hTestFont = surface.CreateFont()
    surface.SetFontGlyphSet( hTestFont,
                             "DIN-Light",
                             36,
                             0,
                             0,
                             0,
                             bit.bor( 0x010, 0x100, 0x400 ) )
    
    local strTextSample = "The five boxing wizards jump quickly."
    
    g_hFontTestFrame = Frame()
    g_hFontTestFrame:SetBounds( 0, 0, 408, 120 );
    g_hFontTestFrame:SetSizeable( false )
    g_hFontTestFrame:SetTitle( "Font Test", true )
    g_hFontTestFrame:SetVisible( true )
    
    g_hFontTestFrame.m_hFontSamples = Panel( g_hFontTestFrame, "FontSamples" )
    g_hFontTestFrame.m_hFontSamples:SetProportional( true )
    
    local iFontWide, iFontTall = surface.GetTextSize( hTestFont, strTextSample )
    g_hFontTestFrame.m_hFontSamples:SetPos( 0, 120/2 - iFontTall/2 + 4 )
    g_hFontTestFrame.m_hFontSamples:SetSize( 408, iFontTall + 8 )
    
    function g_hFontTestFrame.m_hFontSamples:Paint()
      surface.DrawSetTextFont( hTestFont )
      surface.DrawPrintText( strTextSample )
    end
    
    g_hFontTestFrame:DoModal()
    
    

    It doesn't really get any lower than this. The bindings are direct, and no utility functions are made. So I was thinking, "Well okay, Garry's Mod uses name lookups instead of handles, but you lose some execution speed doing that." So I don't think I want to ditch the handles. But how do I make the handles work through screen size changes?

    Well, in Lua, I can use some sort of HFont container instead and write a fontmanager module, or internally, I can make a font manager to do the same thing.

    I have a problem with these two methods though, but there isn't any other way for me to do this.

    Most, if not every last binding, is a low-level API one. I haven't implemented utilities yet because I haven't thought much on the issue. I'll get there when I do. Anyway, if I end up containing the HFont data, I have to write in some sort of set of overloads for the current surface functions to accept the new containers, but the name of the functions would most likely stay the same, so they no longer accurately represent what is going on in Source.

    I could no longer say they were HFonts being used in the relevant functions, but more like... handles for the font handles...

    Right now I'm trying to think of the best way to tackle this, because this is one of my only projects where I don't really iterate a lot over what is completed. I do the best I can the first time around, and rarely have had to come back to fix something. I do this mainly because I have too many things I'd like to touch on with the project, so it's a better time investment for me to take a little longer so it's done right the first time.

    Maybe one of you guys has a better idea?
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  26. Post #786
    T3hGamerDK's Avatar
    January 2011
    2,551 Posts
    So, I've got this thing that I want to resolve, but I'm not sure how I want to do it yet. The Source engine Lua API in HL2:SB lets you handle your own fonts.




    That's great, but it means you have to recreate them manually in OnScreenSizeChanged when... you guessed it - the screen size changes - because they're scripted in, and not loaded through a scheme. All of the fonts invalidate at that point, and need to be recreated. On top of it, since they're scripted, you have to replace the font handles.

    So a unit test of this, without font reloading, looks like:

    --========== Copyleft  2012, Team Sandbox, Some rights reserved. ===========--
    --
    -- Purpose: Tests the usage of HFont with surface library functions.
    --
    --===========================================================================--
    
    if ( not bit ) then
      require( "bit" )
    end
    local bor = bit.bor
    local vgui = require( "vgui" )
    local Frame = vgui.Frame
    local Panel = vgui.Panel
    
    surface.AddCustomFontFile( "gamemodes\\sandbox\\content\\resource\\DINLi.ttf" )
    local hTestFont = surface.CreateFont()
    surface.SetFontGlyphSet( hTestFont,
                             "DIN-Light",
                             36,
                             0,
                             0,
                             0,
                             bit.bor( 0x010, 0x100, 0x400 ) )
    
    local strTextSample = "The five boxing wizards jump quickly."
    
    g_hFontTestFrame = Frame()
    g_hFontTestFrame:SetBounds( 0, 0, 408, 120 );
    g_hFontTestFrame:SetSizeable( false )
    g_hFontTestFrame:SetTitle( "Font Test", true )
    g_hFontTestFrame:SetVisible( true )
    
    g_hFontTestFrame.m_hFontSamples = Panel( g_hFontTestFrame, "FontSamples" )
    g_hFontTestFrame.m_hFontSamples:SetProportional( true )
    
    local iFontWide, iFontTall = surface.GetTextSize( hTestFont, strTextSample )
    g_hFontTestFrame.m_hFontSamples:SetPos( 0, 120/2 - iFontTall/2 + 4 )
    g_hFontTestFrame.m_hFontSamples:SetSize( 408, iFontTall + 8 )
    
    function g_hFontTestFrame.m_hFontSamples:Paint()
      surface.DrawSetTextFont( hTestFont )
      surface.DrawPrintText( strTextSample )
    end
    
    g_hFontTestFrame:DoModal()
    
    

    It doesn't really get any lower than this. The bindings are direct, and no utility functions are made. So I was thinking, "Well okay, Garry's Mod uses name lookups instead of handles, but you lose some execution speed doing that." So I don't think I want to ditch the handles. But how do I make the handles work through screen size changes?

    Well, in Lua, I can use some sort of HFont container instead and write a fontmanager module, or internally, I can make a font manager to do the same thing.

    I have a problem with these two methods though, but there isn't any other way for me to do this.

    Most, if not every last binding, is a low-level API one. I haven't implemented utilities yet because I haven't thought much on the issue. I'll get there when I do. Anyway, if I end up containing the HFont data, I have to write in some sort of set of overloads for the current surface functions to accept the new containers, but the name of the functions would most likely stay the same, so they no longer accurately represent what is going on in Source.

    I could no longer say they were HFonts being used in the relevant functions, but more like... handles for the font handles...

    Right now I'm trying to think of the best way to tackle this, because this is one of my only projects where I don't really iterate a lot over what is completed. I do the best I can the first time around, and rarely have had to come back to fix something. I do this mainly because I have too many things I'd like to touch on with the project, so it's a better time investment for me to take a little longer so it's done right the first time.

    Maybe one of you guys has a better idea?
    Just hard code the resolution, man.
    Reply With Quote Edit / Delete Linux Denmark Show Events Dumb Dumb x 12 (list)

  27. Post #787
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    Just hard code the resolution, man.
    that doesn't have anything to do with my issue

    my issue is that fonts you create in the scripted environment are destroyed when you change resolutions

    so basically, this:


    becomes this:
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  28. Post #788
    Gold Member
    danharibo's Avatar
    July 2006
    4,498 Posts
    that doesn't have anything to do with my issue

    my issue is that fonts you create in the scripted environment are destroyed when you change resolutions
    Wrap the fonts in some sort of proxy so that you don't use the font handles directly?
    Reply With Quote Edit / Delete Linux United Kingdom Show Events Agree Agree x 1 (list)

  29. Post #789
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    Wrap the fonts in some sort of proxy so that you don't use the font handles directly?
    Yeah, that's what I'll have to do. My only concern is that the functions then become misleading to anyone who moves from Lua to C++.

    Currently,
    surface.DrawSetTextFont( HFont font )
    would be
    surface()->DrawSetTextFont( vgui::HFont hFont )

    But wrapping it would mean you never actually use that type.

    And you get something like:
    surface.DrawSetTextFont( HFontContainer fontcontainer )
    to
    surface()->DrawSetTextFont( vgui::HFont hFont )

    I think I'm being picky for the sake of semantics. But I dunno, it's my project, and that was one of the paradigms - to keep as close as possible to the Source SDK.
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  30. Post #790
    Gold Member
    Jookia's Avatar
    July 2007
    6,768 Posts
    that doesn't have anything to do with my issue

    my issue is that fonts you create in the scripted environment are destroyed when you change resolutions

    so basically, this:


    becomes this:
    I don't know anything about the source engine, but can't you just hook in to the resolution changing (or new graphics context) and have it rebuild the fonts? Cost obviously isn't an issue because you're changing the resolution in the source engine.
    Reply With Quote Edit / Delete Linux Australia Show Events

  31. Post #791
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    Do you think that's still acceptable, and I'd just tell people in documentation that HFontContainers allow for handle continuity?
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  32. Post #792
    Gold Member
    danharibo's Avatar
    July 2006
    4,498 Posts
    Yeah, that's what I'll have to do. My only concern is that the functions then become misleading to anyone who moves from Lua to C++.

    Currently,
    surface.DrawSetTextFont( HFont font )
    would be
    surface()->DrawSetTextFont( vgui::HFont hFont )

    But wrapping it would mean you never actually use that type.

    And you get something like:
    surface.DrawSetTextFont( HFontContainer fontcontainer )
    to
    surface()->DrawSetTextFont( vgui::HFont hFont )

    I think I'm being picky for the sake of semantics. But I dunno, it's my project, and that was one of the paradigms - to keep as close as possible to the Source SDK.
    Well just do what makes the most sense, you have to take into account that Lua isn't really C++, you can't always apply the same ideas in the same way.
    Reply With Quote Edit / Delete Linux United Kingdom Show Events Agree Agree x 1 (list)

  33. Post #793
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    I don't know anything about the source engine, but can't you just hook in to the resolution changing (or new graphics context) and have it rebuild the fonts? Cost obviously isn't an issue because you're changing the resolution in the source engine.
    Yep, that's the plan. My only problem here is concern for semantics.

    Edited:

    Well just do what makes the most sense, you have to take into account that Lua isn't really C++, you can't always apply the same ideas in the same way.
    Yeah, you're right. Well I guess that answers that.
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  34. Post #794
    Gold Member
    Jookia's Avatar
    July 2007
    6,768 Posts
    You could always write it in a gotchas.txt file for Lua users, but Lua users shouldn't be trying to C++.
    Reply With Quote Edit / Delete Linux Australia Show Events

  35. Post #795
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    You could always write it in a gotchas.txt file for Lua users, but Lua users shouldn't be trying to C++.
    I think I'll just stick to putting it down as a note in the documentation, but yeah. Lua users shouldn't be trying to face the same problems C++ users do, for sure, but the reasoning for the API being so similar is to provide a better sense of what is being used internally, while still having ease of development. It is scripting after all.

    Edited:

    Thanks for your feedback guys.
    Reply With Quote Edit / Delete Windows 7 United States Show Events Friendly Friendly x 2 (list)

  36. Post #796
    Paid for a title.
    Maurice's Avatar
    June 2005
    6,175 Posts
    Update of Gamescom stuff:



    We get chairs tomorrow morning.
    (By the way we couldn't find the Valve booth..)
    Reply With Quote Edit / Delete Windows Vista Germany Show Events Winner Winner x 36Artistic Artistic x 2 (list)

  37. Post #797
    PENISCORP DIRECTOR
    Gran PC's Avatar
    August 2007
    3,114 Posts
    What's that in front of the computer with Not Tetris running?
    Reply With Quote Edit / Delete Windows 7 Spain Show Events

  38. Post #798
    Paid for a title.
    Maurice's Avatar
    June 2005
    6,175 Posts
    NES controller.
    Reply With Quote Edit / Delete Windows Vista Germany Show Events Winner Winner x 2Agree Agree x 1 (list)

  39. Post #799
    Richy19's Avatar
    May 2010
    5,413 Posts
    Why a driving wheel for pacman?
    Reply With Quote Edit / Delete Linux United Kingdom Show Events Funny Funny x 9Agree Agree x 5 (list)

  40. Post #800
    PENISCORP DIRECTOR
    Gran PC's Avatar
    August 2007
    3,114 Posts
    NES controller.
    That's awesome.
    Reply With Quote Edit / Delete Windows 7 Spain Show Events Informative Informative x 1 (list)