Chronocrash Modders Tools

ChronoCrash Modders Tools 0.7.11.4

No permission to download
@Piccolo I tried the new version but its crashing right at start
View attachment 15834
Looks like it can't find the path themes/editor
Hum weird. You can fix this by copying the "themes" folder (in the root folder of the zip folder) in the "_internal" folder (in the root folder as well). Thanks for the report.

EDIT : I republished the zip with this fix. Hopefully it's enough.
 
Last edited:
Hello! Thank you for this wonderful program! However, I haven't been able to use it for a long time because it doesn't work correctly for me. Sprites don't load at all. On top of that, all objects like Player, Enemy, etc., are categorized as "Type None". Levels also display incorrectly—or rather, there are no sprites and no background images for the levels. In short, all the data is there, but there are no images. I thought it might be due to Cyrillic characters in the file paths, but the path to my project doesn't contain any Cyrillic. I don't know what's wrong, but I've been wanting to try your program for a long time and just can't. I have to use obeditor instead. I have attached the screenshots below.
 

Attachments

  • CMT_Select.png
    CMT_Select.png
    149 KB · Views: 7
  • CMT_Animations.png
    CMT_Animations.png
    332.8 KB · Views: 7
  • CMT_level.png
    CMT_level.png
    191.4 KB · Views: 7
Avoid using special characters in both file paths and files. Probably they are blocking the images to load.
I checked, and there are no special characters in the file paths. However, there is Cyrillic in the scripts, but only inside the comments. Since I am Russian, commenting in English is difficult for me because my English is not very good.
 
Hello! Thank you for this wonderful program! However, I haven't been able to use it for a long time because it doesn't work correctly for me. Sprites don't load at all. On top of that, all objects like Player, Enemy, etc., are categorized as "Type None". Levels also display incorrectly—or rather, there are no sprites and no background images for the levels. In short, all the data is there, but there are no images. I thought it might be due to Cyrillic characters in the file paths, but the path to my project doesn't contain any Cyrillic. I don't know what's wrong, but I've been wanting to try your program for a long time and just can't. I have to use obeditor instead. I have attached the screenshots below.
Hello, send me your mod (the data folder, zipped) and I can investigate the issue. With just your screenshots it's unclear ;)
 
I checked, and there are no special characters in the file paths. However, there is Cyrillic in the scripts, but only inside the comments. Since I am Russian, commenting in English is difficult for me because my English is not very good.
I had installed a couple of non-English languages to my computer, and one of them was Japanese. I switched to Japanese for testing the animation labels after your report on receiving an error upon typing any non-Latin character. I'm unable to save the file with these characters unless I remove them from these labels.

Code:
anim attack #このファーストアタック
    delay 6
    offset 142 190
    bbox 126 97 20 92
    frame data/chars/heroes/athena/ps/113_0.png
    bbox 120 95 38 92
    frame data/chars/heroes/athena/ps/113_1.png
    bbox 122 101 48 88
    attack 134 107 74 34 100 0 0 0 0 0
    frame data/chars/heroes/athena/ps/113_2.png
    attack 0
    frame data/chars/heroes/athena/ps/113_3.png
    frame data/chars/heroes/athena/ps/113_4.png
    frame data/chars/heroes/athena/ps/113_5.png

I got notified with this error after attempting to save it:
Something went wrong during write process, saved canceled

Code:
Traceback (most recent call last):
  File "\\VBoxSvr\Partage\CMT\cmt.py", line 407, in saveFile
  File "gui\main\__init__.py", line 398, in save
  File "gui\main\fileselector.py", line 289, in save
RuntimeError: No active exception to reraise

When I save it with CMT, I'm unable to. But when I save it in external files, I'm able to.
 
I was having an issue with missing icons on the previous file
Yeah it was the same issue you had, but with another folder that needed to be moved as well. I think I fixed all potential folders in the reupload

Question: How this "notes" works?
Oh yeah I forgot I added this in the meantime. It just lets you take notes that autosave. Notes are a bit like temporary text files that you could otherwise open in an external text editor to note random things you need to do / remember.

When you are in the notes tab you need to click the + button to the left to create a new note. The title of the note defaults to the current date.

It's basically a backport of another app that I made that I included in CMT as well.
 
@Piccolo
Is there a way to prevent the .c1 files showing up when browsing for scripts? iOr perhaps a way to move them to a different location?
I'll look into this. The only thing you can do right now is disable this backup system (Main menu bar -> Options -> Disable basic auto-backup). There's still the advanced autobackup so, no risks. I'll probably disable this basic auto backup by default in next release.

I'll add a filter in next release as well to do what you wanted (filter out those files in the browser).
 
Hello, send me your mod (the data folder, zipped) and I can investigate the issue. With just your screenshots it's unclear ;)

Hello again, I found the cause. It happens because of Cyrillic (Russian) characters. Here is an example of the animations and what the issue is.

C:
Anim    Follow20 #Idle Grab
    @script
        void self = getlocalvar("self");
        // Включаем физику, чтобы персонаж падал, если не на земле
        changeentityproperty(self, "subject_to_gravity", 1);
        changeentityproperty(self, "subject_to_platform", 1);
        changeentityproperty(self, "antigravity", 0);

        int p_index = getentityproperty(self, "playerindex");
        int keys = getplayerproperty(p_index, "keys");
        int newkeys = getplayerproperty(p_index, "newkeys");
        int deadline = getentityvar(self, "grab_deadline");
        int now = openborvariant("elapsed_time");
        if(deadline == NULL()){
            setentityvar(self, "grab_deadline", now + 3000);
        } else if(now > deadline){
            setentityvar(self, "grab_deadline", NULL());
            changeentityproperty(self, "animation", openborconstant("ANI_Follow22"), 1);
            return;
        }
        float vx = 0;
        float vz = 0;
        int moving = 0;
        if(keys & openborconstant("FLAG_MOVEUP")){ vz = -1.5; moving = 1; }
        if(keys & openborconstant("FLAG_MOVEDOWN")){ vz = 1.5; moving = 1; }
        if(keys & openborconstant("FLAG_MOVERIGHT")){ vx = 1.5; changeentityproperty(self, "direction", 1); moving = 1; }
        if(keys & openborconstant("FLAG_MOVELEFT")){ vx = -1.5; changeentityproperty(self, "direction", 0); moving = 1; }

        // Получаем текущую вертикальную скорость (tossv)
        float vy = getentityproperty(self, "tossv");
        // Устанавливаем скорость, сохраняя вертикальную составляющую
        changeentityproperty(self, "velocity", vx, vz, vy);

        if(moving){
            setentityvar(self, "grab_deadline", now + 3000);
            if(getentityproperty(self, "animationid") != openborconstant("ANI_Follow21"))
                changeentityproperty(self, "animation", openborconstant("ANI_Follow21"), 1);
        } else {
            if(getentityproperty(self, "animationid") != openborconstant("ANI_Follow20"))
                changeentityproperty(self, "animation", openborconstant("ANI_Follow20"), 1);
            // Останавливаем горизонтальное движение, не трогая вертикаль
            changeentityproperty(self, "velocity", 0, 0, vy);
        }
        if(newkeys & (openborconstant("FLAG_ATTACK") | openborconstant("FLAG_ATTACK2"))){
            setentityvar(self, "grab_deadline", NULL());
            changeentityproperty(self, "animation", openborconstant("ANI_Follow22"), 1);
            return;
        }
    @end_script
    Loop    1
    Delay   1
    Offset  57 98
    Bbox    55 53 11 44
    NoKill  1
    @cmd    depost2 0 4 30 0
    @cmd    position 2 5 48 1 0
    Frame   Data/Chars/Dragons/Grab_Walk_01.png

Is it possible to add Cyrillic support to the program? This would prevent such issues from happening. I tested another mod that doesn't use Cyrillic characters, and everything works perfectly — the project loads fine, and the sprites display correctly. However, when I try to open my own CMT projects, they load with errors, issues, and completely missing sprites.

In short, the root cause is the Cyrillic text inside the comments, such as
Code:
 // Первый экземпляр ленты
r

Here is a specific example of the animation script code that triggers the errors:

C:
# =============================================================
# БАЗОВЫЕ АНИМАЦИИ (стойки, ходьба, бег, подъём)
# =============================================================

Anim    Idle
    @script
        void self = getlocalvar("self");
        // Сброс состояния горизонтальной лестницы
        setentityvar(self, 10, NULL());
        // ... остальной сброс ...
        // Сброс блокировки вертикальной лестницы, если клавиша U отпущена
        int iPIndex = getentityproperty(self, "playerindex");
        if (!playerkeys(iPIndex, 0, "moveup")) {
            setentityvar(self, "climb_block_u", NULL());
        }
        // Обычный код
        changeentityproperty(self, "subject_to_gravity", 1);
        changeentityproperty(self, "subject_to_platform", 1);
        changeentityproperty(self, "subject_to_wall", 1);
    @end_script
    Loop    1
    Delay   10
    Offset  57 98
    Bbox    55 50 8 48
    @cmd    clearGrab
    Frame   Data/Chars/Dragons/Idle_01.png
 
I had installed a couple of non-English languages to my computer, and one of them was Japanese. I switched to Japanese for testing the animation labels after your report on receiving an error upon typing any non-Latin character. I'm unable to save the file with these characters unless I remove them from these labels.

Code:
anim attack #このファーストアタック
    delay 6
    offset 142 190
    bbox 126 97 20 92
    frame data/chars/heroes/athena/ps/113_0.png
    bbox 120 95 38 92
    frame data/chars/heroes/athena/ps/113_1.png
    bbox 122 101 48 88
    attack 134 107 74 34 100 0 0 0 0 0
    frame data/chars/heroes/athena/ps/113_2.png
    attack 0
    frame data/chars/heroes/athena/ps/113_3.png
    frame data/chars/heroes/athena/ps/113_4.png
    frame data/chars/heroes/athena/ps/113_5.png

I got notified with this error after attempting to save it:


Code:
Traceback (most recent call last):
  File "\\VBoxSvr\Partage\CMT\cmt.py", line 407, in saveFile
  File "gui\main\__init__.py", line 398, in save
  File "gui\main\fileselector.py", line 289, in save
RuntimeError: No active exception to reraise

When I save it with CMT, I'm unable to. But when I save it in external files, I'm able to.

Yes, so the problem is definitely caused by those characters.
 
Hello again, I found the cause. It happens because of Cyrillic (Russian) characters. Here is an example of the animations and what the issue is.

C:
Anim    Follow20 #Idle Grab
    @script
        void self = getlocalvar("self");
        // Включаем физику, чтобы персонаж падал, если не на земле
        changeentityproperty(self, "subject_to_gravity", 1);
        changeentityproperty(self, "subject_to_platform", 1);
        changeentityproperty(self, "antigravity", 0);

        int p_index = getentityproperty(self, "playerindex");
        int keys = getplayerproperty(p_index, "keys");
        int newkeys = getplayerproperty(p_index, "newkeys");
        int deadline = getentityvar(self, "grab_deadline");
        int now = openborvariant("elapsed_time");
        if(deadline == NULL()){
            setentityvar(self, "grab_deadline", now + 3000);
        } else if(now > deadline){
            setentityvar(self, "grab_deadline", NULL());
            changeentityproperty(self, "animation", openborconstant("ANI_Follow22"), 1);
            return;
        }
        float vx = 0;
        float vz = 0;
        int moving = 0;
        if(keys & openborconstant("FLAG_MOVEUP")){ vz = -1.5; moving = 1; }
        if(keys & openborconstant("FLAG_MOVEDOWN")){ vz = 1.5; moving = 1; }
        if(keys & openborconstant("FLAG_MOVERIGHT")){ vx = 1.5; changeentityproperty(self, "direction", 1); moving = 1; }
        if(keys & openborconstant("FLAG_MOVELEFT")){ vx = -1.5; changeentityproperty(self, "direction", 0); moving = 1; }

        // Получаем текущую вертикальную скорость (tossv)
        float vy = getentityproperty(self, "tossv");
        // Устанавливаем скорость, сохраняя вертикальную составляющую
        changeentityproperty(self, "velocity", vx, vz, vy);

        if(moving){
            setentityvar(self, "grab_deadline", now + 3000);
            if(getentityproperty(self, "animationid") != openborconstant("ANI_Follow21"))
                changeentityproperty(self, "animation", openborconstant("ANI_Follow21"), 1);
        } else {
            if(getentityproperty(self, "animationid") != openborconstant("ANI_Follow20"))
                changeentityproperty(self, "animation", openborconstant("ANI_Follow20"), 1);
            // Останавливаем горизонтальное движение, не трогая вертикаль
            changeentityproperty(self, "velocity", 0, 0, vy);
        }
        if(newkeys & (openborconstant("FLAG_ATTACK") | openborconstant("FLAG_ATTACK2"))){
            setentityvar(self, "grab_deadline", NULL());
            changeentityproperty(self, "animation", openborconstant("ANI_Follow22"), 1);
            return;
        }
    @end_script
    Loop    1
    Delay   1
    Offset  57 98
    Bbox    55 53 11 44
    NoKill  1
    @cmd    depost2 0 4 30 0
    @cmd    position 2 5 48 1 0
    Frame   Data/Chars/Dragons/Grab_Walk_01.png

Is it possible to add Cyrillic support to the program? This would prevent such issues from happening. I tested another mod that doesn't use Cyrillic characters, and everything works perfectly — the project loads fine, and the sprites display correctly. However, when I try to open my own CMT projects, they load with errors, issues, and completely missing sprites.

In short, the root cause is the Cyrillic text inside the comments, such as
Code:
 // Первый экземпляр ленты
r

Here is a specific example of the animation script code that triggers the errors:

C:
# =============================================================
# БАЗОВЫЕ АНИМАЦИИ (стойки, ходьба, бег, подъём)
# =============================================================

Anim    Idle
    @script
        void self = getlocalvar("self");
        // Сброс состояния горизонтальной лестницы
        setentityvar(self, 10, NULL());
        // ... остальной сброс ...
        // Сброс блокировки вертикальной лестницы, если клавиша U отпущена
        int iPIndex = getentityproperty(self, "playerindex");
        if (!playerkeys(iPIndex, 0, "moveup")) {
            setentityvar(self, "climb_block_u", NULL());
        }
        // Обычный код
        changeentityproperty(self, "subject_to_gravity", 1);
        changeentityproperty(self, "subject_to_platform", 1);
        changeentityproperty(self, "subject_to_wall", 1);
    @end_script
    Loop    1
    Delay   10
    Offset  57 98
    Bbox    55 50 8 48
    @cmd    clearGrab
    Frame   Data/Chars/Dragons/Idle_01.png
Hello, there must be some other factor, probably the encoding of the files. Because it works fine when I copy paste your text in some of my existing characters. I cannot fix the bug if I can't reproduce it, which is why it's always better to send full data.

Again, my guess is that it's not the Cyrillic characters themselves but the charset encoding that the EXTERNAL files come up with. CMT tries to work in UTF8 as much as it can, so new files created in CMT are UTF8 encoded and from there everything is smooth. But if the files come, from outside, and have special encoding then issues like this can happen. I already added layers to support some of them. If you want me to support yours, then at least send one of the problematic txt files itself (not just its content).
 
Hello, there must be some other factor, probably the encoding of the files. Because it works fine when I copy paste your text in some of my existing characters. I cannot fix the bug if I can't reproduce it, which is why it's always better to send full data.

Again, my guess is that it's not the Cyrillic characters themselves but the charset encoding that the EXTERNAL files come up with. CMT tries to work in UTF8 as much as it can, so new files created in CMT are UTF8 encoded and from there everything is smooth. But if the files come, from outside, and have special encoding then issues like this can happen. I already added layers to support some of them. If you want me to support yours, then at least send one of the problematic txt files itself (not just its content).
Okay, I understand. Once I upload the project to the cloud, I will send you the link.
 
Back
Top Bottom