Unfinished source BMD (3dMesh) to SMD

Page 3 of 4 FirstFirst 1234 LastLast
Results 51 to 75 of 86
  1. #51
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Here decompiled to: 1.03h Jpn -> Season 4.5

    Added Cross Shield to: Season II - with Glass Effect


    Code:
    Func2:
    
    void gObjSetItemEffect2(UNK0 * arg1, UNK1 * lpMsg, int iID, float arg4, int arg5, float arg6, int arg7) //Completed
    {
    if(iID == ITEMID(0,26)) //Flameberge
    {
    func_51932D(arg1, arg5, arg4, (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), 5, -1);
    }
    else if(iID == ITEMID(0,27)) //Sword Breaker
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(0,28)) //Rune Bastard Sword
    {
    func_5168A0(arg1, 2, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(5,30)) //Deadly Staff
    {
    func_51932D(arg1, arg5, arg4, (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1, arg7);
    
    lpMsg->ukn3[0x94] = 1;
    
    *(float*)(&arg1->ukn[0x48]) = 1.0f;
    *(float*)(&arg1->ukn[0x4C]) = 1.0f;
    *(float*)(&arg1->ukn[0x50]) = 1.0f;
    
    func_5168A0(arg1, 1, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(5,32)) //Unknown (weird but Season4.5 have it)
    {
    func_5168A0(arg1, 1, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(6,19)) //Frost Barrier
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(6,20)) //Guardian Shield
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(7,49)) //Seraphim Helm
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(7,50)) //Divine Helm
    {
    func_5168A0(arg1, 1, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(7,53)) //Unknown (weird but Season4.5 have it)
    {
    func_5168A0(arg1, 2, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(6,21)) //Cross Shield
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else
    {
    OriginalEffectFunc2(arg1, lpMsg, iID, arg4, arg5, arg6, arg7);
    }
    }
    
    void gObjSetItemEffect3(UNK0 * arg1, UNK1 * lpMsg, int iID, float arg4, int arg5, float arg6, int arg7) //Completed
    {
    if(iID == ITEMID(0,26)) //Flameberge
    {
    func_51932D(arg1, arg5, arg4, (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), 5, arg7);
    }
    else if(iID == ITEMID(6,19)) //Frost Barrier
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(7,49)) //Seraphim Helm
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(7,53)) //Unknown (weird but Season4.5 have it)
    {
    func_5168A0(arg1, 2, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else if(iID == ITEMID(7,50)) //Divine Helm
    {
    func_5168A0(arg1, 1, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    else
    {
    OriginalEffectFunc3(arg1, lpMsg, iID, arg4, arg5, arg6, arg7);
    } 
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    //Função 1
    else if(iID == ITEMID(6,21)) //Cross Shield
    {
    glColor3f(1.0f, 1.0f, 1.0f); //OpenGL Set Color
    
    func_5168A0(arg1, 0, 2, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    
    arg1->ukn[0x94] = 1; //Unknown value (need check)
    
    func_5168A0(arg1, 1, 70, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), -((int)(*( float*)0x587C650))%2000, -1); //Shield Glass Effect Animation
    func_5168A0(arg1, 2, 66, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    
    //Função 2
    else if(iID == ITEMID(6,21)) //Cross Shield
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    Code :
    
    
    //Função 1
    else if(iID == ITEMID(6,21)) //Cross Shield
    {
    glColor3f(1.0f, 1.0f, 1.0f); //OpenGL Set Color
    
    func_5168A0(arg1, 0, 2, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    
    arg1->ukn[0x94] = 1; //Unknown value (need check)
    
    func_5168A0(arg1, 1, 70, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), -((int)(*( float*)0x587C650))%2000, -1); //Shield Glass Effect Animation
    func_5168A0(arg1, 2, 66, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }
    
    //Função 2
    else if(iID == ITEMID(6,21)) //Cross Shield
    {
    func_5168A0(arg1, 0, arg5, *(float*)(&lpMsg->ukn3[0x1A8]), (int)lpMsg->ukn3[0x94], *(float*)(&lpMsg->ukn3[0x98]), *(float*)(&lpMsg->ukn3[0x9C]), *(float*)(&lpMsg->ukn3[0x0A0]), -1);
    }

  2. #52
    Account Upgraded | Title Enabled! RIMBROS is offline
    MemberRank
    Apr 2008 Join Date
    Cd. Obregon Sonora (MEXICO)Location
    265Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Amazing release, mmm btw maybe u can put Glass Effect with alpha channels modification too, and brightnes texture. But its good begining that u made.

  3. #53
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    I don't made this.. credits are for: Hermex :p:

  4. #54
    Apprentice hermexjohn is offline
    MemberRank
    Jul 2005 Join Date
    23Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    i found 3 functions related to effects.
    webzen coded effects for each item like cross shield, flameberge i added in season2. For example cross shield uses this formula "-((int)(*( float*)0x587C650))%2000" to make the cool glass animation and flameberge this one:
    PHP Code:
    float Formula1 = (((int)(( *(float*)0x587C650) * 0.05f )) % 16) / 4;
    float Formula2 Formula1 0.25f
    also the rotate thing from the mace is from one of those 3 functions too and uses a similar formula

    Preview:


    btw i never tested different values to see what happens to it xD

  5. #55
    Proficient Member [KeysS] is offline
    MemberRank
    Aug 2008 Join Date
    PeruLocation
    159Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Nice man :D with this we can add effects like glass and fire effect =) is good :)

    This part of code is for main ... Seadon 2? What version Exactly ...?
    Last edited by [KeysS]; 25-02-12 at 06:17 AM.

  6. #56
    Account Upgraded | Title Enabled! RIMBROS is offline
    MemberRank
    Apr 2008 Join Date
    Cd. Obregon Sonora (MEXICO)Location
    265Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Btw, the fire effect its only a illusion, already looks like fire because in
    the .ozt the texture its fire frames, its like a .GIF image, u can changue this by lighting or changue the color to purple or green etc etc... mmm this u post its a source but how abouth the offset? search a float in ollyDBG its a kick in the as.

  7. #57
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    wink Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by hermexjohn View Post
    i found 3 functions related to effects.
    webzen coded effects for each item like cross shield, flameberge i added in season2. For example cross shield uses this formula "-((int)(*( float*)0x587C650))%2000" to make the cool glass animation and flameberge this one:
    PHP Code:
    float Formula1 = (((int)(( *(float*)0x587C650) * 0.05f )) % 16) / 4;
    float Formula2 Formula1 0.25f
    also the rotate thing from the mace is from one of those 3 functions too and uses a similar formula

    Preview:


    btw i never tested different values to see what happens to it xD
    Hey hermex, is lacking this:

    Code:
    g_ItemEffect.func_5168A0(arg1, 5, 66, Value_5, 5, Value_2, Value_3, Formula2, -1 );
    Here I leave the last version of: AriethMu_S6.dll, unpacked. ready for decompilation.

    DOWNLOAD --> for main: 1.08C+ -> 1.08.29 (Kor) Season 6 Episode 2

    PS: I think that, the hermex code it's based in: 1.03h (Jpn) Season 4.5
    Last edited by Kiosani; 25-02-12 at 09:36 AM.

  8. #58
    Account Upgraded | Title Enabled! rodrigobmg is offline
    MemberRank
    Jun 2006 Join Date
    217Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by mauro07 View Post
    Hey hermex, is lacking this:

    Code:
    g_ItemEffect.func_5168A0(arg1, 5, 66, Value_5, 5, Value_2, Value_3, Formula2, -1 );
    Here I leave the last version of: AriethMu_S6.dll, unpacked. ready for decompilation.

    DOWNLOAD --> for main: 1.08C+ -> 1.08.29 (Kor) Season 6 Episode 2

    PS: I think that, the hermex code it's based in: 1.03h (Jpn) Season 4.5
    It's not easy to decompile, coz the important areas of code are virtualized...

  9. #59
    Valued Member kinder32 is offline
    MemberRank
    Sep 2008 Join Date
    ArgentinaLocation
    135Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Maybe u should create a new thread to discuss about this.... this thread start as a opensource bmd <> smd converter, and is becoming a main functions thread.
    Last edited by kinder32; 25-02-12 at 02:23 PM.

  10. #60
    Account Upgraded | Title Enabled! rodrigobmg is offline
    MemberRank
    Jun 2006 Join Date
    217Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by kinder32 View Post
    Maybe u should create a new thread to discuss about this.... this thread start as a opensource bmd <> smd converter, and is becoming a main functions thread.
    But is all related to models...

  11. #61
    Account Upgraded | Title Enabled! RIMBROS is offline
    MemberRank
    Apr 2008 Join Date
    Cd. Obregon Sonora (MEXICO)Location
    265Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    I tested the BMD.exe its really good, support also bigest model formats, i tested with Ixion Titan 3 and support fine,







    999999999999 Helath
    999999999999 Strenght

    GOOD JOB BOYS

    The only think i dont like its how the program finish convert the models, send a error message in windows 7, if can fix this please post update.
    Last edited by RIMBROS; 01-03-12 at 10:19 AM.

  12. #62
    Apprentice aureliomarcio is offline
    MemberRank
    Aug 2011 Join Date
    IGC Fan!Location
    23Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    What BMD.exe ? Did i miss some source on this post ?

  13. #63
    Enthusiast WeHostXen is offline
    MemberRank
    Jan 2012 Join Date
    27Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Anyone tryed out on new ex700 bmds?

  14. #64
    Account Upgraded | Title Enabled! rodrigobmg is offline
    MemberRank
    Jun 2006 Join Date
    217Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by WeHostXen View Post
    Anyone tryed out on new ex700 bmds?
    What bmd's ?

    Edit:

    MuModels now have one new type of encryption... the value is 0x0E...
    Last edited by rodrigobmg; 21-03-12 at 05:24 AM.

  15. #65
    Enthusiast WeHostXen is offline
    MemberRank
    Jan 2012 Join Date
    27Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by mauro07 View Post
    Well, I for one am very busy with things at work now.. and honestly I have no time, but I leave the code compilable in: Visual C++ 2005 .NET + Solution + Compiled exe

    BMD - SMD Converter Source for 2005.rar

    Credits: Gembrid (me only made some changes and compile his code)

    PS: Gembrid You have some material on some OpenGL effects in main.exe such as Shine, Blur, Transparency, etc... to put them on certain items?


    Link is dead, can you please post mirror ?

    Quote Originally Posted by rodrigobmg View Post
    What bmd's ?

    Edit:

    MuModels now have one new type of encryption... the value is 0x0E...
    Are you saying that convert has now 4 hex values adding this new one?
    Can you make an example?

  16. #66
    Account Upgraded | Title Enabled! rodrigobmg is offline
    MemberRank
    Jun 2006 Join Date
    217Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by WeHostXen View Post
    Are you saying that convert has now 4 hex values adding this new one?
    Can you make an example?
    No, in old mains the byte 0x0C determines if the bmd have or note encryption, now have one new type of encryption and the byte correspondent is the 0x0E. Later i will decompile the function to see how it work...

  17. #67
    Enthusiast WeHostXen is offline
    MemberRank
    Jan 2012 Join Date
    27Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Thanks

    Yeahm, looks like the 0x0E type of crypt is different, maybe they only changed the key table...

    PHP Code:
    if(hdr.crypt == 0x0E)
            {
                if(
    4)
                    throw;

                if( 
    < (*(int *)buf)+)
                    throw;
                
                
    SimpDec(buf+4s-4);

                
    pbuf buf+4;
            }
            else
                
    pbuf buf
    I tried using 0x0C routine to decrypt new EX700 models, OFC but no sucess..

    Where should i look for new table? Maybe the Unpacked JPN MAIN ??
    Mauka usually finds those in his sleep ! Come'n lazy guy help us here !
    Last edited by WeHostXen; 22-03-12 at 07:32 PM.

  18. #68
    Account Upgraded | Title Enabled! rodrigobmg is offline
    MemberRank
    Jun 2006 Join Date
    217Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by WeHostXen View Post
    Thanks

    Yeahm, looks like the 0x0E type of crypt is different, maybe they only changed the key table...

    PHP Code:
    if(hdr.crypt == 0x0E)
            {
                if(
    4)
                    throw;

                if( 
    < (*(int *)buf)+)
                    throw;
                
                
    SimpDec(buf+4s-4);

                
    pbuf buf+4;
            }
            else
                
    pbuf buf
    I tried using 0x0C routine to decrypt new EX700 models, OFC but no sucess..

    Where should i look for new table? Maybe the Unpacked JPN MAIN ??
    Mauka usually finds those in his sleep ! Come'n lazy guy help us here !
    Have one new way to decrypt it, i will decompile it later, now i'm on work. I will post here when i finish...

  19. #69
    Enthusiast WeHostXen is offline
    MemberRank
    Jan 2012 Join Date
    27Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Great !

  20. #70
    Account Upgraded | Title Enabled! RIMBROS is offline
    MemberRank
    Apr 2008 Join Date
    Cd. Obregon Sonora (MEXICO)Location
    265Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Never Fixed the conversion of the player.bmd



    The walking its damaged and i follow all the steps.

  21. #71
    NN - Nord & Noob mauka is offline
    MemberRank
    Jul 2004 Join Date
    1,735Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Rofl, M.J wallking style

  22. #72
    Apprentice aureliomarcio is offline
    MemberRank
    Aug 2011 Join Date
    IGC Fan!Location
    23Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    So Mauka, any spare time for us?

  23. #73
    Hybrid Gembrid is offline
    MemberRank
    Mar 2006 Join Date
    1,121Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Quote Originally Posted by RIMBROS View Post
    Never Fixed the conversion of the player.bmd
    http://forum.ragezone.com/f508/unfin...ml#post6853098

    Quote Originally Posted by Gembrid View Post

    also, FileList function requires 1st file to be reference file(load reference, append animations), so if there is only animation smds need to add additional file "???_000.smd" or "???.smd" (just copy 1st animation file and rename it)

  24. #74
    Enthusiast bartwoo is offline
    MemberRank
    Jul 2005 Join Date
    RibeirLocation
    39Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    Can someone reupload the compiled version? I want to test fenrir for 97d.

  25. #75
    Account Upgraded | Title Enabled! RIMBROS is offline
    MemberRank
    Apr 2008 Join Date
    Cd. Obregon Sonora (MEXICO)Location
    265Posts

    Re: Unfinished source BMD (3dMesh) to SMD

    I copy player_001.smd and put like player_000.smd, then i drag the player_000.smd in the bmd.exe and the problem its the same.



Page 3 of 4 FirstFirst 1234 LastLast

Advertisement