FW Client Source Research

Page 1 of 2 12 LastLast
Results 1 to 15 of 22
  1. #1
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    happy FW Client Source Research

    ---My own Client Compiler(Built on OracleVirtualBox):

    *FW_Client_Compiler_(Windows_7_Ultimate_x32_zh-cn):
    https://drive.google.com/file/d/1Dwi...ew?usp=sharing

    *When you login you have to click input-> Ctrl+Alt+Delete and write the password once.


    *Enable shared folders and specify folder path in the VMs I have provided.


    ->Delete ncb files from client source folders to have less crashing.Client source will work better that way.


    ---How to deal with files that can't be modified or Read-only files?
    Files that you copy from the shared folder to the VM may be read-only and can't be modified.
    1)In that situation select the folder


    2)Disable read-only option in properties.

    ---Extra links:
    I uploaded some useful iso in Google Drive because it takes ages to download from the archive website.
    https://archive.org
    DO NOT USE THESE DIRECTLY ON YOUR PC. PLEASE INSTALL AND USE THROUGH A VM FOR YOUR OWN SAFETY!

    *HF pAppLoc that enables you to run program on Chinese locale and eliminate gibberish Chinese characters in source code.
    (I discovered this useful tool thanks to @Psytrac )
    https://drive.google.com/file/d/1_Zr...ew?usp=sharing

    *Visual Studio 2005:
    https://drive.google.com/file/d/1fXq...ew?usp=sharing

    *Visual Studio 2008:
    https://drive.google.com/file/d/15VI...ew?usp=sharing


    *Visual Studio 2010:
    https://drive.google.com/file/d/1NIZ...ew?usp=sharing

    *Visual Studio 2012:
    https://drive.google.com/file/d/1j5Y...ew?usp=sharing

    *Visual Studio 2013:
    https://drive.google.com/file/d/1z02...ew?usp=sharing

    This could be useful and be used to upgrade the FW client sources yourself.
    ---Basics:
    *In order to compile anything from Angelica the region must be in Chinese, because inside the source there are parameters in Chinese that another language does not recognise.


    *Forsaken World is a very old game in which visual studio 6 is used to build most of the stuff.


    *Angelica2 SDK is likely used for all versions of Forsaken World that we know up to Homecoming.


    *Compiled stuff for client sources for FW are found in SMElement\SMBin


    *The code could be fine within h and cpp files and Visual Studio 6 still throw errors because of encoding issues and file being saved in non-GBK(Chinese simplified) encoding.
    It's advised that you make backups of the files and your edits. YOU HAVE BEEN WARNED!

    *Most of the Tools provided in the client source are very old and unpractical.

    *People have to create their own tools based on the tools provided in the client source.

    *Another interesting fact, It's RC files and fonts that should be localized to English for the tool's interface.

    *You may get some of the missing DLLs to run the tool from the client source shared by @Scena from here:
    https://drive.google.com/drive/folde...DNFZK3uXLep2Ex

    *Even if windows is not activated in a VM, It's not necessary for windows to be activated.

    *Projects may be opened through DSW or DSP, files in visual studio 6.
    However, It's advised to open DSW files though. It doesn't give warnings like DSP files.

    *Projects can create:
    1)DLL such as ElementSkill.dll in SMElementSkill
    2)Executables such as PEM.exe in SMElementClient [Release Build]
    3)libs that are used to build other projects such as AUInterface.lib in AUInterfaces.

    *There seem to be 3 main builds for SMElementclient:
    1)Win32 Release=normal client usually easier to compile.
    2)Win32 DbgRelease=Alpha build, Developer client we are familiar with.
    3)Win32 Debug=Another Developer client.

    *Tools->Options->Directories



    This allows you to adjust the C++ Include and Library paths

    *You must display the build:



    That's a method to switch to another project and minimize the chances of VS6 crashing.

    *Project->Set Active Projects:

    That's another method to switch to another project and minimize the chances of VS6 crashing.

    *It's important to rely on the build output log to identify problems and to figure out how to fix the files.


    It's also okay to try to eliminate warnings and try to use google to find solutions for some errors.

    *Project->Dependencies
    Some projects compile libraries and they usually play the role of a dependency for specific projects.
    GfxCommon, LuaWrapper, SMCHBasedCD, SMFWEditorLib, SMSteam
    Basically in the linking process, some projects may require specific libraries!

    ---How to fix GfxCommon Build[Win32 LanEn_EditorDebug] & Build[Win32 LanEn_EditorReleas]?
    Edit A3DGFXEditorInterface.cpp
    1)Change


    2)Change


    ---Enable Developer functionality:
    I have learnt a lot of useful thing through reading .\DysilDeveloperClient\RELEASE_NOTE_READ_THIS.txt
    Source: https://forum.ragezone.com/f783/dysi...lient-1164377/
    Shared by @Fyyre ||Mirrored by @Tomelyr

    1)Go to SMElement\SMElementClient\ElementClient.cpp
    Code:
    #ifdef _ALPHA_BUILD    // DbgRelease mode
    bool glb_IsConsoleEnable() { return true; }
    bool g_IsNoMapCloud() { return true;  } 
    bool g_IsNoUIOptimize() { return true;  } 
    bool g_IsNoGrabServer() { return true;  }
    bool g_ShowItemTID() { return true; }
    bool g_ShowAllLines(){    return true; } //FW2 Function
    #else
    bool glb_IsConsoleEnable() { return  false; }
    bool g_IsNoMapCloud() { return false; }
    bool g_IsNoUIOptimize() { return false; }
    bool g_IsNoGrabServer() { return false; }
    bool g_ShowItemTID() { return false; }
    bool g_ShowAllLines(){    return false; } //FW2 Function
    #endif

    g_ShowAllLines() in FW2 allows us to see all realms.

    ---How to make the executable require additional pcks?[A Friend's fix]
    .\SMElement\SMCommon\elementpckdir.h will allow you to add extra pcks


    ---How to make your own Client compiler?
    *In this thread @Gothic gives you hints to make your own Client Compiler!
    https://forum.ragezone.com/f784/skil...earch-1200219/

    *In this thread @cmb gives you instructions to build the client:
    https://forum.ragezone.com/f783/clie...99/index2.html

    **Part 1 (Prepare your own Virtual Machine)
    *Microsoft Direct link Windows 2008 R2 (English) 64Bits:
    http://download.microsoft.com/downlo...VAL_EN_DVD.iso

    *Microsoft Direct link Windows 2008 R2 (Chinese Simplified) 64Bits:
    http://download.microsoft.com/downlo...VAL_CN_DVD.iso

    1)Install Windows 2008 R2 ISO.
    -Standard Version can support up to 4 processors,32 GB RAM.
    -Enterprise Version can support up to 8 processors,2 TB RAM.
    *It's advised to install the Enterprise version!

    *When you have to write a password twice, it means you have to set up your own password:
    Use upper cases, lower cases, and numbers!

    *Chinese language Windows is most of the time the best choice to avoid gibberish Chinese folders name, comments etc.

    2)When you login you have to click input
    Ctrl+Alt+Delete and write the password once.


    3)Install VirtualBox Guest Additions tools and reboot once.
    Device->Insert Guest Additions CD Image


    4)Download and Install the following programs and put them in your shared folders:
    *7zip https://www.7-zip.org/
    *WinCDEmu https://wincdemu.sysprogs.org/
    *Notepad++ https://notepad-plus-plus.org/downloads

    5)Download Client sources and put them in your shared Folders:

    *Milos [Google Drive] (Order:253->260->297):

    https://drive.google.com/drive/folde...SPkIka-L-JqVJL

    https://drive.google.com/drive/folde...6pZJaiIaGOJG_r

    https://drive.google.com/drive/folders/1_k4Yx4Wi-ZH_9J0OjpPXMyZsprs7C7Mt


    *cmb [mega]:(One For All)
    https://mega.nz/folder/4IhA2ZyS#LJqq3yyDt0xWSC81tB-y9g

    Source: https://forum.ragezone.com/f783/clie...-v260-1195799/
    Password->Fyyre

    **Part 2 (Install Visual Studio 6)
    1)Download the Resources provided by @cmb to build the client and put them in your shared folder:
    [Mega]
    https://mega.nz/file/9IxEEKrS#uD-DVT...M7IWJGgHqRfI4E
    [Drive]
    https://drive.google.com/file/d/1o5C...ew?usp=sharing

    ->Source:https://forum.ragezone.com/f783/clie...99/index2.html

    2)Extract VS6.rar

    3)Extract Microsoft Visual Studio 6.0 Enterprise (6.00.8167) [English].rar

    4)Extract {VS6E_1of3.iso,VS6E_2of3.iso,VS6E_3of3.iso}

    5)Combine the content of the 3 folders {VS6E_1of3,VS6E_2of3,VS6E_3of3} INTO 1 Folder!

    6)Run Setup.exe for VS6 to try to install Visual Studio 6, You will reboot once.

    7)Enter password to login and continue installation (Entreprise Setup Options= Custom)


    8)SELECT Entreprise tools->Choose option->Untick Visual Studio Analyzer.



    Install all the components you want except Visual Studio Analyzer to avoid the following ERROR(Solution from stackoverflow.com).
    Code:
    Setup was unable to create a DCOM user account in order to register 
     ..\Program Files\Microsoft Visual Studio\Common\Tools\VS-Ent98\Vanalyzr\valec.exe
    9)Continue installation & Choose option register installation variables.


    10)Restart Windows to complete installation


    11)Do not Install MSDN yet.Leave it alone for now.

    12)make sure you Copy the content From the VS6 installation folder FROM:
    .\VC98\include
    .\VC98\lib
    .\VC98\MFC
    To C:\Program Files (x86)\Microsoft Visual Studio\VC98
    This step makes sure all the include and libraries are there in the visual studio directory in your Windows.

    **Part 3 (Install MSDN)

    1)Mount MSDN_1of2.iso in a specific drive using WinCDEmu.


    Right click on MSDN_1of2.iso and choose a specific drive


    2)Click on next while selecting "Install MSDN" and locate the path of the mounted MSDN CD1.

    3)Run SETUP for MSDN and choose full installation until it asks you about MSDN CD2


    4)Mount MSDN_2of2 into the same drive as CD1 and continue installing.

    5)Setup should be completed Successfully.

    **Part 4 (Install Windows Platform 2001 SDK)
    Setups (x86) installs SDK for 32 Bits Application SDK
    Setups (ia64) installs SDK for 64 Bits Application SDK
    Both Setups (x86) & Setups (ia64) for Platform SDK seem to overwrite each other.

    1)Extract PlatformSDK 2001.rar

    2)Run SETUP.exe or Setup64.exe to Install Platform SDK 2001.
    OTHERWISE Go to ./PlatformSDK 2001/Setup/ and run all setup(x86) one by one!
    ->FW client sources allow us to build Win32 Applications.

    3)Copy include and libs from Microsoft Platform SDK into Visual Studio.
    From C:\Program Files (x86)\Microsoft SDK\
    To C:\Program Files (x86)\Microsoft Visual Studio\VC98

    **Part 5 (Install DirectX8.1 SDK)
    I have installed DirectXSDK-x86.exe
    Unfortunately there was missing files and errors related to DirectX.


    1)Download DX8.1 SDK and install it through Setup.exe
    https://archive.org/details/dx81sdk_full

    2)Copy includes and libs from DX8.1 SDK into Visual Studio.from DirectX SDK into Visual Studio.
    From .\DXSDK
    To C:\Program Files (x86)\Microsoft Visual Studio\VC98

    **Part 6 (Angelica SDK)
    We have the following folders and each has its own use[3rdSDK,A3DSDK,acsdk,afsdk,Amsdk,AUI,Apsdk,Extra]
    *3rdSDK Contain include and libraries related to 3rd party SDKs and holds some DLL files that are required to run the tools.
    *A3DSDK contain include and libraries related to Angelica3D.
    *acsdk contain include and libraries related to AngelicaCommon.
    *afsdk contain include and libraries related to AngelicaFile.
    *Amsdk contain include and libraries related to AngelicaMedia.
    *AUI Contains include and libraries related to Angelica User Interface.
    ->We already use Include and Libs From AUInterfaces in .\SMElement\AUIInterface
    *Apsdk contain includes and libraries related to NVIDIA PhysX.
    *Extra contains more useful header files

    1)Download Angelica2.0 SDK. This link contain Angelica2SDK provided by Fyyre Mirrored by Milos:
    https://mega.nz/#F!710TUIzT!smur-VQ1m6EHVR5yCowk1w

    2)Extract AngelicaSDK2.rar and put it in an easy location in your drive:
    Example: C:\Angelica SDK 2.0

    3)You will need to recompile angelica engine libraries to be able to compile DbgRelease clients

    *Compileable Angelica2 source code:[Some Friends helped me greatly with this]
    https://drive.google.com/file/d/1zq3...LS9pPFUfj/view

    4)Fix the C++ Include and Library Include paths in your Visual Studio 6
    Tools->Options->Directories


    *Includes:
    Code:
    C:\Angelica SDK 2.0\SDK\3rdSDK\Include
    C:\Angelica SDK 2.0\SDK\A3DSDK\Include
    C:\Angelica SDK 2.0\SDK\acsdk\Include
    C:\Angelica SDK 2.0\SDK\afsdk\Include
    C:\Angelica SDK 2.0\SDK\Amsdk\Include
    C:\Angelica SDK 2.0\SDK\Apsdk\Include
    C:\Angelica SDK 2.0\SDK\Extra
    *Libraries:
    Code:
    C:\Angelica SDK 2.0\SDK\3rdSDK\Lib
    C:\Angelica SDK 2.0\SDK\A3DSDK\Lib
    C:\Angelica SDK 2.0\SDK\acsdk\Lib
    C:\Angelica SDK 2.0\SDK\afsdk\Lib
    C:\Angelica SDK 2.0\SDK\Amsdk\Lib
    C:\Angelica SDK 2.0\SDK\Apsdk\Lib
    **Part 7 (PhysX SDK)
    You must rely on .\Angelica SDK 2.0\PhysX Install\Install instruction.txt
    For more details,please read the instructions properly!
    A friend told me he does not use the PhysX SDK as it's bad for Radeon cards. It's only helpful for Nvidia cards.
    There might be side effects of removing the PhysX SDK from client.

    1)run .\PhysX Install\PhysX_8.04.25_SystemSoftware.exe

    2)run .\PhysX Install\PhysX_2.8.1_SDK_Core.msi to install PhysX SDK

    3)Fix the C++ Include and Library Include paths in your Visual Studio 6
    *Includes:
    Code:
    C:\Program Files (x86)\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.1\SDKS\PHYSICS\INCLUDE
    C:\Program Files (x86)\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.1\SDKS\FOUNDATION\INCLUDE
    C:\Program Files (x86)\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.1\SDKS\COOKING\INCLUDE
    C:\Program Files (x86)\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.1\SDKS\NXCHARACTER\INCLUDE
    C:\Program Files (x86)\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.1\SDKS\PHYSXLOADER\INCLUDE
    *Libraries:
    Code:
    C:\Program Files (x86)\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.1\SDKs\lib\Win32
    4)Extract PhysX_SDK.rar and use it to overwrite your PhysX Software Development Kit SDK files!

    **Part 8 (Extra Step )

    I didn't have to change it but it's probably a fix to a specific error he faced with his client compiler.

    1)Open socket_helper.cpp located in SMElement\SMElementClient\defence

    2)Do the following changes:

    *Before:

    *After:


    Code:
    #include <winsock2.h>
    #define _WSPIAPI_COUNTOF
    #include <ws2tcpip.h>
    ---Conclusion:
    On one hand,v260 & v297 client sources are very beginner-friendly. They can be used as study material to understand how to compile client sources.
    On the other hand,v253 is kinda broken. The original Developers probably messed up the files a lot.I have to eventually figure it out and fix it.
    Special thanks to the people who supported me and helped me greatly.
    I hope this knowledge will be of help to the FW community!

    The only forum I use is RageZone.
    I'am also within the FW Development Community discord as the founder and one of its co-owners.



    Last edited by Mistigri; 3 Weeks Ago at 03:45 PM.


  2. #2
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research

    Last edited by waxyyfe123; 18-12-21 at 12:21 AM.

  3. #3
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Re: FW Client Source Research

    It was a bad idea to quote all the thread.Please remove the quote!
    That was the client source for version 130* shared by Scena in the past.It was missing a lot of things as well.Unfortunately there is no server source code for it.You can't do much with it.
    Last edited by Mistigri; 18-12-21 at 01:00 AM.

  4. #4
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research

    It can be compiled normally. I've tried。I am upgrading this project to VS2008

  5. #5
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research

    I have upgraded version 253 of FW client source code to DX9 VS2008. It has not been tested yet. If the test is successful, I will upload and share it with you

  6. #6
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Re: FW Client Source Research

    Well done with the upgrade!
    Last edited by Mistigri; 01-06-22 at 12:36 AM.

  7. #7
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research

    Fw253 has been upgraded with VS2003 before. There's no problem. You can't run it there. It may be predefined in the fweditorlib project in the solution_ Debug, the perfect series of games have such problems


    In the predefined fweditorlib project, it is used for the release solution_ Debug, you need to change it to NDEBUG to run it,








    Fw253 has been upgraded with VS2003 before. There is no problem with the compiled program. I didn't enter the game test


    Last edited by waxyyfe123; 23-12-21 at 11:44 PM.

  8. #8
    Account Upgraded | Title Enabled! Milos is offline
    MemberRank
    Nov 2015 Join Date
    127.0.0.1Location
    281Posts

    Re: FW Client Source Research

    i'd love to see all versions upgraded to directx 11 or 12 so i could use the windows 11 auto HDR with it

  9. #9
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research













    Shaders, I think it's going to be successful. Come on!

  10. #10
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Re: FW Client Source Research

    Usually I get visual studios and old programs & visual studio from internet archives and use them through Virtual Machines.
    Last edited by Mistigri; 01-06-22 at 12:38 AM.

  11. #11
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research

    The DX9 upgrade test has not passed, and there is a problem with the shader


    However, I upgraded the A2 engine and fw253 code to vs2019. It has been tested and there is no problem. I have successfully entered the game for some time. The picture quality and monsters are very clear. It's a great game. Do you need this version of vs2019? If you don't need it, I will continue to study DX9. After all, dx8 is out of date







    Last edited by waxyyfe123; 25-12-21 at 07:19 PM.

  12. #12
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Re: FW Client Source Research

    It would be interesting to see.
    I had an interest in upgrading the visual studio version as well. I wanted to figure out how to upgrade visual studio little by little personally. It would be beneficial to see your work and use it as a reference to upgrade. If you have any tips you can share , it would be nice as well!
    Last edited by Mistigri; 25-12-21 at 09:30 PM.

  13. #13
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Re: FW Client Source Research

    Ok so I have replaced Windows 2008 R2 VM with Windows 7 Ultimate VM for people.It's added in the original post.It should be way better than Windows Server VM and not shutdown each period of time when it's not activated.I really have no idea about old Windows activation and these kind of stuff.
    Last edited by Mistigri; 01-01-22 at 09:16 AM.

  14. #14
    Member waxyyfe123 is offline
    MemberRank
    Apr 2021 Join Date
    59Posts

    Re: FW Client Source Research

    I'm so sleepy. I need a reasonable rest

  15. #15
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Re: FW Client Source Research

    OK so I will talk a bit about some basics stuff related to Basedata:
    1)SMTaskTemplEditor enables you to export tasks binaries and it goes to BASEDATA/Tasktemplate
    2)SMElementEditor enables you to extract different kind of stuff related to maps.
    3)SMElementData enables you to extract aipolicy.data,path.data,element.data & gshop.data

    Overall Basedata is similar to a source code that is used to get some of the binaries that we know.

    So far you may use Basedata using a simple method.
    I-Create Visual Source Safe Database using Visual Source Safe Admin
    II-login using Visual Source Safe
    III-Add files to the VSS Database (it may take a while)
    IV-an export script may be used to export aipolicy,element,path:

    Example:
    Code:
    Z:\FW_VSS\FW_BASEDATA\WFElementData.exe export_data:1 export_data_dir:Z:\FW_VSS\FW_BASEDATA
    pause
    Visual Source Safe is old but it's a source control program thay may allow you to keep backup of your code in case you break it.

    Let's talk a bit about Element template:
    1)ConfigsID stores the paths to find files related to the configs structure such as:
    GIFT_CARD_CONFIG & NEWS_CONFIG & SIMULATE_PLAYER_CONFIG

    2)RecipeID stores paths & Contains both MERGE_RECIPE_ESSENCE & RECIPE_ESSENCE
    3)ExtDataID stores paths for EQUIPMENT_ADDON.
    4)TemplID stores paths for the remaining structures related to element:
    ITEMS->WING_ESSENCE & NPC->FEATURES->PET_UNBIND_SERVICE & so many other stuff!


    It seems like a lot of fun and has a lot of potential & What's interesting here is that the basedata logic seems to be applied the same on different wanmei games{FW,world2,PW etc..}.

    Last edited by Mistigri; 27-02-22 at 03:29 PM.



Page 1 of 2 12 LastLast

Advertisement