• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 16:19
CET 22:19
KST 06:19
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
TL.net Map Contest #21: Winners10Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12[ASL20] Ro4 Preview: Descent11
Community News
StarCraft, SC2, HotS, WC3, Returning to Blizzcon!45$5,000+ WardiTV 2025 Championship7[BSL21] RO32 Group Stage4Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly2Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win10
StarCraft 2
General
Mech is the composition that needs teleportation t StarCraft, SC2, HotS, WC3, Returning to Blizzcon! RotterdaM "Serral is the GOAT, and it's not close" TL.net Map Contest #21: Winners Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win
Tourneys
Constellation Cup - Main Event - Stellar Fest Sparkling Tuna Cup - Weekly Open Tournament $5,000+ WardiTV 2025 Championship Merivale 8 Open - LAN - Stellar Fest Sea Duckling Open (Global, Bronze-Diamond)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 499 Chilling Adaptation Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection
Brood War
General
FlaSh on: Biggest Problem With SnOw's Playstyle BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ Where's CardinalAllin/Jukado the mapmaker? [ASL20] Ask the mapmakers — Drop your questions
Tourneys
[ASL20] Grand Finals [BSL21] RO32 Group A - Saturday 21:00 CET [Megathread] Daily Proleagues [BSL21] RO32 Group B - Sunday 21:00 CET
Strategy
Current Meta PvZ map balance How to stay on top of macro? Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile Should offensive tower rushing be viable in RTS games? Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread The Games Industry And ATVI Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine YouTube Thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread Movie Discussion! Korean Music Discussion Series you have seen recently...
Sports
Formula 1 Discussion 2024 - 2026 Football Thread NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Learning my new SC2 hotkey…
Hildegard
Coffee x Performance in Espo…
TrAiDoS
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Reality "theory" prov…
perfectspheres
Our Last Hope in th…
KrillinFromwales
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1633 users

SC Power Saver

Forum Index > BW General
Post a Reply
Normal
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 09:40:35
March 31 2008 09:31 GMT
#1
http://ossguy.com/starcraft_power_saver/ by ossguy

I haven't tried it yet. I don't think many will be using it but who knows, someone out there might find it useful.

Basically it's a tool that patches StarCraft so it uses less CPU time while a game is being played, which reduces power consumption on your computer.

Performance results
StarCraft Power Saver reduces StarCraft's CPU usage from 100% to the following percentages:

* 1-4% on a 2.8 GHz Pentium 4 running Windows XP SP2
* 2-10% on a 1.3 GHz Pentium M running Windows XP SP2
* 25-75% on a 1.3 GHz Pentium M running Wine 0.9.58 on Ubuntu 7.10

+ Show Spoiler +
StarCraft Power Saver
What you should know about StarCraft Power Saver:

* It's a tool that patches StarCraft so it uses less CPU time while a game is being played, which reduces power consumption on your computer.
* It modifies the StarCraft executable. As a result, you should not use Battle.net once the patch is applied (you can revert to a backup if you like).
* It's designed for StarCraft 1.15.2. If you have an older version, please update to 1.15.2 before using it.
* It's run from the command line. To use it, open a Command Prompt and navigate to the folder it's in. Then type starcraft_power_saver "C:\Program Files\Starcraft\StarCraft.exe" to apply the patch. A backup of the executable will be created.
* It wasn't created by and is not supported by Blizzard Entertainment.
* It's only available for Windows (and, by extension, Wine) for now. If there is enough interest, I will consider adding a Mac version.
* The tool and source code are linked below. They can also be browsed using this link.
* Bug reports and feature requests are welcome. Please submit these using the contact information below.


Before you judge it too fast (like I did) read the Problem summary.
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 10:00:16
March 31 2008 09:49 GMT
#2
edit: hum there is another similar program - cpu saviour posted by r1ch
http://www.teamliquid.net/forum/viewmessage.php?currentpage=1&topic_id=66104
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
syplovessy
Profile Joined December 2007
China41 Posts
March 31 2008 09:51 GMT
#3
how to use it @@
i tried, didint work
syplovessy
Profile Joined December 2007
China41 Posts
March 31 2008 09:57 GMT
#4
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c
Manifesto7
Profile Blog Joined November 2002
Osaka27154 Posts
Last Edited: 2008-03-31 10:53:25
March 31 2008 10:52 GMT
#5
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.
ModeratorGodfather
tec27
Profile Blog Joined June 2004
United States3702 Posts
March 31 2008 11:41 GMT
#6
Yeah, I'd say Rich's is a lot better (and is a BWL plugin so its even easier to turn on/off )
Can you jam with the console cowboys in cyberspace?
ossguy
Profile Joined March 2008
Canada20 Posts
March 31 2008 16:35 GMT
#7
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Thanks for reporting that. Are you using an English version of StarCraft 1.15.2? If not, it's quite likely that the patch won't apply properly. I'll consider adding support for other languages if there is enough interest.
ossguy
Profile Joined March 2008
Canada20 Posts
March 31 2008 16:41 GMT
#8
On March 31 2008 19:52 Manifesto7 wrote:
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.


Fair enough. I didn't know about CPU Savior before I started making StarCraft Power Saver and I wasn't aware of other ways of making a similar patch. I will look into CPU Savior a bit more to see how it works so I can determine how StarCraft Power Saver compares to it. If they are sufficiently similar, then StarCraft Power Saver may be redundant.

To clarify, StarCraft Power Supply does not limit you to single player. You can also play LAN games with it, just not Battle.net. Mainfesto7 probably knows this, but it might be unclear to other users reading this thread.
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 23:13:49
March 31 2008 23:12 GMT
#9
On April 01 2008 01:41 ossguy wrote:
Show nested quote +
On March 31 2008 19:52 Manifesto7 wrote:
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.


Fair enough. I didn't know about CPU Savior before I started making StarCraft Power Saver and I wasn't aware of other ways of making a similar patch. I will look into CPU Savior a bit more to see how it works so I can determine how StarCraft Power Saver compares to it. If they are sufficiently similar, then StarCraft Power Saver may be redundant.

To clarify, StarCraft Power Supply does not limit you to single player. You can also play LAN games with it, just not Battle.net. Mainfesto7 probably knows this, but it might be unclear to other users reading this thread.


we are happy just by the mere fact you're around here and made the effort for our game : )
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
evanthebouncy!
Profile Blog Joined June 2006
United States12796 Posts
April 01 2008 01:52 GMT
#10
Man I was hoping for a SC screen saver with customizable replays to play and auto screen scroll for hottest actions...
Life is run, it is dance, it is fast, passionate and BAM!, you dance and sing and booze while you can for now is the time and time is mine. Smile and laugh when still can for now is the time and soon you die!
comabreaded
Profile Blog Joined July 2003
United States2166 Posts
April 01 2008 02:14 GMT
#11
I wish Blizz would somehow implement this.
I put the fu in fun
thunk
Profile Blog Joined March 2008
United States6233 Posts
April 01 2008 02:22 GMT
#12
I'm curious if ossguy has written other bw software. Have you?
Every time Jung Myung Hoon builds a vulture, two probes die. || My post count was a palindrome and I was never posting again.
R1CH
Profile Blog Joined May 2007
Netherlands10341 Posts
April 01 2008 03:20 GMT
#13
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.
AdministratorTwitter: @R1CH_TL
TL+ Member
ossguy
Profile Joined March 2008
Canada20 Posts
April 01 2008 18:17 GMT
#14
On April 01 2008 11:14 comabreaded wrote:
I wish Blizz would somehow implement this.


So do I. It would require a bit of a redesign of their game loop, but it is still a manageable fix. In my opinion, a proper redesign of the game loop would look like the following:

setTimer(...);
while (gameNotOver()) {
      GetMessage(lpMsg, ...);
      switch (lpMsg.message) {
            case KEYBOARD_EVENT: ...
            case MOUSE_EVENT: ...
            case TIMER_EVENT:
                  redrawScreen();
                  computeAI();
                  resetTimer();
                  ...
            case ...
      }
}

StarCraft would use the timer to tell it when to redraw the screen. The timer frequency would specify how many frames per second StarCraft would run at. This could be configurable in the game or hardcoded to a particular value that runs well on most systems.

I'd be happy to talk about this proposal further, especially with people from Blizzard.
ossguy
Profile Joined March 2008
Canada20 Posts
Last Edited: 2008-04-02 04:17:50
April 02 2008 03:56 GMT
#15
On April 01 2008 11:22 thunk wrote:
I'm curious if ossguy has written other bw software. Have you?


The other StarCraft-specific software I've written was made primarily for testing and benchmarking to see how effective the patch was. I did write a patch for Wine that allows users to specify a refresh rate since Wine sometimes picks a low refresh rate when games like StarCraft change the resolution. More information about the patch, including how to use it, are available on my blog. If you just want to use it, you can skip the first two paragraphs.

The benchmarking tools I made let me know how many times StarCraft is going through the game loop in a given amount of time. I did this by inserting a counter in the game loop and then using ReadProcessMemory from another application to see the value of the counter as it changed while StarCraft was running. Making ReadProcessMemory work required disabling some of StarCraft's security features. Because of that and because I used the same method of modifying StarCraft (changing the StarCraft executable directly), these changes also would not work with Battle.net.

In general, I try to stay away from making fixes to closed source software such as StarCraft because it is much more time-consuming than making fixes to open source software and it is much harder to fix things "the right way" since I have to guess what the assembly code is trying to do. It would be much easier for me to make changes to StarCraft if it were open source, but the model that Blizzard Entertainment chooses to sell its products doesn't permit that.
Gokey
Profile Joined November 2006
United States2722 Posts
April 02 2008 04:07 GMT
#16
seriously, everytime i run broodwars my cpu temperature spikes, even though it's a 10 year old game... =(
ossguy
Profile Joined March 2008
Canada20 Posts
April 02 2008 04:16 GMT
#17
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency.


Certainly. If I had more time, I would try to modify StarCraft using an event-based game loop as I described above, but it's just not feasible without the source code as I would have to spend many hours just figuring out how to refactor the code to make the event-based system work. It's unfortunate we have to rely on Sleep when there are much better ways of doing it.

You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does.


I considered doing this, but I wasn't sure if it would work because I couldn't find any references to other functions in the winmm library, suggesting that it wasn't linked into the StarCraft executable so I wouldn't be able to use timeBeginPeriod. Furthermore, it appeared that StarCraft worked fine even with the 10-15ms granularity so I didn't see a need to fix it further. However, if there are reports that StarCraft Power Saver is slow without timeBeginPeriod, then I would consider implementing it.

I couldn't find the place where you call timeBeginPeriod in your code; can you point out where in the code that's done?

CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


That's an interesting mechanism for patching the game. I wish such hackery weren't required. It's things like this that really make me want to switch to open source RTSes like Bos Wars, Globulation 2, or Dark Oberon. If I have a problem with any of these, I can just fix the source code the right way. Unlike with StarCraft, no reverse engineering or protection-circumventing hacks are required.
ossguy
Profile Joined March 2008
Canada20 Posts
April 02 2008 04:21 GMT
#18
On April 02 2008 13:07 Gokey wrote:
seriously, everytime i run broodwars my cpu temperature spikes, even though it's a 10 year old game... =(


It's partly because StarCraft is 10 years old that it uses the CPU the way it does. 10 years ago, people didn't care that much about saving power because the average computer wasn't that power-hungry and laptops were not nearly as ubiquitous as they are today.

I would encourage you to try StarCraft Power Saver and CPU Saver to see if they help with your CPU temperature issues. Ideally Blizzard would fix this the right way, but until then, all we can do is work around it.
EvilTeletubby
Profile Blog Joined January 2004
Baltimore, USA22256 Posts
April 02 2008 04:26 GMT
#19
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


I'm ashamed to say I understood virtually none of that.

How did both of you guys get into coding, if you don't mind me asking?
Moderatorhttp://carbonleaf.yuku.com/topic/408/t/So-I-proposed-at-a-Carbon-Leaf-concert.html ***** RIP Geoff
Ilikestarcraft
Profile Blog Joined November 2004
Korea (South)17731 Posts
April 02 2008 04:37 GMT
#20
On April 02 2008 13:26 EvilTeletubby wrote:
Show nested quote +
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


I'm ashamed to say I understood virtually none of that.

How did both of you guys get into coding, if you don't mind me asking?

Me too T.T After using chaos launcher it got me interested but i have no idea what they're talking about;;
"Nana is a goddess. Or at very least, Nana is my goddess." - KazeHydra
thunk
Profile Blog Joined March 2008
United States6233 Posts
April 02 2008 04:37 GMT
#21
I was thinking of switching to a linux box, but sc was actually a deciding factor. I'll look into your blog.

For EvilTeletubby -> the answer is starcraft. They saw (T)BoxeR play and they were like...damn...I wanna code brood war plugins.

I'm actually wondering the same thing though.
Every time Jung Myung Hoon builds a vulture, two probes die. || My post count was a palindrome and I was never posting again.
Response
Profile Blog Joined April 2004
United States1936 Posts
April 02 2008 17:15 GMT
#22
On April 02 2008 13:37 thunk wrote:
I was thinking of switching to a linux box, but sc was actually a deciding factor. I'll look into your blog.

For EvilTeletubby -> the answer is starcraft. They saw (T)BoxeR play and they were like...damn...I wanna code brood war plugins.

I'm actually wondering the same thing though.


maybe they just enjoy coding? either way im glad they do it its awesome for the rest of us!:-D
the REAL ReSpOnSe
[X]Ken_D
Profile Blog Joined May 2005
United States4650 Posts
Last Edited: 2008-04-02 20:54:07
April 02 2008 20:44 GMT
#23
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.

What software do people use to compile the dephile\pascal code? I can write very basic ASM, but how much assembly would I need to know? I use to write only in DOS enviroment with pascal code and an inline assembly.
[X]Domain - I just do the website. Nothing more.
il0seonpurpose
Profile Blog Joined January 2007
Korea (South)5638 Posts
April 02 2008 23:56 GMT
#24
Man, no bnet?
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 14:30 GMT
#25
On April 02 2008 13:26 EvilTeletubby wrote:
How did both of you guys get into coding, if you don't mind me asking?


I started coding around Grade 8 or Grade 9. My first language was (unfortunately) Visual Basic, but I quickly moved into C++. I started coding simple programs that would do math I had recently learned like calculating the length of the hypotenuse of a right-angle triangle given the lengths of the other two sides. I also wrote programs to organize some of the data coming from my broadband router, namely the number of accesses per port in a day. I learned most of my C++ from experimentation, high school programming classes, and books like Sams Teach Yourself C++ in 21 Days.

More recently, I have been learning how to code through courses at the University of Waterloo and working on open source projects such as the Linux kernel, GNU wdiff, and Wine. While much of my knowledge has come from formal education, all of it could have been picked up from elsewhere.

To be a coder, it's good to have an analytical or mathematical mind otherwise you probably won't enjoy it. To get started, I would suggest getting a C or C++ book and then reading the source code for a simple project like Gnome Mines. I would highly recommend installing a distribution of GNU/Linux for programming. It's much easier to get development tools for GNU/Linux than for Windows or Mac OS.

I recommend getting involved in some open source projects if you want to learn how to code. Pick a project you like and get on the developers' mailing list. It's probably best to get involved with a smaller project than with something like Firefox or the Linux kernel at first.

I have primarily described coding resources for C and C++. These are most useful for those that eventually want to work on something like StarCraft. But there are lots of other areas of programming that are equally as useful. A big field today is web programming, using JavaScript, PHP, Ruby, and Python to name a few. If you like the language to do the work for you, you might want to start there. Also, Python is being used increasingly for non-web applications, such as those on the OLPC.

I can try to answer specific questions about coding, but my time is somewhat limited. If someone wants to start a new thread on coding and there is interest, we could continue these sorts of discussions there.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 14:38 GMT
#26
On April 02 2008 13:37 thunk wrote:
I was thinking of switching to a linux box, but sc was actually a deciding factor. I'll look into your blog.


I've been running StarCraft exclusively on GNU/Linux for a while now. I had some performance problems at first, but I fixed them by using these instructions (see UsefulRegistryKeys for how to update these keys). Now it's running problem-free.

If you have any questions about running StarCraft on GNU/Linux through Wine, I can probably help.
tec27
Profile Blog Joined June 2004
United States3702 Posts
April 03 2008 14:42 GMT
#27
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.

What software do people use to compile the dephile\pascal code? I can write very basic ASM, but how much assembly would I need to know? I use to write only in DOS enviroment with pascal code and an inline assembly.

You use Delphi to compile Delphi code You can get a free (and legal! but a tad bit limited, although it should be fine for your usage) off of http://www.turboexplorer.com/delphi
Can you jam with the console cowboys in cyberspace?
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 16:47 GMT
#28
On April 03 2008 02:15 GoSuPlAyEr wrote:
Show nested quote +
On April 02 2008 13:37 thunk wrote:
For EvilTeletubby -> the answer is starcraft. They saw (T)BoxeR play and they were like...damn...I wanna code brood war plugins.

I'm actually wondering the same thing though.


maybe they just enjoy coding? either way im glad they do it its awesome for the rest of us!:-D


The reason I did it was primarily because I was frustrated that StarCraft was wasting power (particularly on my laptop where wasting power means reducing battery life) and making my CPU fan spin furiously. I could have just fixed it for myself, but it only requires a little more work to make my patch available to anyone so I did that.

I also made the patch because I like a challenge and I knew a bit about how to fix it. It definitely required me to expand my knowledge, especially on how to use a debugger and how to analyze a program without high-level source code.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 16:55 GMT
#29
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.


Are you interested in writing your own plugin? If so, what sort of plugin do you want to write? I haven't used ChaosLauncher so I can't help you with the reference documents, but I could help you with general knowledge of how StarCraft works.

I can write very basic ASM, but how much assembly would I need to know?


It really depends on what you're doing. I had some knowledge of x86 assembly before writing StarCraft Power Saver, but I had to learn a lot more to write the patch. You may want to write some simple programs then compile them and disassemble them to learn assembly. I suggest using IDA Pro Freeware. It's got a lot of neat features, including graphing, which is extremely helpful when trying to understand assembly code.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 17:18 GMT
#30
On April 03 2008 08:56 il0seonpurpose wrote:
Man, no bnet?


No. You can blame Blizzard and players that cheat for that.

Blizzard has an obligation to make games fair for everyone and when people cheat on Battle.net, Blizzard must choose between allowing cheating (which makes some people upset) and adding "protections" to their games so that they are harder to modify for cheating purposes. Blizzard has chosen to add "protections". Unfortunately, it is impossible to differentiate between modifications done for cheating purposes and modifications done to make StarCraft use less CPU power so by adding "protections", Blizzard has made it much harder for people like me and R1CH to legitimately fix their games when they're broken.

If you don't want Blizzard to do this, first and foremost do not cheat. Fewer people cheating means less reason for Blizzard to add "protections" to their games. Secondly, speak up on forums when there are problems. If StarCraft is consuming too much power or doesn't work natively on GNU/Linux, brings this up on forums (especially the official Battle.net forums) and sign a petition if there is one. As an example, there is a petition to add GNU/Linux installers for Blizzard games you can sign. Doing this will make Blizzard aware of what features and fixes people want.

If you want similar functionality to StarCraft Power Saver and want to use Battle.net, try out R1CH's CPU Savior (or Saver). It's discussed on another thread.

Be aware that when modifying StarCraft in any way, there is always a chance that Blizzard will prevent you from using Battle.net (see the ChaosLauncher announcement). It just happens that Blizzard has chosen to disallow the type of modification that StarCraft Power Saver uses but has not (yet) disallowed the type of modification that ChaosLauncher (and CPU Savior) uses.
[X]Ken_D
Profile Blog Joined May 2005
United States4650 Posts
Last Edited: 2008-04-03 17:20:14
April 03 2008 17:19 GMT
#31
On April 04 2008 01:55 ossguy wrote:
Show nested quote +
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.


Are you interested in writing your own plugin? If so, what sort of plugin do you want to write? I haven't used ChaosLauncher so I can't help you with the reference documents, but I could help you with general knowledge of how StarCraft works.

Show nested quote +
I can write very basic ASM, but how much assembly would I need to know?


It really depends on what you're doing. I had some knowledge of x86 assembly before writing StarCraft Power Saver, but I had to learn a lot more to write the patch. You may want to write some simple programs then compile them and disassemble them to learn assembly. I suggest using IDA Pro Freeware. It's got a lot of neat features, including graphing, which is extremely helpful when trying to understand assembly code.


Disassembly, that sounds like a nightmare for me.

I wish I am able to modify ChaosPlugin autoreplay saver to include replay with text and not save before 2 minutes. ADVLoader can do that, but I don't like the way replay number already has a set number instead of looking at the last file number. I often get corrupt replays with ADVLoader.

In reality, I would have to start off something really simple such as make ChaosPlugin not save before 2 minutes
[X]Domain - I just do the website. Nothing more.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 17:31 GMT
#32
On April 03 2008 08:56 il0seonpurpose wrote:
Man, no bnet?


I forgot to mention this in my last post:

You can use StarCraft Power Saver with Internet games, just not through Battle.net. There are applications such as Gamer's Internet Tunnel that will make people able to see your LAN games over the Internet. This probably isn't an option for competitions, but for your average recreational game of StarCraft over the Internet, it should work fine.

Of course, people will be able to cheat more easily when using this setup than with Battle.net, but allowing StarCraft modifications is the whole point and one can't distinguish between modifications made for cheating and modifications made for improving the game. Just make sure you're playing with people you trust not to cheat and you'll be fine.
tec27
Profile Blog Joined June 2004
United States3702 Posts
April 03 2008 18:18 GMT
#33
On April 04 2008 02:19 [X]Ken_D wrote:
Show nested quote +
On April 04 2008 01:55 ossguy wrote:
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.


Are you interested in writing your own plugin? If so, what sort of plugin do you want to write? I haven't used ChaosLauncher so I can't help you with the reference documents, but I could help you with general knowledge of how StarCraft works.

I can write very basic ASM, but how much assembly would I need to know?


It really depends on what you're doing. I had some knowledge of x86 assembly before writing StarCraft Power Saver, but I had to learn a lot more to write the patch. You may want to write some simple programs then compile them and disassemble them to learn assembly. I suggest using IDA Pro Freeware. It's got a lot of neat features, including graphing, which is extremely helpful when trying to understand assembly code.


Disassembly, that sounds like a nightmare for me.

I wish I am able to modify ChaosPlugin autoreplay saver to include replay with text and not save before 2 minutes. ADVLoader can do that, but I don't like the way replay number already has a set number instead of looking at the last file number. I often get corrupt replays with ADVLoader.

In reality, I would have to start off something really simple such as make ChaosPlugin not save before 2 minutes
You'd pretty much have to write a completely new plugin to add RWT, btw ChaosPlugin just deals with LastReplay.rep once its been saved, and adding RWT means modifying the replay save functionality with Starcraft. If you want to get started with some simple disassembly stuff with starcraft though, just let me know, I'd be happy to help you out
Can you jam with the console cowboys in cyberspace?
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
April 03 2008 21:08 GMT
#34
This thread got quite offtopic
Almost all info available about Chaoslauncher/BWLauncher4 is found here:
http://www.bwprogrammers.com/modules.php?name=Forums&file=viewtopic&t=1071
A good replay with text(which saves the text inside the replay) is hard to code. A simple one, which just reads the strings from memory and saves them to a textfile is doable. The 2minute thing would be easy if you had the source for RepAnalyzer.dll, but I forgot to include that one.
Basically all things Chaosplugin can do are very simple and do not require disassembling SC.

As free IDEs I'd recommend either Turbo Delphi Explorer or Visual Studio Express (or if you have access to MSDNAA Professional)
LiquipediaOne eye to kill. Two eyes to live.
Homeless
Profile Joined February 2004
Germany69 Posts
Last Edited: 2008-04-10 19:41:28
April 08 2008 17:19 GMT
#35
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Same problem here. I'm using a german copy of starcraft, guess that's the problem!?

Edit: So the MD5 checksum of my (german) Starcraft.exe is af031ff7d41610c08a00d28d112965c2. You maybe want to add it to the code.
http://xnbk.de
ossguy
Profile Joined March 2008
Canada20 Posts
April 13 2008 19:03 GMT
#36
On April 09 2008 02:19 Homeless wrote:
Show nested quote +
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Same problem here. I'm using a german copy of starcraft, guess that's the problem!?

Edit: So the MD5 checksum of my (german) Starcraft.exe is af031ff7d41610c08a00d28d112965c2. You maybe want to add it to the code.


Unfortunately, I can't just add the MD5 checksum without first checking to see if the same method of patching would work on the German StarCraft executable. If I just added the MD5, it is possible that the patch would cause a German version of StarCraft to crash because the German StarCraft executable might be organized differently than the English StarCraft executable.

So if I had a German StarCraft executable, I could add support for the German version of StarCraft to StarCraft Power Saver. However, I don't own a German version of StarCraft and the license you agree to when you install StarCraft prevents you from sharing your StarCraft executable with me. If you e-mailed Blizzard Entertainment and received written permission from them to give me your German StarCraft executable, then you could send me your German StarCraft executable and I could add support for the German version of StarCraft to StarCraft Power Saver. You could also buy a second copy of the German version of StarCraft and send it to me. Please don't send me your StarCraft executable unless you can prove you have the legal right to do so.

The above applies to any non-English version of StarCraft, not just German. I would be happy to add support for other languages if you follow the above instructions. I admit the steps are time-consuming, but I'm afraid I don't have the time or the money to follow through on them myself. I will always accept help from the StarCraft community, though.
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
April 14 2008 06:59 GMT
#37
If you only patch some places in the code and don't change the structure of the .exe, you could check the code which is near your patch, instead of hashing the whole file. And I'm quite sure that the code section is identical for all SC-Versions.
LiquipediaOne eye to kill. Two eyes to live.
.Ix
Profile Blog Joined August 2007
Philippines266 Posts
April 14 2008 12:28 GMT
#38
wow, finally, someone else who uses ubuntu + wine!

is there any way to get chaoslauncher + Power Saver / CPU Savior running on wine + ubuntu?
i tried chaoslauncher and it gave me weird errors.
Normal
Please log in or register to reply.
Live Events Refresh
BSL 21
20:00
ProLeague - RO32 Group B
spx vs rasowy
HBO vs KameZerg
Cross vs Razz
dxtr13 vs ZZZero
ZZZero.O175
LiquipediaDiscussion
LAN Event
15:00
Stellar Fest: Day 3
Clem vs ZounLIVE!
ComeBackTV 1895
UrsaTVCanada967
IndyStarCraft 405
EnkiAlexander 91
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
IndyStarCraft 405
White-Ra 296
ProTech130
CosmosSc2 77
Railgan 72
ForJumy 16
StarCraft: Brood War
ZZZero.O 175
Backho 77
Dota 2
LuMiX1
Counter-Strike
PGG 91
Super Smash Bros
hungrybox1084
Mew2King65
Heroes of the Storm
Liquid`Hasu450
Other Games
Grubby4542
FrodaN1668
B2W.Neo900
ceh9307
Pyrionflax217
mouzStarbuck173
Sick144
ArmadaUGS121
Organizations
Other Games
gamesdonequick1037
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 21 non-featured ]
StarCraft 2
• davetesta30
• HeavenSC 25
• Adnapsc2 9
• Reevou 6
• AfreecaTV YouTube
• sooper7s
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
StarCraft: Brood War
• Airneanach23
• HerbMon 17
• Michael_bg 2
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• Ler77
• lizZardDota255
League of Legends
• imaqtpie2634
Other Games
• Shiphtur351
Upcoming Events
OSC
1h 41m
ReBellioN vs HiGhDrA
Shameless vs Demi
LetaleX vs Mute
Percival vs TBD
OSC
11h 41m
Wardi Open
14h 41m
Wardi Open
18h 41m
Replay Cast
1d 1h
WardiTV Korean Royale
1d 14h
Replay Cast
2 days
Kung Fu Cup
2 days
Classic vs Solar
herO vs Cure
Reynor vs GuMiho
ByuN vs ShoWTimE
Tenacious Turtle Tussle
3 days
The PondCast
3 days
[ Show More ]
RSL Revival
3 days
Solar vs Zoun
MaxPax vs Bunny
Kung Fu Cup
3 days
WardiTV Korean Royale
3 days
Replay Cast
4 days
RSL Revival
4 days
Classic vs Creator
Cure vs TriGGeR
Kung Fu Cup
4 days
CranKy Ducklings
5 days
RSL Revival
5 days
herO vs Gerald
ByuN vs SHIN
Kung Fu Cup
5 days
BSL 21
5 days
Tarson vs Julia
Doodle vs OldBoy
eOnzErG vs WolFix
StRyKeR vs Aeternum
Sparkling Tuna Cup
6 days
RSL Revival
6 days
Reynor vs sOs
Maru vs Ryung
Kung Fu Cup
6 days
WardiTV Korean Royale
6 days
BSL 21
6 days
JDConan vs Semih
Dragon vs Dienmax
Tech vs NewOcean
TerrOr vs Artosis
Liquipedia Results

Completed

Proleague 2025-11-07
SC4ALL: StarCraft II
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
BSL Season 21
Stellar Fest: Constellation Cup
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual

Upcoming

SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
META Madness #9
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.