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 « 48 49 50 51 5260 >
 

Jul 24 2019, 10:01 am IlyaSnopchenko Post #981

The Curious

I meant the Multilingual User Interface like in MS Windows and Office, the system that makes the program (presumably) draw all locale-specific asset from a swappable file making language localizations easy. Maybe who knows, if SCMDraft is the almost-official editor now, some day people would request a Korean version. :) I would've volunteered to make at least Russian and maybe also Chinese localizations.

I think StarEdit had something like this already...

But if you're not envisioning it, it's fine by me. I know English well enough, just daydreaming again.



Trial and error... mostly error.

Jul 24 2019, 10:10 am Suicidal Insanity Post #982

I see you !

I thought you meant multiple users editing the same map, that has been requested before.

Still also no plans for localization, porting it to unicode was more boring / annoying work than I usually have to do at my paid job, and this is probably worse ;(

Staredit loads localized dialog resources and string tables from DLLs.




Jul 24 2019, 10:21 am IlyaSnopchenko Post #983

The Curious

Yeah I remember all those SEditPTG.LOC (and whatnot) files. They all went the way of the dinosaur along with StarEdit. I still have the copy from 1.16 tho.

Say... me and another Russian user active here have been experimenting with Russian text and while it works fine in the editor the game (Remastered) doesn't support it correctly. At the same time the game has support for Cyrillic text (and presumably any language out there due to it being Unicode). Is the problem inherent to the map format (like, it can't store two-byte characters and whatnot)? I'm sorry if I'm asking dumb questions because I'm not at all privy to the inner workings of the game, nor proficient in programming in any way.



Trial and error... mostly error.

Jul 24 2019, 11:16 am Suicidal Insanity Post #984

I see you !

I think SC 1.16 only supports english and korean. There may have been a japanese version later on.

SC:R should support any language, but you need to set the codepage in scmdraft profile settings to 65001 (I think that is correct - whatever CP_UTF8 is). That does not work with external plugins, and isn't extensively tested.




Jul 24 2019, 3:09 pm IlyaSnopchenko Post #985

The Curious

I think I had that one set. So do I need to retype strings / resave the maps that have the Cyrillic text? (I'm not actively pursuing the creation of maps with Cyrillic text but other people do, and down the road I may be in the market for this feature if I'm ever to exhume / update my old campaign that came in two language versions...)

In 1.16 I was using the font files from an old pirate localization. Dunno how I got them (or how the original authors were able to cobble them together)... didn't even have that version on me, as I was always only after the genuine English language one... But it was almost 20 years ago and the files had been with me ever since, go figure (I remember sending them over to you once for study). Just like with all the pre-Unicode software that made Cyrillic available, it was done at the expense of the extended characters like the Latin letters with diacritic marks and some other symbols.

EDIT: WTF - that option doesn't stick, and is reset to "off" every time I open the Profile settings window again???

Post has been edited 1 time(s), last time on Jul 24 2019, 3:15 pm by IlyaSnopchenko.



Trial and error... mostly error.

Jul 24 2019, 6:27 pm Suicidal Insanity Post #986

I see you !

Right now it does not convert any strings you don't edit, to minimize unexpected changes. In theory it could get a "convert" button in the future to convert from one codepage to another.


Meh that is annoying - I fixed it and will upload an alpha tonight. That option originally was a command line toggle which is why it never was added to the save / load code :(




Jul 24 2019, 7:46 pm IlyaSnopchenko Post #987

The Curious

Aha, thanks. I also got around to providing custom datafiles (well... mostly stock MPQs but with a small addition :)) to the editor, and I have a question: do I have to provide strings in .tbl format rather than .xml to have the custom unit names from my mod seen in SCMDraft? (.xml doesn't seem to work)

P.S. I forgot whether you have fixed the trigger editor spacebar action? (to toggle conditions / actions on and off)
P.P.S. It just dawned on me that while the Sound Editor has a Play button, there is no way to stop a wave being played???

Post has been edited 2 time(s), last time on Jul 24 2019, 8:32 pm by IlyaSnopchenko.



Trial and error... mostly error.

Jul 24 2019, 10:40 pm Suicidal Insanity Post #988

I see you !

I think I currently only load one string table as XML, not all of em.

Spacebar: I haven't added that yet. I consider that an improvement not a bug fix so wasn't in a huge hurry, wanted to catch up on other things for a few days now that the release is our.

You can press the "mute" button.




Jul 25 2019, 7:03 am IlyaSnopchenko Post #989

The Curious

Ah, I thought Mute works in a different way while it's actually just what I need, thanks. It didn't occur to me to try before posting. :D

So what do I do to get my custom unit names in the editor?



Trial and error... mostly error.

Jul 25 2019, 7:37 am Pr0nogo Post #990



If you mean the properties window and in classic trigger/briefing editors, you'll need to import a rez\stat_txt.tbl file. Not sure if SCMDraft recognizes modded stat_txt.xml files, if not maybe SI can add support so you don't have to make two copies of it (though you should have a 1161 compatible exe so you can debug your AI, might as well have a tbl file at that point).




Jul 25 2019, 12:47 pm IlyaSnopchenko Post #991

The Curious

Thanks. I'll cobble together a stat_txt.tbl file then. No big deal.



Trial and error... mostly error.

Aug 9 2019, 9:18 am Wormer Post #992



A quick question here: does SCMD support MemoryAddr with CP-trick? and especially the masking facility? How bit-mask translates internally, what kind of SC:R trick is it?



Some.

Aug 9 2019, 9:55 am Suicidal Insanity Post #993

I see you !

Bitmask is just a SC:R specific extension for EUDs that is intended to vastly simplify setting flags or individual bytes - as far as I know the EUD emulate for sets the internal mask to 0xFFFFFFFF if its not a bitmask EUD trigger.




Aug 9 2019, 11:02 am Wormer Post #994



I've been studying this presentation, but couldn't find a hint on slides 57 and 58 that can shed the light on this feature. The mask might be exposed through pCond and accessed in macro GET_EUD_ADDR in condition (eud_cond_deaths), but there is nothing like that in action (eud_set_deaths), unless q is not an op-code. Suppose something has changed since then.

Anyway, now I see the updated wiki page on TRIG mentions that in all details as well (thanks jjf28 for keeping things up to date!). The support for masking CP-trick death conditions/actions is lacking :( In form of new primitives 'EUD: Memory Value CP (Masked)', 'EUD: Modify Memory CP (Masked)', maybe? :rolleyes:

An unrelated note. The last byte in the trigger has it's name 'char bCurrAction', hence used internally by SC to store the current action (page 83 in that presentation linked above).



Some.

Aug 9 2019, 11:59 am Suicidal Insanity Post #995

I see you !

So you want a EUDx trigger type that forces the player setting to 'current player', unit to 0 (or arbitrary?), and then value and mask?




Aug 9 2019, 12:18 pm Wormer Post #996



So you want a EUDx trigger type that forces the player setting to 'current player', unit to 0 (or arbitrary?), and then value and mask?
Yes, that is needed when you want to access a dereferenced pointer and apply mask. In my opinion unit to 0 is sufficient in this case.

ADDED:
Quote from Wormer
In my opinion unit to 0 is sufficient in this case.
I've written this and then thought it might be useful to modify the CP-base by Unit-offset. Unfortunately that goes in multiples of 12 may not be as useful. But extra flexibility could have it's use when 64 actions aren't enough, so arbitrary is better if default 0 is there for no-click :P

Post has been edited 1 time(s), last time on Aug 9 2019, 12:26 pm by Wormer.



Some.

Aug 9 2019, 1:19 pm Wormer Post #997



Code from this thread gives a good practicle example for such an optimization.

This is what we try to achive without optimizationsshenanigans (map size 128x128 = 16384 triggers):
Collapsable Box

Optimization without using unit to offset (512 triggers for 128x128 map size):
Collapsable Box


Optimization with unit to offset (263 triggers for 128x128 map size):
Collapsable Box


Less triggers 512 vs 263, FTW! :hurr: :D

ADDED:
Without bit-masking it's hardly possible to optimize anything, more so each test requires ~50 triggers for countoff. Makes things practically impossible, unless you do self-modifiyng triggers trgk kung-fu in STR to make a loop of a kind.

Post has been edited 4 time(s), last time on Aug 9 2019, 2:34 pm by jjf28. Reason: fixed link



Some.

Aug 9 2019, 3:49 pm Suicidal Insanity Post #998

I see you !

I can add additional pseudo trigger types for SetDeaths / CheckDeaths, I just want to clarify which parameters to add.

So:
- DereferenceCP( Sets player to 'current player', unitID == param1, value == param2, add/set/subtract == param4 )

- DereferenceCPMasked( Sets player to 'current player', unitID == param1, value == param2, mask == param3, add/set/subtract == param4 )

Something like that? (Ignore the parma order for now)




Aug 9 2019, 4:51 pm Wormer Post #999



- DereferenceCP( Sets player to 'current player', unitID == param1, value == param2, add/set/subtract == param4 )

- DereferenceCPMasked( Sets player to 'current player', unitID == param1, value == param2, mask == param3, add/set/subtract == param4 )
Yes, my variant would be to match those names and params to MemoryAddr:
MemoryDerefCP(param1 == UnitID, param2 == Modifier, param3 == Value)
Masked MemoryDerefCP(param1 == UnitID, param2 == Modifier, param3 == Value, param4 == Mask)

For their textual representations in classic trigedit I would choose something like this.

Actions:
Modify memory at Death Table + *CP + 12 * UnitID (== *CP + 0x89ABCDEF): Modifier Value.
Modify memory at Death Table + *CP + 12 * UnitID (== *CP + 0x89ABCDEF): Modifier Value, using bit-mask 0xFFFFFFFF.

Conditions:
Memory at Death Table + *CP + 12 * UnitID (== *CP + 0x89ABCDEF) is Modifier Value.
Memory at Death Table + *CP + 12 * UnitID (== *CP + 0x89ABCDEF) is Modifier Value, using bit-mask 0xFFFFFFFF.


Variants of names for text trigedit: MemoryAddrCP, MemoryDeref.

Post has been edited 1 time(s), last time on Aug 9 2019, 5:06 pm by Wormer.



Some.

Aug 9 2019, 11:24 pm Pr0nogo Post #1000



Though niche in its utility, I would love to see a feature that involves cloning custom mpqs to a temp directory while SCMDraft is open using the profile that loads those mpqs. Offering a relaunch button to quickly reload the data and reload all opened documents would combine with such a cloning feature to make changing editor-based mod data such as tilesets, unit stats, graphics, etc much less of a hassle.




Options
Pages: < 1 « 48 49 50 51 5260 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:41 am]
v9bettel -- Nice
[01:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
Please log in to shout.


Members Online: IlyaSnopchenko, Roy, jun3hong