Jump to content

Pin2Dmd Editor


lucky1

Recommended Posts

  • Content Provider
7 hours ago, darden78 said:

The problem is "no retrigger" function just won't retrigger the scene only if it find the same keyframe, but if it finds a different keyframe with same scene assigned, the scene restarts.

That means if it finds 5 keyframes i assigned same animation , you'll see the animation start for a second to restart instantly after and so on untill the 5th keyframe.

 

new version V4.51
- don´t retrigger ColMaskLoop and Replace_No_Retrigger mode even if different start keyframes are used.

Link to comment
Share on other sites

19 hours ago, lucky1 said:

 

new version V4.51
- don´t retrigger ColMaskLoop and Replace_No_Retrigger mode even if different start keyframes are used.

sorry, just a question: do i have to update just the pin2dmd or the sysxdmd board too?

Link to comment
Share on other sites

updating the firmware i solved my problems and now an animation is not retriggered if the same keyframe or a different one (but with same animation assigned) is triggered.

now i have another similar problem and this time i think it's an editor function i need.

because, with sysxdmd, ALL the animations have to be selected in "no retrigger" mode, but there are some animation i need not to be triggered by another one.

i need them to start and finish without being interrupted by any other trigger/animation.

i need a kind of "replace no retrigger at all" function, where, if i select this function, an animation starts and plays untill the end even if it is retriggered by itself or triggered by another one.

is it possible?

Link to comment
Share on other sites

  • Content Provider

I already had this discussion with @NetzZwerg .  A pinball is a interactive realtime machine, so playing an animation and suppressing everything else is possible but does not make sense in my opinion. What about a tilt message ? Should it be suppressed then or not ? I would say it should be displayed and no matter what animation is currently running.  You should make sure that your animations are long enough to fit into the time of the text displayed you want to replace or if you run a modified ROM adjust the time the text is displayed to the time of the animation. 

Link to comment
Share on other sites

While you're kind of on the topic, and in a similar kind of request:

 

Would a "colormask freeze" frame type be possible? in my head it would behave like a normal color mask frame/sequence, but when the last frame activates the display freezes all content until such time as another trigger fires; that is, the colormask stops being a color mask and insteads behaves like a static replace, persisting the last displayed dots on the screen, until such time as another trigger fires. The key thing here is it would actually freeze the display dots when the mask was applied to the frame and would allow for another technique in replacing transitions in dynamic scenes.

 

Maybe this isn't even possible, or the timings of things would make this difficult to implement or inconsistent in its use (i guess there is some ms delay between the last frame dots being sent, the hash detection running and the color mask applying, such that the next set of dots may already be being sent?), but figured I might as well ask while you're talking about that kind of thing. Hasten to add not suggesting this would be an indefinite freeze, any other trigger firing would resume the display back to normal, and maybe even the last frame delay of my imaginary "colormask freeze" type could control the maximum length of time the frame will freeze for.

Link to comment
Share on other sites

47 minutes ago, lucky1 said:

I already had this discussion with @NetzZwerg .  A pinball is a interactive realtime machine, so playing an animation and suppressing everything else is possible but does not make sense in my opinion. What about a tilt message ? Should it be suppressed then or not ? I would say it should be displayed and no matter what animation is currently running.  You should make sure that your animations are long enough to fit into the time of the text displayed you want to replace or if you run a modified ROM adjust the time the text is displayed to the time of the animation. 

i give you same example but contrary...

...if i have an animation for "tilt", it shouldn't be stopped by another one so it make sense to have a no retrigger at all (i know if tilt is on no other frame appears but it was just an example),

i think there are important animations and secondary ones and the principal ones need not to be replaced by secondary.

In Pinsound they use this system for sounds and it works.

Anyway, you can absolutely be right, but giving the possibility to the user to chose if use this function or not is just an option which doesn't create any problem

Link to comment
Share on other sites

  • Content Provider
13 hours ago, darden78 said:

Anyway, you can absolutely be right, but giving the possibility to the user to chose if use this function or not is just an option which doesn't create any problem

 

It is not only a change in the editor it is also a change on the firmware and on that side the code should be as easy as possible to be handled as fast as possible.

From my side it is not only about giving users the features they want, it is also about having the code as efficient as possible to make e.g. video modes work properly.

Anyway I came up with an idea which would not additionally complicate the code but bring a solution for you. What I can do is that ReplaceNoRetrigger scenes

will not be interrupted by other RepNoRT scenes but would be interrupted by any other scene type. That way your animation will run till the end and if you need it to be interrupted you need to make sure you use a different scene type like single frame replacement scene or colormask. Would that work for you ?

 

About your pinsound comparison have in mind that the eye is much faster than the ear.

Link to comment
Share on other sites

11 hours ago, lucky1 said:

 

It is not only a change in the editor it is also a change on the firmware and on that side the code should be as easy as possible to be handled as fast as possible.

From my side it is not only about giving users the features they want, it is also about having the code as efficient as possible to make e.g. video modes work properly.

Anyway I came up with an idea which would not additionally complicate the code but bring a solution for you. What I can do is that ReplaceNoRetrigger scenes

will not be interrupted by other RepNoRT scenes but would be interrupted by any other scene type. That way your animation will run till the end and if you need it to be interrupted you need to make sure you use a different scene type like single frame replacement scene or colormask. Would that work for you ?

 

About your pinsound comparison have in mind that the eye is much faster than the ear.

no, it can't work, because in this way i can fix my single problem, but it would be a problem for all the other scenes, because in sysxdmd (as i sayd) i had to use RepNoRet for all (or quite all) my animations, what you propose could fix this problem but create other 100 :-).

The only solution i find is modify the animations i need not to be cut making them shorter and as long as the original animation, it won't be easy and i have surely to change them, but i think this solution is better for my use.

Link to comment
Share on other sites

  • Content Provider
19 hours ago, slippifishi said:

@lucky1 did you see my request? I think it got lost in between messages!

 

 

 

This could be something that could changed for the ColorMask Sequence Mode since it relies on detection of every single frame in the scene. I will have a look ! 

Link to comment
Share on other sites

56 minutes ago, lucky1 said:

 

This could be something that could changed for the ColorMask Sequence Mode since it relies on detection of every single frame in the scene. I will have a look ! 

 

That would be awesome if it was possible; to help try and communicate exactly what I am getting at, I prepared two animations. This is what the machine generates and sends to the display:

example.gif

 

This is what I would like the display to show instead; note the 'freeze' on the clean ACMAG award and ACMAG total screens which cover the transition behind:

example_modified.gif

 

The timings are broken in these examples (thanks GIMP), but pretend they have the same runtime. This is a genuine example of my desired use case because the ACMAG values in demoman transition out randomly (left, right, up, down, fade, wipe) and while in theory I could try and capture and colour all the transitions, the transition back to the main score is always going to be a pain. If it helps I am pretty indifferent about the DLL side, as long as this happened on physical PIN2DMDs then I'd be sorted (and no more excuses to put off redoing demoman!).

Link to comment
Share on other sites

  • 2 weeks later...

OK so I will shamelessly admit I only recently updated my editor to the latest version as I was waiting to finish SP, and I hate to say it but the new rectangle behaviour with a toolsize => 2 stinks!! :) I understand its purpose, but I think the use case is so specific it either ideally belongs in it's own tool icon, or the rectangle tool size should be default to tool size 1 when switching between tools (or even better, each tool cache its own tool size separately and restore when going back to that tool). I guess it probably depends on the artist and how they approach things; I love my dithered gradients so I very often switch between rectangle and line with a tool size of 2 selected and the new rectangle behaviour keeps catching me out!  

 

I am also noticing some strange behaviour with the flood fill tool, maybe a bug? I understand the changes that were made so that fill size =>4 should flood fill all instances of the target colour in a scene globally vs. the old behaviour whre this value was 3. However if I am shuffling through frames quickly with the arrow keys and using this tool with a size of 4 or more, it sometimes acts as if it's tool size 2 or 3 instead of 4 and I end up having to click another dot in the scene; sometimes it wakes back up straight away on that second click, but sometimes it still behaves like size 2 or 3 for a few more seconds and I have to click on a few extra dots, maybe 4 or 5, before it will wake up again. I can't replicate this consistently, but I'm definitely not imagining it - I will let you know if I find any pattern. My best guess is it might relate to this feature that was added - I am very quickly spamming my way through frames with the keyboard and clicking the same dot, so maybe the form is counting this as a long-press mouse click?

 

Loving the new frame offset buttons though, I can already imagine how much time this will save me hunting for credit dots and 8digit/7digit full screen value triggers.

Link to comment
Share on other sites

  • Content Provider
1 hour ago, slippifishi said:

each tool cache its own tool size separately and restore when going back to that tool

 

We will see what we can do but since I know that you know how to code maybe have a look at the source of the editor yourself 😉 

Link to comment
Share on other sites

On 5/28/2023 at 8:03 PM, slippifishi said:

I am also noticing some strange behaviour with the flood fill tool, maybe a bug?

 

I have figured this out, FYI; if you move the mouse at all, in any direction, while you have the mouse button pressed, this will count as a click-drag. Arguably it should, I moved the mouse after I initiated the click, but it's very, very sensitive; aggressive or speed-clickers beware.

Link to comment
Share on other sites

  • 3 weeks later...
  • Content Provider
On 5/28/2023 at 9:03 PM, slippifishi said:

or even better, each tool cache its own tool size separately and restore when going back to that tool

 

Just uploaded a updated version of the editor. Please check !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...