Medal of Honor - OpenGL Hack Code

No Fog -- Been done before, but I reinvented the wheel and did it myself this time. Thanks to me.
Go ahead and hook glBegin. Then, if your no fog hack is turned on, do a glDisable(GL_FOG)

Normal Wallhack
It only makes the walls transparent. Not very helpful...but if you added in model recognition, then you could just use the hack when the current model being drawn is a player, etc. What you do, is hook glBegin, and glDisable(GL_DEPTH_TEST)

Zoom on all weapons! -- Thanks to a post over at G-D by b0x
For this one, you hook glViewport, then do the following. I can't quite follow all the code, but basically, you call some functions, then the actual zooming is the glFrustrum(I think, I'm a n00b to OGL, so double check me) call. Here's how I did it in iOGLv1.0.

OpenGL Chams -- Thanks to PAS312 for releasing his source. :p This is HIGHLY cut though. Only does the normal color thing, not all the other 1337 stuff in his hack.

Hook glDrawElements, and make sure your model rec is all working. Then, if it's drawing a player, do the following:

What this does, is disable depth testing so that your color is drawn through walls. Then, it calls the custom color function from PAS312's source. Then, it draws by calling the original glDrawElements. After this is done, it enables depth testing so that the next color IS NOT drawn through walls. Then, it calls the color is drawn(a different color, duh, it's chams).

Ballhack -- Thanks to a post by Banana at GD.
Okay. Make sure you have your model recognition down. Create a bool for toggling whether or not to draw the ballhack. Here's a nice function that will draw a ball for you. Different color for each team. You can easily change it if you know very little OpenGL. This si basically what pasOGLv2 had, but the function is different. I just thought it was a good idea to keep it in a function.
Now, you should have glDrawElements hooked. Here's where the model rec comes in. What you do, is check and see if it's drawing a player(I use bools called ALLIES and AXIS as you can see in the above function. If you know how to do model rec, then you can figure out how to change this code to suit you.), then call the Ball function with the x,y,z coordinates you want. I'd stick with 1,1,HEIGHT. HEIGHT is the only thing you'd change. It's how high above the model it's drawn. 0 would be the ground, 90-100 would be on the head. I go with slightly above the head, so it's like an avatar. But anyways...That's all you need to do. You can customize it of course. You can make the ball bigger by changing the second argument to gluSphere. One cool thing would be to change the balls to the actual avatars that the game uses...

No comments: