• All, Gmail is currently rejecting messages from my host. I have a ticket in process, but it may take some time to resolve. Until further notice, do NOT use Gmail for your accounts. You will be unable to receive confirmations and two factor messages to login.
Chronocrash Modders Tools

ChronoCrash Modders Tools 0.6.30

No permission to download
Piccolo updated Chronocrash Modders Tools with a new update entry:

Changelog 0.6.25

- Re-enabled script processing in Level Editor (now spawn animations should be changed properly according to perform attack / change animation commands). There is also a new option to disable it manually, in case it causes issues @dantedevil

- Also there are some minor fixes and updates in this version that were done months ago and never ended up in a release. Refer to last requests on the main thread.

- The "sticky files" feature (upper right corner) has also been...

Read the rest of this update entry...
 
Well @Piccolo , I just tried the new version and I have some feedback for you. 😅

There is a display problem with entities of type NONE. As you can see in THIS image, they were displayed correctly in the previous version, but not in the new one. :confused:

Screenshot_1.jpg

The other issue is about the update to see in the stage, the animations assigned to the entities in the spawn. :unsure:
As you can see, I have the FEATURE checked, but it still doesn't work.

Screenshot_2.jpg

Instead of spawning with FREESPECIAL1, which is the designated animation at spawn, it keeps spawning with FOLLOW1, which is the entity's first animation since it doesn't have IDLE.
Code:
spawn Bigspike

@script
void main() {
    performattack(getlocalvar("self"), openborconstant("ANI_freespecial1"));
} @end_script
coords 1215 701
flip 1
at 0
 
@Piccolo I can confirm both issues: neither the spawn animation is working (and I am using the animation name in uppercase)
spawn arcade_2_gates #door 1
@script void main() {
performattack(getlocalvar("self"), openborconstant("ANI_FOLLOW1"));
} @end_script
coords 191 131 0
flip 1
at 0

neither the TYPE NONE spawn position - Pay attention to M.Bison/Vega statue:
0.6.24
5ur1Ky7.png


0.6.25
IMucOc6.png


Both the red outline and the entity itself are in the wrong place.
 
@dantedevil @O Ilusionista It's very very likely that this is just a case issue. Probably the most annoying thing about OpenBOR is that it's case insensitive, but all the basic stuff to handle strings in CMT is not (like in almost all code/programs). I have to convert everything from OpenBOR files to lowercase so that everything is universally processed as lowercase in CMT (while trying to preserve what the users wrote). But in some places of the code I might forget and it's the case here (I just checked). So as of now the feature will work, but only if the animation names you use are consistent. If you use FREESPECIAL1 in some place, Freespecial1 in others and freespecial1 in yet others, in some parts of CMT it will be processed as 3 different animation IDs.

I have stuff like that in my tests files :

Code:
spawn yamazaki
@script
void main() {
    performattack(getlocalvar("self"), openborconstant("ANI_follow7"));
} @end_script
map 1
coords 700 490
at 3400

And it works properly (because the animation in entity model is actually called follow7 and not FOLLOW7 or something like that)

As for the positioning issue, I'm not too surprised. I changed some part of the code few minutes before the update because I realized there were issues like the ones you mention when entities were facing some direction. But I guess by fixing the issues that happened on my test files I introduced new ones. I will look into it !

I'll also make the level script parser case insensitive, but if you want to make it work in the meantime, just use consistent animations names accross files.
 
Well @Piccolo, my animations and spawn seem to be entered correctly, as you just explained to me. :unsure:
So I don't understand why they don't work... :(

C++:
anim freespecial10
@script
void self = getlocalvar("self");

if(frame == 0){
  changeentityproperty(self, "type", openborconstant("TYPE_NONE"));
    changeentityproperty(self, "gfxshadow", 0);
}
@end_script
    offset    22 158
    delay    -1000
        drawmethod remap 1
    frame    data/chars/misc/traps/BSpike8.png
Code:
spawn Bigspike
@script
void main() {
    performattack(getlocalvar("self"), openborconstant("ANI_freespecial10"));
} @end_script
coords 2097 388
at 0
 
Well @Piccolo, my animations and spawn seem to be entered correctly, as you just explained to me. :unsure:
So I don't understand why they don't work... :(

C++:
anim freespecial10
@script
void self = getlocalvar("self");

if(frame == 0){
  changeentityproperty(self, "type", openborconstant("TYPE_NONE"));
    changeentityproperty(self, "gfxshadow", 0);
}
@end_script
    offset    22 158
    delay    -1000
        drawmethod remap 1
    frame    data/chars/misc/traps/BSpike8.png
Code:
spawn Bigspike
@script
void main() {
    performattack(getlocalvar("self"), openborconstant("ANI_freespecial10"));
} @end_script
coords 2097 388
at 0
@dantedevil Please send me your game source in private and I'll check. If this part is correct then it's probably that something is wrongly processed upstream.
 
Piccolo updated Chronocrash Modders Tools with a new update entry:

Changelog 0.6.26

- Level Editor : by fixing an offset bug in last update, another (and bigger) offset bug was introduced. It should be fixed now.

- Level Editor : animations IDs ("ANI_follow1", ...) in script parser are now case-insensitive, to match OpenBOR engine (I still advise users to keep a consistent case across the board to avoid issues ; for example try not to write "ANI_FOLLOW1" in scripts if you have "anim follow1" in your model ).

Read the rest of this update entry...
 
@Piccolo you ever thought about working on the OpenBor engine itself?
Sure, years ago I actually made various changes on a custom build of the engine to support particular features of my mod that weren't fully doable just using scripts.

But now, I don't have time to invest in the engine or even my own game for that matter. CMT I can manage because it's mostly minor stuff/maintenance, and it's more high-level (programming wise) so it's easier to jump into the code now and then and make modifications.
 
@dantedevil Please send me your game source in private and I'll check. If this part is correct then it's probably that something is wrongly processed upstream.
Sorry for the late reply @Piccolo ! 😁

I just had time to properly test the latest version. 😅
The display problem with entities of type NONE it is solved. (y)
But the spawn animation problem, it still persists in my game. :cautious:

I will send you the latest available demo via private message, as you suggested. :)

Thanks my friend!
 
Last edited:
Great update my friend! :D

Now all the stages and the different spawn animations work perfectly for me. 😁

I just found a curious bug, regarding the enemy offsets. 🤔
The selected enemy is located at z 240, but curiously it is seen behind an enemy that is located at z 200.
This stage is the "Sarcade", in the demo that I have shared with you.

1728923466163.png

Everything else I'm testing works perfectly. 💪

Thanks my friend! 🤜🤛
 
I just found a curious bug, regarding the enemy offsets. 🤔
The selected enemy is located at z 240, but curiously it is seen behind an enemy that is located at z 200.
This stage is the "Sarcade", in the demo that I have shared with you.
Hum yes I just checked and the visual Z ordering was missing, so it just took spawn order to define which entity should be behind which.
I fixed it in the code, I will publish a quick update later.

Great to read that everything else work for you now ;)
 
Thanks my friend! :D

ALL works perfect now!!! :cool:

It's really great to be able to work on every stage with this tool you've created. 🤪
I've worked on extremely complex stages, like the giant maze you saw in the demo, but doing it with this tool makes everything so much easier. 🤗

Thank you so much! 👏👏👏
 
Back
Top Bottom