Page 9 of 11

Re: Fill Spectre v3.1

PostPosted: Mon Jul 16, 2018 8:13 am
by ZZYZX
Apeirogon wrote:I know about consoleplayer. I think about desync.
I mean, if at one computer spectre would have tnt1 sprite, and at other same spectre would have wran sprite, this is cause desynchronization, no!?

I don't think picnum affects RNG in any way (if it's the same state). Unless some playsim code later relies on picnum.

Re: Fill Spectre v3.1

PostPosted: Tue Jul 17, 2018 8:15 am
by Pixel Eater
Shader adjusted to work with the smaller chroma sprites so multiple Spectres show again.
Overhauled the sprite rotation handling so it works on relative position rather than relative angle.

Unfortunately the smaller sprites and lack of interpolation create a purple border when either the player or Spectre move. I think unless interpolation can be achieved then the larger sprites might have to return, unless there are any ideas?

ZZYZX wrote:I don't think picnum affects RNG in any way (if it's the same state). Unless some playsim code later relies on picnum.
That sounds promising I think :D

Re: Fill Spectre v3.1

PostPosted: Wed Jul 18, 2018 7:27 am
by Apeirogon
Well, desync doesnt happens in multiplayer...because script dont work at all.
Looks like all different data throw away as "error".

But for singleplayer it works.

zscript_alt3_closest_check.txt

Re: Fill Spectre v3.1

PostPosted: Wed Jul 18, 2018 7:16 pm
by Pixel Eater
I'm trying to get it to work but the further sprites are still purple. Maybe I'm not integrating it correctly? I also tried to test distance with trigonometry but it said GetSpriteIndex wasn't allowed from ui context :(

The .pk3 is getting too large to attach :lol:

Updated the sprite design to be quasi-normal mapped too:
sprite_lut.png

It gives smoothly lensed edges and the ability to make it featureless like The Predator.

Re: Fill Spectre v3.1

PostPosted: Thu Jul 19, 2018 8:19 am
by Apeirogon
Remove " && owner.sprite !=(==) original_sprite_name" strings.

Also, before dividing, check if divisor greater than zero.



Also, zzyzx right and it's like my fault, since after removing "&& owner.sprite !=(==) original_sprite_name" strings monsters in multiplayer begin to change its sprite between "standart" and tnt1.

Re: Fill Spectre v3.1

PostPosted: Sun Jul 22, 2018 3:38 pm
by Pixel Eater
I'm hoping I get a proper chance to try that today or in the next couple of days (going through Hell ATM). I did give it a go already but couldn't give it the attention it deserves :(

Edit: Given some further consideration, I'm not so sure if relying on a single chroma sprite will work. I suspect it will cause distant spectres to show through walls and other closer actors. I'm sorry I even suggested the idea in the first place :oops:

Unless you have any objections I might try concentrating on the version where the rectangular purple outlines became visible only with movement. I think manual interpolation in that version could yield the best results.

Re: Fill Spectre v3.1

PostPosted: Mon Jul 23, 2018 2:44 am
by Gutawer
Hi, I've just looked over the code for this and I'm very grateful that you're using Gutamatics! With that said, though, I'd like to request that you change your prefix to something other than "gutawer" - this is way too generic and defeats the entire purpose of the prefix system. In retrospect this is kind of on me for not putting in a prefix blacklist to the build system, but I'd just like to request that you change this. The point of the prefix system is to make sure that no mod clashes with each other when using Gutamatics (or any of the libraries I end up releasing with this build system). My recommendation would be something like FSP (for Fill Spectre), but choose whatever you want, so long as its unique to this mod. Thanks.

EDIT: I've added input validation to the Gutamatics build system, so hopefully this sort of issue shouldn't arise again.

Re: Fill Spectre v3.1

PostPosted: Mon Jul 23, 2018 8:18 am
by Apeirogon
For reference, I dont use python to rename it all.
Because after I failed to run it first time, I split on it "with saliva, like split all people before the era of historical materialism" and rename all prefix by hand in notepad.

Re: Fill Spectre v3.1

PostPosted: Mon Jul 23, 2018 8:52 am
by Apeirogon
Unless you have any objections...

While gzdoom cant apply shader to sprite in zscript directly, any objections equals to "stop development and conserve all as is".

I think about "transform" spectre sprite to 2d matrix with 4d elements, which embody (r, g, b, alpha) of sprite in some point of sprite, and then comparing on screen sprite-matix with "stored" sprite-matrix and apply shader if each pixels match.
But that require storing all possible spectre sprites as matrix and not so healthy for cpu.

Re: Fill Spectre v3.1

PostPosted: Mon Jul 23, 2018 1:44 pm
by Gutawer
Apeirogon wrote:For reference, I dont use python to rename it all.
Because after I failed to run it first time, I split on it "with saliva, like split all people before the era of historical materialism" and rename all prefix by hand in notepad.

Did you use Python 3? The build script needs Python 3, that's the only reason I can see that it wouldn't work, it's not doing anything crazy. The build script does specify that you need Python 3. Regardless, it's irrelevant because this isn't about what you used to rename the classes.

Re: Fill Spectre v3.1

PostPosted: Mon Jul 23, 2018 8:19 pm
by Pixel Eater
Thanks for the tip Gutawer :)

If I do a search for the string "gutawer_" and replace it with "FSP_" will that work fine, or is this something more advanced? (I'm lost with all this talk about snakes :P)

Re: Fill Spectre v3.1

PostPosted: Mon Jul 23, 2018 8:31 pm
by Pixel Eater
I think about "transform" spectre sprite to 2d matrix with 4d elements, which embody (r, g, b, alpha) of sprite in some point of sprite, and then comparing on screen sprite-matix with "stored" sprite-matrix and apply shader if each pixels match.
But that require storing all possible spectre sprites as matrix and not so healthy for cpu.

That would be like a facial recognition type of thing? Interesting :o

With all the experiments you're doing I have a prediction that you're gonna find a solution to the sprite-clipping problem :rock:

Re: Fill Spectre v3.1

PostPosted: Tue Jul 24, 2018 1:36 am
by Gutawer
Pixel Eater wrote:Thanks for the tip Gutawer :)

If I do a search for the string "gutawer_" and replace it with "FSP_" will that work fine, or is this something more advanced? (I'm lost with all this talk about snakes :P)

That should work, yeah.

Re: Fill Spectre v3.1

PostPosted: Tue Jul 24, 2018 2:29 am
by Apeirogon
Gutawer wrote:Did you use Python 3? The build script needs Python 3, that's the only reason I can see that it wouldn't work, it's not doing anything crazy. The build script does specify that you need Python 3. Regardless, it's irrelevant because this isn't about what you used to rename the classes.

Yes, all by instruction.

And I mention it because of this
EDIT: I've added input validation to the Gutamatics build system, so hopefully this sort of issue shouldn't arise again.

Re: Fill Spectre v3.1

PostPosted: Wed Aug 08, 2018 6:02 am
by Apeirogon
Okay, so matrix "way" show me that Im not "the chosen one" and matrix need to wait another neo.
Because this is create too much load on cpu and not practical.

Now I think about fill silhouette of monster sprite with some color, say color of wet ocean wave with jellyfish, and then apply "green screen" shader with this color as "target" for replacing. Gzdoom can do so using setshade function.
Why fill? Because this is give opportunity to change shader target color and spectre color on fly, to avoid applying of shader to non spectre actors.

But it require any way to find out what colors gzdoom already draw on screen, to change spectre and shader "target" color. And I dont know how check it.