Problem with adept portrait, and some new portairts in general is that they use lens flares, which m3addon couldn't handle due to errors in m3 parsing - there was some most likely totally incorrect string reference to sourceFilePath. Perhaps it was a thing in older models? Though, I don't know what could this file represent, because the only external sources m3 specifies are textures.

Besides mentioned fix it also includes 2 others to stuctures.xml, that relate to import issues of some new models.

I had some plans to attempt to work on this more and get the plugin into better shape, but sadly I can't find time for this. So all I can do is simple fixes - that is when models cannot be imported at all, or are imported significantly incorrectly. Such issues are often relatively easy to track down.

Export related issues are much harder.. ideally plugin should be updated to export models in newest m3 version format, so that it can support some of the fancy stuff like lens flares, reflection materials etc. Sadly, that requires considerable research on my side.. but maybe someday.

Anyway, if you encounter some import related issues let me know - I'll see what I can do. I'd like to keep this plugin alive.

(I rarely log into sc2mapster.com these day, but I hang out in its Discord channel - easiest way to reach me.. filling bug report in github - issues tab; works as well).

I gotta ask you something: have you considered making separate thread for every seperate issue you're dealing with? Because you're mixing various topics, that are often hardly related within a single thread. By a result you're limiting yourself to help from people who are capable of keeping up with it - apparently only DSE.

Not to mention in future other people might encounter same problems. When they'll attempt at looking up some info about it, they'll either not find it, as posts are not indexed as good as threads - title is always most important keyword. Or they'll have to crawle through all the irrelevant stuff before getting to the actual answer.

Although if goal of this thread is some kind exclusive mentorship between you and DSE, then I guess that's okayish - assuming he's fine with doing so.

It might be also in the Wiki, bout couldn't find it - this was provided by @rtschutter IIRC.

I don't know if there's anything special about Portraits - if you've some issue regarding it, just post snippet of your code.

5.

What is that even..? ConsoleSkinCacheFrame is different thing. It appears to be used as a preview frame within BattleUI (game menu) - Collections/Consoles. It has no influence on actual ConsolePanel present in game.

Since introduction of custom Console skins from Blizzard there was small overhaul in regards to how Console panels are applied, but you can still change the default model the same way as it was done in the past - by modifying model links within Assets.txt.

All you need to do is create custom Assets.txt that would override pathes above and place it in Base.SC2Data/GameData in your map.

6.

Nope. Models can indeed be loaded at any stage within game, without preloading. But regardless to that they do need to be actually downloaded.

This is something Blizzard can do, thanks to CASC, but that tech is not accessible to modders/arcade games.

And frankly 650 MB is madness - I wasn't aware you could even upload map as huge as this... I don't know what you're developing but I cannot thing of anything that could justify the size. Keep in mind that not everyone lives in places where high speed connections are easily accessible. Take me as an example, currently I'm stuck with ~6Mbit DL. Which means I need like 15 minutes to download something as big as this.I'd consider 100MB to be a borderline. Once you hit that limit, you need to take a closer look at your assets and how can you reduce the final size of an map.

There are of course some big projects such as Dead Zone ( http://www.moddb.com/mods/dead-zone-hope-lost ) with high amount of custom high quality textures and other assets - where it is inevitable to end up with largely sized maps.

You'll realize that it in facts creates two actors, where one is 'SiteHosted', which is some sort of link I assume (not well aware about Actors). Thus by using LastCreated action you only get the referece to ModelHosted. Although this is the essential one in fact, so it surprising if it doesn't respond to 'Destroy' message.

Anyway, you can also utilize actor cheats to get some more information about currently living actors (what could help finding out the cause), i.e.:ActorInfoDisplayActorLiveDump

Could it be because I'm attaching it to a doodad instead of a unit?

You should not be capable of doing this, since it would not pass type checking, I'm assuming you're using "Attach Model To Actor". Which should actually work, because it has different implementation (if that's not the deprecated version without postfix '2'):

Oh, wait. I just realized the implementation above uses Message to create the actor, as oposed to "ActorCreate" function. Thus you have to use "Last Created Actor by Message" to obtain valid reference in this scenario.

When you're saying you're uploading them, you mean uploading to Battle.net, right? As screenshots for arcade section?Actually that would explain something.. because I did notice such nothing for some other random arcade map.

Anyway, it's most likely a flaw in the way Blizzard is processing TGA files. Possibly your TGA images have embedded color map which SC2 can't handle. Or what's more likely it just strips the header that included the color map, without adjusting the image. What in the end may give such effect.

Your options are:- use TGA without embedded color map- or simply use JPGs.. as they're better suited for this use-case anyway

Forget about limits - there are no limits on anything that would be exclusive to online games. 400x400 array of scalar type like fixed (aka real) is nothing. Whether you actually need this array to achieve what you need is another thing, but let's not focus on this.

I am assuming that global variables are only running in one spot (host? battlenet? Who handles trigger execution logic?

It seems like you just don't get how SC2 works. It's based on so called deterministic synchrous game engine.. I'd recommend you to read this [1] to get better understanding.

To answer your question in short - everyone.. that is every client/player connected to the game. Not the battlenet server though. When your friend drops a nuke, he has to process the action on the same terms as you do (over the wire there are transmitted only inputs/commands from each client). Thus both of you use the same global variables to get the same result.Perhaps this is what you've missed, when implementing triggers (I didn't try to analyze them).

and that triggers are not multi-threaded (i.e., an infinite loop will freeze the game; the game allows as many CPU cycles to finish trigger loops as those loops require, it does not save pause long loops and resume them later).

There is multi-threading.. but no the one you'd expect - threads cannot run in parallel. And executions happen in cycles. I'll just link the wiki again, because it explains it better than I would be able to:

In case of SC2 context switch can be initiated by Wait function. When supplied with 0.0 it guarantees the thread will be resumed in next game frame.And yes, there's a limit of actions VM can perform during one frame. I don't recall exact limit, but you can indeed freeze the game for few secs, before timeout occurs.

Another thing that makes this hard is the lack of any debugger (that I know of).

There's one.. kinda obscure, but does the job. In testmode you can open it by typing "TrigDebug". Also it requires game to be in windowed mode. If you want to have it at start of the game then head over to editor preferences -> test document.

Is there any way at all to open some kind of debug message window DURING MULTIPLAYER and see if the map is generating errors?

You can setup TriggerDebugMessage to save to log file. Log file will be written anytime you play the game or watch the replay.

But, you can also relaunch SC2 with "-development" flag, that will enable test mode for replays. Including access to debugger.If you launch SC2 from Battle.net client, then in its options there's somewhere a field to type additional cli params. For testing purposes that would be "-development -windowed -trigdebug".

When testing offline it's also good too add additional dummy players, that have the control shared to you. And simulate what would happen in actual online game.

Yes, multiplayer and campaign dependencies don't play well together. If you want to use them together, you'll have to resolve such issues on your own.

Multiplayer dependency is automatically injected to maps set as melee (and that's the root cause of your problem). Add VoidMulti dependency at the end of your current list, and Editor will reflect what's actually happening in game.

I won't tell you how the internal implementation of this function looks like, as I don't really know myself. But there are certainly couple of methods it could've been done.

SquareRoot(10.5) ==> 3.2402

The result was trimmed to 4 decimal places, but in reality it is exactly equal to .240234375 (result of 984/4096).The next possible value would be .240478515625 (result of 985/4096). What is above the expected result of sqrt, thus it returned the closest possible that was equal - rounded down.

The fractional part of 10.5 is represented as 2048/4096. Now if you iterate over next possible values:

This is how I found it:site:sc2mapster.com "Screenshot2011-04-17_09_16_21.jpg" -"15/252/Screenshot2011-04-17_09_16_21.jpg"

(in Google)then in source code of the first result search for:class="multi-file-upload-file-image comment-attachment-image" alt="Screenshot2011-04-17_09_16_21.jpg"The preceeding src attr of img element will be correct URL. But I'm unsure if this method would work for in all cases. I think it's worth to note anyway.

(btw. this would have been easier if media.forgecdn.net was indexed by Google, but it isn't sadly).

Yeah, this file was mostly stripped from newlines.. and whitespaces in general. I don't know why he did that.

Anyway, I guess you don't really need to modify it, since you can just re-link the dependency that's still up on bnet, right? If no, I could fix the file for you (in the past I wrote some scripts for cases like this).

That's different thing. Attachments (which were bound to posts) have been restored. All of them I believe.

However attachment URLs have changed, and links manually embedded in the posts haven't been updated. But if you correct them by hand they'll work.

With the exception of the ones that are orphaned - when original post to which the attachment was bound have been removed (or attachment was manually taken down). In such case these files haven't been moved to the new CDN.