Archive

Author Archive

Mouse input in games – and why so much developers bork it

March 4th, 2010 aVoN 6 comments

I lately bought Battlefield – Bad Company 2 and I really dislike how they implemented mouse input control. The game doesn’t feel like the majority of the games I own, and here is the reason why:

Instead of using mouse input directly from Windows (including every feature it has on the desktop such as acceleration etc), they read out the mouse movement from the hardware instead, so they can fuck around with it. This is a really bad idea because it will make every game doing the same feel differently due to different implementations. That’s stupid. The right way would be just taking the mouse input of windows and multiplying it by a sensitivity multiplication for the game (and adding a checkbox which temporarily turns off Window’s mouse acceleration for those who need it).

This brings me to Mouse Acceleration: Many gamers like to say “disable it“, where I like to have it enabled: This allows me using a small sensitivity for precise accuracy while a fast movement maneuver gives me the ability turning around by 180° without moving the mouse 5 times over the pad. Sadly some games force acceleration off with no option to turn it back on.

Here is a small list of games which do it right:

  • hl2_ctf Half-Life 2, Left 4 Dead 1/2 and every Source Engine bases game
  • 1_Squad_COD4 Call of Duty: Modern Warfare 2
  • 57_CrysisWarhead Crysis
  • c0f66756fed26578036c9277786449c238302769_medium Killing Floor

And these are now some of the black sheep:

    Battlefield-Bad-Company-2-2-icon Battle Field – Bad Company 2

    You can at least turn on mouse acceleration and adjust the acceleration parameters. But you can neither modify the acceleration threshold nor switch back to “Windows”-like input. So any settings you do here in order to make it feel like in other games are condemned to fail or take ages until you found the one you need.
    Unreal-Tournament-III-2-icon Unreal Tournament 3

    Here you even can’t enable mouse acceleration at all. You can only try messing around with a config-file but this hasn’t revealed any settings for me yet which allowes me making it feel like e.g. Half-Life 2 (which uses Windows mouse input).
Categories: Bullshit, Computer, Games Tags:

gm_mount2 – Use any source-engine content in GMod

February 19th, 2010 aVoN 22 comments

Description
This addon allows you mounting any source-engine games in Garry’s Mod including default VALVE games, Steamworks content like D.I.P.R.I.P, Left 4 Dead and every installed SourceMod.

Download

The full version includes spawnicons for some models (several MB). The light version doesn’t, so it is much smaller. But you have to generate the icons yourself.

SVN-Repository (always up-to-date)

Url: http://svn.daggeringcats.com/mount2
User: anon
Password: anon

Annotations for Left 4 Dead 1/2:
Left 4 Dead maps are not compatible with Garry’s Mod. Don’t try loading them – This will only cause GMod to crash.

Why another mounting addon?
You may know the orginal mounting addon and it’s extension for sourcemods. They work well but I wasn’t really satisfied with the way they work and I disliked their messy sourcecode so I wrote up my own from scratch.
My addon directly integrates into GMod and works on dedicated servers which is not possible without many modifications of the old gm_mount addon.
It also can mount Left 4 Dead and Left 4 Dead 2 which is the main purpose of this addon, which took me over 3 weeks, around 2000 lines of C++ code and much coffee to figure that out.

gm_mount2 – Mount everything in GMod – Current state

February 5th, 2010 aVoN 21 comments

In the past two weeks, I have been working on gm_mount2, an adaption but also totally rewrite from scratch of this addon for GMod.

My intention first was making it mount games automatically if you install it serverside (the way it is in that link needs heavy modifications to make it run) and an easy integration into GMod’s default mounting-menu.

This was done really easily and I started thinking about “why can’t garry make GMod mount L4D?”. I took some more deeper research into it and found out, that L4D and L4D2 don’t use GCF-files to store their models, sounds and everything in – They use VPK files which are unsupported for mounting in the OrangeBox version of the Source-Engine where GMod runs on.

Luckily it rushed into my mind that Nemesis, the coder of GCFScape, has a library called HLLib which allows reading from VPK containers. It took me around 2 hours to figure out how HLLib works and I made my first successful attempt in reading from VPKs.

But now the torture began: How shall I tell GMod to read from VPKs? My idea was overriding default FileIO functions of Source which are stored in the interface IFileSystem and IBaseFileSystem. My idea was using MS Detours which is known to be detectable by VAC so I searched different ways for about 3 days before I got told “VAC in GMod is active but does not ban” (yet).

So the plan was clear: Detouring the methods of the interface and intercept if a file within a VPK is requested. It was all so clear and easy in my head but I got beaten down by reality really fast again. The methods of the interface I have to hook/overwrite are virtual, which makes them a pain in the ass to hook. It took me 2 days with the help of mainly Jinto before I was able to hook those. If any developer is interested in, you can find my VDETOUR script here.

Hooking now worked but I first had to figure our a fast and efficient way of tracing opened files so I can tell it’s either a file within a VPK or a “normal file”. This took me 3 more days.

Yes, I suck at ragdoll-posing - In the console you see what the filesystem has done etc and in the background you see Francis

Today I had my first successful attempt reading a file from within a VPK in GMod with GMod’s lua function file.Read but it just read about 500 letters at max – how silly.

Recapitulation: It was a pain in the ass to implement. Especially because my lack of knowledge of GMod’s internals. It could have been so much easier to implement if I’d be the mod-coder.

Update:

Today I made the successful attempt in loading a model of L4D in GMod using my module. It works flawless! No crashes etc. Now I only have to implement some minor stuff like file-searching and the lua-interface. Maybe one ore two more days and I can release it!

Categories: Blog, C++, Computer, Games, Garry's Mod, Modules Tags: , ,

My current plans and projects

January 23rd, 2010 aVoN 8 comments

I’m currently busy as always with University. In about 1 week I have my first exam of 6. Once this is done, I’ll have time again for “work” – In two ways.

I’m working at my Institute where I did my Bachelor-Thesis. It’s a mini-job with max of 400 € (Just needs me to work for about 28 hours a month. This costs me about one day in the week – and I love my job!

Another thing I’m on is a Trillian plugin which allows chatting with Steam Friends (while Steam is running in the background). It uses Open Steamworks.

One more thing is a new mount-plugin for GMod which shall allow mounting third-party games easily. I know there are about 2 plugings already around, but both have messed up code (They are a sourcemod-plugin and a lua-plugin at once which is shit-code) and are not really userfriendly. My plugin is meant to work easily on clientside and is also meant to mount all available games it finds serverside if you host a dedicated server.

And of course I have to finish #45 of Stargate: The very long expected new release to my famous stargate-mod for Garry’s Mod. I can understand when/why people are unable to wait for #45 (its over one year ago I did a major stargate-release). But all other topics (University and side-projects) eat up all my time so far. I hope I can work out #45 this year and before April.

Categories: Blog Tags:

Happy Microwave Cap

January 21st, 2010 aVoN 8 comments

My sister has latelty destroyed our microwave-cap, which is supposed to be put over the dishes in order to keep the microwave clean.

Well, she was lazy and put the dishes onto the cap, which was upside down. This resulted to the plated heating up and melting the plastic of the microwave cap. Well, this was the result.

Categories: Blog, Bullshit Tags: ,

One more rant about GTA IV

January 17th, 2010 aVoN 19 comments

Savegames! They are stored in C:\Users\<your username>\AppData\Local\Rockstar Games\GTA IV\savegames and not how you could guess in the games-folder or (what is also just dumb) in your My Documents-Folder.

Seriously: Why do game-developers make so shitty shit? I have my PC configured to have 3 Partitions: System (C:\), Data/Programs/Games (D:\) and Media (E:\). I do not install any app to C:\ nor do I use My Documents. I put all my data to D:\ and Media such as MP3s,eBooks and Videos to E:\. The best way for the developers putting savegames is in the game-folder directly! This will give users the chance to backup their games including all savegames at once.

Now I had to reinstall my Windows (putting back a TrueImage backup) and now my savegames are gone – Even with a full backup of my “My Documents”-Folder where you have a “RockStar/GTAIV” folder in (which I suspected to be my savegames).

I will now stop playing GTA IV. I can’t be arsed to play every fucking mission I did before again (I had about 30-40%), except someone gives me a savegame which I can use (Right after your original house got burned down my Dimitri and his guys).

Edit:

I just found a website, where you can download savegames. But sadly, GTA IV disallows loading savegames not made with your own Games for Windows – Live account. Seriously, what the fuck?

Now I will use a program called “XLiveLess” which removes the Games for Windows – Live and Rockstar Social Club bindings out of GTA IV. This is some sort of a crack. But hey: If they are so stupid disallowing adding savegames, put savegames to arbitrary folders which are getting easily lost after a Windows reinstallation and add copy-protection like SecuRom,Games for Windows – Live and Rockstar Social Club to the game – what do you expect?

Unluckily, XLiveLess disallows me using the Multiplayer mode (the coder intentionally added it to disallow cheating). But I can get around this. I simply have to remove one file out of my GTA IV folder to make it able to play online again (but which will block loading my savegames).

tl;dr Version:

Just a big fuck you at Microsoft and RockStar Games for their inability to make games easy and not full of nagging copy-protection shit which only annoys legit buyers.

Categories: Computer, Games Tags:

Installing Xen from Source on Debian Lenny (on a hetzner.de EQ6 server)

January 11th, 2010 aVoN 13 comments

Xen is a very powerfull virtualization program, which also allows using techniques like AMD Pacifica or Intel Vanderpool to run the virtualized OS directly on the hardware of the machine without any emulation. This makes it very powerfull and fast compared to an emulated OS. But it actually is a pain in the neck if you want to install it and are a newbie concerning virtualization.

This tutorial now shows you how to compile the necessary Xen-Kernels and how to set up some example VMs running Linux itself again and Windows. Read more…

Categories: Computer, Server Tags: , , ,

New design

January 10th, 2010 aVoN 9 comments

How you can see, I have updated the whole website’s design to this cool one. It took me half the day because this wasn’t the only thing to do. I had first to update all my wordpress addons and wordpress itself and then I needed to modify this design and fix nasty bugs.

Anyway, it is done now. I’d also like to announce, that our Teamspeak 3 server is available now.

Categories: Blog Tags: , ,

GTA IV – Ruined by DRM

January 7th, 2010 aVoN 8 comments

When Steam had his amazing holiday-sale off, i bought GTA IV for about $7 and I was happy I got a game that cheap. But quite just a few moments later I realized why I was boycotting this game in the earlier days: It is “copy protected” by SecuRom and you have to register this game to “Rockstar Social Club” (RSC) and “Games for Windows – Live” (GWL) so the torture began.

I started the game for the very first time and that RSC-Window popped up, nagging me to register. So did I. I logged in to my account on RSC and started the game. Everything seemed to work but then the game simply kept hanging at “Changing Language” all the time. It nearly made me rage. After about 10 restarts of the game, I googled that specific error and found out, that I have to press POS1 on my keyboard (it never told me to do that within these 10 starts) to make the GWL-popup appearing. So one more freaking service I have to register to before I can play. So I turned off GTA IV, went to the RSC-Website and logged in there. There was an option I remembered seeing before which was about “linking Rockstar Social Club to Games for Windows”. I pressed this and got referred to a website which allowed me to register. I did and activated all. Then I hoped being able to login but I wasn’t! This dumbshit RSC referred me to “Windows Live” which is not “Games for Windows – Live” – What the hell.

Anyway, after I figured that out, I wasted more than one hour making that game run. And that just because of motherfucking DRM. Seriously. I play a game which is already protected by Steam but now also needs SecurRom installed (why? I have no disc I could copy) and being registered to “Rockstar Social Club” (why? That game is already registered exclusively to my steam account) and “Games for Windows – Live” (same why question as for RSC).

This is the kind of shit, why other people actually pirated games: To get rid of these nagging shit. (The game itself is fun of course!)

Categories: Blog Tags:

The website is back

January 6th, 2010 aVoN 9 comments

Finally, after a really really long downtime (sorry guys), my server and website is back and running again. The reasons for the downtime were various. First of all, our old hoster set our server offline because it got hacked. Additionally, after we were going to buy a new and faster one, we had billing issues which I do not want to discuss in detail now. Also many members were busy and so the server kept offline.

Anyway, now we have a new server. It is hosted by hetzner.de. It has a Core i7-920, 12 GB RAM and 3 TB harddisk. The connection is 100 MBit/s wide. Various virtual servers run on it (for now two Linux servers and one Windows) which are virtualized by Xen (I will probably write a post about Xen in the future because installing out of source it is not really easy).

My gameservers are also back. You can see their details on the right. Have fun Smile

Categories: Blog Tags: