Volunteering - PocketPC Port
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Volunteering - PocketPC Port
Hello all,
I'd like to volunteer to try to get some work done on the PocketPC port of the game. I'm not sure how much good I can do, due to possible lack of time, but I'd like to try. Is there a pocketpc codebase somewhere I can download to try to get going, or do I need to hack away at the current source to get anywhere?
Thanks,
Phillip
I'd like to volunteer to try to get some work done on the PocketPC port of the game. I'm not sure how much good I can do, due to possible lack of time, but I'd like to try. Is there a pocketpc codebase somewhere I can download to try to get going, or do I need to hack away at the current source to get anywhere?
Thanks,
Phillip
Re: Volunteering - PocketPC Port
I don't know how much progress was made before, but I'd suggest getting the latest CVS code. If you succeed, we'd like to get your changes into the main codebase.
Re: Volunteering - PocketPC Port
Ok. I didn't know if ANY of the previous work was included in CVS. . . guess I'll look around and see what I can find.
Thanks,
Phillip
Thanks,
Phillip
-
- Site Admin
- Posts: 731
- Joined: Thu May 14, 2020 1:34 pm
Re: Volunteering - PocketPC Port
It 'used' to compile and I did commit the changes. But, that was a long time ago so things will probably be broken now. If you have Visual Studio 2005 there shouldn't be any general problems compiling assuming the ARM compiler in VS2005 supports all the language features used. I'd advise starting from the MSVC projects and working from there. I think Marzo has a VS2005 project for Exult, but it's not in CVS.
The old versions of the PocketPC SDK had STL problems. The overcome the STL problems by using STL Port, but I don't know if it's needed anymore. It looks like VS2005 should support all the STL features we use by itself.
There were also a few missing CRT functions. I may have worked around those problems in the Exult source itself, but honestly I can't remember. They will show themselves pretty obviously.
The sticking points you'll have would just be SDL, SDL Mixer and ZLib (not needed, but you will want it). You'll probably need to compile them yourself, unless someone out these has precompiled dlls and libs for them. Last thing I checked SDL Mixer relied on the getenv() C Library function, and Windows Mobile doesn't support that. It was trivial to update the code to use SDL_getenv() which works around that exact problem. SDL worked fine last time I checked and ZLib wasn't a problem either.
Note, when I say Visual Studio 2005, I do not mean the Express Editions of Visual Studio. I mean Visual Studio 2005 Standard or Professional (yes and Team Studio but I don't think anyone would have that). You could probably do it too with a VS2008/Orcas beta, but it's probably not a good idea.
You could try to use embedded Visual C++ 4 like i used to, but you'll probably be in for a world of hurt. It's free, but compatiblity with Standard C++ is really really bad.
The old versions of the PocketPC SDK had STL problems. The overcome the STL problems by using STL Port, but I don't know if it's needed anymore. It looks like VS2005 should support all the STL features we use by itself.
There were also a few missing CRT functions. I may have worked around those problems in the Exult source itself, but honestly I can't remember. They will show themselves pretty obviously.
The sticking points you'll have would just be SDL, SDL Mixer and ZLib (not needed, but you will want it). You'll probably need to compile them yourself, unless someone out these has precompiled dlls and libs for them. Last thing I checked SDL Mixer relied on the getenv() C Library function, and Windows Mobile doesn't support that. It was trivial to update the code to use SDL_getenv() which works around that exact problem. SDL worked fine last time I checked and ZLib wasn't a problem either.
Note, when I say Visual Studio 2005, I do not mean the Express Editions of Visual Studio. I mean Visual Studio 2005 Standard or Professional (yes and Team Studio but I don't think anyone would have that). You could probably do it too with a VS2008/Orcas beta, but it's probably not a good idea.
You could try to use embedded Visual C++ 4 like i used to, but you'll probably be in for a world of hurt. It's free, but compatiblity with Standard C++ is really really bad.
Re: Volunteering - PocketPC Port
I do for the Express Edition; it is in CVS and it is not used for compiling (I only like the *IDE*; MinGW does the compiling job). So I don't know if it will be of much use...I think Marzo has a VS2005 project for Exult, but it's not in CVS.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Re: Volunteering - PocketPC Port
Ahh ok. I did look through the changelog and then the code to see that there were some PocketPC modifications, but as you said, it was some time ago. The real question was the development environment....I mean there's so many ways you can TRY to do it, but which is the best. Looks like there's some support in linux for pocketpc (Debian pocketpc-* packages, like pocketpc-gcc, pocketpc-cab, etc)stuff which is probably better than using an Express Edition (embedded or not). The embedded is a real pain because they took so much away that's useful (as you said). MSVC Express is a pain because well...you can't compile for ARM unless I'm mistaken.
Anyway, I did discover that SDL and Zlib could be problems, but there are compiled versions for pocketpc out there.
Thanks for the tips! If you have any more, please let me know. I'll try to write up a readme or something once I have all of the information compiled. I probably won't get a chance to work on it again until the work week.
I don't know that I have VS2005. I hate using tools that cost money (especially if its a lot of money).
Anyway, I did discover that SDL and Zlib could be problems, but there are compiled versions for pocketpc out there.
Thanks for the tips! If you have any more, please let me know. I'll try to write up a readme or something once I have all of the information compiled. I probably won't get a chance to work on it again until the work week.
I don't know that I have VS2005. I hate using tools that cost money (especially if its a lot of money).
Re: Volunteering - PocketPC Port
It compiles! WOOHOO (Of course, this is after a lot of hard work). Now I just have to get it to run
Re: Volunteering - PocketPC Port
Once I got the DLLs lined out...it "sort of runs". That is, it generates a stdout.txt file with a few errors. Not bad errors...just errors saying that 1. it can't find the original game data and 2. it can't set the screen resolution appropriately
Stay tuned. Should be more news tomorrow
Stay tuned. Should be more news tomorrow
Re: Volunteering - PocketPC Port
Wow! This is potentially great! If I was wearing a hat it would go off to you sir... All the best!
MM
MM
Re: Volunteering - PocketPC Port
Thanks! I appreciate the support
Update:
Still running thru the emulator. As of right now, I get a bit of video and sound! However, it crashes right after the Exult logo screen.
Hopefully more to come later today.
Update:
Still running thru the emulator. As of right now, I get a bit of video and sound! However, it crashes right after the Exult logo screen.
Hopefully more to come later today.
Re: Volunteering - PocketPC Port
Update:
I can get to the Exult menu, the Black Gate menu, and start a game. It gets to the red moongate and a bit further...then closes...gives some weird error about filesys.exe ... but anyway...I'm sure I'll get it resolved.
I can get to the Exult menu, the Black Gate menu, and start a game. It gets to the red moongate and a bit further...then closes...gives some weird error about filesys.exe ... but anyway...I'm sure I'll get it resolved.
Re: Volunteering - PocketPC Port
Update:
Still having some issues with the fore mentioned. However, I did test the game on a real pocket pc device and it works just about the same as in the emulator.
Still having some issues with the fore mentioned. However, I did test the game on a real pocket pc device and it works just about the same as in the emulator.
Re: Volunteering - PocketPC Port
Update:
Success! The game now "runs" (its a bit slow)! I've gotten to the point of going past the first intro in P1 and I headed (slowly) towards the stables. I also saved the game. This was all on the emulator. There's a few things I want to check/fix and then I'll try it on the real machine.
Any of you guys out there want to test? IF so, please reply with the type of device you have and ... well...I guess we'll have to meet up on IRC or something to exchange contact info as I don't see any PMing features on this forum.
Success! The game now "runs" (its a bit slow)! I've gotten to the point of going past the first intro in P1 and I headed (slowly) towards the stables. I also saved the game. This was all on the emulator. There's a few things I want to check/fix and then I'll try it on the real machine.
Any of you guys out there want to test? IF so, please reply with the type of device you have and ... well...I guess we'll have to meet up on IRC or something to exchange contact info as I don't see any PMing features on this forum.
Re: Volunteering - PocketPC Port
Ack...nevermind about the IRC thing. I see that you can find the email address of others. Whoever is interested, just log in, click on my name, and use the email address