Staredit Network > Forums > SC1 Mapping Tools > Topic: Chkdraft Project
Chkdraft Project
Oct 9 2012, 12:42 am
By: jjf28
Pages: < 1 ę 11 12 13
 

Apr 8 2017, 4:32 am jjf28 Post #241

Cartography Artisan

Quote from Zoan
jj, it would also be cool if there was a 'wav-length to number of trigger cycles' converter for the lazy.

If you or anyone can get me a formula I'll add it, won't spend my time researching it tho ;)



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

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

Apr 8 2017, 5:12 am NudeRaider Post #242

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from jjf28
Quote from Zoan
jj, it would also be cool if there was a 'wav-length to number of trigger cycles' converter for the lazy.

If you or anyone can get me a formula I'll add it, won't spend my time researching it tho ;)
It's so simple, it's hardly worth it. Then again, it's also super simple to add...

Playing a wav that is x seconds long finishes in 1000/84 * x = ~11.9x trigger cycles. When in doubt, round the calculated number of trigger loops down, because even tiny gaps are much more noticable than the same length of overlap.




Apr 9 2017, 11:48 pm jjf28 Post #243

Cartography Artisan

Update 2017-04-09 - Download Latest

Feature Changes:
    - Completed Sound Editor
    - Can now edit extended strings through the string editor
    - (Other stuff... it's been a while)

Bug/Error fixes:
    - (Lotsa stuff... it's been a while)

Code changes:
    - (Lots of little things, no overhauls)




As for sound editor there's two small pending items: playing multiple sounds at once (requires a real sound library), wav time in hyper cycles display (easy, but I forgot and I have no time for another release today).

Special delivery for Oh_Man: you can now select a string from your map to use as the WAV's mpq path, and easily avoid unnecessary string use.

Haven't fixed the conditions/actions dropdown on WINE, sorry, put that on the backlog though: https://github.com/jjf28/Chkdraft/issues/112

Post has been edited 1 time(s), last time on Apr 9 2017, 11:54 pm by jjf28.



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

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

Apr 10 2017, 5:18 am NudeRaider Post #244

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from jjf28
Did you know SEN sometimes butchers your special chars? Here's how to avoid it:

Code
Feature Changes:
[color=transparent]____[/color]- Completed Sound Editor
[color=transparent]____[/color]- Can now edit extended strings through the string editor
[color=transparent]____[/color]- (Other stuff... it's been a while)


Result:
Feature Changes:
____- Completed Sound Editor
____- Can now edit extended strings through the string editor
____- (Other stuff... it's been a while)




Apr 10 2017, 8:32 am Oh_Man Post #245

Find Me On Discord (Brood War UMS Community & Staredit Network)

Quote from jjf28
Special delivery for Oh_Man: you can now select a string from your map to use as the WAV's mpq path, and easily avoid unnecessary string use.
Wow nice man, this feature is a god send for people that want to recycle their WAVs.

The old way I had to get my string I wanted to recycle:
<06>W<1D>olf

Turn it into the special code that WINMPQ only accepted:
Wolf

Then I had to go into trigedit, and change any WAVs to point to the new WAV name, using a third type of code:
"\x006W\x01dolf"

How exactly does the new process work?




Apr 10 2017, 12:15 pm jjf28 Post #246

Cartography Artisan

- Note wherever the WAV is used
- Remove WAV
- Browse for WAV
- Select Use Custom Path and the string you want to use
- Hit add
- Point all triggers to the new WAV

Now that you've asked the question I see it would probably be even more convenient to change the string/wav location on a WAV already in the map... Neways things for later.



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

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

Apr 17 2017, 3:26 am jjf28 Post #247

Cartography Artisan

Command System Development

I'm developing a command system for Chkdraft...
    Design Goals
        - Support ACID command groups
        - Support synchronous and asynchronous commands
        - Support using commands in mapping core while maintaining mapping cores re-usability (todo)
        - Support solid error handling both in mapping core and in Chkdraft (todo)
        - Support registering listeners to specific commands and types of commands (todo)
        - Possibly support a hierarchy of commanders/executors (to explore)

My primary motivation for developing a command system is achieving simple ACID transactions, I've spent far too much time developing methods which equate to running a group of commands in series and rolling back as much as possible if something fails; these methods get really complicated and as such many of them currently cannot support undos (e.g. string changes, WAV changes) - with the system I'm developing this should be as simple as defining what set of base-level commands go into something, writing the do/undos for those base-level commands, and the commander will take care of the rest.

Another motivation for this change is making it easy for network-IO to be fed into the command buffer, which should make it relatively easy to do group-mapmaking and greatly simplify plugin development.



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

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

Apr 30 2017, 11:00 pm Wormer Post #248



jjf28, why do you use SFmpq and not StormLib? What are advantages to use one over the other?



Some.

May 1 2017, 3:46 am jjf28 Post #249

Cartography Artisan

When I first asked about MPQs Farty recommended SFMpq, I don't know anything about their respective differences.



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

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

May 1 2017, 9:04 am Wormer Post #250



Ok, thanks! By the way, are you sure:




Some.

May 1 2017, 12:01 pm jjf28 Post #251

Cartography Artisan

absotively



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

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

May 1 2017, 12:56 pm NudeRaider Post #252

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from Wormer
Ok, thanks! By the way, are you sure:
The more important question is, why are you not sure? :P

But yeah it's correct. As far as sc's trigger engine is concerned there is no trigger owned Force X or All Players. They all get converted to dedicated Players during loading of the map.




May 1 2017, 3:29 pm Wormer Post #253



Yeah I thought if they are getting converted then there is only 1 trigger for P1. But now that you're telling I recall there was a thing about it! Nah, getting older, starting to forget stuff :(



Some.

Jan 2 2018, 2:53 am jjf28 Post #254

Cartography Artisan

Update 2018-01-01 - Download Latest

Was playing around with EUDs when it became apparent I couldn't enter full unsigned 32-bit numbers and that copy/pasting conditions/actions was going slowly (tediously refreshing after each and every cell change), this release was mainly to address those issues. I also made it past most of the biggest blockers in the command system, I may be able to take that live soon.

Feature Changes:
- Removed the unused cells in conditions and actions

Bug/Error fixes:
- Fixed performance issues with pasting conditions/actions
- Fixed an issue where conditions/actions would only accept signed 32-bit integers and not unsigned 32-bit integers
- Fixed an issue where the trigger list would display incorrectly after copying a trigger
- Trig modify window now closes rather than shouting errors when the last trigger(s) are deleted
- Fixed a bug where the trig modify window would always be shown when a new trigger was selected
- Fixed an issue where triggers had a slight risk of picking up junk data upon creation

Code changes:
- Command code (not used yet, needs extensive testing) with non-acid/acid, sync/async, still needs listener design
- Error handling code
- Logging framework, modeled after log4j
- Player box toggle for twelve or eight players
- Enums for NumericComparison, NumericModifier, SwitchState, and SwitchModifier



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

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

Jan 8 2018, 5:10 am jjf28 Post #255

Cartography Artisan

Update 2018-01-08 - Download Latest

Bug/Error fixes:
- Fixed an issue where new maps/saving maps in a new saveType (e.g. original, hybrid, expansion) wouldn't update the size of the location section (as a consequence new maps/maps that changed saveTypes would not load in StarCraft)
- Fixed an issue with Custom condition parser leaving off the last argument
- Fixed an issue where Chkdraft would crash on exit due to smart pointer invoking delete on a pointer to std::out
- (Added Hotfix for issue where command thread would stay open after Chkdraft closed that was uncovered after fixing the exit crash)

I'm pretty sure there was no affect to re-saving an existing hybrid/expansion map, but on the off-chance you changed between one of the saveTypes in Chkdraft your map may not load in StarCraft due to a non-resized location section, simply load up your map and hit save again to fix (or look in chkd/Backups for a copy of your map before you saved), if you need any further help with recovery please let me know.

Post has been edited 1 time(s), last time on Jan 8 2018, 6:02 am by jjf28.



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

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

Jan 9 2018, 4:50 am jjf28 Post #256

Cartography Artisan

Update 2018-01-08 (Next Evening) - Download Latest

Feature Changes:
- Added a set memory action
- Added a setting to have memory conditions/actions use the address rather than the playerId by default
- (Hotfixed issues with persisting the deathTableOffset and parsing addresses into playerIds)


Code changes:
- Moved settings parsing/saving to its own class

Post has been edited 1 time(s), last time on Jan 9 2018, 5:51 am by jjf28.



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

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

Feb 3 2018, 5:21 pm jjf28 Post #257

Cartography Artisan

Update 2018-02-03 - Download Latest

Feature Changes:
- Text trigs now refreshes by clicking the refresh button, rather than refreshing automatically and potentially wiping out changes the user is making

Bug/Error fixes:
- Fix for map settings window not getting destroyed/showing up upon minimizing/restoring Chkdraft
- Fix for pastes for layer-linked objects (units, locations) activating while pasting in non-layer-linked dialogs (e.g. text trigs)
- Fix for save-as not carrying over mpq resources (e.g. WAVs), note: regular save(s) was properly carrying over mpq resources
- Fix for certain dialog windows persisting after all maps are closed
- Fix for bug where the last trigger would vanish from text triggers if the final line of text provided was a single line comment
- Fix for text trig condition/action colons not being accepted on new lines
- Fix for disabling extended actions in text triggers causing the action to get garbled

Code changes:
- Clarified what the save-as file-copy was doing
- Adjusted the text trig compiler to not rely on the null terminator expected in std::string.c_str() but rather add its own

Post has been edited 1 time(s), last time on Feb 3 2018, 7:39 pm by jjf28.



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

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

Feb 4 2018, 2:28 am jjf28 Post #258

Cartography Artisan

Hotfixes and stuff 2018-02-03 - Download Latest

Feature Changes:
- Added an option to fill similar tiles with the new tile value on paste
- Modified compile and save to just save when there are no text trigger changes to compile

Bug/Error fixes:
- Fixed the positioning of the text trigs refresh button on resize
- Fixed an issue where the text trigger window was not being properly destroyed when closed (resulted in text trigs not refreshing upon re-open)
- Fixed an issue where classic triggers were not parsing exact matches correctly (fallout from the way the vanishing trigger was fixed)
- Fixed an issue where text triggers were not working correctly with extended strings



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

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

Jul 2 2018, 5:24 am jjf28 Post #259

Cartography Artisan

Haven't been as active on this as I would prefer due to work, but there is a fair amount going on that I thought I might update everyone on...

Large scale refactoring in-progress:
1.) Unit testing is now setup using GTest and tests can be added to any Chkdraft code with ease.
2.) Code is now split up into several projects in the solution, introduction of unit tests forces at least some project separation, but to improve performance the solution has been fractured further than would otherwise be required (where before all 261 files had to be recompiled every time taking several minutes, now only the modified project needs to be recompiled), this also further enforces separation of concerns, which was already loosely in place along the mapping core/windows ui lines, and now also on the command system.
3.) Organized documentation of any project configuration settings (project dependencies, predefined macros, any compiler options non-standard to VS2017), configuration in visual studios is a huge pain, organizing and documenting this has helped greatly in this refactor and should help if refactoring again or if parts of the project are reused elsewhere.
3.) Unicode support, following the philosophy UTF-8 everywhere except adjacent to system calls; will be making a larger effort to support internationalization at some point, but for now just making the required high-level changes for full unicode support.
4.) While still a bit tentative I'll most likely be breaking up with SFmpq, StormLib inspired more confidence on the unicode front, has better cross-platform support, is similarly open source, uses an MIT License (same as Chkdraft), doesn't appear to have any further external dependencies to complicate things, and generally seems more up to date.
5.) Commands - much of the framework was finished and tested, but given how complex much of the logic ended up being, it required unit tests to fully iron out, and given the extent of the refactoring required to use commands I wanted any project/solution-level refactors sorted out before going further - meaning unicode and separating out projects in the solution - lest I end up doubling my work later.



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

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

Options
Pages: < 1 ę 11 12 13
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[12:59 pm]
TF- -- Anitoch
[05:57 am]
Voyager7456 -- Mini Moose 2707
Mini Moose 2707 shouted: OK, I give a shit about some of you, but I'm also kinda horny
:teach:
[04:03 am]
Pr0nogo -- yes you do
[03:00 am]
KrayZee -- But I don't want shit
[02:26 am]
Mini Moose 2707 -- OK, I give a shit about some of you, but I'm also kinda horny
[02:02 am]
Pr0nogo -- nah, you just want kisses again
[02:02 am]
Mini Moose 2707 -- I give a shit about all of you (◕‿◕)
[10:59 pm]
Pr0nogo -- u
[10:49 pm]
O)FaRTy1billion[MM] -- u
[08:12 pm]
Dem0n -- FaRTy1billion
FaRTy1billion shouted: Dem0n why would you want a footer when a signature is a thing?
because who gives a shit
Please log in to shout.


Members Online: jun3hong, Roy, jjf28, CaptainWill, Dem0n