|
Hey,
A presentation was posted by some SC:R devs, might be interesting to technical users.
StarCraft: Remastered – Emulating a buffer overflow for fun and profit [pdf]
Also interesting:Unfortunately, we did not have private or public symbols for StarCraft 1.16.1. I had to start reversing the game executable from scratch
Because triggers are hard to program, the South Korean hacker (nicknamed Trigger King / trgk) wrote a trigger compiler
You write proper logic in a JavaScript/Python like language called epScript
|
wtf..? it's not Trigger King. it's Park Hyun Woo....
Blizzard please give proper name and credit his open source work:
https://github.com/phu54321/epScript
(edit: different Park Hyun Woo, not Squirtle)
|
"Patch 1.17 was slated for release but was held back because it would break mods, tools, and launchers"
lol, my sides just bust open and my guts are falling out onto the floor. I know that's not true because Chaoslauncher has been updated many times for patches.
http://www.teamliquid.net/forum/brood-war/65196-chaoslauncher-for-1161
Maybe someone told you that was the official reason for no 1.17 patch, but I have a very hard time believing that.
|
Croatia9359 Posts
On February 06 2018 08:13 ninazerg wrote:"Patch 1.17 was slated for release but was held back because it would break mods, tools, and launchers" lol, my sides just bust open and my guts are falling out onto the floor. I know that's not true because Chaoslauncher has been updated many times for patches. http://www.teamliquid.net/forum/brood-war/65196-chaoslauncher-for-1161Maybe someone told you that was the official reason for no 1.17 patch, but I have a very hard time believing that. 1.17 was slated for release in late 2016 / early 2017 afaik, which was the time when most people that developed those tools (including Chaoslauncher) have moved on, so it's quite unlikely they would be updated.
However, I agree that there was probably more at play on why the 1.17 patch was skipped and they went straight to 1.18/Remastered announcement.
|
The things people like that can manage to do are incredible.
|
On February 06 2018 08:13 ninazerg wrote:"Patch 1.17 was slated for release but was held back because it would break mods, tools, and launchers" lol, my sides just bust open and my guts are falling out onto the floor. I know that's not true because Chaoslauncher has been updated many times for patches. http://www.teamliquid.net/forum/brood-war/65196-chaoslauncher-for-1161Maybe someone told you that was the official reason for no 1.17 patch, but I have a very hard time believing that. I don't know about that. It's always been the case that there was a bit of backlash when a patch felt kind of meaningless but created a lot of work for people to update programs, and certainly some never get updated. It's been that way since 1.12, although 1.12 was a really, really good patch. Back when bwprogrammers used to exist, the usefulness of a Blizzard patch against the cost to community programming was definitely a topic of debate.
At the very least, it's a plausible excuse even if the real reason is something more like 'It looked like a bigger project than we first thought.'
There have a been a lot of interesting tools for making triggers in maps easier over the years. Users from staredit.net made a number of them.
|
Just ran into this today while reading about some other REcon presentations. Great presentation and an impressive amount of work - really shows their commitment to backwards compatibility with all these existing maps.
Surprised to read they couldn't find any debug symbols for the 1.16.1 binary. And what's more it sounds like he couldn't find the exact code 1.16.1 was built from either? or am I reading more into
- Used the closest source code snapshot for 1.16.1
than it actually says...
Also - this reveals that SC:R changed a lot more about the game code than I realized! Core data structures like CUnit changed; Storm library code actually replaced entirely with modern utilities in some much more invasive places than I would have guessed (linked lists)!
Anyone know what the "cave area of the string chunk" is that he mentions in a few spots?
|
I think its briefly explain in the talk: The string segment of the map file has a header saying "The next XYZ bytes of data are string data". However, in the string data the string format also stored a max length. If the first length is larger than the second length, then there is extra memory allocated which can't be accessed via strings - that is what is meant by cave area. EUD triggers can access that memory to do stuff with it
|
|
|
|