NoLimits 2 Motion Memory Driver Tutorial

NoLimits 2 Motion Memory Driver Tutorial

Postby sirnoname » Fri 25. Apr 2014, 22:22

Greetings to another TUT for X-Sim Motion Memory Driver and NoLimits2

The memory driver, former called force injector or cheeta, is now a part of the motion driver. It is not available in the free version but in the Stage 2 key, which you can get for free with a well written simulator post on X-Sim.de, or a higher supporter key. This post must have some informations about how you build your simulator with some measurements or schematics or wiring informations to help other members here. The goal is to help others, so simple ask yourself if such a post will help you as newcomer.


Ohno, a member here in the forum, liked to get nolimits2 running. After pointing to the tutorial for the motion driver he told me he can not manage this tutorial for nolimits because it is written for nolimits 1 and not 2. I looked at it and found that this game has some differences.
References to be read before continue: The X-Sim.de Memory Driver Tutorial
The memory driver do work for all games but in case of NoLimits it is extremly easy to get the values.
The value can be found with the Cheat Engine, a tool that is normally designed to cheat a game. We use it without changing the values in a game but read it for our simulator.

First difference: NoLimits2 is 64 bit
Yes, some programs really get the step to 64 bit. However this is bad for X-Sim because it has to stay in 32 bit for the other games.
So the lucky solutiuon for nolimits 2 is to install it on a 32 bit computer or a virtual machine and copy the installation folder over the 64 bit version. Then you got two subfolders in the nolimits folder at /programs/nolimits2. If you have only a 32 bit computer this step is not importand.

Second difference: No memory offset, now it is a dynamic pointer.
The tutorial shows how to get the exact address of the values that are shown in the nolimits 1 overlay. In nolimits 2 you have also the overlay with pressing the button F2. However this address change if you restart the game or computer. So there is a memory address where the dynamic value is stored. This tutorial give you the found values of nolimits 2.0.2.2 and the demo (two different offsets).
The good thing is: the offsets of the memory locations are the same in demo and fullversion and should be the same in upcoming versions. So you need only the First memory location where the new address is stored and enter this values in all three values. You can also use the here downloadable memory driver setup .csd as setup help.

Some notice:
Use Windows XP/7, Windows 8 is reported as different memory organisation and has not been verified by myself. So simple spend not much time and use the correct operating system.

Download of memory driver setup for Nolimits 2.0.2.2 Demo and Professional
x-Sim3_nolimits2-0-2-2_memory_driver.zip
(4 KiB) Downloaded 1143 times


How to find the primary offset value if nolimits2 get a higher update:

Each new exe file has another primary memory address. The demo has one, the release version has one. A newer version has one. There is no chance that a new exe use the same offset values. So simple read this tutorial with finding the longitudenal force and change the primary address. It is quite easy if you try it.
Lets start with the way you have to use the cheat engine. Download the cheat engine and install it. Run the 32 bit version of the installed Cheat engine. Run the Nolimits 32 bit version and setup window mode with lower resolution, so you can plce the cheat engine and the nolimits window nearby. You can jump out of nolimits with ALT-TAB keys. Start one of the roller coasters. Now press the top left green blinking button in the cheat engine. There you can select the running executable of nolimits. It is clear, each exe can have another name in this list. In the memory driver you must enter the same task name as you found in the cheat engine. Remember to have a look at this names.
Now you are attached to the memory of nolimts2. You now have to open with F2 the nolimits motion data dialog box.
You see there a vertical G-Force. This is the earth G-Force and will stay 1.0 in normal start position. We use this value because it does change very good for searching with cheat engine.
Hint: Remember to remove the 1G with an offset math plugin in the math setup of X-Sim Converter application to get real vertical G-Force change.
Ok, now press P for pause and start a new value scan in the cheat engine. Depending on what number you see in the vertiacl box, you must enter a range of that float value to find it. If there is 1G you search all float values from 0.9 to 1.1 in the game memory.
Ok, first step done, you will see the results in the left listbox. They are much. So unpause the simulation and run the coaster until the 1G change big to over 2. Do not use values lover zero, the cheat engine has a bug here. Pause the simulation again. Now we have for example 3.1G. Insert the next scan from 3.0 to 3.2 (or your values) and press the next button. The listbox do now get less values. Do this until you see the end of the values in the box. Then run the simulation and look if one of the values do make sense to the box. It is only one value that is left and make sense. Rightclick it add it to the addresslist on the bottom. Now righclick this value in the bottom listbox and select the menu entry "Find out what accesses this address. You get a box with different other pointer accessing this found value. Choose the ECX access in the list. The offset +08 is already in your memory driver sample file but write it down if changed.
Ok, now select the ECX entry and select more infos. You will get now a box and you must write down the red marked offset value and the pointer address. This is not the base pointer but we can now search for the base pointer with this value.
Close the dialogs until you get back to the cheat engine main dialog and make a new search with your found pointer address. Setup the search as you see in the below screenshot.
Now search the memory for that exact 4 byte value, which is a simple memory address, and you get exact one result. This is your base pointer and this is the value you have to change in the X-Sim memory driver to get NoLimits2 running with a higher version than 2.0.2.2 or a lower version of it. Change all three. If the offset does not fit, change it. But normally this offsets stay the same. Do not forget to move (dragndrop) the entries on the right top listbox to the lower listbox. Else the values are not sended to the converter application.


Thats all, as said work with other games too, but you must find the correct values in the memory.
Have much fun
(c) X-Sim.de
If a answer is correct or did help you for a solution, please use the solve button.
User avatar
sirnoname
Site Admin
 
Posts: 1829
Images: 45
Joined: Thu 1. Sep 2011, 22:02
Location: Munich, Germany
Has thanked: 35 times
Been thanked: 128 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby sirnoname » Fri 25. Apr 2014, 23:34

Finally a word to lucky finders: Please share new setup files of newer NoLimit2 versions here in this thread for other members.
As a community we can help each other and make it more worthfull for newcomers.
If a answer is correct or did help you for a solution, please use the solve button.
User avatar
sirnoname
Site Admin
 
Posts: 1829
Images: 45
Joined: Thu 1. Sep 2011, 22:02
Location: Munich, Germany
Has thanked: 35 times
Been thanked: 128 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby vicpopo » Sat 26. Apr 2014, 00:24

Hi Sirnoname ,

Thanks for this.When my 6dof will be finished I want to test Nolimit for my children!! ;)
User avatar
vicpopo
 
Posts: 645
Joined: Fri 20. Apr 2012, 18:04
Location: Strasbourg France
Has thanked: 39 times
Been thanked: 80 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby tronicgr » Wed 30. Apr 2014, 20:09

Thanks Sirnoname! Great tutorial!! 8-)



Thanos
User avatar
tronicgr
 
Posts: 624
Images: 11
Joined: Tue 20. Mar 2012, 22:10
Location: San Diego, CA
Has thanked: 130 times
Been thanked: 50 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby Wanegain » Wed 3. Dec 2014, 16:39

Thank you !
I'll try it soon :-)
User avatar
Wanegain
 
Posts: 55
Images: 1
Joined: Mon 19. Nov 2012, 17:55
Has thanked: 1 time
Been thanked: 0 time

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby Mertensbart20 » Sun 28. Dec 2014, 10:35

Hello Sirnoname,

Nice work. For extraction of motion data I tried the same approach as with No Limits 1 which you can read here:

viewtopic.php?f=77&t=643

The result can be seen here:

https://www.youtube.com/watch?v=dxmY12fC-54

With No Limits 2 I got data through the Vertex Matrix in the Graphic Driver (see also the printscreen as attachment). At first sight it seemed to work but the data didn't make sense. The data was definitely linked to the motion but I could not get a good readout. Have you made any progress or can you help me out?

Thanks in advance,
Bart
Attachments
Mertensbart20
X-Sim Supporter
 
Posts: 115
Joined: Sun 29. Apr 2012, 11:52
Location: Belgium
Has thanked: 0 time
Been thanked: 4 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby sirnoname » Sun 28. Dec 2014, 17:12

Please read the topic, we use here NoLimits 2 and the memory driver. The graphic driver will not work, you must be able to look around.
If a answer is correct or did help you for a solution, please use the solve button.
User avatar
sirnoname
Site Admin
 
Posts: 1829
Images: 45
Joined: Thu 1. Sep 2011, 22:02
Location: Munich, Germany
Has thanked: 35 times
Been thanked: 128 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby Mertensbart20 » Tue 30. Dec 2014, 00:28

Hello everybody,

I have been trying to find motion data using DMA but up till now no succes. I did find the vertical G-Force as in the example so I know I am getting the right data.

Since finding pitch angle data seems the easiest data I started here. I found data that looked like the pitch-angle but it also changed when changing the view. So this data cannot be used in combination with the oculus rift. After spending a lot more time searching for pitch angle data I couldn't find anything. Could it be that the demo doesn't include motion data?

Greetings,
Bart
Mertensbart20
X-Sim Supporter
 
Posts: 115
Joined: Sun 29. Apr 2012, 11:52
Location: Belgium
Has thanked: 0 time
Been thanked: 4 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby sirnoname » Wed 31. Dec 2014, 01:21

nope, there is. The tutorial is correct.
Which operating system you are using?
If a answer is correct or did help you for a solution, please use the solve button.
User avatar
sirnoname
Site Admin
 
Posts: 1829
Images: 45
Joined: Thu 1. Sep 2011, 22:02
Location: Munich, Germany
Has thanked: 35 times
Been thanked: 128 times

Re: NoLimits 2 Motion Memory Driver Tutorial

Postby Mertensbart20 » Wed 31. Dec 2014, 12:33

Hello sirnoname,

Thanks for the reply. I am using windows 7 64 bit with the latest version of X-sim. I am running the 32-bit version of No Limits 2 so that cannot be the problem. It could also be that I can't find the pitch-values because I assume these values are betweem -40 and 40 most of the time. But if this is not the case it is logical that I haven't found them yet. I make my assumption of -40 to 40 based on the topic I set up:

https://www.youtube.com/watch?v=92PAlG_RpSo

Greetings,
Bart
Mertensbart20
X-Sim Supporter
 
Posts: 115
Joined: Sun 29. Apr 2012, 11:52
Location: Belgium
Has thanked: 0 time
Been thanked: 4 times

Next

Return to NoLimits Roller Coaster

Who is online

Users browsing this forum: No registered users and 1 guest

cron