Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: The Understanding of "EUD"
The Understanding of "EUD"
Jan 2 2009, 4:54 pm
By: Heinermann
Pages: 1 2 36 >
 

Jan 2 2009, 4:54 pm Heinermann Post #1

SDE, BWAPI owner, hacker.

EUD stands for Extended Unit Deaths. It was the name given to the interesting overflow bug I released a while back.
It wasn't the only method to overflow though. After Extended Unit Deaths were patched, I tried extended alliance status, which worked, and caused yet another patch. Since then, extended switch states and other methods I've tried testing have resulted in failure.

What people don't understand is that even with EUD conditions, you can still do a lot, and Deaths isn't the only condition that can be used for overflow memory detection.

Command, Accumulate, Kill, Command the Most/Least, Most/Least Kills, and Score can all be used. Since the player number is four bytes, you can pretty much read any memory after player 1's minerals at 0x0057F0D0.

Using a Most/Least overflow, you could easily come up with Most/Least Deaths.
Using an accumulate overflow, you can reach a bit lower in memory, before the Deaths Table at 0x0058A344, to access supply, saved groups, and some other things.

I've done a lot of memory mapping, you can view my work here: http://code.google.com/p/bwapi/wiki/changes116

I just want to say that not all the resources for new techniques have been exhausted, and there will definitely be more on the way.

Some untested things remain, like extended locations(conditions and actions), and extended string referencing(actions). Some overflow writing still remains, like preplaced extended units and extended players.

Starcraft mapping is about using your imagination to creatively come up with new concepts. It's not recommended that you use an overflow in your map because of compatibility issues, but it's certainly an option you should consider in the creation of a map.

Overflows don't just exist in triggers and preplaced units though. You probably didn't know that Set Doodad State, Disabled Sprite-Units, and player colours are overflows themselves. Set Doodad State and Disabled Sprite-Units read overflow IScript entries. Disabled Sprite-Units reads the in-construction animation, and Set Doodad state has its own entries. Colours over index 11 read as an overflow, and the Flag unit is one result of crashing due to an invalid portrait(overflow). If you can avoid the flag's talking portrait, you can overflow and display even the beta portrait.

Another technique that uses an overflow(and I'm surprised nobody has found a way to use it practically), is the hallucinated powerup glitch, involving a hallucinated powerup running out of energy in a worker's hold so that when a new unit is created, it will replace the powerup that was in the worker's hold, teleporting the new unit to the worker's destination on its destruction, and applying the powerup property to the unit so that it can be picked up.




Jan 2 2009, 5:43 pm Pigy_G Post #2



Informative!



None.

Jan 2 2009, 6:12 pm Kaias Post #3



This is quite informative.

Quote from Heinermann
Another technique that uses an overflow(and I'm surprised nobody has found a way to use it practically), is the hallucinated powerup glitch, involving a hallucinated powerup running out of energy in a worker's hold so that when a new unit is created, it will replace the powerup that was in the worker's hold, teleporting the new unit to the worker's destination on its destruction, and applying the powerup property to the unit so that it can be picked up.
As I understand it, this crashes Macs. That is why I haven't bothered using it.



None.

Jan 2 2009, 7:02 pm scwizard Post #4



Hmm, what kind of interesting stuff comes before the unit table anyways?



None.

Jan 2 2009, 7:30 pm Biophysicist Post #5



Quote
Using an accumulate overflow, you can reach a bit lower in memory, before the Deaths Table at 0x0058A344, to access supply, saved groups, and some other things.
Example map please? That could be pretty useful.

How would you use extended locations? Center "Location 257" or something on a unit, or maybe create a unit at "Location 257"? If you could use that to write to extended stuff, that would be really useful. (Where are locations stored in memory? Before or after the deaths table?)



None.

Jan 2 2009, 11:15 pm O)FaRTy1billion[MM] Post #6

👻 👾 👽 💪

Quote from scwizard
Hmm, what kind of interesting stuff comes before the unit table anyways?
Look in my EUDDB for 1.15.2. Doodle and I were updating addresses from the 1.14 memory map.



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Jan 3 2009, 3:00 am scwizard Post #7



Quote from name:TassadarZeratul
How would you use extended locations? Center "Location 257" or something on a unit, or maybe create a unit at "Location 257"? If you could use that to write to extended stuff, that would be really useful. (Where are locations stored in memory? Before or after the deaths table?)
This is impossible.



None.

Jan 3 2009, 4:04 am Heinermann Post #8

SDE, BWAPI owner, hacker.

You sure? ;o

EDIT: I just found that you can use extended units with Leaderboard triggers.

Post has been edited 1 time(s), last time on Jan 3 2009, 9:40 am by Heinermann.




Jan 3 2009, 2:50 pm Falkoner Post #9



Quote
Another technique that uses an overflow(and I'm surprised nobody has found a way to use it practically), is the hallucinated powerup glitch, involving a hallucinated powerup running out of energy in a worker's hold so that when a new unit is created, it will replace the powerup that was in the worker's hold, teleporting the new unit to the worker's destination on its destruction, and applying the powerup property to the unit so that it can be picked up.

One thing though is that what unit will show up in the hands of the unit can easily be calculated, you just add 177 to the ID of the unit that was created to replace the crystal, and that's the unit ID that you will pick up.

And I actually plan to use this for looks in Mystic Islands RPG, I'm going to have them actually put a tank together, two SCVs will carry the top and bottom of a tank into a room and then a built tank will come out :P



None.

Jan 3 2009, 8:33 pm Vi3t-X Post #10



What if it crashes? :P



None.

Jan 3 2009, 11:46 pm Falkoner Post #11



It won't crash, I've tested with the top and bottoms of tanks before, they're perfectly stable:



The SCVs can fire with the tank tops too :P



None.

Jan 4 2009, 12:44 am Decency Post #12



Quote from Falkoner
The SCVs can fire with the tank tops too :P

A map really needs to be made showcasing this feature. Something new to micro!



None.

Jan 4 2009, 1:39 am Excalibur Post #13

The sword and the faith

SCV Turret D? :P




SEN Global Moderator and Resident Zealot
-------------------------
The sword and the faith.

:ex:
Sector 12
My stream, live PC building and tech discussion.

Jan 4 2009, 6:29 am Syphon Post #14



Didya ever get anywhere with extended properties?



None.

Jan 4 2009, 9:25 am Heinermann Post #15

SDE, BWAPI owner, hacker.

Extended properties as in create unit with properties? No. I havn't tried.




Jan 4 2009, 3:24 pm Vi3t-X Post #16



Quote from Falkoner
It won't crash, I've tested with the top and bottoms of tanks before, they're perfectly stable:



The SCVs can fire with the tank tops too :P

I'm going to need to borrow that map. Ahem.

But, do you think that if the values were changed to goliath and goliath base, would it work and/or be stable?



None.

Jan 4 2009, 4:33 pm Morphling Post #17



SCVs carrying goliath turrets go incredibly slow. They are even much slower than reavers.



None.

Jan 4 2009, 7:40 pm Falkoner Post #18



Quote
I'm going to need to borrow that map. Ahem.

It's pretty easy, basically, the way it works is you create a hallucination of a powerup, either via triggers or by hallucinating an extended powerup. Once you have that, have a worker pick up the hallucination, and wait for it to fade, the hallucination will not actually die in its hands, but it will have faded. Once it has, create the unit with an ID 177 less than the unit you want picked up, you most likely will need to create multiple of that unit, this unit fills the empty slot which used to be the hallucinated powerup, now kill the SCV and the unit will teleport to where the SCV was, and be "dropped" like the powerup, then pick up that unit with another worker.



None.

Jan 4 2009, 7:55 pm Biophysicist Post #19



Yah... That confused me... A lot... Just please post the map? Then I'll understand.



None.

Jan 4 2009, 8:02 pm Demented Shaman Post #20



Don't post the map falk. Your explanation was enough.

I don't see how you could be confused. Maybe reading a paragraph is too much for you. Here, I'll break the sentences.

Quote
It's pretty easy, basically, the way it works is you create a hallucination of a powerup, either via triggers or by hallucinating an extended powerup.

Once you have that, have a worker pick up the hallucination, and wait for it to fade, the hallucination will not actually die in its hands, but it will have faded.

Once it has, create the unit with an ID 177 less than the unit you want picked up, you most likely will need to create multiple of that unit, this unit fills the empty slot which used to be the hallucinated powerup,

now kill the SCV and the unit will teleport to where the SCV was, and be "dropped" like the powerup,

then pick up that unit with another worker.

Either way there's going to be a bunch of people asking for help wondering why they can't get it to work. :rolleyes:



None.

Options
Pages: 1 2 36 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
[2024-4-17. : 1:52 am]
Vrael -- hah do you think I was born yesterday?
[2024-4-17. : 1:08 am]
O)FaRTy1billion[MM] -- i'll trade you mineral counts
[2024-4-16. : 5:05 pm]
Vrael -- Its simple, just send all minerals to Vrael until you have 0 minerals then your account is gone
[2024-4-16. : 4:31 pm]
Zoan -- where's the option to delete my account
[2024-4-16. : 4:30 pm]
Zoan -- goodbye forever
Please log in to shout.


Members Online: lil-Inferno, RIVE, Zycorax