Chronocrash Modders Tools

ChronoCrash Modders Tools 0.7.9.10.1

No permission to download
Here is my suggestion for the colors (I noticed the non-active tabs have the same colors of the active one in dark mode, so here is an idea):
job1Wce.png


I am using #111111 (171717) for the non-active tabs
 
For some reason this animation gets attack 0 0 0 0 0 added out of nowhere when i save the char...

Oh actually attack 0 0 0 0 0 gets added to ton of anims now


Code:
anim    freespecial10

    loop    0
    offset    86 256
    bbox    59 25 75 232
    delay    3
    fastattack    1
    forcedirection    -1
    attack 0 0 0 0 0 0 0 0 0 0
    dropv 5.0 12.0
    frame    data/chars/heman/p_k_1.gif
    sound    data/chars/heman/kick.wav
     frame    data/chars/heman/p_k_2.gif
     delay  5
     frame    data/chars/heman/p_k_3.gif
          hitfx    data/sounds/beat2.wav
     blast    41 19 227 251 20 970 1 0 0 60
    attack 0 0 0 0 0 0 0 0 0 50
    dropv 3.0 9.0
     frame    data/chars/heman/p_k_4.gif
     blast 0 0 0 0 0 0 0
     frame    data/chars/heman/p_k_5.gif
     frame    data/chars/heman/p_k_4.gif
          frame    data/chars/heman/p_k_5.gif
     frame    data/chars/heman/p_k_4.gif
     frame    data/chars/heman/p_k_6.gif
          delay 7
     frame    data/chars/heman/p_k_7.gif
     frame    data/chars/heman/p_k_8.gif
     frame    data/chars/heman/p_k_9.gif
It's because some commands are actually tied to attack boxes. Like dropv here for example. dropv is basically an extension of attackbox. It can't really exist without an attack box, even if implicit.

As CMT also supports the new style of commands (attack.property), whenever CMT recognizes an attack property in legacy mode (dropv, hitfx, ...), it makes sure there is an attack definition tied to it. This makes it way easier to not mess things when cycling from text to GUI, and when switching from legacy commands to new commands style.

So don't really worry about it, those added attack are not random at all, it just makes explicit something that was implicit.
 
Last edited:
And just for curisity: any reason for the tabs to be bigger in the dark mode?
Nope probably just some random discrepancy in width definition between the light and dark theme settings.


But in the dark mode, there is a black text over the white one, which makes it very hard to read
I'm no getting what you are referring to :unsure: I see them all white over black.


Also I see that the search icon is not showing up, will try to fix this.
 
Last edited:
But Piccolo, those added attack 0 0 0 0 0 0 disabled my attack and make it not work, otherwise i wouldnt notice, so i do worry about that and also imo it should not happen and logic should be tighter here when it gets applied, attack 0 0 0 0 0 should not exist if lines above dont have attack enabled .

So fastattack triggers it too and should be near attack box command ? I kinda need to know all situations where attack 0 0 0 0 0 might get added without me knowing

What if editor would just move fastattack near attack box definition, but yeah dropv was just a leftover and fastattack i defined at the beginning of animation , there wasnt restricion on where it should be afair
 
But Piccolo, those added attack 0 0 0 0 0 0 disabled my attack and make it not work, otherwise i wouldnt notice, so i do worry about that and also imo it should not happen and logic should be tighter here when it gets applied, attack 0 0 0 0 0 should not exist if lines above dont have attack enabled .
It's probably because you defined an attack property alone, after having defined an attack on a previous frame.

And yes fastattack is totally an attack property under the hood.

But I get what you mean. If you set fastattack alone it shouldn't disable a previously set attackbox. I'll see what I can do.

Alas it's harder to handle conditions like this in CMT than it is in the engine, because the engine only have to read the text animation and interprets it the way it wants, while CMT need to allow the interpretation to be translated back into a text animation. So it's delicate to match engine behavior.

For example in the interpreted animation, the engine doesn't care if a value was explicitly set or was just assumed. For example if attack is 0, the engine doesn't care if it's because it's default value or because user wrote "attack 0". But in CMT it's important because when recreating animation text I can't clean in text animation "attack 0" that was set by user, while I should clean it if it's default value.


In the meantime the only commands that currently triggers this are : dropv, hitfx, hitflash

EDIT : ok I added some checking gymnastics in new update, normally it will prevent this from happening. Hopefully it won't break anything, but it is certainly possible that it will under some conditions. I did some testing and seems like everything is ok. But if something is now broken let me know.
 
Last edited:
I was about to report the empty attack line. I was working on a new animation, and the tool added the highlighted line:
36430xw.png

Probably thanks to the "jugglecost"?

Maybe it will be good to limit the icon size in the tool bar, because too big icons deforms the HUD a bit:
qfX0Ck4.png


Also, last night I had my first case of "corrupted" file using CMT. As I added a spawn animation, the tool stopped to process the idle animation, and it didn't show in the animation list. When I open the same character on stats, I saw the animation there.

From what I see, the tool doesn't add an empty line after the animation, so the new animation had no empty line from the previous one, which made the animation to not display in the animation list

And another behaviour that I had: I was editing a character, tested in on game, then I went back to the tool, jumped at another entity and when I got back, all my previous modifications on the previous character were gone - it was restored to the previous version before I open the tool. And I don't use tool autobackup, as I work on my dropbox.
What baffles me is that I was able to test the character in game with all the new stuff, but once I got back to the tool, they were gone.

This is kinda serious.

Maybe, to bypass this, if you modify an entity and click into another entity, the tool would display a save warning?
 
I was about to report the empty attack line. I was working on a new animation, and the tool added the highlighted line:
Not jugglecost, hitflash and hitfx (basically all the red colored lines = tied to attack in CMT). But should no longer happen in last revision though.
 
And another behaviour that I had: I was editing a character, tested in on game, then I went back to the tool, jumped at another entity and when I got back, all my previous modifications on the previous character were gone - it was restored to the previous version before I open the tool. And I don't use tool autobackup, as I work on my dropbox.
What baffles me is that I was able to test the character in game with all the new stuff, but once I got back to the tool, they were gone.
Yeah I don't know, this seems impossible to me if you tested the character and the new stuff was actually in game. It means the file was saved and CMT never reverts saved files to what they were before saving, the worse it can do is re-reads them exactly as they are saved.

But it made me realize a very serious issue that can certainly happen though.,, if you change from character A to character B (while staying in entity editor) without saving, then you will lose unsaved progress made on character A in entity editor, because the entity editor will re-read the file. This needs to be fixed. But it's different from what you mentioned. Unless the new changes weren't actually ingame, in that case it's exactly the bug I'm mentioning.

This bug could never happen before because until recent versions you couldn't directly load an entity into entity editor, you had to pass through the text editor (and then click on animation tab), and passing through it triggered updates to the file that was currently edited in entity editor.

So yeah now that entities can be directly loaded in entity editor I need to add a trigger.

Maybe, to bypass this, if you modify an entity and click into another entity, the tool would display a save warning?
Yeah it's exactly here that a triggers need to be added. But there no need for a warning, just updating the text model will do.
 
Just a quick note, in case it matters for the editor. Fastattack is not a property. At all. It literally does not exist. It's one of those many, many, read in sanitizers that probably seemed like a good idea for ease of use that have over time just caused confusion. Here's how it actually works:

Attacks and entity objects have the following members: attack->next_hit_time, and entity->next_hit_time.

Whenever an attack collision is checked, if entity->next_hit_time >= elapsed_time, the hit is ignored. Assuming the hit is successful, the target's entity->next_hit_time is set to the attack's attack->next_hit_time + elapsed_time. The default value of attack->next_hit_time is 0, but when updating entity->next_hit_time, 0 values are ignored and GAME_SPEED / 5 is used instead. (GAME_SPEED is currently 200). In other words, by default all entities get 40 engine updates (equivalent to an animation delay 40, or about 40 real life centiseonds) of invincibility to subsequent attacks whenever they take a hit.

As the engine reads in attacks from the model sheet, encountering "Fastattack" causes the engine to set the attack->next_hit_time to GAME_SPEED / 20. So entities hit with "fastattacks" only get 10 updates of invincibility, but there's no fastattack property to speak of anywhere. And yes, that means that subsequent attacks will still miss if they come and go in less than 10 total delay.

The up to date attack box command "attack.reaction.invincible.time" gives you direct access so you can just set it to the amount you prefer.

HTH,
DC
 
Last edited:
Yep I knew :) What I meant is fastattack command alters attack.something, it's not tied to the animation but to the attack. In CMT everything that eventually alters attack.something is considered part of the attack definition.

It makes it way easier to handle both the old style and the new style.
 
I know you should have a lot things to do, but I would like to know if its possible to add something like this: a visual preview of the minz and maxz or the stage
Take a look at the orange and purple lines:
karjvg8.png
 
I know you should have a lot things to do, but I would like to know if its possible to add something like this: a visual preview of the minz and maxz or the stage
Take a look at the orange and purple lines:
karjvg8.png

Should be pretty easy. Those values are always defined outside specific level file isn'it ? (In levels.txt)
 
Should be pretty easy. Those values are always defined outside specific level file isn'it ? (In levels.txt)
for now, yes, at the levels.txt
If I got it right, this will be open to script down the road.

Also, there is no way to hide walls, holes and basemap now, right?
maybe a "hide geometry" checkbox could control it
 
Also, there is no way to hide walls, holes and basemap now, right?
maybe a "hide geometry" checkbox could control it
In stages with lot of geometry would be easy to just wanting to display only walls or platforms etc.
Hide walls, platforms, holes, individually would be nice, plus another checkbox to hide all of the above at the same time.
 
Hey, Piccolo. Could you make an animation comment to be saved as a label after changing the comment of the animation and/or saving the character file? What I mean is that you edit the comment next to your animation name under animation tab, and then your edited text/comment appears next to it, whether you save the file or not. Maybe you don't need a refresh button just for seeing your edited animation label. Look at freespecial19 for example.

12-2-2023 11-55-25 PM.png
 
Are You able to add a button so when i click it then it executes a file like a bat or exe? So i can run openbor from it or run my bat scripts ?
I have many windows opened and it would be just faster to have a button that will open the app for me.

Do You guys know what the easiest way to reload character in actual stage ?
Will load command in my attack actually reload playable char and its all frames and texts etc ?
 
Back
Top Bottom