• 11
• 9
• 10
• 9
• 10
• ### Similar Content

• I like to build my A - Team now.

I need loyal people who can trust and believe in a dream.

We cant pay now, you will recieve a lifetime percentage if the released game will give earnings.

What i need:
- Programmer c++
- Unity / Unreal - we must check whats possible, please share your experience with me.
- Sculpter, 3D Artist
- Animator
- Marketing / Promotion

What i do:
- Studio Owner
- Director
- Recruit exactly you
- Sounddesign
- Main theme composing
- Vocals
- Game design
- Gun, swords, shields and weapon design
- Character, plants and animal design

The game will be defintitly affected about our and your skills if you join the team.

Planned for the big Game:
- 1st person shooter
- online multiplayer
- character manipulation
- complete big open world with like lifetime actions and reactions
- gunstore with many items to buy
- specials like mini games

So if you are interested in joining a team with a nearly complete game idea, contact me now and tell me what you can do.

discord:
joerg federmann composing#2898

• I wasn't sure if this would be the right place for a topic like this so sorry if it isn't.
I'm currently working on a project for Uni using FreeGLUT to make a simple solar system simulation. I've got to the point where I've implemented all the planets and have used a Scene Graph to link them all together. The issue I'm having with now though is basically the planets and moons orbit correctly at their own orbit speeds.
I'm not really experienced with using matrices for stuff like this so It's likely why I can't figure out how exactly to get it working. This is where I'm applying the transformation matrices, as well as pushing and popping them. This is within the Render function that every planet including the sun and moons will have and run.
if (tag != "Sun") { glRotatef(orbitAngle, orbitRotation.X, orbitRotation.Y, orbitRotation.Z); } glPushMatrix(); glTranslatef(position.X, position.Y, position.Z); glRotatef(rotationAngle, rotation.X, rotation.Y, rotation.Z); glScalef(scale.X, scale.Y, scale.Z); glDrawElements(GL_TRIANGLES, mesh->indiceCount, GL_UNSIGNED_SHORT, mesh->indices); if (tag != "Sun") { glPopMatrix(); } The "If(tag != "Sun")" parts are my attempts are getting the planets to orbit correctly though it likely isn't the way I'm meant to be doing it. So I was wondering if someone would be able to help me? As I really don't have an idea on what I would do to get it working. Using the if statement is truthfully the closest I've got to it working but there are still weird effects like the planets orbiting faster then they should depending on the number of planets actually be updated/rendered.

• Learning game development in Unreal Engine could be a daunting task for someone who don’t know where to start, and a cumbersome process if you don’t organize your progression correctly. One thing commonly known by experienced developers and by people unfamiliar with coding: mastering a development language is a long and difficult task.
From blueprints to C++ in Unreal Engine
If you want to learn fast, you need a good learning strategy. Unreal Engine contains a very powerful tool which you can use to learn C++ faster: its blueprint system. Blueprints are extremely easy to learn (and you may already have a good knowledge of them). Thus you can conveniently use them as a guide for writing code in C++. This is the reason why I am writing a tutorial series on how to make the transition from Unreal Engine blueprints to C++.
Learn and practice C++
Following this tutorial, you’ll acquire new concepts of C++ programming in every chapter. Then following chapters will give you reasons to reuse and practice those same concepts. There’s no better way to wire you brain.
Link to the tutorial: [Tutorial] Learn C++ in Unreal Engine 4 by making a powerful camera
Please do send me as much feedback as you want. I’ll be considering every constructive remarks and taking them into consideration. Your feedback will help me to improve and update the existing chapters and to make the next one better.

View full story

• Learning game development in Unreal Engine could be a daunting task for someone who don’t know where to start, and a cumbersome process if you don’t organize your progression correctly. One thing commonly known by experienced developers and by people unfamiliar with coding: mastering a development language is a long and difficult task.
From blueprints to C++ in Unreal Engine
If you want to learn fast, you need a good learning strategy. Unreal Engine contains a very powerful tool which you can use to learn C++ faster: its blueprint system. Blueprints are extremely easy to learn (and you may already have a good knowledge of them). Thus you can conveniently use them as a guide for writing code in C++. This is the reason why I am writing a tutorial series on how to make the transition from Unreal Engine blueprints to C++.
Learn and practice C++
Following this tutorial, you’ll acquire new concepts of C++ programming in every chapter. Then following chapters will give you reasons to reuse and practice those same concepts. There’s no better way to wire you brain.
Link to the tutorial: [Tutorial] Learn C++ in Unreal Engine 4 by making a powerful camera
Please do send me as much feedback as you want. I’ll be considering every constructive remarks and taking them into consideration. Your feedback will help me to improve and update the existing chapters and to make the next one better.
• By mrDIMAS
Hello everyone! I need to fill lua table with functions from script file like this:
function init() end function update() end I need to create table on stack and fill it with this functions from specified file. How can I do this?

# How to get the addr of code buff in x64 platform!

## Recommended Posts

As the following picture shows , I can get the code buff with asm in x86 platform. Has anyone know how to do this in x64 platform???

bool CheckCodeSnipeCrc32()
{
codeBegin:
//OutputDebugString(L"test");
//OutputDebugString(L"test0");
//OutputDebugString(L"test1");
int a = 0;
a = a + 1;
a = a - 1;
codeEnd:
DWORD oldCrc32 = 0xbcf07446;
assert(oldCrc32 == curcrc32);
}

Edited by laiyierjiangsu

##### Share on other sites

There is no picture.

EDIT: It's edited in now, ignore my original post

##### Share on other sites
1 hour ago, Lactose said:

There is no picture.

Edit: Some code has now been edited in. This post can be ignored

Why? I have pasted the code screenshot, but it didn't show. So I add the code here!

##### Share on other sites
Just now, laiyierjiangsu said:

Why? I have pasted the code screenshot, but it didn't show. So I add the code here!

I mean my post could be ignored, since you edited it it. Sorry for the confusion

##### Share on other sites

VS doesn't support inline assembly in x64 builds.

For CRC checking a function body... Hmm...

Let me fiddle with it for a minute.

No, I can't come up with anything reliable. Even trying to grab the function pointer as a starting point I ended up staring at a jump table.

Edited by Khatharr

##### Share on other sites
21 minutes ago, Khatharr said:

Even trying to grab the function pointer as a starting point I ended up staring at a jump table.

Do you have edit-and-continue turned on and you're looking at the JMP thunk?

##### Share on other sites

Probably.
You'd also have to prevent inlining if it was done that way, and there's still the problem of finding the end address of the function.

The other thing that I was looking at was getting label addresses, but apparently that's not a thing (though gcc may offer it).

I guess one other option may be to just write your own sort of sub-loader. You could dump the module memory from a loaded/running version, then load that into an x-flagged page at runtime and jump in. You'd need to have some jumpout for CRC checking, though, and that would have to be a static address somehow because otherwise it would change the CRC of the module, though I suppose it wouldn't be too hard to compensate for that if you have the address as zero in the file and then when you load it you set it to the target address and then add that value to the checksum.

Still, though, if I were hacking that game I'd just overwrite the CRC function to indicate success.

Edited by Khatharr

##### Share on other sites
11 hours ago, Lactose said:

I mean my post could be ignored, since you edited it it. Sorry for the confusion

Thanks , Lactose ! My English is poor,

##### Share on other sites
4 hours ago, Khatharr said:

Probably.
You'd also have to prevent inlining if it was done that way, and there's still the problem of finding the end address of the function.

The other thing that I was looking at was getting label addresses, but apparently that's not a thing (though gcc may offer it).

I guess one other option may be to just write your own sort of sub-loader. You could dump the module memory from a loaded/running version, then load that into an x-flagged page at runtime and jump in. You'd need to have some jumpout for CRC checking, though, and that would have to be a static address somehow because otherwise it would change the CRC of the module, though I suppose it wouldn't be too hard to compensate for that if you have the address as zero in the file and then when you load it you set it to the target address and then add that value to the checksum.

Still, though, if I were hacking that game I'd just overwrite the CRC function to indicate success.

Thanks, I just use this methed to detect that if my core code is being debugging . If someone wants to hack , it's achieveable.

##### Share on other sites
58 minutes ago, laiyierjiangsu said:

I just use this methed to detect that if my core code is being debugging . If someone wants to hack , it's achieveable.

If you're looking for informational reasons, or for code to take special paths, most operating systems have code that politely indicates if  a debugger is attached. On windows those are IsDebuggerPresent() to see if the program was launched by a debugger, and CheckRemoteDebuggerPresent().

The programs are always hackable, and it is possible to attach debuggers without those flags getting set, but they can serve as good tools if you want to use different behavior while being debugged.