• 0

    posted a message on Trying to bring my old map back from the grave - "ATTRIBCACHE_CORRUPT_MAP"

    > This time I couldn't even make a lobby as it threw an "ATTRIBCACHE_CORRUPT_MAP".

     

    It's a generic error indicating there's something wrong with setup of the game variant - anything that relates to attributes, player slots etc.

     

    > P.S. If anyone is interested, the map is called "Recruiters" and it is unlocked on EU and US.

     

    I did take a quick look and a possible cause could be the fact that the map's default variant overrides certain attributes for player slots - like commanders, logo index.. try to get rid of this.

     

    Also the way you're using player 15 could possibly have something to do with it. Player 15 is intended to be a special player that defaults to "Hostile" type, like player 0 defaults to "Neutral". You seem to have changed it to "computer". This shouldn't cause that error though.. but that's definitely something I'd check too - try to change it back to "hostile" and reduce team size to 2 in variants.

    In case you actually need that player to be of "computer" type, then I'd recommend using another player slot for it.

     

    Ultimately, you can try removing your custom variant completely, and remaking it - there might be something set incorrectly that editor is not showing. Variants and attributes are pretty complex systems, and prone to bug out when working on a map made on older versions of SC2.

     

    btw. You might want to join SC2Mapster Discord server, it's far more active than this forum.
    https://discord.gg/bbQ9Jm8

    Posted in: Triggers
  • 0.953782239916912

    posted a message on Art Tools for Max 2016 Fails to Commit
    It's a known bug with the 2016 version. There's no workaround. Thankfully this feature isn't essential.

    You can simply export models with `Use Mopaq Textures` option checked, and then put them to a map/mod archive manually.

    See https://mapster.talv.space/star-tools/Tool_ExportFloater.html for details:
    > ... Commit behaves as if Make DDS Files and Use Mopaq Textures are both checked, and Cache DDS Files is clear.
    Posted in: Artist Tavern
  • 0

    posted a message on SC2 art tool - download

    Web archive is your friend:

     

    https://web.archive.org/web/20181005154317/http://us.battle.net/sc2/en/blog/12444476/

    http://dist.blizzard.com/sc2/SC2ArtTools/SC2ArtTools_x86.zip
    http://dist.blizzard.com/sc2/SC2ArtTools/SC2ArtTools_x64.zip
    http://dist.blizzard.com/sc2/SC2ArtTools/SC2ArtToolsDocs.zip

    There's also a build for max 2016 that Blizzard half-officially released this year:

    https://cdn.discordapp.com/attachments/271702283203510273/583000414404739081/Sc2ArtTools_3dsmax2016.zip
    https://cdn.discordapp.com/attachments/271702283203510273/583018812383952929/Starcraft2ArtTools_ClothSimulationDoc.pdf
    https://cdn.discordapp.com/attachments/271702283203510273/585961586368184332/Star2_SimulateRoughness.zip

    And probably best import plugin to go with it: https://github.com/CaptainD001/M3_Import

     

    Posted in: Artist Tavern
  • 0

    posted a message on Get Upgrade Name in Galaxy Script

    Little late with the response, but..

     

    Upgrade names (and not only) are in GameStrings.txt. For instance: https://github.com/SC2Mapster/SC2GameData/blob/36206ed2977af377c290b5b6034f32237af4d67d/mods/liberty.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt#L9721

     

    To reference the name you've to use StringExternal function.

     

    s = "UpgradeID";
    StringExternal("Upgrade/Name/" + s);

     

    Posted in: Galaxy Scripting
  • 0

    posted a message on [Dependencies] How is the dependency tree resolved?

    I've been wondering about the same in the past. And have failed to find any relations between the built-in mods in data files as well. At this point I'm fairly sure that these relations are hardcoded in the executable. Which can actually be semi-confirmed by dumping strings from .exe:

     

    ▶ strings SC2.exe | rg -C 2 Liberty
    Mods/Core.SC2Mod
    Mods/Challenges.SC2Mod
    Mods/Liberty.SC2Mod
    Mods/LibertyMulti.SC2Mod
    Campaigns/Liberty.SC2Campaign
    Campaigns/LibertyStory.SC2Campaign
    Mods/Swarm.SC2Mod
    Campaigns/SwarmDev.SC2Campaign

    ...

     

    etc.

    Posted in: Miscellaneous Development
  • 1.29742144717169

    posted a message on SC2Layout - Visual Studio Code extension

    Hey, I've got a project I'd like to share, which greatly streamlines the process of writing layouts for SC2.

     

    Visual Studio Code extension introducing support for SC2Layout language.

     

     

    More about its feature set: 

    Github: https://github.com/Talv/sc2-layouts

    VSC marketplace: https://marketplace.visualstudio.com/items?itemName=talv.sc2layouts

     

    FAQ.

     

    1. Is Visual Studio Code free?

     

    Yes, it's completely free and open source. It should not be mistaken with Microsoft Visual Studio which is entirely different product.

     

    Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux.

    https://code.visualstudio.com/docs

     

    2. How long does initial setup take?

     

    About 5 minutes, maybe less :)

    - Install VSCode from https://code.visualstudio.com/

    - Install SC2Layout extension from https://marketplace.visualstudio.com/items?itemName=talv.sc2layouts

    - Save your map files as ".SC2Components".

    - Open map folder in editor as new workspace.

    - You're set!

    Posted in: UI Development
  • 0.951068228807719

    posted a message on .obj file requested for Adept portrait mesh

    In reply to DaveSpectre122:

    In reply to WingedArchon:

    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. 

     

    Anyway, couple days ago I made a fix for that: 
    https://github.com/Talv/m3addon/commit/b97a59115687e95762451ba3e396d4abba8b3847

    maybe it will be an use for others.

     

    That said more up to date version of m3addon can be downloaded here: https://github.com/Talv/m3addon

    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).

    Posted in: Requests
  • 0

    posted a message on Is it possible to create charts?

    WCS GameHeart mod is the only map/mod I'm aware of that uses this frame. Would be probably useful to analyze it and make actual example map. As there's very little information regarding it.

     

    This is one of use cases:

     

    As far as API goes, here's list of UI frames for building graphs:

    http://mapster.talv.space/layouts/frame )

     

    To provide data sets it seems you need to use this function:

    http://mapster.talv.space/galaxy/reference/dialog-control-add-data-point

     

    Posted in: Triggers
  • 0

    posted a message on Tutorials

    List of all available frame types, fields, attributes etc. Dumped from the 4.0 build:

    http://mapster.talv.space/layouts/frame

     

    Posted in: UI Development
  • 0.955042527339004

    posted a message on A number of questions about Trigger related issues

    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.

     

    (Also these are not even triggers questions, but Layouts / UI.)

     


    2.

     

    Anchors control position, and can also control width/height, if these are not set explicitly. It is in fact covered in tutorial you've linked. For more detailed explanation lookup this document:
    https://docs.google.com/document/d/1Cs6hjFKgf9xKO_d-zAPwGgRzOZpwLkAqUw5Zbte7Tdk/edit

    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.

    This is default Console definition within data:

     

    <CConsoleSkin default="1" id="ConsoleBase_Default" parent="ConsoleBase">
        <Default value="1"/>
        <Name value="ConsoleSkin/Name/Default"/>
        <ReleaseDate value="7/27/2010"/>
        <MinimapPanelModel Model="@@UI/ConsoleModelMinimapPanel"/>
        <InfoPanelModel Model="@@UI/ConsoleModelInfopanel"/>
        <CommandPanelModel Model="@@UI/ConsoleModelCommandPanel"/>
    </CConsoleSkin>

     

     

    @@UI/ConsoleModelMinimapPanel means that model link will be lookedup in Assets.txt with race id as postfix:

     

    UI/ConsoleModelCommandPanel=Assets/UI/Console/Terran/ConsoleTerran/ConsoleTerran_02.m3
    UI/ConsoleModelInfopanel=Assets/UI/Console/Terran/ConsoleTerran/ConsoleTerran_01.m3
    UI/ConsoleModelMinimapPanel=Assets/UI/Console/Terran/ConsoleTerran/ConsoleTerran_00.m3
    UI/ConsoleModelCommandPanel_Prot=Assets/UI/Console/Protoss/ConsoleProtoss/ConsoleProtoss_02.m3
    UI/ConsoleModelInfopanel_Prot=Assets/UI/Console/Protoss/ConsoleProtoss/ConsoleProtoss_01.m3
    UI/ConsoleModelMinimapPanel_Prot=Assets/UI/Console/Protoss/ConsoleProtoss/ConsoleProtoss_00.m3
    UI/ConsoleModelCommandPanel_Terr=Assets/UI/Console/Terran/ConsoleTerran/ConsoleTerran_02.m3
    UI/ConsoleModelInfopanel_Terr=Assets/UI/Console/Terran/ConsoleTerran/ConsoleTerran_01.m3
    UI/ConsoleModelMinimapPanel_Terr=Assets/UI/Console/Terran/ConsoleTerran/ConsoleTerran_00.m3
    UI/ConsoleModelCommandPanel_Zerg=Assets/UI/Console/Zerg/ConsoleZerg/ConsoleZerg_02.m3
    UI/ConsoleModelInfopanel_Zerg=Assets/UI/Console/Zerg/ConsoleZerg/ConsoleZerg_01.m3
    UI/ConsoleModelMinimapPanel_Zerg=Assets/UI/Console/Zerg/ConsoleZerg/ConsoleZerg_00.m3

     

    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.

     

    But if you're not developing something like in case above, it's mostly likely effect of bad optimizations on your end. Disabled MPQ compression? Oversized textures? Soundtracks with too high bitrate? etc.

    Posted in: Triggers
  • 0

    posted a message on Pathable teleports

    I'll just leave it here:
    https://www.sc2mapster.com/projects/waygate-system-library

    Posted in: Triggers
  • 0

    posted a message on No way to destroy an actor???

    'No actor' pretty much evaluates to null, so it only tests whether the variable holds a reference, but doesn't check whether this reference is valid.

    You could use "Actor Get Text" to display information about what that actor reference essentially holds.

     

    Also, if you inspect internal implementation of this function:

    actor libNtve_gf_AttachModelToUnit (unit lp_unit, string lp_model, string lp_attachPoint) {
        // Variable Declarations
        actorscope lv_scope;
        actor lv_a;
    
        // Automatic Variable Declarations
        // Variable Initialization
    
        // Implementation
        lv_scope = ActorScopeFromUnit(lp_unit);
        ActorCreate(lv_scope, "SiteHosted", lp_attachPoint, "", "");
        lv_a = libNtve_gf_ActorLastCreated();
        ActorCreate(lv_scope, "ModelHosted", (lp_model), "", "");
        lv_a = libNtve_gf_ActorLastCreated();
        return lv_a;
    }

     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.:
    ActorInfoDisplay
    ActorLiveDump

     

     

    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'):

     

    actor libNtve_gf_AttachModelToActor2 (actor lp_actor, string lp_model, string lp_attachPoint) {
        // Variable Declarations
        string lv_message;
        actorscope lv_scope;
        actor lv_a;
    
        // Automatic Variable Declarations
        // Variable Initialization
        lv_message = ("AttachModel {} ");
    
        // Implementation
        lv_message = ("AttachModel {} " + (lp_model) + " " + lp_attachPoint);
        ActorSendAsText(lp_actor, StringToText(lv_message));
        lv_a = libNtve_gf_ActorLastCreated();
        return lv_a;
    }

     ---

    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.

    Posted in: Triggers
  • 0

    posted a message on Importing .m3 to Blender error

    Uhm, that error doesn't tell a lot - is it a full message you've got? There should be stack trace. (Maybe in console view).

    bpy_struct is like a superclass thing in terms of Blender API for addons.

    Posted in: Artist Tavern
  • 0.960666358167515

    posted a message on [Question] Screenshots are changing tint upon upload. How to prevent this?

    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

    Posted in: Artist Tavern
  • 0

    posted a message on UI Error in All Maps
    Quote from Prodigy454 >>
    Quote from XelnagaNaga >>

    Hi, I am still quite new with the editor, just wondering if anyone can help me out with this error message?

     

    UI: File [StandardDialog.SC2Layout] Line [189] Column [9]. Unknown type attribute [Browser] for: [Browser].

     

    I got this message on the debugger colored in dark blue, when i saved my work.

    I was working on data editor and i haven't opened or touched the UI editor.

     

    Will this affect the game in anyways? Publishing?

    Thx

     

    It’s nothing to worry about. Its a blizzard native UI error that we all get.

    ^
    Just ignore it. Maybe Blizzard will fix it eventually.. but it's just annoying at most anyway.
    Posted in: General Chat
  • To post a comment, please or register a new account.