How FXModel and FXAnim are linked to character Skills

Results 1 to 14 of 14
  1. #1
    Valued Member Eliana Gherbaz is offline
    MemberRank
    Oct 2013 Join Date
    122Posts

    How FXModel and FXAnim are linked to character Skills

    This was requested by @Shichibukai in a thread which talk about other thing, so I open a new thread to discuss about.
    The request is as follow:
    Quote Originally Posted by Shichibukai View Post
    @Eliana Gherbaz Hi, Can I ask a little bit of help?

    I am trying to locate each TMB/TAB file are used for each skill, though it appears that the skills didn't show which of the tmb/tab files are used.

    Example: IRIN TIRIKA
    On the fxpc, it only provides the skill ID 1100065
    and it also shows numbers on the PCSkillAction tab,
    but upon checking the client, it's obvious that it's name is mMultiArrow1_2000331.
    I am trying to make new skill effects for each skill, as for now, I can only change the skill models,

    https://www.youtube.com/watch?v=8fnYAFoKNhc instead of the meteor, I can only do this for now and I also the new skill animation, but it's not included in the video.
    You are right, the skills do not say which tmb or tab is using, the files in charge of giving the IDs are the .tfx.

    The HTLauncher does not read those .tfx files, the one which reads them is HT3DHeaven.dll HTLauncher just stores in a table the ID and the file name to provide the name of the file to HT3DHeaven.dll when it ask for it by its ID.

    .tfx files for characters skills FX are divided by Race, so for example FX for Deva/Garuda are on the fxPCRaceDevGar.tfx.

    As I said before I didn't play with .tfx files and because I don't have the sources of the HT3DHeaven.dll I really don't know the whole meaning of the content stored on those files.

    You have 2 ways for making the links:
    1- starting from fxPC.xml file
    2- starting from the .tfx file

    If you know the skill name you want to link, then use way 1, but if you want to link all skills from one race then use way 2.

    So for example following the skill you mentioned IRIN TIRIKA and starting from fxPC.xml, you know:
    SkillID: 1100065
    Activate: 1001801
    Impact: 1000456

    FXName for 1001801: PAR47_ATV (search on FXSkill tab)
    FXName for 1000456: PAR28_ATK (search on FXSkill tab)

    offset for PAR28_ATK on the fxPCRaceAsuRak.tfx : starts on 00000C84
    offset for tmb ID: 00000D6C - 00000D6F value in Hex C0 84 1E 00
    Because Hex values are stored inverse you use 1E84C0 in a programmer calculator so value = 2000064 that is the ID for the tmb used whic name is: mUP_2000064.tmb
    one thing you may notice on the fxPC.xml is that the model and the animation only differs in the extension and the ID, so models ext are .tmb and animations are .tab, models ID starts with 20 and animations with 22, at this point you can assume that the animation that model use is mUP_2000064.tab with ID 2200064, looking again on the fxPCRaceAsuRak.tfx the next 4 bytes that follow the tmb offset are : 00 92 21 00, inverted Hex = 219200 Dec value= 2200064, that confirms the animation that model use is the mUP_2000064.tab
    then, one* of the models and animations used by Impact FX for IRIN TIRIKA is mUP_2000064.

    Lets see one* used by Activate
    offset for PAR47_ATV on the fxPCRaceAsuRak.tfx : starts on 00010534
    offset for tmb ID (4 bytes): 00010914 - 00010917 Hex Value= CB 85 1E 00 Dec value=2000331
    tmb Name for 2000331=mMultiArrow1_2000331.tmb
    so we can assume animation will be mMultiArrow1_2000331.tab ID=2200331
    next 4 bytes on the file are 0B 93 21 00 Dec Value= 2200331

    *when reading the .tfx files you will notice that FXName may use more than 1 texture file, those textures files may or may not use the same Model and Animation. the model ID offset will start 12 bytes before the texture name and is stored as I said in 4 bytes, after those 4 bytes the next 4 ones stores the animation ID. If you want to simplify your linking process you can make a binary reader program, of course even I already say where will the IDs start, you will need to find the bytes counts for those things you dont need to read (hope you know what i mean)


    Hope this answer your request.

    Regards
    Last edited by Eliana Gherbaz; 02-01-17 at 09:07 PM.


  2. #2
    Account Upgraded | Title Enabled! Shichibukai is offline
    MemberRank
    Apr 2012 Join Date
    463Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Thank you so much eliana. Now I can continue on this one. I will post some updates once I've successfully made one. Happy New Year!

    - - - Updated - - -

    One question @Eliana, woult it be possible to add a new data on the xml files and add some hex data on tfx files as well? Without corrupting the file?

  3. #3
    Valued Member Eliana Gherbaz is offline
    MemberRank
    Oct 2013 Join Date
    122Posts

    Re: How FXModel and FXAnim are linked to character Skills

    xml file will not get corrupt because you add things, the only thing that can happen is that the data you add may not work.
    with the .txf adding things again will not corrupt it (the file), but if you add things wrong you may crash HT3DHeaven.dll.

    Happy New Year to you too

    In my personal opinion, adding new skills will be a headache because you need to do a lot things, not only doing models, animations, understanding the .tfx content, changing the interface (UI) that is hard coded on the HTLauncher.exe and so on, that means a lot time with headaches .
    Last edited by Eliana Gherbaz; 03-01-17 at 10:40 AM.

  4. #4
    Account Upgraded | Title Enabled! Shichibukai is offline
    MemberRank
    Apr 2012 Join Date
    463Posts

    Re: How FXModel and FXAnim are linked to character Skills

    I see. I have successfully added to new animations ingame, including it's new effects, I will compile everything and show a video soon once I have enough time to record a video. Thanks again.

  5. #5
    Account Upgraded | Title Enabled! Shichibukai is offline
    MemberRank
    Apr 2012 Join Date
    463Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Hi @Eliana Gherbaz , quick question. We're currently working on a similar tool for the map, which will be used for the old engine unlike the one you have. Can you give any hints about the format description(Tantra) for the map files? Tcc, tml, tme, thm

  6. #6
    Valued Member Eliana Gherbaz is offline
    MemberRank
    Oct 2013 Join Date
    122Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Quote Originally Posted by Shichibukai View Post
    Hi @Eliana Gherbaz , quick question. We're currently working on a similar tool for the map, which will be used for the old engine unlike the one you have. Can you give any hints about the format description(Tantra) for the map files? Tcc, tml, tme, thm
    If by "hints about format description" you mean how to read those files, I will pass that because it will be a very very long explanation, and most probably is that if you dont know for what is use each of those files you wont know how to use the data read.
    Just to give you an example:

    this is what you see on a .tml file when you read it with Hex editor:


    and this is how it looks in a xml format (more readable form)




    So .tml files contains the info of MapNodes and MapObjects, then the question will be How do I use that data right? That is why I said that the explanation will be very very long, first on how to read the data files and then on how to use them, so I pass on that (sorry)

    - - - Updated - - -

    If it helps to you:
    .tcc is used like Navigation and Pathfinding, it defines the areas where characters can move, which areas are safe Zones, PVP, etc
    .tme is related to water objects
    .tml is the info of MapNodes and MapObjects
    .thm have the terrain data that HT3DHeaven.dll needs to create the terrain Mesh
    In my case I dont use: .tcc, .tme,.thm
    In my case I generate the terrain by using MapData.tcm from server, then I manually apply the terrain texture, because even I use the tantra terrain texture as a base, I use Unity Splash Maps to apply better texture resolutions (tantra terrain texture resolution is really bad)
    The only files and folders that I read from Tantra in order to allow my tool to generate the map are:
    (example for mandara map)

    Im not using the .tme because I use Unity water Pro to create water.
    Im not using the .thm because I generate the terrain with a Heightmap that I create from the MapData.tcm
    and I dont use the .tcc because I use the Navigation and Pathfinding of Unity Pro
    Last edited by Eliana Gherbaz; 21-01-17 at 03:16 AM.

  7. #7
    Account Upgraded | Title Enabled! Shichibukai is offline
    MemberRank
    Apr 2012 Join Date
    463Posts

    happy Re: How FXModel and FXAnim are linked to character Skills

    Hi @Eliana Gherbaz, another question? How do I locate a specific skill motion used on a skill? After checking all of the xml files, I still can't find the .tab files used on a skill. Tantraparam and fxpc only pointed out the skill ID but it's not linked on clientres(PCAni). For example, badra skill by banar, I can only assume the skill by finding bdr or any related name to the skill on my client or by opening the motion skills on 3dsmax 1 by 1 to confirm the specific skill. I tried the same method which was mentioned in this topic but I still can't find it.

    Found it already, thanks anyway
    Last edited by Shichibukai; 18-01-18 at 04:15 PM.

  8. #8
    Member Reaguee is offline
    MemberRank
    Jan 2011 Join Date
    84Posts

    Re: How FXModel and FXAnim are linked to character Skills

    @Shichibukai I want to know if you continued with FX effects or you give up, because now im working on them but I still don't get how tint is apply to fx type 1, for example this is a part of the colors that are applied to one effect which use 2 textures on BW



    and what you get when those colors are apply is a blue fire:


    do you know how those pair of colors works to tint the BW textures?

    Thanks in advance.
    Eliana

  9. #9
    Member Reaguee is offline
    MemberRank
    Jan 2011 Join Date
    84Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Never mind I already figure out how tint works.

  10. #10
    Account Upgraded | Title Enabled! GMDeveloper1 is offline
    MemberRank
    Mar 2013 Join Date
    328Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Is itpossible to add third jobs in the game ?

  11. #11
    Member Reaguee is offline
    MemberRank
    Jan 2011 Join Date
    84Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Quote Originally Posted by GMDeveloper1 View Post
    Is itpossible to add third jobs in the game ?
    Probably the answer is yes, if you know how to add the server and client logic to handle that 3rd job.

    May I know, why you want to add a 3rd job to the game? I ask because nothing come to my mind to want to add a new job to the game.

  12. #12
    Account Upgraded | Title Enabled! Shichibukai is offline
    MemberRank
    Apr 2012 Join Date
    463Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Quote Originally Posted by Reaguee View Post
    Probably the answer is yes, if you know how to add the server and client logic to handle that 3rd job.

    May I know, why you want to add a 3rd job to the game? I ask because nothing come to my mind to want to add a new job to the game.
    It's even hard just to add 1 new animation skill. lol

  13. #13
    Member Reaguee is offline
    MemberRank
    Jan 2011 Join Date
    84Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Quote Originally Posted by Shichibukai View Post
    It's even hard just to add 1 new animation skill. lol
    Adding Field and Monster effects is not so hard, the only part that I found hard to understand was how the tint/colors works, because I use gradients to define colors over life time, so I thought was the same or near that. I still have some fields that I don't know its use, because I change them but nothing change on the FX, may be they are there to follow same file structure but are useless for FXField.

    I still did not play with PC skills effects, so for now I don't know how much different they are from the Field ones, probably if I have time I will start playing with those next week, and if you still interest on those I can share with you what I found.

  14. #14
    Member forsakendev is offline
    MemberRank
    Aug 2018 Join Date
    MexicoLocation
    72Posts

    Re: How FXModel and FXAnim are linked to character Skills

    Quote Originally Posted by Eliana Gherbaz View Post
    This was requested by @Shichibukai in a thread which talk about other thing, so I open a new thread to discuss about.
    The request is as follow:


    You are right, the skills do not say which tmb or tab is using, the files in charge of giving the IDs are the .tfx.

    The HTLauncher does not read those .tfx files, the one which reads them is HT3DHeaven.dll HTLauncher just stores in a table the ID and the file name to provide the name of the file to HT3DHeaven.dll when it ask for it by its ID.

    .tfx files for characters skills FX are divided by Race, so for example FX for Deva/Garuda are on the fxPCRaceDevGar.tfx.

    As I said before I didn't play with .tfx files and because I don't have the sources of the HT3DHeaven.dll I really don't know the whole meaning of the content stored on those files.

    You have 2 ways for making the links:
    1- starting from fxPC.xml file
    2- starting from the .tfx file

    If you know the skill name you want to link, then use way 1, but if you want to link all skills from one race then use way 2.

    So for example following the skill you mentioned IRIN TIRIKA and starting from fxPC.xml, you know:
    SkillID: 1100065
    Activate: 1001801
    Impact: 1000456

    FXName for 1001801: PAR47_ATV (search on FXSkill tab)
    FXName for 1000456: PAR28_ATK (search on FXSkill tab)

    offset for PAR28_ATK on the fxPCRaceAsuRak.tfx : starts on 00000C84
    offset for tmb ID: 00000D6C - 00000D6F value in Hex C0 84 1E 00
    Because Hex values are stored inverse you use 1E84C0 in a programmer calculator so value = 2000064 that is the ID for the tmb used whic name is: mUP_2000064.tmb
    one thing you may notice on the fxPC.xml is that the model and the animation only differs in the extension and the ID, so models ext are .tmb and animations are .tab, models ID starts with 20 and animations with 22, at this point you can assume that the animation that model use is mUP_2000064.tab with ID 2200064, looking again on the fxPCRaceAsuRak.tfx the next 4 bytes that follow the tmb offset are : 00 92 21 00, inverted Hex = 219200 Dec value= 2200064, that confirms the animation that model use is the mUP_2000064.tab
    then, one* of the models and animations used by Impact FX for IRIN TIRIKA is mUP_2000064.

    Lets see one* used by Activate
    offset for PAR47_ATV on the fxPCRaceAsuRak.tfx : starts on 00010534
    offset for tmb ID (4 bytes): 00010914 - 00010917 Hex Value= CB 85 1E 00 Dec value=2000331
    tmb Name for 2000331=mMultiArrow1_2000331.tmb
    so we can assume animation will be mMultiArrow1_2000331.tab ID=2200331
    next 4 bytes on the file are 0B 93 21 00 Dec Value= 2200331

    *when reading the .tfx files you will notice that FXName may use more than 1 texture file, those textures files may or may not use the same Model and Animation. the model ID offset will start 12 bytes before the texture name and is stored as I said in 4 bytes, after those 4 bytes the next 4 ones stores the animation ID. If you want to simplify your linking process you can make a binary reader program, of course even I already say where will the IDs start, you will need to find the bytes counts for those things you dont need to read (hope you know what i mean)


    Hope this answer your request.

    Regards
    thankss



Advertisement