Staredit Network > Forums > Modding Assistance > Topic: Defining new upgrades
Defining new upgrades
This topic is locked. You can no longer write replies here.
Nov 24 2008, 5:47 pm
By: Biophysicist  

Nov 24 2008, 5:47 pm Biophysicist Post #1



I was wondering if it's possible to define new upgrades like Singularity Charge and that sort of thing. For example, creating an upgrade that increases a ComSat Station's energy to 250, or one that makes increases Lurker's attack speed or a Corsair's vision range. Or if I can re-purpose an upgrade (probably one of the Unknown upgrades) for the same effect.

EDIT: Also, can you change the requirements for upgrades? Eg. making Terran Vehicle Weapons require a Physics Lab to research Level 3.



None.

Nov 24 2008, 5:52 pm FlyingHat Post #2



You can change the requirements for the upgrades. But redefining the upgrades is impossible unless if you like to go really deep into SC's code.



None.

Nov 24 2008, 6:01 pm Biophysicist Post #3



How do you go into SC's code, especially "really deep" into it? You'd like have to decompile it or something, I thought...



None.

Nov 24 2008, 6:51 pm FlyingHat Post #4



Hex editing, ASM injection, recoding parts of Starcraft....


Unless if you have uber l33t skillz you won't get too far with this.



None.

Nov 24 2008, 7:37 pm Biophysicist Post #5



I was asking, how do you do those things?

I don't have uber l33t skillz, but if you give me a tutorial that explains the basics then I can figure out the rest. That's just how my brain works.



None.

Nov 24 2008, 10:44 pm Fisty Post #6



Quote from name:TassadarZeratul
I was asking, how do you do those things?

I don't have uber l33t skillz, but if you give me a tutorial that explains the basics then I can figure out the rest. That's just how my brain works.
The problem is, almost no one has delved into the coding of SC.



None.

Nov 24 2008, 11:04 pm Biophysicist Post #7



I could figure out at least some of it if I knew how to get started... eg. How would you open SC to recode it?

EDIT: What I'm asking is if there is any way to decompile the .exe into C++ or whatever SC is written in.

Post has been edited 1 time(s), last time on Nov 24 2008, 11:32 pm by TassadarZeratul.



None.

Nov 25 2008, 12:12 am Fisty Post #8



Quote from name:TassadarZeratul
I could figure out at least some of it if I knew how to get started... eg. How would you open SC to recode it?

EDIT: What I'm asking is if there is any way to decompile the .exe into C++ or whatever SC is written in.
The SC Source Code hasn't been released...so I highly doubt there is a way.



None.

Nov 25 2008, 12:59 am Angle Lock Post #9



uh... just tear up all sc files 1 by 1, u will find it someday... :)
prolly when u're in ur 50's



None.

Nov 25 2008, 2:16 am Biophysicist Post #10



I think there is a way to turn a .exe back into source code. But actually now that I think about it, I don't think that's legal... Does anyone know if it's legal to decompile something if you aren't doing it for money, and make sure that the only people who can use your decompiled-recompiled program have purchased the software? (In other words, would it be legal to decompile SC, modify the source, recompile it, and distribute the modified .exe for free, but make sure it will only run if Brood War is installed on the computer you're trying to run the modded .exe on?)

Of course, I'd still need to find a way to decompile the program first, this is all hypothetical until I do...



None.

Nov 25 2008, 2:59 am Hercanic Post #11

STF mod creator, Modcrafters.com admin, CampaignCreations.org staff

Things that can currently be changed about upgrades:
- Button requirements (FireGraft)
- Research cost, time, repeats (weapons, armor), and factor (Upgrades.dat)
- The value of certain upgrades (FireGraft EXE edits)


Things that cannot currently be changed about upgrades:
- The value of any other upgrade not listed among Firegraft's EXE edits.
- The unit or weapon ID that benefits from the upgrade.
- Completely new upgrades.
- If you can map out Starcraft's offsets and what they do, and know how to program with memory patching, you could do a whole lot more, but that requires a lot of technical knowledge that few possess, and those who do are at work on the very tools that make our lives as modders so much easier.


Fun with Requirements:
- A unit, building, or spell can require that a certain upgrade be completed first.
- The reverse is also doable, where an upgrade requires the player to have a certain unit, building, spell, or other upgrade.




Nov 25 2008, 3:02 am Angle Lock Post #12



To add on to Mr.Hercanic

An upgrade can also depend on another upgrade :)



None.

Nov 25 2008, 3:46 am Biophysicist Post #13



Starcraft is written in C++, right? (Or maybe just C?) Knowing which language will help me find a decompiler thing.

And can anyone answer my other question about if this would be legal? If it is and I can pull this off...



None.

Nov 25 2008, 4:02 am Angle Lock Post #14



Well, if this is going to have anything to do with legal issues, then all of us in here would be in jail wouldn't we, we modded the game basically inside out already.

My point is, what is the difference if you try to use C++ (suppose SC is written in it) to break in and change the hard-coded stuff..

We already changed a lot of stuff...

I think the main point is do NOT sell your mod...

So come into the conclusion, ur all good to go, just do whatever ur pleased...

Thank you for reading this long bullcraps... I am just trying to earn some minerals ^_^



None.

Nov 25 2008, 4:09 am Biophysicist Post #15



Your probably right. People distribute .exes of SC all the time and Blizztard hasn't done anything about that yet, either. I still need to know what language it is in tho...



None.

Nov 25 2008, 4:12 am Angle Lock Post #16



decompile it using C++, C, and Java...

it can't be in some random old fasioned language like BASIC or FORTRAN... lol...

if it's in Java, maybe I can help... but I doubt it...



None.

Nov 25 2008, 4:17 am Biophysicist Post #17



But I need to know which language it it is in so I can find a decompiling program/tutorial...

And it could very well be in FORTRAN, or at least par ts of it. Actually, some of it's probably in assembly language... *groans*



None.

Nov 25 2008, 5:00 am A_of-s_t Post #18

aka idmontie

Quote from Angle Lock
decompile it using C , C, and Java...
I'm guessing the previous part will be editted from this post, so I'll explain. You CANNOT decompile an exe into its original source code -- which is C for Starcraft, and I mean pure C , no usuage of Visual C . Let me resay that, just in case: you can't revert an .exe back to C .

How DO you recode starcraft then?

Easy. Plugins.

Post has been edited 2 time(s), last time on Nov 25 2008, 10:42 pm by Killer_Kow. Reason: You're damn right it'll get edited. Flaming.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Nov 25 2008, 5:25 am Biophysicist Post #19



For a second I thought you were calling me a fucking idiot. Lolfail.

Why do you say you can't decompile something? Couldn't you justfdo everything that happens when you compile something in reverse? Or am I missing something...

So, tell me more about these plugins of which you speak.

EDIT: I realize it might sound like I was trying to be rude, I'm sorry. I don't really know what happens exactly when you compile something. (Well, I know that it turns the source code into something readable by an intetpreter...) If you're a software engineer who does know, then I won't challenge your judgment tho.

Post has been edited 1 time(s), last time on Nov 25 2008, 5:30 am by TassadarZeratul.



None.

Nov 25 2008, 5:37 am A_of-s_t Post #20

aka idmontie

Quote from name:TassadarZeratul
Why do you say you can't decompile something? Couldn't you justfdo everything that happens when you compile something in reverse? Or am I missing something...

So, tell me more about these plugins of which you speak.

As someone put it: "Trying to decompile an exe into C++ is like trying to turn a hamburger back into a cow." Its just changed so much as its converted from C++ to ASM.

As for plugins. Plugins are C++ written .dlls that you inject into SC via Firegraft or MPQDraft. There's a certain format that you need to follow that only a few people have -- Farty, Poiuy_qwert, doodle77, DoA, and myself. You mainly dereference certain pointers and pop in your own functions. I believe poiuy_qwert released his code with Location Unlock. And I still have my code for my Rage Plugin and Expansion Finder.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2024-5-06. : 5:02 am]
Oh_Man -- whereas just "press X to get 50 health back" is pretty mindless
[2024-5-06. : 5:02 am]
Oh_Man -- because it adds anotherr level of player decision-making where u dont wanna walk too far away from the medic or u lose healing value
[2024-5-06. : 5:01 am]
Oh_Man -- initially I thought it was weird why is he still using the basic pre-EUD medic healing system, but it's actually genius
[2024-5-06. : 3:04 am]
Ultraviolet -- Vrael
Vrael shouted: I almost had a heart attack just thinking about calculating all the offsets it would take to do that kind of stuff
With the modern EUD editors, I don't think they're calculating nearly as many offsets as you might imagine. Still some fancy ass work that I'm sure took a ton of effort
[2024-5-06. : 12:51 am]
Oh_Man -- definitely EUD
[2024-5-05. : 9:35 pm]
Vrael -- I almost had a heart attack just thinking about calculating all the offsets it would take to do that kind of stuff
[2024-5-05. : 9:35 pm]
Vrael -- that is insane
[2024-5-05. : 9:35 pm]
Vrael -- damn is that all EUD effects?
[2024-5-04. : 10:53 pm]
Oh_Man -- https://youtu.be/MHOZptE-_-c are yall seeing this map? it's insane
[2024-5-04. : 1:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
Please log in to shout.


Members Online: Roy