Release Starcraft


On a more sober note... will you continue working on this, or will this 'port' forever have the two bugs you mentioned?
All bugs can be fixed. There is a lot more testing needed, probably will reveal many more bugs.. I've only been testing a few saves with a lot of action and finished first few terran and zerg missions before releasing this.
(i also have something else in mind, which is the de facto method to connect to korean servers, as bnet is almost dead for sc/bw)
Those launchers can't be used as they patch x86 version of the game in memory (so they want x86 code), and here we have ARM conversion which is not even similar. But battle.net reimplementation could be used after additional dll is converted (now it's not), it's then just a matter of changing the registry in wine. I'm not sure it's worth the effort though..
You don't suppose Diablo 2 could be.. done the same way? :eek:
Theoretically yes but in practice, I don't think I want to spend another 4-5 months on this.. Starcraft consists of main .exe and 3 main .dll files, that's ~1.5MB of x86 code in total. Try to look how many .dll files D2 has, every single one of them has to be converted.. On a brief look it's at least 3x as large as SC.
 
Last edited by a moderator:
You don't suppose Diablo 2 could be.. done the same way? :eek:
Theoretically yes but in practice, I don't think I want to spend another 4-5 months on this.. Starcraft consists of main .exe and 3 main .dll files, that's ~1.5MB of x86 code in total. Try to look how many .dll files D2 has, every single one of them has to be converted.. On a brief look it's at least 3x as large as SC.
Fair enough :) Nice job though!
 
Hha, well done notaz. I was aware of this upcoming entry, but did not disclose anything since notaz was still working on it and could not make it for the compo on time :)  
 
Notaz this is amazing.  Just played through the first Terran mission.  Flawless and fast!   Thanks so much!
 
Is this Pandora specific, or could this now be used as a base to port Starcraft to other arm devices?  Pyra, Android, etc?
 
How is this method different from ptitSeb's port of Jedi Knights I and II, and Freespace games? 
Source code was available for Jedi Knights, this is not the case for Starcraft. So, totally different.
Yes, as Notaz said, the process is completely different.

I did:

C Source/OpenGL -> C Source/GLES -> Pandora port.

Notaz did:

Binarie x86 -> Asm Sources x86 -> C Sources -> Pandora port

The very difficult part is going from Asm Sources to C Sources. A great achevement.

Congrats to Notaz!
 
No that my opinion has any value, but excellent work notaz !

But I do have a thought:

would it be possible to implement right mouse button emulation, so "touchscreen play" would be possible ? Maybe via a button that is not natively used by starcraft - first thought was the left shoulder button (+ the right for "lefties"), but can't remember wether they are already used in Starcraft or not.
 
So how does it work? The game was fully disassembled with IDA, then converted from x86 disassembly to C with my custom tools that I wrote as the project progressed, then compiled as a normal program and linked against ARM winelib (so the Win32 API is provided by ARM port of wine)
I don't know anything but what first came to my mind as I did read this:

If such a tool exists, can it work in a way to make porting of other programs much faster?

So is it the same procedure for every program or does it work different for all different games?
 
awesome!

do you intend to release your conversion tools or will they stay private? would also be interested how the c source looks like - is that one mega file or were you able to split them somehow?
 
Back
Top