Need help porting an MMORPG client
http://www.evula.org/corun/elscreen.jpeg
:-D
Problems at the moment:
- Music is off
- There looks to be some weird z buffer fighting with the snow..Is that a mac os x bug or is it on the pc version aswell?
- Bags never seem to contain anything... Is that right or am I doing something wrong?
- Probably an endian swap or two that I missed out.
- The "overall" bar at the bottom shows a minus number... Is that right?
- No pasting yet
- Delete key doesn't work.
- Loading seems slow... Possibly because I have to endian swap a lot.
- Anything else look wrong from that screenshot?
:-D
Problems at the moment:
- Music is off
- There looks to be some weird z buffer fighting with the snow..Is that a mac os x bug or is it on the pc version aswell?
- Bags never seem to contain anything... Is that right or am I doing something wrong?
- Probably an endian swap or two that I missed out.
- The "overall" bar at the bottom shows a minus number... Is that right?
- No pasting yet
- Delete key doesn't work.
- Loading seems slow... Possibly because I have to endian swap a lot.
- Anything else look wrong from that screenshot?
Wow, that's great! 
The music is not distributed by default, because it's big. You can try getting it from: http://el.tfm.ro/music.zip
Here is more info on how to isntall the music, if there are probems: http://www.eternal-lands.com/forum/index...topic=9891
There is some Z fighting in the game, but that depends on the video card, video mode, etc. Is it really bad, or just some 2d objcts flickering?
The bags always contain something, otherwise they dissapear (if you take everything out)
The bars should always be positive, except for the food bar (the one that is -1 in that screen shot)
How slow is it? Like how many seconds until the game loads, after you press the "done" button?

The music is not distributed by default, because it's big. You can try getting it from: http://el.tfm.ro/music.zip
Here is more info on how to isntall the music, if there are probems: http://www.eternal-lands.com/forum/index...topic=9891
There is some Z fighting in the game, but that depends on the video card, video mode, etc. Is it really bad, or just some 2d objcts flickering?
The bags always contain something, otherwise they dissapear (if you take everything out)
The bars should always be positive, except for the food bar (the one that is -1 in that screen shot)
How slow is it? Like how many seconds until the game loads, after you press the "done" button?
For the record, endian conversions shouldn't be too slow... I know on x86 platforms there is the bswap instruction which ine 1 clock (IIRC) will do an endian swap. If there isn't something like that on Mac, you might be better off storing as big endian and then doing conversions on x86 stuff since it's fast and big endian is network byte order anyway.
PowerPC has load word byte reversed instructions, but they're probably no great win.
Make sure your endian conversion routines are inlined
Make sure your endian conversion routines are inlined
Well the thing is that we load the some files from the disk as a structure. So on x86 and other little endian CPUs you can just load the file in the memory, and there you have it. But on big endian CPUs you have to process the files as well, not just load it in the memory, and that takes some time.
Anyway, we can't change the order of the bytes we send, would require a lot of work (server and client), and most of our players use little endian CPUs anyway.
Anyway, we can't change the order of the bytes we send, would require a lot of work (server and client), and most of our players use little endian CPUs anyway.
Ok, most things are fixed now. I can't do any work on it during the week though. I will be done by the weekend.
I thought I should warn you that BIG_ENDIAN appears to be defined in GCC 3.4, as I found while the port I'm working on. Basically, it compiled fine on mac, but when I tried the same code on my little-endian Mandrake 10.1 box it failed to compile (more specifically, it interpreted BIG_ENDIAN as true, which it wasn't! I even tried passing the undefine BIG_ENDIAN macro flag into the compiler without luck). Another developer running gcc 3.3 on his SuSE linux box compiled the code without a hitch, as did I a few months back running GenToo (also 3.3, I think - lost the drive, so I don't remember) so it appears to be something added between 3.3 and 3.4.
I would strongly recommend using a different name or at least testing the code on a little endian linux box with a 3.4 compiler and making sure I wasn't just seeing a quirk (I was running 10.1beta and upgraded to 10.1, so there is potential).
I would strongly recommend using a different name or at least testing the code on a little endian linux box with a 3.4 compiler and making sure I wasn't just seeing a quirk (I was running 10.1beta and upgraded to 10.1, so there is potential).
Thanks for the warning. Perhaps we can name the define something like EL_BIG_ENDIAN
Hey, Corun and Radu, how do you like the game? I've been waiting to play and need a little background info
Last login: Sat Aug 6 09:15:05 on console
Welcome to Darwin!
Matt-Chelens-Computer:~ matthew$
Well, I am not the best person to ask on how I like the game, since I am the project manager, and was, until recently, the lead programmer (right now I am working at another game, but still oversee the EL development).
Corun didn't have much time to actually play the game, so he can't really say how he lieks the game. But anyway, a lot of people like it, and a lot of people don't like it, so you'll have to see for yourself, once it's ported
Corun didn't have much time to actually play the game, so he can't really say how he lieks the game. But anyway, a lot of people like it, and a lot of people don't like it, so you'll have to see for yourself, once it's ported
Where's Corun? He was going to update us on what's going on this weekend...I wonder what kept him
Last login: Sat Aug 6 09:15:05 on console
Welcome to Darwin!
Matt-Chelens-Computer:~ matthew$
He is posting on our programming forums.
Basically he got almost everything (important) working fine, hopefully next week or so there will be an alpha binary for OSX.
Basically he got almost everything (important) working fine, hopefully next week or so there will be an alpha binary for OSX.
Ok, that works...didn't notice that he went on the EL forums
Last login: Sat Aug 6 09:15:05 on console
Welcome to Darwin!
Matt-Chelens-Computer:~ matthew$
If you want examples on how to incorporate the reversed load assembly instructions check out the file (and related files in i386/ppc/machine):
/System/Library/Frameworks/Kernel.framework/Headers/libkern/OSByteOrder.h
You cannot link to this framework and use it directly but you can copy the code and modify it to suit your tastes. If you just need little endian support you can simplify the code a bit. Also included are the #define's to check to see if the system is little or big endian and to check if the processor/compiler supports the assembly instructions. And lastly there is a generic implementation of byte swapping if you don't want to use the assembly instructions.
/System/Library/Frameworks/Kernel.framework/Headers/libkern/OSByteOrder.h
You cannot link to this framework and use it directly but you can copy the code and modify it to suit your tastes. If you just need little endian support you can simplify the code a bit. Also included are the #define's to check to see if the system is little or big endian and to check if the processor/compiler supports the assembly instructions. And lastly there is a generic implementation of byte swapping if you don't want to use the assembly instructions.
Possibly Related Threads...
| Thread: | Author | Replies: | Views: | Last Post | |
| P2P or Client/Server? | TokyoDan | 2 | 4,263 |
Aug 3, 2009 06:15 AM Last Post: georgiph |
|
| Client side prediction in a networked top-down game | AndyKorth | 0 | 3,327 |
Jun 30, 2009 08:35 AM Last Post: AndyKorth |
|
| how does bind() work in relation to a client. | BinarySpike | 3 | 3,827 |
Aug 23, 2006 02:44 PM Last Post: OneSadCookie |
|
| Subversion Client | BeyondCloister | 8 | 3,674 |
Jun 7, 2006 01:04 PM Last Post: ravuya |
|
| host-client matchmaking "server"... | dave05 | 3 | 3,992 |
Sep 15, 2005 04:03 PM Last Post: Steven |
|

