|
Members in Shoutbox
None.
Shoutbox Search
Shoutbox Commands
/w [name] > Whisper
/r > Reply to last whisper /me > Marks as action Shoutbox Information
Moderators may delete any and all shouts at will.
|
Global Shoutbox
Please log in to shout.
[2018-7-23. : 10:24 pm] Suicidal Insanity -- I offered to make a V2 interface for him but he said he didn't have the time ![]() [2018-7-23. : 10:23 pm] Suicidal Insanity -- But trgk's reverse engineered sample almost is better, because it avoids having to make sure the linker flags match[2018-7-23. : 10:20 pm] jjf28 -- I think trgk just reverse-engineered the plugin interface though; is it actually documented anywhere?[2018-7-23. : 10:18 pm] Wormer -- Suicidal InsanitySuicidal Insanity shouted: Just make a trigger plugin, then you can use string API and dump trigger data in binary Text trigger editor for SCMD released as a plugin?![]() [2018-7-23. : 10:14 pm] Suicidal Insanity -- Just make a trigger plugin, then you can use string API and dump trigger data in binary ![]() [2018-7-23. : 10:13 pm] Wormer -- jjf28jjf28 shouted: I have some code that another app could use to send me a new TRIG and/or STR section, though you would have to build the new STR section yourself if we went that route that is a way to go, but first things first I don't want to mess up with str and other stuff -- gonna generate simple "raw triggers format" consisting of raw actions and conditions only[2018-7-23. : 10:12 pm] Wormer -- Actually I plan to support trigger generation in various popular formats: scmdraft, chkdraft, binary format maybe[2018-7-23. : 10:11 pm] jjf28 -- I have some code that another app could use to send me a new TRIG and/or STR section, though you would have to build the new STR section yourself if we went that route[2018-7-23. : 10:09 pm] Wormer -- jjf28jjf28 shouted: that's really what you're doing besides with strings xD strings would be the problem[2018-7-23. : 10:08 pm] Suicidal Insanity -- WormerWormer shouted: jjf28 how does Starcraft react to this? is it valid to have a player with value >1 ? the talk on the eud emulator may include the code. Pretty sure it does if (! player) continue[2018-7-23. : 10:08 pm] Wormer -- jjf28jjf28 shouted: tbh why don't you just give me a binary trigger section? omg, can do haha[2018-7-23. : 10:07 pm] Wormer -- jjf28jjf28 shouted: Wormer ya, I don't see any reason why you'd need to use anything but 0 or 1 for player numbers how does Starcraft react to this? is it valid to have a player with value >1 ?[2018-7-23. : 10:05 pm] Wormer -- jjf28jjf28 shouted: Wormer ya the text trigs for the same are up top screw functional trigger format use this instead (I personally would prefer flags up top, but up to you)[2018-7-23. : 10:05 pm] jjf28 -- though I plan to use it for tracking meta-data http://www.staredit.net/topic/16714/ ![]() [2018-7-23. : 10:03 pm] jjf28 -- WormerWormer shouted: jjf28 but these are only flags, I was surprised how chk format uses bytes for players ya, I don't see any reason why you'd need to use anything but 0 or 1 for player numbers[2018-7-23. : 10:01 pm] Wormer -- jjf28jjf28 shouted: Wormer https://puu.sh/B1TD5/c3c7332702.png but these are only flags, I was surprised how chk format uses bytes for players[2018-7-23. : 10:01 pm] jjf28 -- WormerWormer shouted: jjf28 is it in text? ya the text trigs for the same are up top![]() [2018-7-23. : 10:00 pm] jjf28 -- http://www.staredit.net/sc1db/file/2963/ this utility did the string number defragmenting, the utility has lots of legacy problems though and SI no longer crashes on bad strings though so I don't recommend it[2018-7-23. : 10:00 pm] Suicidal Insanity -- WormerWormer shouted: Suicidal Insanity what happens if you specify a number >1 for a player? Let me check the source ![]() [2018-7-23. : 10:00 pm] Wormer -- jjf28jjf28 shouted: Wormer https://puu.sh/B1TD5/c3c7332702.png is it in text? ![]() [2018-7-23. : 9:59 pm] jjf28 -- WormerWormer shouted: Suicidal Insanity what happens if you specify a number >1 for a player? https://puu.sh/B1TD5/c3c7332702.png[2018-7-23. : 9:58 pm] Wormer -- Suicidal InsanitySuicidal Insanity shouted: Wormer Pretty sure they are all known what happens if you specify a number >1 for a player?[2018-7-23. : 9:58 pm] jjf28 -- WormerWormer shouted: jjf28 Can it change string # in the process? if it's the case, you need to edit all triggers that use that string to specify the new # no, it keeps the same string numbers, defragmenting on that level of string numbers is also something I have code for, but it's not something I do when regularly processing string tables[2018-7-23. : 9:57 pm] Suicidal Insanity -- WormerWormer shouted: Just realized I want Raw Players too to fill for random trigger owners data Pretty sure they are all known![]() [2018-7-23. : 9:57 pm] Wormer -- jjf28jjf28 shouted: what I mean by jjf28 is that I don't try to keep the current string section structure and allow fragmenting and such to do so, every recompile is a de-fragment that loses what the map considers unused string junk Can it change string # in the process? if it's the case, you need to edit all triggers that use that string to specify the new #[2018-7-23. : 9:55 pm] jjf28 -- what I mean by jjf28jjf28 shouted: mm, whenever a string is added, removed, or changed, I go and recompile the string section; I've always kinda hated doing this, but trying to edit strings in-place is insanity is that I don't try to keep the current string section structure and allow fragmenting and such to do so, every recompile is a de-fragment that loses what the map considers unused string junk[2018-7-23. : 9:54 pm] Wormer -- Just realized I want Raw Players too to fill for random trigger owners data ![]() [2018-7-23. : 9:52 pm] jjf28 -- I'm building a new TRIG and STR section that get hot-swapped for the current[2018-7-23. : 9:51 pm] jjf28 -- well no strings are added, changed, or removed until compilation finishes[2018-7-23. : 9:47 pm] Suicidal Insanity -- Well, if you parse 500K text triggers, and every action that touches a sstring triggers a recompile, that's a bunch of sub 10ms calls[2018-7-23. : 9:45 pm] Suicidal Insanity -- I store the string data in memory in a completely custom format. And only dump it into flat data during save[2018-7-23. : 9:43 pm] jjf28 -- mm, whenever a string is added, removed, or changed, I go and recompile the string section; I've always kinda hated doing this, but trying to edit strings in-place is insanity[2018-7-23. : 9:42 pm] Suicidal Insanity -- So if you don't touch any strings the strings are untouched (but realigned), but if you add / delete strings it changes[2018-7-23. : 9:41 pm] Suicidal Insanity -- Although actually that may be incorrect. It may save strings which have reference count of 0, but it will overwrite them if you add a new string for any reason[2018-7-23. : 9:39 pm] Suicidal Insanity -- Ya, it iterates other the array, anything with reference count == 0 is skipped[2018-7-23. : 9:38 pm] jjf28 -- I'm assuming when you go to re-write the string section anything not recognized as a used string in the map is lost, right?[2018-7-23. : 9:34 pm] Suicidal Insanity -- Suicidal InsanitySuicidal Insanity shouted: 11 PM here, still too hot Think Ill watch Ice Age xD![]() [2018-7-23. : 9:34 pm] Suicidal Insanity -- WormerWormer shouted: Suicidal Insanity I like that because after re-save the "invalid data" won't be rewritten with anything if I'm getting this right Classic trigedit only touches data if you edit the trigger line itself. Otherwise its untouched. Text trigedit rewrites everything, so you lose everything that it doesn't understand[2018-7-23. : 9:33 pm] Wormer -- Suicidal InsanitySuicidal Insanity shouted: Wormer My assumption is if the trigger action type does not require a string, do not assume the contents are valid or 0. So I call: bool CTriggerAction::UsesString() const I like that because after re-save the "invalid data" won't be rewritten with anything if I'm getting this right[2018-7-23. : 9:29 pm] jjf28 -- I should change the name there from wavID, that's very misleading since it's actually just a stringNum ![]() [2018-7-23. : 9:26 pm] Suicidal Insanity -- WormerWormer shouted: why not to check a string as used even if it's used under unknown action? My assumption is if the trigger action type does not require a string, do not assume the contents are valid or 0. So I call: bool CTriggerAction::UsesString() const[2018-7-23. : 9:25 pm] Wormer -- WormerWormer shouted: For instance one may want to fill empty action data with specially formed triggers for better compression We might not know 1) how the format will be changed in the future and 2) how people find new ways to use what we have now -- that why I want tool to have access to the most lower data layer possible[2018-7-23. : 9:22 pm] Wormer -- WormerWormer shouted: why not to check a string as used even if it's used under unknown action? this is an answer for Suicidal InsanitySuicidal Insanity shouted: If you invent a new action type 255 which uses a string, that you added with a raw action parameter, that string would not be labeled as in use on map load [2018-7-23. : 9:22 pm] Wormer -- jjf28jjf28 shouted: Wormer well a string in the WAV field or a string in the STRING field will be recognized by Chkdraft https://puu.sh/B1SmT/9ec53af24a.png Yup! see he has time machine! ![]() [2018-7-23. : 9:21 pm] jjf28 -- WormerWormer shouted: why not to check a string as used even if it's used under unknown action? I don't understand what you mean[2018-7-23. : 9:21 pm] Wormer -- why not to check a string as used even if it's used under unknown action?[2018-7-23. : 9:20 pm] jjf28 -- WormerWormer shouted: Suicidal Insanity I wonder how chkdraft handles this corner case? well a string in the WAV field or a string in the STRING field will be recognized by Chkdraft https://puu.sh/B1SmT/9ec53af24a.png[2018-7-23. : 9:20 pm] Wormer -- For instance one may want to fill empty action data with specially formed triggers for better compression |
IskatuMesk, Solstice245