Jump to content
DoSS

[Done!] Animated 3D Monsters in RO

Recommended Posts

granny_banner.png

btn_donateCC_LG.gif

Active Members:

Doss, Ricky92, Olrox, Ai4rei, curiosity, Lemongrass

Supporters And Special Thanks to:

Briefing & Concept

Greetings

Let me introduce myself. I'm Doss, from Thailand. Olrox is my friend and he accepted gladly to join. He accepted to keep this thread updated In case you wonder why he is edit this thread.

For a long time I have been involved into RO -graphic related- stuff. Some people might remember my works with 3D editions, Sprites, Maps, etc. Today I'm glad to announce an open project, were all the people with the skills in RO client stuff (hex, packets etc)/ 3D designers/ Enthusiast / Supporters/Scripters are welcome to join.

Back to the project itself:

For years since eAthena emulator exists, we have been witnesesses of great progress in this emulator.... scripts, source, maps, sprites, etc. All this progress have been possible this far with the enormous contribution of a lot of people.

Now, we are happy to try a new feature that for years, it has not t been possible to add it in the RO private history. I'm talking about the possibility to Add Custom 3D Monsters in Ragnarok.

All we know what the emperium is. You might know that that kind of model, is an animated 3D one.... with the possibility to walk, attack, die, or whatever you wish. Other examples of this kind of monsters are: War of Emperyum Guardians, War of Emperyum Flags, etc. As those monsters, our intention with this project is to do the same, but, with outsides resources available in this format, that can be implemented to being used in RO.

With this being said as a briefing;. We proceed to explain this project.

Terminology

Common words that you will encounter with on this thread.

  • Granny2.dll: Granny external library, allways included in every instalation pack of Ragnarok Online. Ragnarok Version: 2.1.0.5
  • Granny SDK: Granny development tool kit. Only for those who pays the granny license that is around $10,000.- and for serious Official licensed Games.
  • Granny Viewer: Free software that allows you to view a full gr2 model, with his animations/bones/skins/textures.
  • .gr2: Granny extension for gr2 models.

About the Project

Basically the idea of the project is, making possible to use Granny animated Models, from recent versions, to being imported into the particular old Ragnarok version one that is: 2.1.0.5

Our main problem since almost a year, is the fact that RO can only work with exactly that version, and obtaining a Granny SDK from that date, is an impossible thing. Since the file is from the far 2000~2003 year. Even, if you have 10,000k dollars to buy it, you will get only the lastest versions (this year) and, getting the lastest version is truly impossible.

Luckily we could find that RIcky92 did a tool to import granny newer versions to older ones. We asked him to join our project and he accepted gladly to develop the same tool, but now adapted to RO granny 2.1.0.5 version.

Right now, our state is very early, and we are contacting people to join this project.... but the most important thing is, we we are waiting for the feedback of the community. Since this tool will be released for free, then, we really need to see if the community is interested for such a tool like this one.

All the people that is interested, or, thinks that this is going to be a good hit, please, post it. A single post encourages all of us, to work on this.

Screenshots/Videos and Examples

Old video!

Wait for the updated one

that shows now animation added

to custom mobs ids in LUAs

Changelog

  • 2013/January: Curiosity sucessfully releases a 2012-04-10a client able to read full animations of custom GR2 mobs.
  • 2013/January: Ai4rei joins and explains how the granny structure works inside the client. He also points a restriction of the actual RO clients that are not showing animation for WoE Flags.
  • 2013/January: Yommy shares a very useful ragnarok debug client resources to the team.
  • 2013/January: Lemongrass joins the team.
  • 2013/January: After some tests, the team realized that it is truly necessary to include people with the skills to dissamble the client functions. Curiosity Joins and adds a hex change which fixes the animation indexes for custom mobs IDs besides the standing animation. This files of custom 3D mobs are released.
  • 2013/January: Olrox continues his tests and now adds a video about animation with bones present. Our issue: It is only possible by replacing a existing gr2 ID in the client.
  • 2013/January: Olrox begins looking at how animation is handled in the gr2 files of Ragnarok Online. After some tests the first video with the default animation present is released.
  • 2013/January: Olrox finds some issues with multi mesh support, which Ricky92 finds a great solution for it.
  • 2013/January: Doss asks Olrox his full atention to the further graphic tests of the project. Due to real life and university, he might be a little away from the project from now.
  • 2013/January: Doss shows a static animated mob imported from RO 2 GoW 3D mob, thanks to the Granny Converter of Ricky92
  • 2013/January: Doss test the tool. Some errors and issues are pointed to Ricky92 who releases a second Beta of his amazing tool.
  • 2013/January: Project gets back. Ricky92 finally releases the Granny Converter tool as a beta state.
  • 2012/November: After a lot of inquiries from the community, Olrox explains that the project is still alive, and Ricky92 is very busy in real life terms. Project is on hold.
  • 2012/October: Ricky92 continues with the tool which is now in a final state. Donation info for ricky92 is added, as an appreciation to his time to this community.
  • 2012/September: Doss adds handy info about how gr2 mobs are recalled by the client. And add a example of it.
  • 2012/September: Greenbox adds useful info about Granny 2.1.05 functions regarding Animation Indexes
  • 2012/September: Ricky92 begins to test animation support for his converter.
  • 2012/September: Ricky92 fix this issue with his converter and now adds support for bink 0 compression. A fox is released for testing and works pretty well.
  • 2012/September: Ricky92 releases a testing pyramid .gr2 no animated mob converted mob thanks for his tool. After some tests, Ricky92 realized that Granny 2.1.0.5 doesn't support bink 1 compression in textures.
  • 2012/August: Ricky92 shows the first known screen of a custom 3D animated resource imported sucesfully from Granny 2.4 to granny 2.1.0.5
  • 2012/August: Doss notices that someone developed a converter for further Granny Versions (for another game, that is not RO) Olrox contacts Ricky92, a well known contributor in the metin2 Game Community, developer of the Granny Converter for that version. He accepted and joined our team gladly.
  • 2012/August: Project is finally released to the public. Shinro helped with some commits and ideas about the Granny 3D version limit. Yommy joins and accepted gladly to do some tests about bypassing the Granny verification.
  • 2012/June: The idea of this project takes Olrox's atention and he accepted to join. Also he suggested to launch this project openly.
  • 2011/August: Doss (Also known as Charamel, Lemara) does his first tests and begin to ask for support in eAthena

Attached Files and Useful Links

i have plugin gr2 export but granny2.dll version 2.1.0.5 can read higher but have people can bypass granny2.dll for read version higher <a class="bbc_url" href="http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/1744833-release-granny-tag-check-bypass-exporter-80xxx10.html" rel="nofollow external" title="External link">http://www.elitepvpe...er-80xxx10.html</a></span>

<p style="text-align: center">can download granny tool and gr2 model export from plugin

<p style="text-align: center">I would hope that guys can do it <img alt="" class="bbc_emoticon" src="http://rathena.org/board/public/style_emoticons/default/biggrin.png"/>

Granny.rar

3dmobtest.grf

Edited by DoSS
  • Upvote 9

Share this post


Link to post
Share on other sites

Lemara is my friend, and he wants help with this (if possible). He is from thailand, and he is not used to english, so, you can allways contact me or him, and I will try to explain to him.

What Lemara is doing, is, the possibility to add granny .gr2 3D models with animations, as monsters. You might remember some of those RO monsters... as, WoE Castles Emperium Guards

The problem he had since almost a year ago, is, that the granny2.dll version of Ragnarok is an old one. I can't remember of what year, but it is impossible to have it, even if you purchase granny for a licence of thousands of $$$ green ones :P.

What he is refering with this link --- http://www.elitepvpe...er-80xxx10.html is that there are people capable to bypass the granny2.dll. What he is trying now is Hex editing the granny2.dll in Ragnarok Version to bypass the check and being possible to use a further version as, the current days ones.

He posted examples of his testings in images. Those 2 images are about hex editing the granny2.dll original and after the hex edit. But, seems that the client has some kind of another verification and we are stucked in that step.

Any kind of help will be really appreciated. This is a project that will be for the community, and Lemara is just asking help from the community to make it possible. I know we have people really good in client reingenering, and the possibility to add custom Ragnarok 3D Monsters would be incredible. Just imagine the possibilities.

Please any questions about, ask here, and me or Lemara will reply you back as possible. Thanks

  • Upvote 2

Share this post


Link to post
Share on other sites

You want to be able to use custom 3D models. You also showed a video where custom 3D models are used. You even have a screenshot with a hexedit to bypass the version check of the dll. So.. what's exactly the problem now?

Share this post


Link to post
Share on other sites

I think we have a misunderstanding.

The image that Lemara posted is as an example. He has not being able to hex edit and test. But I believe he tried with no luck?

@Shinryo

How it is possible that, your amazing RO Client you are doing, could handle a recent version of granny2.dll? You think by a chance that could be possible?

Share this post


Link to post
Share on other sites

granny version 2.1.0.5 can read granny version 2.2.0.5 you unnecessary must hex client

you can download 3dmobtest.grf for test your client

​DATA.INI

1=3dmobtest.grf

2=data.grf

@disguise 1288

Edited by lemara

Share this post


Link to post
Share on other sites

are you referring to this hardcoded check inside the ragexe limiting the use of granny dll

granny.png

YomNom <3

  • Upvote 1

Share this post


Link to post
Share on other sites

Me and my friend appreciate your reply and your time.

It is amazing that you could find where the client stores that check of this Granny 2.1.0.5 that fast :P we are stunned.

Lemara and I, wants to ask you what possibilities are there to change that check, to being able use a recent granny2.dll, in case of course if it is possible...

In the first post we attached a pack, which has a good amount of recent granny versions. Just to make the client being able to read one of those, would solve our issue to continue forward to add custom 3D ragnarok animated monsters

Share this post


Link to post
Share on other sites

The screenshot that was posted before showed the part where the function "GrannyVersionsMatch" was called by the client. The conditional check was replaced with NOP instructions in order let the client always accept the version, regardless of the result returned by "GrannyVersionsMatch". I think you might know yourself that this is not a good solution, unless new Granny3D versions really support those files from version 2.1.0.5 (I don't know much about Granny3D).

Basically, you have to find out to which virtual address the function "GrannyVersionsMatch" is gonna be relocated upon client startup. E.g. 0084D860 (for RagexeRE 2012-05-08). Somewhere within the client, there must be a call to this address. So you have to search with a hex editor for "FF 15 60 D8 84 00". The first two bytes are the call, the last 4 the address (reversed order). If you have found the correct position, skip 8 bytes and replace the next coming byte with EB. This should be sufficient. You can also replace the whole call (FF 15 60 D8 84 00) with B0 01 90 90 90 90. GrannyVerionsMatch fills the lower part of the AX register with 1, when the version is correct. The previous edit will force it to be always 1.

It's pretty hard to get the correct virtual offset of the "GrannyVersionsMatch" function on your own, if you are not experienced with import tables and dll files. Therefore, you should first read some notes on google (import tables rva dll, etc.). E.g. http://www.sunshine2...s/tut_rvait.htm.

You could also get your hands on IDA (The Interactibe Disassembler) and let it calculated all needed offsets for you (search for the function afterwards and jump to the position where it is being called).

Edit:

Here are also some screens that might help you:

This is how it looks like in IDA:

hex01wqs2o.png

This is how it looks like if you replace the conditional jump:

hex02frs36.png

And this is how it looks like when you replace the call itself:

hex031js5t.png

  • Upvote 1

Share this post


Link to post
Share on other sites

Shinryo,

I did some testing of using a newer granny2.dll with the ragexe, and the ragexe creates unhandled exception.

probably due to function changes in the dll

Yom

  • Upvote 1

Share this post


Link to post
Share on other sites

Ancyker tried this and client was unable to read newer versions of dlls. When you buy Granny 3D, you get the new dlls, you won't have access for older dlls.

Share this post


Link to post
Share on other sites

@Shinryo

The screenshot that was posted before showed the part where the function "GrannyVersionsMatch" was called by the client. The conditional check was replaced with NOP instructions in order let the client always accept the version, regardless of the result returned by "GrannyVersionsMatch". I think you might know yourself that this is not a good solution, unless new Granny3D versions really support those files from version 2.1.0.5 (I don't know much about Granny3D).

Basically, you have to find out to which virtual address the function "GrannyVersionsMatch" is gonna be relocated upon client startup. E.g. 0084D860 (for RagexeRE 2012-05-08). Somewhere within the client, there must be a call to this address. So you have to search with a hex editor for "FF 15 60 D8 84 00". The first two bytes are the call, the last 4 the address (reversed order). If you have found the correct position, skip 8 bytes and replace the next coming byte with EB. This should be sufficient. You can also replace the whole call (FF 15 60 D8 84 00) with B0 01 90 90 90 90. GrannyVerionsMatch fills the lower part of the AX register with 1, when the version is correct. The previous edit will force it to be always 1.

It's pretty hard to get the correct virtual offset of the "GrannyVersionsMatch" function on your own, if you are not experienced with import tables and dll files. Therefore, you should first read some notes on google (import tables rva dll, etc.). E.g. http://www.sunshine2...s/tut_rvait.htm.

You could also get your hands on IDA (The Interactibe Disassembler) and let it calculated all needed offsets for you (search for the function afterwards and jump to the position where it is being called).

Edit:

Here are also some screens that might help you:

This is how it looks like in IDA:

hex01wqs2o.png

This is how it looks like if you replace the conditional jump:

hex02frs36.png

And this is how it looks like when you replace the call itself:

hex031js5t.png

My friend and me appreciate your time to find out where the addresses where the granny verification is. We know you are busy person.

But sadly we are not that -skilled- when it cames to client packets, or hacking the client by hexing. Those are terms that me and my friend know very basically. We are just get used to work with 3D, and actually Lemara knows very well to edit/render imported animated models with granny.

The only thing is stopping us to continue forward this, is, the granny verification. That in fact Yommy helped us yesterday with it:

@Yommy

Shinryo,

I did some testing of using a newer granny2.dll with the ragexe, and the ragexe creates unhandled exception.

probably due to function changes in the dll

Yom

Basically that is our issue now. It is not about the granny verification that, Yommy helped us yesterday. Is about the function changes that there are quite a lot.

For granny changelog -- http://www.radgameto...ny/history.html 2.1.0.5 is a very obsolete one I assume

@EvillEvil ):<

Ancyker tried this and client was unable to read newer versions of dlls. When you buy Granny 3D, you get the new dlls, you won't have access for older dlls.

Didnt know there was someone who tried is, but it is never late to try again :P and try make it possible.

Share this post


Link to post
Share on other sites

If you manage to make newer dlls work, GR2 design will be possible.

Share this post


Link to post
Share on other sites

i have example .gr2 2.6 convert to 2.4 and metin2 use granny2 version 2.4 but guys can make metin2 can use granny 2.8 here

http://www.elitepvpe...f-r-metin2.html

http://www.progamerc...-gr2-2-4-a.html

waiting orlox for explain later time but you not understand /whisp

bin.rar -- The new, metin2-compatible dll

msvcrt.rar -- CRT required to run the dll

sdk2.rar -- Original, metin2-incompatible dll

bulkconverter.rar -- Mass upgrade app

bin.rar

bulkconverter.rar

GrannyConverter_ricky92.rar

msvcrt.rar

sdk2.rar

Edited by lemara

Share this post


Link to post
Share on other sites

What Lemara said, is, that he could find someone being able to make a tool for Importing granny2.dll 2.6 version *aprox* to 2.4 in the second link. A very recent one from almost a month ago:

--- http://www.progamercity.net/game-files/3987-tool-metin-granny2-animations-converter-gr2-2-6-gr2-2-4-a.html

The first link that lemara posted (and I will not post it again, because it is not that useful for our purpose) refers of making possible to use a further version of granny in the same game named as "metin2" but, ... to being honest what we are trying to find is, just go on with the old 2.1.0.5, so I will pass out that phrase.

Anyway, for now, we contacted the author of that tool, explaining our situation and asking how possible it is to make a converter to 2.1.0.5 , just as he did a backward converter to 2.4.x.x

We will post here what news we have about. Also, anyone who wish to try the converters, there are available to being downloaded attached in the thread.

Share this post


Link to post
Share on other sites

3d mob custom import from ragnarok online 2 the gate of the world

.GR2 version 2.6.10

done bone animation mesh texture (alpha texture)

anno.jpg

animation.png

Andanora3DMOB1.rar

Share this post


Link to post
Share on other sites

Hello everyone, I am ricky92, the creator of the 2.6 to 2.4 converter for Granny3D.

I was contacted by Olrox on Elitepvpers, and he asked me if it would be possible to convert back to 2.1.0.5: after a quick glance at the 2.1.0.5 DLL, I realized it would be possible, but it would take quite some time.

It took a lot of work to create the 2.4 converter: although it just took 5 days overall for me to create it, keep in mind I almost didn't sleep at night to make it, and I was HIGHLY motivated. It would have probably taken a month or so with "regular" timings and motivation. XD

So yes, I will probably start working on 2.1.0.5 conversion soon, but, as I already said to Olrox, it will probably take a long time. Don't expect results very soon, I don't really have any motivation for this converter except for personal satisfaction and some sort of glory XD I'll try to keep you updated about the progress, I might even make a dedicated page on my site (when I get it ready, lol).

Just a little request: if people who would want this converter could post here, it would be great. It would help me realize how useful the tool could be to the community. And that would probably motivate me a little bit more as well, I guess. XD

  • Upvote 5

Share this post


Link to post
Share on other sites

To everyone:

ricky92 is the author of the amazing tool to convert Granny 2.6 to 2.4. He was so nice to accept our request ***yes I say "our" and not "mine" request, because this is a project for the benefits of the whole RO private community*** to develop the same tool to import to version 2.1.0.5

For all those people that maybe are a bit confused about... this tool will allow us to Import custom Ragnarok 3D Monsters with animation, as walking/attacking/standing/etc.

You might remember the Ragnarok WoE Guardians in Castles let me tell you that, those mobs, are the ones we are refering about:

2-8.jpg

WoE Guardians are an example of 3D default Ragnarok Monsters that uses what are we talking about.

If this tool is possible, we will be able toE Import animated monsters just as WoE Guardians, but from different games, as for example: Ragnarok 2 ones:

42511622oy6.png

Or maybe the one my Partner Posted Here

Just to say an example, because the amount of GAMING resources available to work with this, is ENORMOUS. The list of games that uses granny2 is big. and I'm sure this will be a great step forward to what is about RO private development.

====================

What we need is support from the community. We need your feedback. We need your Rating. A single post that you care this to make it possible is enough.

ricky92 is from another gaming community that doesnt has to do that much with Ragnarok. He was really nice to join this project, but he ask at least, recognition from all, so he will feel motivated to work into this.

Please all, support our project, and post your feedback about. Thank you, and we will keep you updated about the progress of this.

Share this post


Link to post
Share on other sites

do it

Share this post


Link to post
Share on other sites

do it

Do it. /no1

Share this post


Link to post
Share on other sites

Do it /kis2

Share this post


Link to post
Share on other sites

Amazing but i love Ragnarok because of 2d sprite and pixel art not in 3d model as same as Maplestory and Latale one...

If ragnarok full or many of 3d mob, this game is not classic anymore.

And very less people that open/public ragnarok server got knowledge about 3d programing.....

And about something in THAILAND,.... This 3d etcs is for paid service 1000000% for sure.

You guy work hard but result will like this word: Exploit

Sorry about English and my comment, I'm asian.

Edited by Celestica

Share this post


Link to post
Share on other sites

Amazing but i love Ragnarok because of 2d sprite and pixel art not in 3d model as same as Maplestory and Latale one...

If ragnarok full or many of 3d mob, this game is not classic anymore.

And very less people that open/public ragnarok server got knowledge about 3d programing.....

And about something in THAILAND,.... This 3d etcs is for paid service 1000000% for sure.

You guy work hard but result will like this word: Exploit

Sorry about English and my comment, I'm asian.

Each individual person has different habits and expectation hence you should not count everyone is behaving in the same manner. People are always having good and bad things in themselves which is the nature of human being, I believe.

Each individual’s habit is always different and we cannot force each and everyone to think and behave in the same way.

I am not blaming you but you should know that some works can create benefit for the whole development not individual and not for Thai people specifically.

What I want to present here is to adapt and apply some further development to the map; for instance to create the real time transportation system by aiming that; we are able to control each character simultaneously, improve the system of growing the plant, expand or stretch some model when building the house, house decoration and cooking system etc. I just have a hope that I can make it more real than ever.

I am not only thinking to use this to take any advantage from my own country and please take note that I have never been using the web board of eathena Thailand for quite some time already.

Lastly, what I have done is the thing I love and I would like to see the change in the system rather taking advantage or creating it for my own benefits. Hope you will understand my standpoint and my working philosophy.

Edited by lemara

Share this post


Link to post
Share on other sites

Amazing but i love Ragnarok because of 2d sprite and pixel art not in 3d model as same as Maplestory and Latale one...

If ragnarok full or many of 3d mob, this game is not classic anymore.

And very less people that open/public ragnarok server got knowledge about 3d programing.....

And about something in THAILAND,.... This 3d etcs is for paid service 1000000% for sure.

You guy work hard but result will like this word: Exploit

Sorry about English and my comment, I'm asian.

Let me ask you: The Emperium is a monster?

we are not talking only about mobs, this can be applied to enviroment, as houses, as objects, as models... to say an example: making a prontera house explode, make boom by only click or say a word

This is Real Interaction.that can benefit the whole gaming experience as Lemara said: making a system of growing a plant, etc. we are talking not only about monsters, also enviroment, and eviroment in ragnarok is allways 3D, you understand?

You should read that this project is made by someone more than just Lemara?, it includes Myself now.... take a look at your words truly. The tool will be released under the terms of Ricky92, that he will decide at the time is ready.

You said that very less people knows about 3D AND WE KNOW... but even for people like us that we know about this, without the tool this is not possible. If you expect progress from this, releases for the community for this, then, support the topic in a good way....

Anyway. Now that you know that this can be applied to also ragnarok 3d enviroment, and not only monster, (to say one thing... because there are a lot of more possibilities) you should say at least your apologies. Truly you are not helping us.

Share this post


Link to post
Share on other sites

I heard that the tool will be for everyone, and free.

Whether we like or not 3D, it's part of ragnarok and being able to make our own monster in 3D or our own 3D NPC's would be an amazing feature.

I personality think i'd be

SO FUCKING COOL.

ricky92, Please make this tool. I know we're asking you a lot, but i would give Ragnarok a future full of new possibilities ! :))

  • Upvote 1

Share this post


Link to post
Share on other sites

I sincerely support this project. 3D objects will really open up new game play opportunities. After a few moments of brainstorming possibilities with support for 3D models I came up with the following list:

  • More realistic interactions with players (An Opened Door model spawns and once a player walks through the Opened Door disappears to be replaced by a Closed Door Model) - Can be NPC based.
  • Adding background moving objects to give more realism to a map.
    e.g) Fish moving around under water (These are npcs programmed to move to specific areas), Flying birds, Space Maps can have orbiting planet NPCs or ships flying around. etc
  • Destructive models (as said by Olrox) including houses, vegetation, ruins

  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.