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.
[07:00 pm]
Symmetry -- poo poo papa
[02:46 pm]
lil-Inferno -- pee pee child
[2026-6-27. : 6:10 pm]
Ultraviolet -- sweet summer child
[2026-6-26. : 10:31 am]
NudeRaider -- blessed innocent soul knows nothing of the strife we had before EUDs were discovered :teehee:
[2026-6-23. : 3:29 am]
DarkenedFantasies -- Probably just didn't care. For example, at some point before release, they've updated the graphics of some of the Protoss buildings (Forge, CyberCore, Citadel, Observatory, Arbiter Tribunal), but instead of properly re-rendering them with edited 3D models, they did crappy copy-paste jobs on the rendered graphics.
[2026-6-22. : 8:35 pm]
Ultraviolet -- :wob:
[2026-6-21. : 11:38 pm]
Symmetry -- :wob:
[2026-6-21. : 4:56 am]
Ultraviolet -- I suppose we'll likely never know, but my guess would be that they already saw it operating successfully and there was no monetary incentive to finish the original work. And the dev cycle in old school Blizzard was so hectic, it's possible it just got forgotten about after the original game got released. Plus there's an element of existing MPQ files that were packaged with the original discs becoming outdated if they updated it. And it's not like they remade the original MPQs, they just made new ones for BW specifically
[2026-6-21. : 4:26 am]
Oh_Man -- so that makes me think maybe the theory they are unfinished is not true and its a deliberate design decision, coz why not finish them wen ur making brood war?
[2026-6-21. : 4:25 am]
Oh_Man -- the thing is thos buildings are from classic. that means they went ahead and made brood war without ever finishing the 'unfinished' buildings
Please log in to shout.


Members Online: RIVE, IlyaSnopchenko