Staredit Network > Forums > SC1 Mapping Tools > Topic: [EUD] EUPCalc
[EUD] EUPCalc
Aug 12 2012, 3:48 am
By: Roy  

Aug 12 2012, 3:48 am Roy Post #1

An artist's depiction of an Extended Unit Death


EUPCalc
A convenience tool for the EUD enthusiast

Description

EUPCalc, or Extended Unit Placement Calculator, is exactly what it sounds like: a calculator for all possible Player/UnitId combinations for writing to a specific address (as discussed in this topic). There are many different combinations of players and unit ids that are possible to write to a specific address, and this program conveniently provides all of them for you.
Screenshots

Collapsable Box
Quick How-To

First, you need to pick the address you want to write to. A great place to look would be in the EUD Database and the Useful EUD Reference topic. If you are unfamiliar with EUDs, it is recommended that you read A Mapmaker's Guide for Creating EUDs and get some practice with them before going into more advanced/unstable EUD work.

After you have your address, simply put it in the text box at the top of the program and click "Go!" to start calculating. Note that the program is expecting a hexadecimal address, and you should prepend "0x" to signify that you are indeed giving it a hexidecimal value (otherwise, it will attempt to convert to hex and prepend "0x" for you).

As for reading the output, you'll note that each row has three columns. The first column is the player number, which will be the owner of the unit to place. The second and third columns are both Unit IDs. The "DeathId" column is the Unit ID that will write to the address when that unit dies, and the "PlaceId1" and "PlaceId2" columns are the Unit ID that will write to the address when that unit is placed (at the very beginning of the map). PlaceId1 is writing the All Unit Count for the unit, and PlaceId2 is writing the Completed Unit Count for the unit (both of which are written for a preplaced unit at map initialization). Keep in mind that all units will write to these addresses when they are placed and when they die (and other addresses as well), so when using an extended unit, you may be unintentionally writing to several different areas, which can cause stability issues and crazy side-effects.

Some extended units will crash when they die, and some will crash when they are being placed (or when the map initializes, which for the purposes of this phenomenon is the same thing). Which ones work? Well, unfortunately, we don't know. Extended units are highly unstable and unpredictable, and we only have a few documented cases of Player/Unit ID combinations that won't crash the game immediately, and even fewer that are safe to kill. Even though there are 21-22 different combinations for a given address, chances are good that none of them will be ideal for use.
Download

This is the second public release of EUPCalc. The current version is Version 3.
This program requires the .NET Framework 4 to run.

Download from Sen's DLDB


Post has been edited 4 time(s), last time on Jan 5 2018, 6:59 pm by Roy.




Aug 12 2012, 3:59 am jjf28 Post #2

Cartography Artisan

your minimum ID's seem to be off a Ceiling (player can't be higher than 256)
Code
Min ID = Ceiling[ ( Address - 5810016 ) / 48 ]


Otherwise, great work! :D



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Aug 12 2012, 4:05 am Roy Post #3

An artist's depiction of an Extended Unit Death

Does it give an output for P257? I haven't seen an issue there. The player values calculated are the actual player number, which start at 1. The actual value in SC for P256 is 255.

Or am I misunderstanding you?

Edit: I see the error. Fixing it now.

Edit: Fixed.

Post has been edited 2 time(s), last time on Aug 12 2012, 4:13 am by Roy.




Aug 12 2012, 4:07 am staxx Post #4



Awesome, i get to be lazy again! :inlove:



None.

Aug 13 2012, 12:25 pm Roy Post #5

An artist's depiction of an Extended Unit Death

Updated to include Unit IDs for the Completed Unit Count table.

I also changed the name to EUPCalc. It's becoming more and more apparent that this discovery extends beyond unit deaths, and so the name Extended Unit Placement seems more appropriate. From now on, I will be using EUPs when referring to what was formerly known as Neo-EUDs.




Aug 26 2013, 10:03 am RexyRex Post #6



Roy is amazing.

Can we get some examples of what you can do with this in-game?

I remember being able to modify unit HP with EUDs years ago....



None.

Aug 26 2013, 2:12 pm Roy Post #7

An artist's depiction of an Extended Unit Death

People have attached a few examples in this topic: http://www.staredit.net/topic/15356/

Leeroy_Jenkins has also included EUPs in his completed map, http://www.staredit.net/topic/15499/ where you can play as a Ghost with the ability to cast Dark Swarm.

Modifying unit HP using this method is, unfortunately, impractical, because HP doesn't fall on the first byte.




Apr 17 2014, 7:13 am RexyRex Post #8



hi sorry for bumping an old thread but just wanted to say thanks Roy your post was very informative as always :)

just saw it lol

EDIT: A ghost with Dark swarm would be amazing for so many reasons



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07:46 am]
RIVE -- :wob:
[2024-4-22. : 6:48 pm]
Ultraviolet -- :wob:
[2024-4-21. : 1:32 pm]
Oh_Man -- I will
[2024-4-20. : 11:29 pm]
Zoan -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
You should do my Delirus map too; it's a little cocky to say but I still think it's actually just a good game lol
[2024-4-20. : 8:20 pm]
Ultraviolet -- Goons were functioning like stalkers, I think a valk was made into a banshee, all sorts of cool shit
[2024-4-20. : 8:20 pm]
Ultraviolet -- Oh wait, no I saw something else. It was more melee style, and guys were doing warpgate shit and morphing lings into banelings (Infested terran graphics)
[2024-4-20. : 8:18 pm]
Ultraviolet -- Oh_Man
Oh_Man shouted: lol SC2 in SC1: https://youtu.be/pChWu_eRQZI
oh ya I saw that when Armo posted it on Discord, pretty crazy
[2024-4-20. : 8:09 pm]
Vrael -- thats less than half of what I thought I'd need, better figure out how to open SCMDraft on windows 11
[2024-4-20. : 8:09 pm]
Vrael -- woo baby talk about a time crunch
[2024-4-20. : 8:08 pm]
Vrael -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
so that gives me approximately 27 more years to finish tenebrous before you get to it?
Please log in to shout.


Members Online: Roy