EUDx and stuff
Dec 21 2020, 11:36 pm
By: Fruitdispenser  

Dec 21 2020, 11:36 pm Fruitdispenser Post #1



I wanted to change the minimap color of player 11 from green to orange
I take the queue from here, the selection circle color
http://farty1billion.dyndns.org/EUDDB/?pg=entry&id=407
To see if I was ok, I tried exactly what was done there
Selected Set Memory Address with mask, for player 5 (because it seemed more simple and because I also wanted Red selection circle for player 5)
SetMemoryAddressMask(stuff)

Now, if I try to save, I of course get the message that the map is only 1.22 compatible, because of course.

Now, before EUDx in SCMDraft, how where masks dealt with?

PS:
I ended up using this to change player colors in minimap
http://www.staredit.net/topic/17753/



Thanks!



None.

Dec 26 2020, 7:32 pm Roy Post #2

An artist's depiction of an Extended Unit Death

Before EUDx, we calculated it manually. EUDs read/write values in 4-byte chunks, but in the case of selection circles, the data is stored in a single byte per player. So when we use address 0x00581D6B, we're dealing with the values for players 3, 4, 5, and 6.

If we want to add/subtract to a specific player, we would multiply the value based on the byte offset:
Code
p3 = -8574 with mask 0x000000FF (no offset: x)
p4 = -8574 with mask 0x0000FF00 (1-byte offset: x * 256)
p5 = -8574 with mask 0x00FF0000 (2-byte offset: x * 65536)
p6 = -8574 with mask 0xFF000000 (3-byte offset: x * 16777216)


(I'm going to write this in EPD form for simplicity, though technically we had to use EUD form for Actions back in the day.)

If we want to change Player 3's selection circle from Yellow (1) to Red (2), we would do "Modify memory at -8574: Add 1.", since Player 3's byte is not at an offset.
If we want to change Player 5's selection circle from Yellow (1) to Red (2), we would do "Modify memory at -8574: Add 65536.", since Player 5's byte is offset by 2 bytes.

I explain this in layman's terms in Section 4.2 of my old EUD Guide if you want to read more on the subject.




Jan 4 2021, 8:03 pm Fruitdispenser Post #3



Quote from Roy
Before EUDx, we calculated it manually. EUDs read/write values in 4-byte chunks, but in the case of selection circles, the data is stored in a single byte per player. So when we use address 0x00581D6B, we're dealing with the values for players 3, 4, 5, and 6.

If we want to add/subtract to a specific player, we would multiply the value based on the byte offset:
Code
p3 = -8574 with mask 0x000000FF (no offset: x)
p4 = -8574 with mask 0x0000FF00 (1-byte offset: x * 256)
p5 = -8574 with mask 0x00FF0000 (2-byte offset: x * 65536)
p6 = -8574 with mask 0xFF000000 (3-byte offset: x * 16777216)


(I'm going to write this in EPD form for simplicity, though technically we had to use EUD form for Actions back in the day.)

If we want to change Player 3's selection circle from Yellow (1) to Red (2), we would do "Modify memory at -8574: Add 1.", since Player 3's byte is not at an offset.
If we want to change Player 5's selection circle from Yellow (1) to Red (2), we would do "Modify memory at -8574: Add 65536.", since Player 5's byte is offset by 2 bytes.

I explain this in layman's terms in Section 4.2 of my old EUD Guide if you want to read more on the subject.

Sorry for the late reply, but it worked as intended EXCEPT that I had to add 65536*3 in Remastered. I don't know if that should be the case in 1.16.1
Thanks!



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[05:39 pm]
Dem0n -- also looks like he sucks at melee lmao
[05:39 pm]
Dem0n -- yeah he sounds like the most annoying douche ever. I don't know why so many people like him
[05:16 pm]
Vrael -- just completely retarded opinions that he cobbled together from watching people who presumably knew what they were talking about, but he doesn't, so he just tries to sound like them
[05:14 pm]
Vrael -- or shit like "One wraith makes zerg obsolete. Fact."
[05:13 pm]
Vrael -- and his professional casting is garbage too, he's constantly saying stuff like "Wow ask any pro, you should always. ALWAYS. always. have 17 zealots out by the 2 minute mark as zerg. ALWAYS."
[05:13 pm]
Vrael -- m.0.n.3.y
m.0.n.3.y shouted: Vrael why do you say that?
watch any of his stream, he is the whiniest little bitch on the planet
[02:29 pm]
MTiger156 -- u
[06:58 am]
NudeRaider -- m.0.n.3.y
m.0.n.3.y shouted: Mini Game Party was featured on Artosis's channel recently! Pretty cool win for UMS: https://www.youtube.com/watch?v=gSydfyOfOpI
"xKrayZee sux"
[04:36 am]
m.0.n.3.y -- Vrael why do you say that?
[12:03 am]
Vrael -- thats awesome money, for you, but artosis is a giant turd of a human being
Please log in to shout.


Members Online: Dem0n, RdeRenato