PDA

View Full Version : https://github.com/silabsoft/SimbaGL



Aftermath
02-24-2012, 10:27 AM
https://github.com/silabsoft/SimbaGL

Aftermath
02-24-2012, 10:34 AM
some script files uploaded in the hope that they will be useful

Aftermath
02-24-2012, 10:36 AM
limit per post is 5 files...

don't take the mouse method too seriously

haven't looked at rest of files

Flight
02-24-2012, 10:49 AM
Looks like she's coming along pretty well with this.

Aftermath
02-24-2012, 10:53 AM
we haven't touched it in 3 months, both too busy

masterBB
02-24-2012, 11:11 AM
Interesting, might fork this project.

slacky
02-25-2012, 02:06 AM
This is really a project worth continuing! It's great that you have finally released the sourcecode. I hope someone else will try to contineue this project: Since Silab n' Afthermath are both too busy.

Anyways great job! :)

YoHoJo
02-25-2012, 02:30 AM
Wow, so this is an OpenGL plugin/project for simba, you do most/all of this on your own awesome?!
More info and pictures and stuff please? get the people excited!

slacky
02-25-2012, 06:08 AM
YoHoJo, have you not seen silabsoft's thread at MITB (http://www.moparisthebest.com/smf/index.php?topic=523561.0)? The project has been down for three months. Maybe it's time for someone else to contineue it? :)

Mat
03-03-2012, 02:31 PM
may sound nooby but I get a error with the include part :P

JN13
03-04-2012, 01:33 AM
may sound nooby but I get a error with the include part :P

Agreed... (on the error part :P)

slacky
03-05-2012, 03:56 PM
IF: Trying to include it in simba (LoadLib):
What does the error say? Something alĂ  "can't find blabla32.dll..." Or is it something more "advanced"?
In any case, when there is such an error you may just need to reinstall Simba -> this is to go the easiest direction. I've had two types of errors while trying to include dll's; I always reinstall simba.

ELSE: Try to spesify your question... oh... wait... There is no question... Compile error: No question asked!

- It all works well for me...

Flight
06-27-2012, 02:13 AM
I noticed some of your random solvers make use of DTMs and TextTPA for the OCR, I'm wondering how this is possible if we can't read the color data in OGL mode?

By the way, why on Earth are we not working on this? This would be a very powerful tool for SRL, I don't understand why there's so little attention to this project.

Brandon
06-27-2012, 02:19 AM
I noticed some of your random solvers make use of DTMs and TextTPA for the OCR, I'm wondering how this is possible if we can't read the color data in OGL mode?

By the way, why on Earth are we not working on this? This would be a very powerful tool for SRL, I don't understand why there's so little attention to this project.

Because most of the forum takes little to no interest in C++. Even on Moparisthebest, barely anyone wanted to learn it to help her develop. And as long as you inject, you can do whatever you want which includes grabbing interfaces and text and models. I guess it was just a matter of sticking to Simba.
This dll gave to Simba but just no one took interest.

Flight
06-27-2012, 02:29 AM
Because most of the forum takes little to no interest in C++. Even on Moparisthebest, barely anyone wanted to learn it to help her develop. And as long as you inject, you can do whatever you want which includes grabbing interfaces and text and models. I guess it was just a matter of sticking to Simba.
This dll gave to Simba but just no one took interest.

Yeah it's really a shame. :( I don't know C++ but I would sure like to learn some basics for the sake of progressing this plugin, ect... Yeah I heard Trilez was grabbing text also from his 'TOGL', but his bot also used a fair amount of color-finding, including DTMs.

I would surely like to work on a full include for OGL if we were already to the point of reading color along with it, but this is beyond my ability so I'm hoping someone else with more knowledge will take interest. :p

NKN
06-27-2012, 02:46 AM
I'll start learning C++ if I can help with it. :(

Tried TRiBot, couldn't get it to load(4 hours of attempts)

Brandon
06-27-2012, 03:03 AM
Yeah it's really a shame. :( I don't know C++ but I would sure like to learn some basics for the sake of progressing this plugin, ect... Yeah I heard Trilez was grabbing text also from his 'TOGL', but his bot also used a fair amount of color-finding, including DTMs.

I would surely like to work on a full include for OGL if we were already to the point of reading color along with it, but this is beyond my ability so I'm hoping someone else with more knowledge will take interest. :p


I know C++ (Self taught everything).. Never touched OpenGL though but I have the concepts and stuff. Strong background in GDI, Windows API, and hooking and what not.

Just dunno OpenGL. Though I have to say I did port most of Simba to C++ after seeing Scar++.
If I could find a good OGL tutorial I can self teach and probably work on OpenGL hooking. And I don't know Java (not even a single line; Can read it, not write it) so Iunno if I need to learn that to understand the game client to help or not. If you guys work on it, I will too I guess.

I've been looking at this: http://www.swiftless.com/opengltuts.html

NKN
06-27-2012, 03:51 AM
If only I could understand how to install it...

:I

Bobarkinator
06-27-2012, 04:44 AM
I know C++ (Self taught everything).. Never touched OpenGL though but I have the concepts and stuff. Strong background in GDI, Windows API, and hooking and what not.

Just dunno OpenGL. Though I have to say I did port most of Simba to C++ after seeing Scar++.
If I could find a good OGL tutorial I can self teach and probably work on OpenGL hooking. And I don't know Java (not even a single line; Can read it, not write it) so Iunno if I need to learn that to understand the game client to help or not. If you guys work on it, I will too I guess.

I've been looking at this: http://www.swiftless.com/opengltuts.html


Hey! At least someone got some use out of Scar++. We didn't do all that work for nothing :P

Brandon
06-27-2012, 05:58 AM
http://imgur.com/a/k5rVu#13

See those fonts anyone? Those are the fonts we use in Simba no? I got them from the RS Client. There's 9 of those sets of fonts in the RS Client.. Yet Simba seems to have 11 of them :S?

The others cannot upload cuz it keeps saying something about "Make sure they aren't 2MB in size" wtf? Very annoying imgur -_- But hasn't anyone noticed that before? This could possibly help our uptext stuff. AND just it has every possible combination of the minimap flag colours. There's a purple flag pole, red, white, green, etc.

Also how do I make the GLIntercept stop logging 4 gb's of function calls.. Holy. I'm not even logged in yet at the amount of calls are ridiculous. 4GB!! I can't even open it.

Flight
06-27-2012, 12:12 PM
The others cannot upload cuz it keeps saying something about "Make sure they aren't 2MB in size" wtf? Very annoying imgur -_-


Yeah I dunno why this is so I've been having to use Tinypic, yuck...



Also how do I make the GLIntercept stop logging 4 gb's of function calls.. Holy. I'm not even logged in yet at the amount of calls are ridiculous. 4GB!! I can't even open it.

It's just the opposite for me; OpenGL seems to run super smooth for RS, but DirectX kills me...


If the tutorials you've been reading say anything about like... hooking/grabbing the canvas's color data or anything along those lines then that's what I'd like to focus on.

Zyt3x
06-27-2012, 12:17 PM
[..img]See those fonts anyone? Those are the fonts we use in Simba no? I got them from the RS Client. There's 9 of those sets of fonts in the RS Client.. Yet Simba seems to have 11 of them :S?

[...]But hasn't anyone noticed that before? This could possibly help our uptext stuff. AND just it has every possible combination of the minimap flag colours. There's a purple flag pole, red, white, green, etc.

[...]*cough*Auto-Updating fonts?! (http://villavu.com/forum/showthread.php?t=60581) - 12-08-2010*cough*
it sucks that the images doesn't work anymore, but it was the same images as you had

The fonts load only when the client needs them; if it don't need the font used in say i.e Login then it wont load that font and so forth

Flight
07-07-2012, 04:56 PM
Brandon, does this mean anything to you?


void sys_glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
{
if(logging)
add_log("glBitmap"); // need to add vars was lazy;
(*orig_glBitmap) (width, height, xorig, yorig, xmove, ymove, bitmap);
}


As this is a standard procedure in the OpenGL dll, could we not use this (or something similar) to grab a bitmap of the client?

sys_glBitmap (765, 503, 0, 0, xmove (what is this?), ymove (what is this?), out BMP)

Aside from this I'm lost on how to interact between color-reading in Simba and the RS client in OGL mode. I really can't go any further beyond this point.

Brandon
07-07-2012, 05:10 PM
Brandon, does this mean anything to you?


void sys_glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
{
if(logging)
add_log("glBitmap"); // need to add vars was lazy;
(*orig_glBitmap) (width, height, xorig, yorig, xmove, ymove, bitmap);
}
As this is a standard procedure in the OpenGL dll, could we not use this (or something similar) to grab a bitmap of the client?

sys_glBitmap (765, 503, 0, 0, xmove (what is this?), ymove (what is this?), out BMP)Aside from this I'm lost on how to interact between color-reading in Simba and the RS client in OGL mode. I really can't go any further beyond this point.


K most hooks use what is called a detour function. Exactly what you have above.

The way it works is like this:

1. Create a function with the same parameters as the original function but with a different name since two functions can't have the exact same name and exact same parameters.

2. Do whatever you have to do with the values you get from the callee.

3. Using a pointer to the original function, pass it the values of the detour parameters.


So first they declared the detour function. Within it, they add to the log the function that was called aka "gl_Bitmap" then they just pass the original gl_Bitmap function the parameters it requires.

Function Parameter Definition: http://www.opengl.org/sdk/docs/man/xhtml/glBitmap.xml


For example:


void GLHOOK_glEnable(GLenum cap) //Our detour function.. Similar name. It will hook glEnable and that takes only 1 parameter.
{
//Do whatever with "cap" here..
(*orig_glEnable)(cap); //This is just a typedef of a pointer to the original glEnable. You pass it the cap parameter. That's it.
}


In the .def file you would do glEnable = GLHOOK_glEnable

Why? Because that will "Intercept" the calls to your detour which will do whatever it has to do then pass it to the original.

nielsie95
07-07-2012, 05:17 PM
Looks like a hook for glBitmap (http://www.opengl.org/sdk/docs/man/xhtml/glBitmap.xml). It's used for painting a bitmap on the buffer.

You're probably looking for a function like ReadPixels (http://www.opengl.org/sdk/docs/man/xhtml/glReadPixels.xml).

EDIT: That was a bit too late.