Staredit Network > Forums > SC1 Mapping Tools > Topic: scmdraft - 0.9.0 info + nightly download (Post small feature req
scmdraft - 0.9.0 info + nightly download (Post small feature req
Apr 9 2017, 9:27 am
By: Suicidal Insanity
Pages: < 1 37 38 39
 

Aug 25 2018, 12:43 pm Suicidal Insanity Post #761

I see you !

The text trigger edit takes the location name and looks up the index when compiling. So if you save the triggers before reordering, then reorder, then load the triggers it works.

If you just reorder the locations and reopen the trigger editor it will display the new location names.

So if you swap the "Start Area" (index 0) and "Goal Area" (index 1) locations, then recompile an external trigger file, they will map to the new indices. If you swap them and only open the trigger editor the displayed triggers will have the two locations swapped.


That is also why you can store the location names outside of the normal map data - the triggers only care about the indices.




Aug 25 2018, 2:41 pm jjf28 Post #762

Cartography Artisan

Quote from iDoodler
Reordering locations would break every trigger that uses the location because the triggers refer to locations via index and that would change.

If this is true, why don't triggers mess up while importing them via the text trigger editor?
Through my limited knowledge wouldn't you be able to work around it by right as you reorder the locations, you basically run the process that the trigger editor uses to error check/import the triggers?

It's not too hard just to remap the locations in the triggers, but this would obviously be a low priority feature and anyone using an external trigger editor that wasn't based on locationName (or anything advanced like EUD-mapped triggers/triggers inside the string section) would need to be responsible for their own indexes.

Code
psedo:
    locationCopy = locations[location1Idx]
    location1 = locations[location2Idx]
    location2 = locationCopy

    for ( trigger in triggers ) {
        for ( condition in trigger.conditions ) {
            if ( condition.location == location1Idx )
                condition.location = location2Idx
            else if ( condition.location == location2Idx )
                condition.location = location1Idx
        }
        for ( action in trigger.actions ) {
            if ( action.location == location1Idx )
                action.location = location2Idx
            else if ( action.location == location2Idx )
                action.location = location1Idx
           
            if ( action.number == location1Idx && (action.actionId == ActionId::MoveLocation || action.actionId == ActionId::MoveUnits || action.actionId == ActionId::Order) )
                action.number = location2Idx
            else if ( action.number == location2Idx && (action.actionId == ActionId::MoveLocation || action.actionId == ActionId::MoveUnits || action.actionId == ActionId::Order) )
                action.number = location1Idx
        }
    }




Rs_yes-im4real - Clan Aura - jjf28.net84.net

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Aug 25 2018, 9:47 pm Suicidal Insanity Post #763

I see you !

Implementing that isn't an issue, making it intuitive + working with plugins / external programs is a problem.




Sep 2 2018, 1:11 pm Suicidal Insanity Post #764

I see you !

New version up with a few minor fixes (+ some internal changes that shouldn't be noticeable)




Sep 11 2018, 9:58 am Excalibur Post #765

The sword and the faith



http://www.panschk.de/mappage/maps/(4)Proline%200.5(n).scm

Was going to look at this melee using the new SCR ramps but getting that error when trying to open.




SEN Global Moderator and Resident Zealot
-------------------------
The sword and the faith.

:ex:
Sector 12
My stream, live PC building and tech discussion.

Sep 12 2018, 10:28 pm Suicidal Insanity Post #766

I see you !

Loads fine for me. What does the extended error log say?




Sep 14 2018, 5:59 am Pr0nogo Post #767



Resizing over and over again results in losing all isometric tile data (new isom brushwork turns everything into rectangles). Undoing doesn't fix it. Very frustrating bug.




Sep 14 2018, 7:34 am Suicidal Insanity Post #768

I see you !

Undoing should restore the original state. Isom was never designed for resizing, so I have seen resizing end up making single clicks place cliffs across the entire map.

Can you write up a repro series of steps, then I will take a look?




Sep 14 2018, 8:12 pm Pr0nogo Post #769



I made a 160x96 map, resized it to 192x96 with a width offset of 16, undo, resized it to 192x96 again with a width offset of -16, then terrained some more before resizing it to 192x96, width offset 16. Isom was broken after that.




Sep 14 2018, 8:57 pm Suicidal Insanity Post #770

I see you !

Just tried that and it works for me. Wonder if it had something to do with undoing




Sep 15 2018, 12:36 am Pr0nogo Post #771



Try this map. Resizing to 224x96 with a negative width offset of 8 results in losing isom. Resizing to 224x96 with a positive width offset of 8 creates null tiles that behave oddly when brushed over with isom.

edit: any idea what causes the anywhere location to be editable?

Post has been edited 1 time(s), last time on Sep 15 2018, 2:12 am by Pr0nogo.




Sep 15 2018, 9:48 pm Suicidal Insanity Post #772

I see you !

I get the null tiles - as I said the isom algorithm wasn't designed with resizing in mind, and I do not have a perfect way of expanding the isom map when the boundaries countain cliffs. I still do not lose isom. I am using the default tile type (water) for new areas.



Anywhere location: Whenever a location is changed the entry in the tree is updated. Since the anywhere location usually is never changed, the UI code did not ignore changes to the location and thus added an entry for it after it was resized.




Sep 16 2018, 12:48 am Pr0nogo Post #773



Well I lose isom every time following those steps. I don't have a custom tileset loaded in the profile and my map isn't saved as remaster only so I don't know what would be different between our setups.




Options
Pages: < 1 37 38 39
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07:42 pm]
Vrael -- aka do no work and schmooze some execs into a well paying job
[07:41 pm]
Vrael -- while I "get on my feet"
[07:41 pm]
Vrael -- yeah but you forgot - I went to MIT for a degree in Medieval Shakespearean Poetry, obviously my parents have an income of about $500,000, so mommy and daddy can easily pay for my 3-bedroom-suite $4000/month apartment conveniently located while I work for free
[07:19 pm]
NudeRaider -- no income for 3 months is pretty tough
[07:04 pm]
Vrael -- That doesn't bother me, because I'm only going to work there for about 3 months and then take another offer now that I have irrelevant experience
[07:03 pm]
Vrael -- wow that's an amazing package, when can I start?
[06:53 pm]
jjf28 -- if you think that impression of me yelling HIRED will get you the job... then you're right, but there's no pay for the first 90 trial years, and there's no days off
[01:28 pm]
Vrael -- "HIRED"
[01:27 pm]
Vrael -- Also, in case I forgot to mention it, I'd do some analytics on the Big Data in our analytics Data Lake where we'll analyze some Nano Data from the analytics database into some analytics which we'll analyze with analytics. Analytics.
[01:26 pm]
Vrael -- jjf28
jjf28 shouted: but how will you handle the backward overflow from the resulting upward revenue stream dynamics?
Oh that's a great question - here's what I'd do. As per Hamlet, the upward dynamics could be handled by an Othellan repertoire demanding on-change systematization of the vertical integration. Instead, we'll take the backward overflow into a horizontal integration using market analytics, resulting in efficiency increases.
Please log in to shout.


Members Online: Roy, Voyager7456