Initiate Mage
- Joined
- Feb 2, 2015
- Messages
- 77
- Reaction score
- 53
Hello. i just try port source to 64 bit, then i found. it wasn't hard at all. after i finish it.
i decide to give a suggestion sheet for who want to port x64. hope this can help or guiding your guys.
port step
1. choose your server architecture code bettween x86 or x64. (for make server recived x86 and x64 client on same server). for newbie just go x86
2. clone client source platform Win32 to X64.
3. setting configuation for x64.
4. change x86 lib to x64 lib. if you have additional .lib, make sure that lib support x64.
5. make launcher option to select x86 / x64. ( you need 2 client exe now)
6. send option via login packet to server for knowing player platform.
7. fix some packet protocal that have pointer struct like ITEM_GENERAL / array(ITEM_XXX). pointer size on 64 bit will be additional 8 byte. so x64 client cant use same protocal without fix.
8. fix client x64 quest load on 64 bit. or just increase stack size.
9. fix client x64 effect trace.
10. fix some text culling (function that cut long text)
11. boom!! you did it.
benefit of 64 bit that your can feel (for Ace online)
- faster a bit for who ram is more than 4GB.
- can load hard texture/effect without memory issue.
ps. i use high-end computer so this is all i can feel about benefit.
Tips
- size_t on x64 is 8 byte
- take care when using sizeof( struct pointer ). it won't same size as x86
- take care file load like .tex, when it read by x64. make sure you use right way to cast it with x86 style.
- try follow step by step. fisrt you need to make client can running after change to x64
-
useful link
20 issues of porting C++ code to the 64-bit platform
-
Data Types and Sizes (compare x86 and x64)
DONT WAIT FOR WHO WILL RELEASE FINISH SOUCE TO YOU.
JUST LEARN C++ AND DO IT BY YOUSELF. YOU CAN DO IT BRO.
THIS IS 2021. STOP BE LEECHER.
i decide to give a suggestion sheet for who want to port x64. hope this can help or guiding your guys.
port step
1. choose your server architecture code bettween x86 or x64. (for make server recived x86 and x64 client on same server). for newbie just go x86
2. clone client source platform Win32 to X64.
3. setting configuation for x64.
4. change x86 lib to x64 lib. if you have additional .lib, make sure that lib support x64.
5. make launcher option to select x86 / x64. ( you need 2 client exe now)
6. send option via login packet to server for knowing player platform.
7. fix some packet protocal that have pointer struct like ITEM_GENERAL / array(ITEM_XXX). pointer size on 64 bit will be additional 8 byte. so x64 client cant use same protocal without fix.
8. fix client x64 quest load on 64 bit. or just increase stack size.
9. fix client x64 effect trace.
10. fix some text culling (function that cut long text)
11. boom!! you did it.
benefit of 64 bit that your can feel (for Ace online)
- faster a bit for who ram is more than 4GB.
- can load hard texture/effect without memory issue.
ps. i use high-end computer so this is all i can feel about benefit.
Tips
- size_t on x64 is 8 byte
- take care when using sizeof( struct pointer ). it won't same size as x86
- take care file load like .tex, when it read by x64. make sure you use right way to cast it with x86 style.
- try follow step by step. fisrt you need to make client can running after change to x64
-
useful link
20 issues of porting C++ code to the 64-bit platform
-
You must be registered to see links
Data Types and Sizes (compare x86 and x64)
You must be registered to see links
DONT WAIT FOR WHO WILL RELEASE FINISH SOUCE TO YOU.
JUST LEARN C++ AND DO IT BY YOUSELF. YOU CAN DO IT BRO.
THIS IS 2021. STOP BE LEECHER.