Volunteering - PocketPC Port

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Volunteering - PocketPC Port

Post by Lanica »

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
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by drcode »

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.
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Colourless »

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.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by marzo »

I think Marzo has a VS2005 project for Exult, but it's not in CVS.
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...
------
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]
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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).
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

It compiles! WOOHOO :) (Of course, this is after a lot of hard work). Now I just have to get it to run :)
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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 :)
MagicMop
Posts: 68
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by MagicMop »

Wow! This is potentially great! If I was wearing a hat it would go off to you sir... ;) All the best!

MM :)
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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.
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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.
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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.
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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.
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: Volunteering - PocketPC Port

Post by Lanica »

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 :)
Locked