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:04 am]
O)FaRTy1billion[MM] -- sorry wing
[05:03 am]
O)FaRTy1billion[MM] -- it was "delete[07:44 pm] Wing Zero -- I mean... It's true tho"
[05:03 am]
O)FaRTy1billion[MM] -- i think i accidentally deleted a shout by mstake
[01:15 am]
Vrael -- Generalpie
Generalpie shouted: Vrael Banger shout
thank you sir
[01:14 am]
Vrael -- NudeRaider
NudeRaider shouted: Espeneo want to steal the burger formula?
I am also confused old buddy
[11:10 pm]
Roy -- How can anyone take Gaius seriously when his theme song is literally Happy Birthday to You?
[10:46 pm]
Generalpie -- Frame it
[10:46 pm]
Generalpie -- Vrael
Vrael shouted: if starcraft has lost its charm and you need a project I hear deepfake porn anime celebrity furry crossovers are a lucrative business
Banger shout
[10:22 pm]
O)FaRTy1billion[MM] -- ya
Please log in to shout.


Members Online: Ultraviolet, C(a)HeK