Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Mon Jan 27, 2020 12:10 am

All times are UTC - 8 hours [ DST ]


Forum rules


Discussion of illegal hacking/cracking is prohibited. (No virus/trojans/cracks/warez/etc allowed.)



Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Thu Feb 18, 2010 11:26 am 
Offline
Kommunist
Kommunist
User avatar

Joined: Wed Feb 03, 2010 9:32 am
Posts: 7
Title: Video Game Mapper
Didn't know where else to post this. I'm looking for help in making walk through wall codes. After learning about Cheat Engine and Geiger's debugger I'm a little better then I once was but I still have trouble.

My primary method is either looking for points in the game where collisions are nulled, or finding the X Y coordinates and nulling them myself.


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 18, 2010 6:00 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
Depends on type of game and how the engine implements hit detection. 2D games often decode the level as a giant tilemap, so you can find where it reads that map and have it always see an empty space tile. I don't know all the various ways it might be done in 3D, but the game is generally going to do hit detection against vertical surfaces and decelerate you, so you can disable the check against vertical surfaces, nullify the deceleration, or possibly change what it considers vertical to be something impossible.
You may of course stumble upon a flag you can set or a branch you can tweak to disable hit detection entirely, though in 3D this may result in you, and perhaps everything else, falling through the floor.

Proper hit detection involves a lot of linear algebra and can be a huge pain in the arse, especially in 3D, but since games tend to prefer speed over accuracy, a lot of them do much simpler tests. Instead of calculating your movement vector and testing for intersections against solid objects, they may just do a bounding-box test to see if your position is inside a solid object, and if so move you back out. Upside is much simpler, faster math; downside is being able to pass right through an object at high enough speeds.

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 19, 2010 3:45 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Wed Feb 03, 2010 9:32 am
Posts: 7
Title: Video Game Mapper
Interesting. I didn't know about tilemaps. I'm almost exclusively talking about 2D games here. Can things like Cheat Engine, or built in cheat search devices, be used to screw with a tilemap? Could I for example use a coordinate code to put the character inside a wall to test a tilemap's reaction?


Top
 Profile  
Reply with quote  
PostPosted: Wed Feb 24, 2010 10:09 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Thu Jun 26, 2008 12:29 am
Posts: 52
Here is a quick guide I typed up for another site for someone with a similar problem:


WTW codes can be easy or difficult depending on the programmer's implementation. Some games will stop you at a position X or Y then attempt to force that position into your X or Y repeatedly, others will remove the ability to progress in a given direction if the above criteria is met, and then some have a set boundary of the amount of area within a given room your allowed to move.

You will most definitely need a debugger, also you will likely need a reference chart to the asm instruction set based on which system you are looking at. If you need a good reference chart for the snes check out The 6502 Instruction Set Decoded

Forced Position:

The first type will try to force values into your X position or Y position addresses, which will lock it to the value injected. What you want to do is find where your X position, Y position is stored. Next set a break on write (X, Y position address) to find what address is writing the forced value and then implement a standard NOP on the found address (Note: the address will be written to the whole time your moving, pay close attention to when you touch a wall if the address changes or alternates with another address as the new address/secondary address is the one your looking for). This basically gives the address forcing your position no operation stopping it from thwarting you any longer. Some games using this method will also have a secondary check which you can also NOP and should be found after the first address has been NOPed.

Removed Control (Given Direction):

The second type is where the game takes away the ability progress further in given direction. This method is a bit tougher to hack in my opinion. Actually my best guess on how to hack it would be to find the value for when you have the ability to move in given direction and when you don't (against a wall). You could try 0 and 1 or try less than,equal to, and greater than. There may be a simpler way to overcome this implementation but as far as I know its about finding the flag for movement in a direction.

Allocated "Area":

The third type is where the game sets a boundary of the "area" allocated for a given room and uses it as a boundary limitation for your character. To hack these you need to find the allocated area for each room. This can be found by moving from room to room and by using less than, equal to, greater than accordingly for each room. Once you have your allocated boundary number set the address value to 0. This will make the allocated "area" for each room 0 which will allow you to walk around freely since your considered outside the boundaries.

There may be other types but these are the 3 big ones I have encounted hacking the snes, nes, or pretty much any other 2d based game.


Last edited by Abystus on Thu Feb 25, 2010 1:21 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 25, 2010 8:50 am 
Offline
Kommunist
Kommunist
User avatar

Joined: Wed Feb 03, 2010 9:32 am
Posts: 7
Title: Video Game Mapper
Thanks so much for this. I make game maps and walk through wall codes are indispensable in their construction. I think I've found a few Forced Position codes myself. I've made walk through walls codes for Brain Lord and Mystic Ark than allow you to pass through things vertically but not horizontally.


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 26, 2010 12:17 am 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3765
Title: All in a day's work.
Hacking walk-through-walls codes for 3D games can be a real task. The older games have walls that are perfectly aligned to coordinates, so those are easier to learn on. For example, you know that a perfect 90Ëšangle between two walls means that those two walls are already perfectly aligned to the world coordinates.

The good thing about this simple setup is that trying to run exactly into one of the walls (or into the corner) means that the collision detection engine is kicking in to prevent moving along exactly only one or two axes. Which means that tracing through the code that handles the collision detection and location correction will reveal plenty of good information. There's usually one line of code (in the original programming language; C or C++ ... one line of C usually translates to ~5-10 lines of assembly) that prevents movement along one axis, and another line that prevents movement along the other. However, it could be 2 or more lines for each axis. It all depends on the game and the developer.

Some games are easier to understand than others. Some seem simple but are a real pain in the ass (Super Mario 64) ... Any way you try it, you're going to need some tools to help along the way. A good debugger is essential...

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 26, 2010 8:50 am 
Offline
Kommunist
Kommunist
User avatar

Joined: Wed Feb 03, 2010 9:32 am
Posts: 7
Title: Video Game Mapper
I've always wondered about making walk through wall codes in 3D because of gravity. Even if you got it to work wouldn't your character just fall off screen? I always assumed in games with built in no clip cheats like Hexen already had a safe guard installed to prevent that.


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 26, 2010 1:03 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3765
Title: All in a day's work.
Tropicon wrote:
I've always wondered about making walk through wall codes in 3D because of gravity. Even if you got it to work wouldn't your character just fall off screen?

Nope. Like I said, it's usually 1-or-more lines of code for each axis. And 3D games have 3 global axes. And even more valuable, gravity is almost always handled independently of lateral acceleration and inertia.

In this sense, the collision detection engine either prevents the physics engine's acceleration, or corrects the acceleration when a wall is hit. And a successful hack targets this specific area of the collision detection engine: kill the prevention or correction code on both of the lateral global axes, and you will literally walk-through-walls.

Tropicon wrote:
I always assumed in games with built in no clip cheats like Hexen already had a safe guard installed to prevent that.

Some of those games also nullify gravity at the same time (Half-Life 2) allowing you to walk in the air, and through ceilings and floors.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group