1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Dismiss Notice

Release Starcraft

Discussion in 'Software Releases' started by notaz, Mar 4, 2014.

  1. notaz

    notaz Certified Guru

    Joined:
    Aug 23, 2005
    Messages:
    4,731
    Location:
    Lithuania
    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: Mar 9, 2014
    Trickyhero, dimag0g, moz and 19 others like this.
  2. rohezal

    rohezal Advanced Member

    Joined:
    Oct 18, 2009
    Messages:
    1,596
    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.
     
  3. sepulep

    sepulep Member

    Joined:
    Nov 18, 2008
    Messages:
    314
    oooow...this kind of stuff impresses me most :eek:
     
  4. Linux-SWAT

    Linux-SWAT Advanced Member

    Joined:
    Feb 13, 2010
    Messages:
    7,189
    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.
     
  5. Shenmue

    Shenmue The only thing constant is change

    Joined:
    Dec 19, 2012
    Messages:
    4,188
    Location:
    Dobuita
    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: Mar 4, 2014
  6. Ziz

    Ziz Advanced Member

    Joined:
    Sep 10, 2006
    Messages:
    1,510
    This is so awesome, especially the whole approach...
     
  7. Linux-SWAT

    Linux-SWAT Advanced Member

    Joined:
    Feb 13, 2010
    Messages:
    7,189
    I put my SC folder in program files, but it said it can't load local.dll .
     
  8. NearTao

    NearTao Member

    Joined:
    Sep 13, 2008
    Messages:
    369
    Awesome!!!
     
  9. PokeParadox

    PokeParadox Founder of Pirate Games - Penjin Coder Staff Member

    Joined:
    Dec 8, 2005
    Messages:
    6,399
    Location:
    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! :)
     
  10. BAFelton

    BAFelton Well-Known Member

    Joined:
    Jun 23, 2010
    Messages:
    1,254
    Works fine for me :)

    :wub:
     
  11. Linux-SWAT

    Linux-SWAT Advanced Member

    Joined:
    Feb 13, 2010
    Messages:
    7,189
    In winedata/drive_c/Program files ?
     
  12. FaeMinx

    FaeMinx In-sane

    Joined:
    Dec 11, 2010
    Messages:
    2,777
    Location:
    make-believe land
    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.
     
  13. Linux-SWAT

    Linux-SWAT Advanced Member

    Joined:
    Feb 13, 2010
    Messages:
    7,189
    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: Mar 4, 2014
  14. TrashyMG

    TrashyMG Moderator Staff Member

    Joined:
    Jan 18, 2010
    Messages:
    8,821
    ^ did you patch it to version 1.16.1?
     
  15. Linux-SWAT

    Linux-SWAT Advanced Member

    Joined:
    Feb 13, 2010
    Messages:
    7,189
    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)
     
  16. Klumpen

    Klumpen Hardcore Member

    Joined:
    Jan 5, 2012
    Messages:
    4,530
    Location:
    Uncanny Valley
    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: Mar 4, 2014
  17. TrashyMG

    TrashyMG Moderator Staff Member

    Joined:
    Jan 18, 2010
    Messages:
    8,821
    Need more pylons...
     
  18. Wally

    Wally Moderator Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,330
    Location:
    Melbourne, Australia
    You don't suppose Diablo 2 could be.. done the same way? :eek:
     
  19. leathco

    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.

    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.
     
  20. milkshake

    milkshake Advanced Member

    Joined:
    May 18, 2009
    Messages:
    3,718
    Location:
    Rotherham, UK
    We need a new YouTube video for this :)
     

Share This Page