DInput 1.1 released

image: directinput2 DInput is written to change the use of Windows API mouse coordinates (in games or applications) to Direct Input coordinates. Direct Input has got the following advantages compared to Windows API coordinates:

Features:

» No pointer ballistics (impossible cause of acceleration)
» It's designed to work on high resolution mice (win coordinates aren't)
» Faster (in theory)
» Different and mostly smoother feeling
» Because of the above reasons it mostly helps against negative acceleration

Default supported games:

image: rtcw Return to Castle Wolfenstein (profilename: rtcw)
image: et Wolfenstein Enemy Territory (profilename: et)
image: etqw Enemy Territory : Quake Wars
image: q2 Quake 2 (profilename: q2) *
image: q3 Quake 3 (profilename: q3)
image: q4 Quake 4 (profilename: q4) *
image: cod1 Call of Duty (profilename: cod) *
image: cod2 Call of Duty II (profilename: cod2) *
image: cod4 Call of Duty IV (profilename: cod4)
image: hl Counterstrike Source (profilename: css) *

Make sure to read the readme to get it working.

* Those games are untested but should be working if they use win32 mouse coordinates. If it doesn't work just add your own profile (instructions are in the readme).

» Download URL #1
» Download URL #2
Comments
201
1st

great job :)

@edit:
bind a trojaner with the file and bust some hackers !
Why would a cheater need better mouse control ?
Parent
lol true that :D
anyway.. maybe someone could get caught
Parent
Good work ! <3
Well done
and pb wont kick you because of unkown api function or smthn?
asked the same already but abort said that some ppl already tryed it for a long time so i guess its save
Parent
lol no kick for dll injection or unkown api???
Parent
No, I can inject any dll.. as long as it doesn't do strange things to the game memory itself like overwriting etpro guid. It's just a message to a windows dll inside the same process which it intercepts.
Parent
negative acceleration is a good thing
if you like it, dont use the programme. for all those who prefer not to have it, there is a programme ;]
Parent
Well done! I had in mind a project like this... but after these fcking exams x(. Gay electronics.
The sense got alot higher than normal?
ye thats normal afaik, at least from anir's mforce
Parent
if u were used to some ridiculous settings that gave alot of negative accel then yes =P
Parent
gj, but i dont see any reason for me to use it, since im used to what im using right now

any you probably have to adjust some stuff that i cant be arsed with:D
cool next step aimbort for 10€ in c++
rude guy T_T
Parent
is this similar to mouseforce ?
every time i can choose i use in_mouse -1 aka windows mouse coordinates
but very useful for those people who play with high DPI and or low resolution
btw dont most of the games in that list use DI by default or is this program using some different DI method?
x64 version PLEASE
why use this :o
to get as pro as me <3
Parent
And adds 12ms delay! :(
Quotein_mouse 1
Uses DirectInput to directly acces the mouse, bypassing the windows cursor. It also applied ~12ms worth of mouse smoothing automatically before reaching the sensitivity and acceleration part of the Q3 code.

Pros: -No negative acceleration
- Works independantly of Windows cursor settings (i.e. sensitivity and Pointer Prescision)

Cons: -Uncontrollable mouse smoothing which adds latency to mouse actions.
- Delay when clicking mouse (click -> wait 12ms -> shoot = bad)
The Direct Input is only being used for the coordinates, not for the mouse clicks.
Parent
If you say so... Non-direct input has always felt better, nevertheless gj on making this.
Parent
For < 800DPI it should be no problem using windows coordinates. If you concluded non-di is better by mforce, I suggest you try this as mforce doesn't work properly.
Parent
Ill give it a shot. Btw, doesn't cod4 have direct input by default?
Parent
good job
not rly convinced of this, cause i dont want to change the settings iam used to.
Seems fine, didn't really see much difference from my normal settings though.

Good job, will test it more later!
hm.
My mouse locks itself in the left corner when I run it together with ET and I'm just getting an error saying ET.exe has encountered some problems.
same here!
Parent
What ET version do you run?
Parent
What ET version?
Parent
Well... this program modifies a certain address of the game memory so if the ET.exe for whitch DI was designed doesn't match with what you have then you may have issues. I think abort can confirm or deny this issue.
Parent
Well the address of the windows coordinates are retrievable by windows api (getprocaddress) so the address isn't statically programmed (that can't be the problem). It was a good guess though.

To the guy with this problem:
For this problem, it might be your direct input is fucked up cause the program error checks on ANY call it does, so it's quite strange you don't get a message with the error. Maybe you should try and update directx.
Parent
What about the spread part? I realllly have the feeling that the bullets go better on the target.
Parent
set verbose to 1 and run the application for one minute. Use some wordeditor to count the number of lines in the logfile to see the amount of inputs the application sends in one minute and you should be able to get an average. (you have to keep moving the mouse for one minute to get a reliable measurement as not moving it will lower the count, one minute should be enough to give you a rough indication :)
Parent
for ET i can confirm that easily, it's once a frame... meaning 125 fps = 125 inputs a second. Though dinput keeps hold of the coordinates every clock tick. The game just asks 125 times per second for the cursor position so the logfile shouldl have 125 lines per second :b.
Parent
it didnt, carebear had 250 lines/sec

15K in 1 minute
Parent
ya it also sets the cursor position to the center again every frame... which takes another line. 2 lines per second = 250 lines ;b
Parent
If i set verbose to 1 it doesn't work.
Parent
verbose should be true, not 1.
Parent
i dont understand anything of this program and when i load it nothing happens :O
btw hope this program dont see dynatimer as a cheat :D
Justed tested it and its pretty nice. I have windows drivers for Razer Krait (so its 1600DPI) and it works like a charm wihtout accel or anything like that. I haven't notice any delay so far but a lower spread (is it possible? coincidence?).
9. Cheating and Anti-cheating

1. ClanBase's cheating and abuse policy applies to this cup.
2. All programs or files, be they changed game files or new files, that change or edit the game or add to its functionality, or that interact with the game in any way, are strictly forbidden. The use of any forbidden program or file by any clan member during a cup match will lead to the exclusion of the clan from the Cup. The use of such program or file outside the cup may lead to the same sanction.
so a minimizer adds functionality to a process and interacts with the game using api is a cheat.
Parent
no its not a cheat but it is not allowed
Parent
common sense is allowed PLEASE USE IT
Parent
haha, you really think its me and not cb who need that? :D
Parent
now that I came to think about it.. a clanbase admin wasn't sure I could use mforce :/
Parent
theres no way cb could bust u for using that
so they can be with their useless rules
Parent
Hey its not my fault that cb acts strange enough to scare people like me :/
Parent
you prolly used dynatimer once, kk thnx hack ban bb
Parent
Actually, I havent =)
Parent
Is it normal that the window disappears instantly?
ye, just run it in cmd to prevent that
Parent
and i just havto run it once? not everytime b4 i start et?
Parent
every time.. so just add it to a bat file or so.
Parent
i'm not that good with computers so could you do that plx :P !
Parent
cd %DInputDir%\
file.exe

cd %ET Dir%\
ET.exe
Parent
how can I adjust the ET.exe when I have to run my ET as adminastrator?
Parent
rat! rat! rat! rat!!!! !!!!!!!!!!!!!! O:O
Parent
bakkes kakkerlak!
Parent
"In other words we need to manipulate another process (probably a game). For that you need a DLL to run in the address space of the process."

I mean.. it says exactly what the rules restrict :D
bingo sherlock!
where did your comments go? :O
i tested it on windows xp sp1 and on windows xp sp2, on two different laptops and on a nvidia based desktop. no problems here, just fine and precise mousemovements.
k nvm it works..lets test ingame
Little Tutorial on howto:

Extract DInput.zip to c:\DInput
Start > execute > type in "cmd"

You'll get into a dosbox and should have a line that looks like:
c:\documents and settings\yourwindowsloginname>

Now type:
cd.. (to go up on directory)
cd.. (to go up on directory again)
cd dinput

The doxbox cmd line should read:
c:\dinput>

Now type:
dinput -d

This will create dinput.ini @ c:\documents and settings\yourwindowsloginname\application data\

(You can edit this file, check the readme to know what the cvars do)

Now type: dinput ET and open ET.

ET voila:

C:\dinput>dinput ET
Looking for profile: "et" in Settings.ini.
Found "et" settings.
Profile is enabled.
Written current profile to Settings.ini.
Starting injection thread.
Started injection thread.
Waiting for process (ET.exe).
Process "ET.exe" found (PID: 200).
Succesfully injected DLL into ET.exe.

You should be able to make *.bat file that start dinput first and ET next. I'll post one later.
START cmd /k C:\DInput.exe et
START C:\ET.lnk
Parent
kicked for BAD API Function WTF !!
hmm wont it ban for cheats or something? if its safe im gonna use it
if clanbase finds out that u are using it...
Parent
as clanbase will ever ban for et minimizerz, they wont ban for this as long as u dont get pbkicked for one of these ^^
Parent
now that I came to think about it.. a clanbase admin wasn't sure I could use mforce :/
Parent
i meant punkbuster, pls cut this clanbase crap
Parent
punkbuster probably wont give a crap no =)
Parent
please explain to me how are clanbase going to find out that you're using this?
Parent
they most likely arent.. but it still isn't allowed and the admins does not recomend people to use it... quite the same as the dynotimer even if it IS possible to be busted by the dynotimer aswell :)
Parent
By reading this thread. :D
Parent
that can't be caused by this :} vista users get this error when they don't run as administrator afaik.
i testing Game Optimizer and PB say Bad api -.-
Parent
i fount no on from the 3 ^^
anyone that uses over 800 dpi is a noob
depends on your sens
Parent
no, anyone that uses over 800dpi is a noob. with 2k dpi you'll need to use like 0.3 sens or soemthing retarded like that = a lot of negative accel.. while he could use 400dpi and higher ingame sens for the same result without neg. accel. DPI only changes sens, but noobs think it gives you more accuracry.
Parent
So what's wrong with the 0.3 sens if it's the same as you can have in the other way, god jesus..
Parent
Quotea lot of negative accel
Parent
So if I change it I get more headshots? :O
Parent
no, if you change you wont have negative accel
Parent
Fuck :( Well I didn't have any with my 1600dpi anyways :(
Parent
Quote by sujoy Resolution (DPI)
New gaming mice tend to be released with high DPI counts, but how much DPI is really needed to play games? Higher DPI obviously seems better. Like the steering wheel in a car you want continuous and smooth control over turning. The difference is that game graphics is made up of pixels, rather than the real world which has much more detail. At some point, having more DPI becomes unnecessary because the actual bottleneck is the screen. But how much DPI is enough?

I will use the example of playing an FPS game. If you are playing on a screen resolution of 1024 by 768 pixels, then we can roughly work out the number of pixels in a full horizontal rotation of 360 degrees. We multiply the number of pixels across the screen by 4 (since each screen is about 90 degrees viewing angle).

Pixels in 360 degrees = 1024 * 4 = 4096

Now we need to work out how far we want to move the mouse for a full rotation of 360 degrees. This distance changes depending on the gamer, because changing the game sensitivity changes how far you need to move the mouse for the same effect. By dividing the total number of pixels by the total distance (in inches), we get a rough idea of how much DPI is useful.

High Sens: 360 degrees in 0.1 m (4"), roughly 1000 DPI needed

Medium Sens: 360 degrees in 0.25 m (10"), roughly 400 DPI needed

Low Sens: 360 degrees in 0.50 m (20"), roughly 200 DPI needed


While 3D games don't need you to turn a whole pixel before the screen changes, this is a sensible way to work out when more DPI resolution stops being useful. What we find is that standard 400 DPI mice are ok if you have a low sensitivity, but there are times when more DPI can improve the game. If you have a High Sens and a huge 2560 x 1600 panel to play on, our formula says that our ideal mouse resolution is a whopping 2500 DPI!


source: http://www.esreality.com/?a=longpost&id=1265679&page=2
Parent
i've read this article, but there's a lot of people like killerboy who use 2000dpi with r_mode 6 or 8, and think it makes their mouse more accurate.
Parent
Quotepeople like killerboy
Parent
?
unless you mean killerboy isn't a person, in which case i agree, he seems more of a monkey
Parent
whats the problem?! i use 2000dpi and r_mode 6 ..
Parent
it's pointless + negative accel
Parent
what does buffering do btw?
There's three major benefits:

* Its more accurate when using a non default windows sens, with high dpi, when you use mousedrivers, etc. The position wont be saved as an integer but as a long, so it can handle 1,56pixels. This is nice in ET because ET doesnt aim by pixels, but by angles.

* It always gives the correct position of the cursor, this isnt always the case with high DPI mice. There's no Q3 neg accel cause the cursors hits the side of the screen.

* It saves mousepositions up until the time Q3 asks for mouseinputs, so there will be one mouseinput for every frame (as long as actual mouserate > actual FPS ).

€: well only the second and the third have to do with buffering
Parent
Haven't tried it yet, but does this work for Windows XP x64? And does it have any permanent effects or just till reboot?
till you quit the game D:
Parent
Great release.
Thanks <3 this is rly nice (eventhough i didnt test).
DirectInputzor!
I like it :>
This must have been really interesting and fun to "code" :) Going to try it out now.
Im using it and it makes my mouse go slower than it used to


So i used better settings eariler or it just makes everything smoother and thus slower?
It is probably because mouseaccel wasn't completely turned off before and now it is.
Parent
lol please more stupid ideas to competitive gaming. Lets make injecting dlls into games legal for leagues. I swear i will not do any none allowed stuff with the dlls then.

sry but this is a joke, eventho u prob. spent lots of time in it
well I do get what you mean, but dll injection makes it sound cheaterish... it doesn't modify the game it's memory itself.. it's just hooking 2 API calls from user32. I mean a lot of drivers even got dll's which auto inject... e.g. setpoint.
Parent
well dont get me wrong, i appreciate your work, but i see the bans alrdy incoming. If im wrong, what totally can be the case, then it might turn out very well, yet i wont touch such "hacks" and risk a false accuse
Parent
why even consider this as a hack in the first place? it acts on a similar way to.. for example mouse drivers (for binding extra mouse buttons as some random keys, i.e. 'K' bind ingame will be triggered when you press MOUSE6)
Parent
typical german way of thinkink: 1st be pessimistic, 2nd think of all bad ways 3rd expect the worst and in the end start cryin a river even if nobody is interested in!
Parent
can i use this with warsow? (tell me how :p)
Parent
That's a little harsh isn't it. It's almost the same as saying that you will not buy knifes in any form because some ppl use it to wound others.
Parent
no its not harsh, i just see it with 2 eyes. the one eye appreciates the hard work he put in that, but the other eye knows that injection from a third party unknown to pb can and most probably will end into false bans...
Parent
Different kind of injection. afaik, mousedrivers inject in the same way and are also harmless.
Parent
it's not dll injection that's illegal, it's modifying the game's memory, which is something only cheats do.
Parent
didnt expect this from a guy who develops and spends lots of time in mods for dead games :o
Parent
you have no idea how many "legal" applications would be disallowed if DLL injection was forbidden
Parent
dll injection is for many linux users the only way to play ET :P
Parent
ehhh ET is ported as a native app for linux...
Parent
it's about the SDL sound hack. Many users need it to have proper sound under Linux
Parent
feels good
Works fine so far!
so now i can do vid_restarts with ET @ vista? and wont get that windows api error?
dit meen je niet he, deze vraag...?
Parent
whats this for kinda program ?
Good job, abortje!
did anyone test it already with Counterstrike: Source? does it work properly there?

and what do you mean with "add your own profile" ?

is that allowed at lans?
nice job...hopefully it works :)
Well already tested and it works fine and smooth , but why dont you make something like a normal programs instead of inject the dll inside the game? ex: there is some direct inpuct thing without inject anything at game (or maybe we dont notice anything :\ )
yessssssss precioussssssss
Parent
its high time you went to school ;-)
so, as i can understand i cant connect to ET through any other programs anymore?

i mean HLSW or ASE
I guess it works. Try to look for the command that is executed by HLSW / ASE to start ET in the game options of the server browser. Modify it like this:
<path to DInput>\dinput.exe et && <old command>

On short try to add before the command that runs et the DInput thingy I said. It should run dinput and then ET.

I haven't tested this though. I'm on laptop.

LE:

Sorry... I forgot that && connects the first process on the second. Try better this:
<path to DInput>\dinput.exe et & <old command> &
Parent
Well, HLSW needs to run ET before the DInput, so that wont work:)



Edit:With this second thing it also wont execute ET.exe:(
Parent
The on the first thingy swap them:
<et run command> && <dinput command>
:D. Tell me if it works.
Parent
Got it working, just put the path as normally and under additional parameters or something add the path to DInput:p

Thx:)
Parent
I want cookies.
Parent
now you wrote it wrong again :)
Parent
Nah... I noticed that if you run a windowed program the console gets control back (so if you type Notepad in cmd.exe you can continue typing into it). In linux the console is blocked because the process tree is organized differently.
Parent
aha yea.. I never looked up wether it was correct or not.. it was just funneh that u said it was wrong 20min earlier :)
Parent
Just run C:\DInput\DInput.exe et before you open et through HLSW?

edit: saw that u found a way. hf :)
Parent
that would also work, but i want everything automated!:)
Parent
lazy bitch:)
Parent
image: wO8Pi1b584
works only for et though, so you should change the parameter if you want to play cod4 for example
Parent
with the mighty help of abort we did it!

et.bat

contents:
"
start DInput.exe et
start ET.exe %*
"
put the bat and dinput files in your et dir ofc.

use et.bat in your gamebrowser instead of et.exe

you are happy and set!
Parent
is it a problem to have the dinput.exe (with the et profile) running all the time? Cause iam to lazy or will forget to turn it on all the time.
lol you played with enabled mouseaccel?
what a noob haha
he plays with 2000 dpi + accel :DDDDDDD
Parent
cant see any connection between razer acceleration and windows native acceleration
nono its a windows bug :b its nothing to do with your hardware itself.
Parent
mAus is using it too
the random belg who rage quited when some unknown fin hardyrah owned him in q3 insta
Parent
Epic quote ^^
Parent
it's not so special if you play against that guys
Parent
Im talking about the quote that hardyrah has, where maus is raging.
Parent
despite all my comments concerning it to be illegal, I would like to congrat you to a well done job and thank you for the effort you are putting in eSports Abort. :) Thank you!
second that
Parent
I don't understand how to use it :x
I can't launch it :s
Doesn't half of those games have native DirectInput support?
well for games like q3 i just added it to get the same feeling in ET and q3, so you can customize the settings and the button clicks are not detected by di but win32.
Parent
ok.

Nice work btw, though I don't need it myself.
Parent
I did not feel any big difference when using this, maybe cuz i dont have any neg. accel. Just the movement of the xhair felt a bit smoohter but dunno if that is good :x
Tried this with wine, works great, except that it turns walls and floors transparent so it's kinda like a wallhack. Clean pbshots though. Nice job!
yea sure :--d
Parent
i use copperhead and never felt any negative or positive acceleration
so if I dont really see any difference between my original stuff, I have no real use for this hack as only the ones who 'really need' this will feel the difference after it has removed their negative accel? I'll give it a try later but I doubt it's that useful, atleast for me.

I'm using SetPoint with 800 DPI,
Windows sensitivity @ ½
accelfix
im using 400dpi +accelfix +6 ws and i dont feel any any difference too tbh
Parent
i bet that this is nC comeback! xd j/k
How deos it work?
Ive changed the settings and do i need to run the application or this will work by his own?
My sense became too low with this program...
then put it higher :x
Parent
Add CQ3 support, nobody is using the old Quake3.exe anymore and the injection fails when I rename ChallengeQuake3.exe to Quake3.exe. Same happened with Ioquake3.exe :'(
also you should rename the window title @ settings.ini (ctrl-alt-del & look for it @ running apps after you launched it)+ you may make your own profiles if im not mistaken
Parent
but the app still needs to know the original exe to know where to inject its code :P

I tried using diff profiles but I get Dinput errors :P
Parent
have you got any extra quake live beta keys btw? wanna try it :p
Parent
MIghty ET.bat file for use in your Gamebrowser (ASE,QTracker,whatever)



et.bat

contents:
"
start DInput.exe et
start ET.exe %*
"
put the bat and dinput files in your et dir ofc.

use et.bat in your gamebrowser instead of et.exe

you are happy and set!
just add +set fs_game etpro
Parent
nice program
Back to top