This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - spik96

Pages: [1] 2
1
Modelling and Animation / Where is used KeyBoneLookup ?
« on: December 10, 2015, 08:57:32 pm »
Hi !
Parts of my models are disappearing and those parts are linked by the same keybone (an arm, a jaw..) and keybones are defined in the KeyBoneLookup so my question is, when, and where, is this lookup referenced ?
What is it used for ?

Note : I'm talking about https://wowdev.wiki/M2/WotLK#Key-Bone_Lookup

2
Modelling and Animation / [SOLVED] M2 : Global Sequences
« on: December 06, 2015, 12:52:09 pm »
Hi !

I'm trying to understand how the global sequence mechanism in M2 actually works.
An index appears sometimes in an Animation Block, referencing a maximum timestamp. There is only one track in the block, nice.
So we could have timestamps like that :
[Max Timestamp : 1000]
0
100
300
800
1000

But how does the client know what time in a global track means ? Usually tracks are animation link, you have one timeline per animation. You launch the animation, and that's the start of the timeline. But when it's global, what is the 0 ? When will be 800 for example ?

3
Showoff - what you are working on / Trying to dev a Java M2 lib&tools
« on: November 26, 2015, 03:10:39 pm »
Hey !

As my C converter was a bit of a nightmare to maintain I initially decided to rewrite it in Java.
Then I thought I may use this opportunity to make something better and more useful on the long term.
I'm now building something really simple to use in a well-known language.
It's based on WC3Utils by Dr Super Good from The Hive Workshop, the WoW Wiki, and many other sources.
It recognizes an M2 format based on its magic number (typically MD20) and its version (such as 264 for WotLK, but you could put -1 to disable this and load chunked files like Warcraft 3 MDX files for example).
I heavily used reflection to make basic classes, such as ArrayRef (n and offset) and AnimationBlocks easy to use.

Now adding another format is really easy.
Example : for many years some people were scared about parsing the preWotlk formats because the AnimationBlock is really different (one timeline instead of multiples timelines). Some thought you had to create lot of new methods and there was a minefield of bugs.

LK 3.3.5 :
   private short interpolationType;
   private short globalSequence;
   private ArrayRef<ArrayRef<Integer>> timestamps;
   private ArrayRef<ArrayRef<T>> values;
BC 2.4.3 :
   private short interpolationType;
   private short globalSequence;
   private ArrayRef<Integer> timestamps;
   private ArrayRef<T> values;

That's it. Done. It writes itself, it reads itself, this is all you have to change (and add&remove a few fields in other places). You do not need to recreate other reading/writing functions, you do not need one for each type like in C as there is genericity, it's just fast and simple. You do not need arrays of arrayrefs, read them from the stream, then read each n&ofs to finally reach the real data... the class does it for you. Just put the ArrayRef at the correct place in your declaration, and call its unmarshalling method, and done. A "getContent()" will give you your real Array. Or an Array of Arrays if that's needed.
It is not meant to be performant, just easy to read and easy to adapt when Blizzard format changes.
And it should be fast to add hooks to perform any task you want.

The backbone is the ArrayRef class : http://pastebin.com/47pG7Qqx
Still work in progress.

I will put this on Github soon. If anyone wants to help me, just post here.

4
Modelling and Animation / Concept behind AnimPorter ?
« on: August 30, 2015, 11:43:13 am »
Hi !

I wanted to use Tigurius'AnimPorter to give the Orc model other animations to make it stand upright. Then I discovered how this tool was uneffective and full of non sense.
I would like to remake it, but how does it work ?
How does it handle the different numbers of bones ? Of animations ? Does it change the Keybones table too ?

5
Resources and Tools / [TOOL] LKBC M2 Converter v0.4
« on: July 04, 2015, 01:21:43 am »
** THIS PROJECT IS DEAD AND REPLACE BY JM2CONVERTER WHICH IS MORE POWERFUL, SEE GITHUB **

Hi Modcraft !
Now is the time to release the tool I've been working on for a couple of months.

##What it is :
World of Warcraft M2 model converter from version 08 (_Wrath of the Lich King_) to 07-04 (_The Burning Crusade_).
Written in ANSI C, documented with Doxygen, made with love and tears.

##How to use it :
This is a command line tool. Put the executable file in the same folder than your WotLK model, then run it in a terminal. The output will be <model name>_BC.m2.

###Example (Windows version)
Original model : PandarenStag.m2
Code: [Select]
lkbc_converter.exe PandarenStag.m2==> a new file, PandarenStag_BC.m2, should have appeared in your folder.
Note : if you can't understand this, I recommend you to not bother with this program and learn basic knowledge like how to open a terminal, how to navigate in it...
Drag&Drop in Explorer may also work. Untested.

##Things that should work :
* Creatures, with their animations
* Static objects like trees or crates
* Objects with animations like fountains or waterfalls
* Interface m2 files

##What's yet to be implemented :
* Ribbons
* Particles
Note : I tried to make it so the converter will still produce a model, you'll just not be able to see the effects.

This is still heavy work in progress.
 
##Frequently Asked Questions :
###Can we convert Warlords of Draenor character models ?
A bit buggy but theoritically yes. But :
* There are geosets supported by LK and not by BC. As a result, if you don't delete them in Blender, they will always show. Examples : "Catch-like" belt, Death Knights glowing eyes.
* Remember you don't have to decimate character models meshes if you convert to BC because there a lot of unused sets. Haircuts (those added with the barbershop in LK) for example.
* You will have to resize textures to the size of those of classic models. That's a huge loss in quality, but there is nothing we can do about it. Character texture size is hardcoded in the client. If you don't reduce them, you'll get a WoW Error or, if you're lucky, messy faces.
* Don't forget the DBC Editing. You can't use LK DBCs.

###Can we use it on creatures or only with static objects ?
This converted is aimed at converting creatures, something that had never been done previously by any LKBC conversion tool.
Not all of them are working perfectly, but the code is getting better every day.

###My model is not working !
Check you're not using a model which has unsupported features, like particles or ribbons.
But errors can happen elsewhere too. You can report your problem in the issue section on Github ;) !
Don't forget to add the name of your model and the nature of the problem.
 

##Credits :
Original idea and structures by Stan84.
Thanks to Stan84, PhilipTNG, Schlumpf and all the people who contributed to [wiki:2tqnq0t6]M2[/wiki:2tqnq0t6]&[wiki:2tqnq0t6]M2/WotLK[/wiki:2tqnq0t6] pages.

##Download :
(READY-TO-USE FILES ARE IN THE "BINARIES" SECTION)
https://github.com/Koward/LKBC_Converter/releases
Available for Windows and Linux !

6
Modelling and Animation / [Research] .anim files : How do they work ?
« on: July 02, 2015, 11:35:05 pm »
Hi Modcraft !

My question sounds simple: how do .anim files work ?
Their purpose is to store animations that are not often used.
By the wiki I understand they are only parsed when the flags of the animation & 0x30 == 0.
The timestamps & values are then extracted using the offset like they would have been in the m2, but just in the .anim file. That's where I wonder : which one ?

.anim file example : taunkamale0069-02.anim

What does 0069-02 stands for ?
I guess 0069 is some kind of ID, but is it the AnimID ? It is likely (as 69 is EmoteDance, that would make sense) but if someone is sure about that..

Then 02. There is also for this model 0069-00 and 0069-01 so that must be the # of a particular animation (physical animation, not playable animation). But how should I be able to identify it ?

7
Miscellaneous / SirFranc's stuff
« on: June 15, 2015, 10:53:45 pm »
Hi.


(by Skarn on NewFound's thread)

Considering SirFranc gave his permission to use his stuff if anyone still have it, has anyone considered gathering them ? And maybe, decrypt them ?

I never had the chance to play Chronicles of Azeroth. I wish I had. The world map with all those new lands haunt my dreams every night. It's his screenshot that made me understood the potential modding this game have.

They must not be forgotten.

8
Modelling and Animation / [SOLVED] Playable Animations Lookup ?
« on: June 12, 2015, 03:12:43 pm »
Hi !
Back in the BC days, there was a table in M2 where information about which animation the game should play and some flags. Wiki : http://www.wowdev.wiki/index.php ... ion_Lookup

For example, for models who did not have a sprint animation, you could say just use the run animation with this table.

Now, in 3.3.5a LK m2, I don't know where this is stored or how to do that.
Do you ?

9
Hi !

I have a model, and when I watch it with MDLVis, every animation works perfectly fine except the last one is turned 90° on its side.
Do you know what cause this and how to prevent/fix it ? Something must have it's coordinates flawed but I don't know what...

MDLVis : http://i.imgur.com/V17qaVk.png
Exported as MDL : https://gist.github.com/Koward/7d3bdbc6f0633c8981ab

EDIT : I think it could be some problems with the quaternions used for rotation. The problem is a rotation of -90° around Axis Y and a rotation of -90° around Axis X in the last animation.
Example : while a vertex is "normally' at (12,0,9), it becomes (9,12,0). I want it to stay like he is...
I don't have yet the math knowledge to understand what this means for the values in a quaternion.
I can learn it, but it will take time and if someone had an easy way that would be handy.
EDIT 2 : It seems I was wrong. Even when I put rotations to (0,0,0,0), there still is this little rotation. Damn, if I fix this bug my work will almost be done !

As I work on this while working on my LK>BC converter, I really wonder how a special animation can be affected and if the rotation handling changed between the two expansions.

EDIT Piaf : Solved, see my last post for information.

10
Miscellaneous / [SOLVED] Questions about skin files
« on: June 04, 2015, 07:22:19 pm »
Hi !
I was tinkering with submeshes when something strange showed up :
On the wiki page for .skins, http://www.wowdev.wiki/index.php ... otLK/.skin ,
You can see the Submesh structure has a "Level", an unsigned 16 bits integer. So far, that's fine. I don't know what |ed means but that's not my main problem.

I use the binary templates with 010 Editor like a lot of people here, but they don't show this integer.

Who's right ? Who's wrong ?

Also, in the Skin header, what are Indices supposed to be ? They can't refer to vertices in the model. In my model (the classic Frog.m2), there are 250 vertices. Values in Indices are up to 2548... I really don't get it. I would expect them to be between 0 and 249...

11
Hi =)
First of all, sorry for my mistakes in the English language.

A week ago I started a converter in ANSI C between two M2 model formats : Wrath of the Lich King and The Burning Crusade. I used Stan84's converter as a reference. I will try to keep it well documented.

I want to load the whole model in structures. This is a different approach of what most people tried in the past (copying the file THEN modify it). I want to be able to, step by step
1) Parse it
2) Convert it
3) Write it

So when the day will come more converting options could be added.

I'm still at the parsing stage...
So far I have passed on Cameras, Ribbons and Partcles.. but Animations should be parsed properly. This was really hard due to the "layer" nature of animations (a suite of number and file-relative offsets) and the lack of templates in C.
I'm just a beginner student. In some parts, the code could be an algorithmic heresy.

I'm alone and I find this really difficult. If you know C programming and want to review the code and/or contribute, here is the GitHub page :

https://github.com/Koward/LKBC_Converter

12
Hi !

I'm using Milkshape 3D 1.8.5 and I'm trying to import an obj of a crate (He, I need to start somewhere).
Here's the file : http://pastebin.com/xnebaigm

I don't get any error message, the model just doesn't showup and there is no indication somewhere has even been imported.

13
Hello,

I noticed in patch 3.1 they updated WoW characters textures, so I decided to extract them and pack them into a MPQ.
Then boom, WoW Error. Same with WMV.

I really can't see why. Usually when I put a too high res texture, the model simply become greens and still, WMV&Noggit can view it perfectly.

Here is the MPQ : http://www.mediafire.com/download/5fz7g ... atch-3.MPQ

14
Modelling and Animation / [SOLVED] What says how models have to run ?
« on: April 07, 2015, 02:10:54 pm »
Hi !

While retroporting a model I noticed it did not have an "Run" animation. It's a bird and it has a useless "Swim" animation looking exactly like a running animation (like every other flying model in this game.. ). So I decided to change the "Swim" to "Run".
I changed the Animation ID to 5 and the NextIndex to -1, and I ajusted the Movement speed.
I check with WoW Model Viewer, and everything looks fine.
Then in game, I aggro the mob, I run, and... he still uses the "Stand" animation. The original correctly used the "Run" animation

I thought maybe it was not the "Run" animation but the "Fly" one, so I tried the ID 135. Again, fine in WMV, wrong in game. The only difference with the original is this : the "Run" is not the fifth animation. It has the correct AnimationID, but it's not the fifth in the file. Do you think it's important ? On all models, the "Run" is both the fifth and the AnimationID 5, but I assumed the real order in the structure was useless (the game should simply look for the good ID..).

Any idea ?

EDIT : Nevermind, I forgot to refer the ID in the block D. I can also see now I don't even have to change the animationID, I can simply ask "Ok, now Run use the animation with the XX ID" and that's fantastic.

15
"Retro-Porting" / [SOLVED] UI M2 TalkToMe not moving up
« on: April 03, 2015, 10:04:23 pm »
Hi !

When you select in game a quest giver, the Yellow "!" TalkToMe moves up so the name of the NPC is not hidden by the ! .
Trying to convert a Wotlk TalkToMe.m2 (found in Interface/Buttons), I found out this was stored in the M2. However, I can't find any information about it in the doc and I need this to fix the bugs I sometimes get.

Anyone knows where this could be ?

Pages: [1] 2