Release Starcraft


notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
The Overmind said:
Awaken my child, and embrace the glory that is your birthright. Know that I am the Overmind; the eternal will of the Swarm, and that you have been created to serve me.
It's on the repo.


You'll need full installation of Brood War from PC with latest 1.16.1 patch applied. It also needs to have required files copied from CD (1.16.1 removed CD checks, but doesn't automatically install all required files):


- copy "INSTALL.EXE" from the StarCraft CD to your StarCraft folder and rename it to "StarCraft.mpq


- copy "INSTALL.EXE" from the StarCraft: Brood War CD to your StarCraft folder and rename it to "BroodWar.mpq"


You should try the game on PC without CD first, if that works, you're ready to copy the game's folder to pandora/appdata , the folder should be named "starcraft".


So a Starcraft port? Sort of..


The "no source, no port" rule is not completely true, you can get something similar (but not the same) as a port through static recompilation. Similar stuff was done several times by M-HT for some DOS games. The game was also converted for Android with somewhat similar approach.


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). Sounds easy? The hell not! I've started it sometime in autumn and was hoping to have something after a month or so, but it was far from working at the time of New Year. Then tried to target the Alive compo, but that slipped too. There were way too many problems and things that I did not expect.. Maybe I'll write about it someday. Would I do it with another game? Maybe not, let's just say "no source, no port" rule is always true and Windows games should be handled through emulation, static recompilation is possible but way too problematic in practice.


However in the end I think it works quite well, give it a try. It should be close to how "real" port would work, there is no emulation anywhere. There is a bit of overhead in 8bpp -> 16bpp conversion, but it's not too bad. The game likes to eat CPU even when it doesn't really need it, so it might make sense to underclock sometimes.


Known bugs in b6:

none

old bugs:


- custom scenarios are broken


- when playing as terran, attempting to land a building will crash the game


- first protoss mission (from expansion) crashes


Edit: wine is hacked a bit, I've pushed out the changes to github:

http://github.com/notaz/wine/tree/pandora_hacks
 
Last edited by a moderator:

rohezal

Advanced Member
Joined
Oct 18, 2009
Messages
1,676
I want to marry you!!!! This is more then epic :) . May I ask if you will try to fix the landing crash bug? Some campaign missions need you to land buildings.
 

Linux-SWAT

Hardcore Member
Joined
Feb 13, 2010
Messages
8,520
It's one of my two favorite games !!!

I'll try this right now.

Maybe the cpu throttling option (while ingame) may help about cpu eating.
 

Hồng Thất Công

Đả Cẩu Bổng Pháp
Joined
Dec 19, 2012
Messages
4,384
Location
Cái Bang
Oh wow!  You, notaz, have proven lots of people wrong with their "no source no port" rule :)   Thank you.  I will donate just for this effort of yours alone when I get home!  :)

Edit:  Donation sent!
 
Last edited by a moderator:

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
This is so awesome, especially the whole approach...
 

Linux-SWAT

Hardcore Member
Joined
Feb 13, 2010
Messages
8,520
I put my SC folder in program files, but it said it can't load local.dll .
 

PokeParadox

Founder of Pirate Games - Penjin Coder
Staff member
Joined
Dec 8, 2005
Messages
6,520
Age
36
Location
UK
Website
www.projectinfinity.org.uk
Hahaha... Notaz... you do make me laugh "I'm not working on much for the compo" and then BAM you bring StarCraft to our lovely Pandoras!

Thanks for your work! :)
 

FaeMinx

Rainbow Liberation Instigation
Joined
Dec 11, 2010
Messages
3,128
Age
39
Location
outside looking in side looking out
Holy Crap! O.O

....speechless I tell you...

Words are not enough to express the gratitude and amazement I feel right now.

On a more sober note... will you continue working on this, or will this 'port' forever have the two bugs you mentioned?

Either way this is Oh... My... Fuzzy... Goodness mind blowing.

Installing this first thing tomorrow when I get to work. (Home comp. Motherboard is broken).

Wow.
 

Linux-SWAT

Hardcore Member
Joined
Feb 13, 2010
Messages
8,520
I tried many combinations, can't make it work :/ :/ :/ .

Got it, it's a bit dirty to put all in appdata/starcraft, but np :D .
 
Last edited by a moderator:

Linux-SWAT

Hardcore Member
Joined
Feb 13, 2010
Messages
8,520
Yup, i finally make it putting everything in the appdata/starcraft/ folder.

It runs incredibly fast compared to qemu+win95 !

Notaz, Hero above Heroes, Master of the Masters, i hope you'll fix the custom scenarios as it would be awesome to get network play ! (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)
 

Klumpen

Run away! Run away!
Joined
Nov 19, 2011
Messages
8,510
Location
Uncanny Valley
- When playing as terran, attempting to land a building will crash the game
Who plays Terrans anyway? :D

I was Zerg most of the time (zergling rush and lurker traps later on), Protoss sometimes for dark templar ambushes.

Any idea if this bug may get fixed?
 
Last edited by a moderator:

leathco

Member
Joined
Mar 14, 2007
Messages
464
Wow, I really wasn't expecting this.  I was more of a C and C guy than Starcraft, but with that said this is definately getting slapped on my Pandora.

You don't suppose Diablo 2 could be.. done the same way? :eek:
That would be godlike.  I use the PS1 version of Diablo to get my fix when I'm on my Pandora, but D2 on it would be insanity.
 
Top