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.
[06: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?
[2024-4-20. : 7:56 pm]
Oh_Man -- lol SC2 in SC1: https://youtu.be/pChWu_eRQZI
Please log in to shout.


Members Online: C(a)HeK