#Haxeflixel - a free, open-sourced game framework built in Haxe!

1 messages Β· Page 2 of 1

analog talon
#

I might want to use the analog meta for moving around, but I might also want to use my keyboard for that

keen mica
#

Oh, i see

analog talon
#

I wouldn't call it nieche

keen mica
#

Wasd as a joystick makes sense

analog talon
#

So for actual analog input it would behave as expected, but for keyboard it should simply clamp the analog values to - 100% to 100%

#

So for left/right A would be -100% and D 100% (and none 0%)

keen mica
#

I assume you meant like this:
TY
FGJ
CVB

#

My mistake

analog talon
#

Oh no I didn't mean that

#

All good though

#

Personally I don't use haxeflixel but this is the first thing that came to mind

#

Cool use of macros though!

keen mica
#

But yeah ill keep that in mind

analog talon
#

Alright :D

#

Just in case for reference:

Value of cam.x given the following scenarios:
- no key or analog input: 0
- analog halfway left: - 0.5
- analog halfway right: 0.5
- key left: - 1
- key right: 1

#

Ah discord formatting messed up

#

Anyhow that is how I personally feel like something like this should work

floral sonnet
#

Interesting. Is this coming in a flixel release soon ? Can I look at the code somewhere ?

keen mica
floral sonnet
#

Ok. Cool. Makes sense

stark lintel
#

that's a really cool feature

keen mica
#

Thanks!

#

it's been in the works for a while because macros are the devil

primal stirrup
#

ah, semmi has competition

keen mica
#

at what?

#

sticking his fist up in the air and cursing the esoteric war crime known as macros?

stark lintel
#

he has an agnostic input library

#

similar concept to this feature

keen mica
#

oh neat

tired nacelle
#

This is also similar to mine lol, at least from the screenshot

#

It’s a very approachable and highly useful macro

keen mica
#

Every time i tried to describe what I was doing, I always expected people to say "all that work just so you can say controls.pressed.JUMP instead of controls.pressed(JUMP)?", so this makes me happy to hear others want this

lavish pilot
#

I really want this as well

#

the code I use for controls is so messyy

#

this is way more compact and smol and greater to work with even

keen mica
teal temple
#

This is a FlxControls moment

keen mica
#

can i get these messages translated to millenial meme formats?

analog talon
humble imp
# keen mica

this is exactly what I tried to do with my own kludged input system using FlxSignals

#

yours is a lot neater

#

does it work for multiple controllers?

keen mica
#

you create an instance per player, and set which gamepad each use. or you can make one instance use all gamepads

#

it doesn't support, say: making A on pad1 jump and A on pad2 do something else

floral sonnet
#

One question I had. Will this work if you want to allow the user to customize the key or control mappings ?

keen mica
floral sonnet
#

Oh. Cool.

drowsy bone
#

I should go give a try. I've been using Will's simple controller for years at this point πŸ˜‚ Maybe time for a refresh / update on how I do controls. πŸ‘

keen mica
#

or with

import flixel.addons.input.FlxControlInputType.FlxKeyInputType.Analog2D as Keys2D;

i did

Keys2D(K, I, L, J)
analog talon
#

What is the behaviour?

keen mica
#

note: its down up because flixel/openfl flips the y axis, so DOWN should be 1 and UP: -1

analog talon
#

Ah

#

Cool!

keen mica
#

but yeah, it makes those four keys give results similar to a gamepads analog stick

analog talon
#

Yeah that is amazing

#

reduces the effort needed by the user to support pc/console compatiblity

#

Very nice man, I like it!

keen mica
#

thanks for the suggestion

analog talon
#

No worries!

dense pike
#

lookin at the haxeflixel website (more specifically a demo) and it seems some text is formatted wrong fyi [as in broken markdown trying to load a site typed wrong from what i see, there's spaces and no domain thing at the end so no .com like the rest do]

not sure if this message belonged in the forum or the channel so uhhh oops

keen mica
#

i ended up having time, just now

keen mica
#

On each demo page

muted star
#

Oh

keen mica
#

it's done, and there's 3 demos to look through

#

it needs flixel 5.9.0 but i may put effort in to make that not needed

#

oh wait I need to merge the PR

muted star
#

Any information about Flixel 6.0.0 main changelogs and bugfixes?

keen mica
muted star
#

No unfortunately

keen mica
#

1 sec

muted star
#

Thanks

keen mica
#

most bug fixes are going into 5.9.0

#

if not all

#

6.0.0 is more about removing old deprecated things and adding features that depended on breaking changes

muted star
#

Wow, 5.9.0 got alot new main changes and removals for what i see

keen mica
#

the removals are in 6

muted star
#

I see

keen mica
#

but yeah 5.9.0 is huge because I keep adding onto it and i'll go do other things instead of actually releasing it

muted star
#

Neat

muted star
#

It got alot removed features from other packages

keen mica
#

yep

#

though all of those have been deprecated for... I think a year

muted star
#

I see

keen mica
#

but funkin modders tend to ignore compile warnings, so there may still be a day of reckoning

muted star
#

Alright

#

Just to know what is new changelogs about 5.9.0 and yeah, 6.0.0

keen mica
#

yeah hope this helps

muted star
keen mica
#

yeah there's new deprecations in 5.9.0

muted star
#

So they have to change those packages, codes, etc.

#

On their projects

keen mica
#

i recommend trying out the github dev branch at this point

#

just because it's taking so long

muted star
#

Hmmm, probably they use a git instead of latest release from haxelib

#

They want to try new features added into :D

keen mica
#

I assume most people use haxelib latest, I meant I'm telling people to try the git, lately

muted star
#

Ye

#

Most are using latest release from haxelib, but less from git

#

I want to ask, but what is the most stable? Haxelib or git

keen mica
#

haxelib will always be more stable

#

I rarely turn around and undo changes in git, but it absolutely is possible

muted star
#

Hmmm, seems promising. Git is like a unstable branch and it can break sometimes

#

So Haxelib will be better choice

keen mica
#

once things are released, i can't remove them or change their intended behavior until the next major version

#

but that said, I think git dev branch is still pretty stable

#

I tend to go back and forth on how to implement new features before they ever get merged to dev

#

so once its in dev it will stay like that 99% of the time

#

but haxelib is 100% of the time

muted star
#

That's something when i release stuff on GitHub, I can't change or add something after release tag

keen mica
#

yeah

muted star
#

Because git can sometimes fail to download that package from their source

#

It's not my internet stability and speed

#

My internet these days is find

#

I can barely download 1GB file for 10 minutes

teal temple
#

I cant wait for flixel 6

muted star
muted star
#

Oh, yeah

#

I misreaded your message

muted star
keen mica
muted star
#

O

#

A new feature added into FlxG

#

Oh

#

Wait

#

That was 11 months ago

keen mica
muted star
#

Nice

south pivot
#

haxeflixel blog now has rss feed πŸ™‚

muted star
#

Awesome

#

Love it

muted star
#

Yes

keen mica
#

Gonna release 5.9.0, just as soon as I write the blog post

#

which I hate doing

teal temple
#

get gpt to do it /j

#

oh my god FINALLY-

keen mica
teal temple
keen mica
#

which is something people seem to do a lot

teal temple
barren tendon
#

I end up getting used to bugs like these so i dont make an Issue about it

#

If you asked me if I knew about any important bug in haxeflixel i'd have said no lol

keen mica
#

complacency killed the cat

floral sonnet
#

I know it's a pain to stop what you are doing and log an issue, more so do a PR, but it helps everyone in the long run.

oblique fossil
keen mica
#

Fair

keen mica
#

I try to have a comment whenever my code had to work around something anyway

floral sonnet
#

yeah - I usually doc why I have to do something unexpected. I haven't used VSC tracking for todos that much but that's a good idea

keen mica
#

I use this one

keen mica
#

Released flixel-ui 3.2.6*

dense pike
#

awesome

keen mica
#

flixel-addons 3.3.0, too

keen mica
#

flixel-demos 3.2.1, whoop

keen mica
keen mica
compact willow
#

oh hey FlxFlicker has pause and resume now, coolio

#

i remember i had to ask a friend for help on that and the solution to pausing and un-pausing FlxFlicker was pretty jank before 5.9.0, glad that it's simpler now

oblique fossil
#

@keen mica the patch notes on haxelib for flixel is tbd lol

keen mica
oblique fossil
keen mica
#

submitted a new one, should be fixed soon. Thanks!

compact willow
oblique fossil
keen mica
keen mica
#

released flixel-ui 2.6.3

teal temple
#

#tools message lol

keen mica
muted star
#

Nice

frank mantle
#

raycasting more like

#

raytracing

cosmic inlet
keen mica
#

And others

keen mica
oblique fossil
keen mica
#

I know little about web stuff, but that thumbnail doesn't actually show on the page I linked, it's used in the demo list page

oblique fossil
keen mica
#

I don't think it's a discord thing, or at least I think discord uses something else that's used by various clients

#

I bet theres a standardized way to ensure what your page's preview looks like

#

It might be as simple as hiding the image in the page somewhere

oblique fossil
analog talon
#

also "Esc" to lose focus would be nice, but maybe not

#

could be handy as an option

dawn carbon
analog talon
analog talon
oblique fossil
dawn carbon
#

I believe this is what discord (and a bunch of other platforms) use https://ogp.me/

#

Shouldn't be too hard to implement

keen mica
#

good to know

keen mica
humble imp
#

if you use a static site generator or a dynamic one then you can relatively easily set up the thumbnail

#

for example, my site

GOOP.WTF

Things to do with the multi-platform game framework, HaxeFlixel.

#

oh my mistake, didn't see opengraph had already been mentioned, I forget which I used but it's probably both

keen mica
#

I don't feel bad for pinging flixel for this since blog posts only happen once every 17 years

dense pike
#

holy moly haxefricksel blog

#

what a lot of cool stuff

#

even if i don't understand half of it

#

the volume keys being ignored in an input text thing is great honestly

keen mica
#

thanks

#

happens here too

dawn carbon
#

Im guessing TBD is not supposed to be here...?

keen mica
#

!

#

fixed thanks

low breach
#

FlxInputText redo? Fantastic!

south pivot
#

cute lil embed work, different colors for different sections of the site πŸ™‚

dawn carbon
#

oh thats such a cool idea

frank mantle
#

we're flixeling with this one

south pivot
#

might do it so that these bits in the header are underlined in those colors as well

dawn carbon
#

very fun! i love seeing the flixel colors used around the site, it adds a lot of charm

teal temple
keen mica
#

its really our best bit of branding

south pivot
#

shoutouts adamatomic back in 2008 with the og flixel colors

oblique fossil
teal temple
keen mica
#

Can just use the rainbow f from the flash logo

oblique fossil
lavish pilot
#

***F***lixel

#

I love flixel's colors ngl

muted iris
oblique fossil
#

Will you need to use haxe 4.3 or newer in flixel 6

keen mica
#

no, but I really recommend it

#

4.3 allows me to suppress specific deprecation warnings, I imagine that everyone using haxe < 4.3 on flixel 5.9 has dozens of deprecation warnings on lines in flixel, and they're ignoring the ones in their project

keen mica
#

all those warnings are things kept in for backwards compatibility, many of them will go away in 6.0.0, but not all

#

anyone here using < 4.3?

keen mica
#

oh that double pings, maybe the showcase isn't neccesary

primal stirrup
#

i would just do it in #flixel

floral sonnet
#

Why the :: syntax rather than the usual . ?

keen mica
#

thought it might distiguish bewteen static fields and instance fields

primal stirrup
#

damn george trying to convert us to c++

floral sonnet
#

Thank goodness he didn't choose lisp syntax πŸ™‚

dense pike
#

a haxe library containing the ultimate power

#

CHAOS CONTROL

floral sonnet
#

Nice improvements. Cool

keen mica
#

probably gonna remove all the currently deprecated things in a flixel 7 branch sometime in Feb, though flixel 7 likely wont be released for a while

teal temple
#

Flixel 7, openfl 10, lime 9

oblique fossil
#

when are the api docs gonna get updated

#

they are several versions out of date

frank mantle
#

we getting visual overhauls but the actual documentation is outdated

#

πŸ”₯

dense pike
#

api website ui redes when? πŸ”₯ /j

dawn carbon
#

it shows up updated for me

frank mantle
#

the documentation

oblique fossil
frank mantle
#

not the version

#

lmao

oblique fossil
#

its missing a lot of new stuff in flixel addons

dense pike
#

overthrow the haxeflixel api government!!!!

dawn carbon
oblique fossil
dawn carbon
#

Oh

#

I think that's because the API targets Flash

oblique fossil
#

oh-

#

bruhj

dawn carbon
dense pike
oblique fossil
#

why does it target flash 😭

dawn carbon
#

Likely been like that for a long time and no one's ever updated it

keen mica
#

i noticed this earlier

#

was gonna look into it

keen mica
dense pike
#

ooooooh

keen mica
frank mantle
#

a UI editor would be pretty neat

#

I'd consider using haxe ui again

dense pike
keen mica
#

Yes because life is pain

keen mica
frank mantle
#

when flixel 6.1.0

#

with that one GC pr

hot breach
#

Since I know ui uses 9slice a lot

bright sinew
#

Cause I can't figure out how to get square UI boxes other than extending the UI button and changing its texture/offsets

keen mica
bright sinew
#

Like flixel UI?? Like can that be used for buttons

compact willow
#

this is so cool

keen mica
#

Im planning it for haxeui-flixel but it can be used for whatever

hot breach
#

Hell yeah

keen mica
muted star
#

Neat

south pivot
#

i been meaning on drafting a docs page on the debug features

proper canopy
#

@keen mica why does FlxTextTyper use prefix instead of text for... setting the text

#

seems a little confusing

keen mica
#

the prefix sets the starting text, not the typed text

#

you can avoid it altogether

proper canopy
#

how?

keen mica
#

are you using an example

proper canopy
#

no, im trying to set it up for a project, since FlxTypeText is really jank

keen mica
#

whatever you used to find that class, probably had some example

keen mica
#

that's the example

#

"prefix:" is the starting text, "Lorem ipsum dolor sit amet, consectetur..." is the typed text

#

can ignore prefix altogether if you don't need a prefix and just do
myTyper.startTyping(myText);

proper canopy
#

ohhh i see

#

thank you

#

is there any way to change the font?

keen mica
#

same way as it's base class

#

err, leeme see

#

yeah it's controlling a FlxBitmapText, in my example but can be used on a FlxText

proper canopy
#

ahh, i see

#

i thought it worked differently

keen mica
#

oh my example actually targets both with one typer

proper canopy
#

@keen mica sorry for bothering you so much, how exactly do you have the text typer start typing the text? because running textTyper.startTyping("Lorem ipsum dolor sit amet") doesn't actually do anything. An event I added to onChange that traces the text just never gets run

keen mica
proper canopy
#

i have, the example works, but i dont really get what the if statement is doing before calling that function

#
final text = if (typer.prefix != null)
    bitmapField.getRenderedText(typer.prefix + TEXT).substr(typer.prefix.length);
else
    bitmapField.getRenderedText(TEXT);
keen mica
#

Id bet the actual problem is that you didn't add() the FlxTextTyper instance

#

so it's not updating

proper canopy
#

oh my goddddd

#

dude i didnt even see that you added it as you declared it

#

jesus christ

#

thank you 😭

keen mica
#

this is why i tend not to combine multiple expressions if I don't need to

#

except in this style

keen mica
#

if you used the source text directly, you'd probably see a word start typing on one line, but jump to the next line when it gets big enough

proper canopy
#

ohhhh

#

that makes sense

primal stirrup
#

huh did a bunch of messages get deleted here

#

or am i crazy

primal stirrup
#

got them back, discord was just being weird

proper canopy
#

yeah a few people had that issue

#

restarting discord fixes it

keen mica
keen mica
drowsy bone
keen mica
#

honestly I don't recall too many, but definitely happens

teal temple
#

If only FlxRect variable changes could trigger a set_

oblique fossil
keen mica
#

I loathe FlxCallbackPoint

#

it's really holding flixel back

#

also setters kinda suck

#

actually they really suck

teal temple
keen mica
#

just use a function

#

setters make complicated actions seem like trivial ones, while making trivial actions complicated

#

also FlxPoint having setters makes them worse for GC

#

we could probably make flixel faster and use less memory if we removed those setters, removed point pooling and let the compiler inline them when it can

frank mantle
#

it's like this gif

#

it means that whatever you just wrote was really good

#

"fire writing"

proper canopy
#

JAKE!!! JAKE GEORGE DOESN'T LIKE GIFS THAT ARENT RELEVANT TO THE CONVERSATION!!!! JAKEEEEEEEE

keen mica
#

Like not really hurt you but you didn't like what i said

frank mantle
#

it's literally better performance

#

why would I be hurt

keen mica
#

Cuz you like setters

frank mantle
#

I like setters?

keen mica
#

Not saying you do, but maybe that why

frank mantle
#

ah

teal temple
keen mica
#

But then you couldn't override them so the setters are no different than not having setters

teal temple
#

if only you could override inline functions.,

bright sinew
#

Wait let me look at smth cause iirc I had a bug in my game

#

Where the UI had cliprect but not the text and images... Let me look back at the code

#

Yeah idk

#

Like the flxui is in a sprite group in a sprite group

#

I'll explain later no time rn

keen mica
#

who starts conversations with "also"

tired nacelle
#

No callback classes, y’all are in the golden age

#

No cliprect setter

keen mica
#

set_clipRect will be removed in 7

tired nacelle
#

I hated how that function interacted with HaxeUI

#

Cool that you’re cleaning up all the internals

keen mica
#

thanks!

frank mantle
#

wait a minute

#

so what does not having a setter for clipRect mean

#

how does it get changed

keen mica
lavish pilot
#

oh so that means you dont need to set the sprite's rect if you change the rect itself

#

pretty damn awesome gotta say

frank mantle
#

I meant like

#

how do clipRects get applied

#

now that it isn't set

keen mica
frank mantle
#

interesting

proper canopy
#

Is there any reason why FlxTextTyper isn't released yet?

dense pike
#

gatekeeping /j

keen mica
#

its mine!

#

all mine!

#

releasing niche things doesn't really add much other than raise awareness and add beaurocracy

#

I reserve the right to fuck with this tool until it's battle tested

#

also I'm lazy

keen mica
#

I would rather make a new github repo

#

and improve the list of external tools on the HF website

teal temple
#

flixel
flixel-addons
flixel-extras

trolley

oblique fossil
teal temple
dense pike
#

flixel-addons-extra-edition

keen mica
hot breach
#

98%?

hot breach
#

Mmmm

#

I think some of this code allocates closures in C++

#

Each frames

#

I don't expect it to be very bad

#

But things like local functions or someFunction(function (...) { ... }) would make an object each frame I think

#

Just wanted to point out

#

Other than that it's nice to see improvements being done to text

keen mica
hot breach
#

Worst part is

#

someFunction(existingFunction) would also create an object

#

So really I wouldn't bother until it becomes a problem

#

Β―_(ツ)_/Β―

keen mica
#

creating a several functions per frame, and maybe one per line, isn't a huge deal

hot breach
#

Readability has tradeoffs

keen mica
#

per char could get hairy

#

but also the old way was getting a FlxRect from the pool every frame and not putting it back

#

also this is kind of a breaking change

#

I don't think removing private vars is usually considered a breaking change, but it can break extending classes that use private fields

#

so there may be some mitigation to do here, or this will have to wait until 7

#

it's possible to add these perf improvements without breaking everything, but it wouldn't allow for per-character effects via extension, which was kinda my goal

hot breach
#

Maybe as a last resort

keen mica
primal stirrup
keen mica
#

Never using them is kinda ridiculous

#

Oh you mean as a game dev using flixel

hot breach
#

Private fields and @:noCompletion fields are common examples

keen mica
#

I thought you meant "you" as in me, writing flixel code, and got confused

hot breach
#

Ah

#

I meant flixel users lel

#

But yeah I don't think it's really a breaking change to change private fields

#

Sure people can extend FlxBitmapText and do things with them

#

But typically internals are made to keep some internal state, and if the info it holds was really needed it would have been publicly exposed

keen mica
#

yeah, also I may keep the old internals, and deprecate them so they know they don't work

floral sonnet
#

The problem is haxe doesn't distinguish private and protected the way Java does for example so a lot of subclasses use their access to parent private fields.

dense pike
#

screw private variables

#

me and the boys use public var

#

/j

frank mantle
#

I use private more than public

keen mica
drowsy bone
#

I kinda liked watching Squidly having a hard time clicking on the console πŸ˜‚

But nice clean and simple change. πŸ’―

barren tendon
#

Are there any plans for improving physics? instead of relying on other libraries like echo?

drowsy bone
#

There have been various improvements made over the past few years (moving platform support and the like). Not sure what the long term future plan is, but it feels like the gameplan has always been the "we'll handle basic physics. Other libraries exist if you want something advanced."

Just out of curiosity: do you see issues with relying on other libraries to fill that need?

teal temple
#

I know nape and echo exist, but are there any maintained haxe physics libs?

analog talon
#

there is oimo which does get updates sometimes

primal stirrup
analog talon
#

there are also bindings for physx4 but these are both 3d engines

#

bullet might be your best bet for 2d maybe?

primal stirrup
#

Bullet is 3d iirc

#

Box2D might be what you are thinking of

analog talon
#

yeah im dumb

#

box2d i ment

teal temple
#

Not to turn this to #1234939525931728906 (engine-dev)

But should i just bind box2d and call it a day

primal stirrup
#

Sure if it does what you want and a pure Haxe thing doesn’t.

teal temple
#

Alr

primal stirrup
#

Nape is perfectly usable. I have used it in a few small projects.

keen mica
barren tendon
barren tendon
drowsy bone
#

nape and echo both have their quirks and annoyances with getting set up. I know the feeling of wanting something just a little more complex than what flixel has to offer cough circles cough. I actually forgot that issue was on the github. I went there and poked around but missed the key words to find it.

oblique fossil
#

Me waiting for my flixel-docs pr to get accepted

keen mica
#

ping me in the pr

#

comes off less passive aggressive

oblique fossil
keen mica
#

https://github.com/HaxeFlixel/flixel/pull/3248
I feel like I'm missing something here, can someone try both the current volume curve and the example logarithmic one and tell me what they think

GitHub

the global volume math is linear, however actual sound and dB stuff is NOT linear.
-10dB is NOT 10x quieter than -1dB for example
This PR changes specifically the GLOBAL volume control when using t...

GitHub

the global volume math is linear, however actual sound and dB stuff is NOT linear.
-10dB is NOT 10x quieter than -1dB for example
This PR changes specifically the GLOBAL volume control when using t...

keen mica
#

<@&761714697468248125> 6.1.0 released

  • Various improvements to debug tools
  • FlxSprite: Track clipRect changes without the setter
  • FlxBitmapText: Improve performance and memory in renderTile targets
  • FlxDebugger: Add scale, defaultScale
  • FlxColor: Add luminance
low breach
#

:o

#

Right after I updated my game, too :p

keen mica
#

that was to a new major version, minor version updates should be hassle free

#

if it's not, lmk, cuz i messed up

dawn carbon
oblique fossil
#

β€œImprive”

keen mica
#

Me spel gewd

#

Imprive is a perfectly cromulent word

hot breach
#

u ok bro

muted star
#

Time to update my Flixel on Linux for my game

primal stirrup
#

Might be intentional. Not sure.

frank mantle
#

how do I get the flixel role

primal stirrup
analog steepleBOT
#

Subscribed to flixel updates

frank mantle
#

probably should've done that in bot spam

#

oops

drowsy bone
keen mica
#

Scroll bars in watch windows and debugger scale are my favs

teal temple
cosmic inlet
dense pike
dense pike
#

oof

keen mica
#

Thats pretty much how it works, actually

proper canopy
#

?

#

Since when is the Debuggers size based on window size and not game size

dawn carbon
#

Since always

#

Because the debugger is made of OpenFL objects

proper canopy
#

huh, til

keen mica
cosmic inlet
#

Ah dang lol

keen mica
cosmic inlet
#

I'm not sure tbh - a lot of the time it's when I'm using that pixel perfect hack and the debug is enormous, and since the pixel perfect hack relies on the openfl base layer being a certain way I think it might not be a fixable thing haha

#

speaking of which, I should check and see if that works in all the newest versions - I think I have to use old stuff for that hack to work lol

keen mica
#

or this

cosmic inlet
#

yup yup first one

keen mica
#

thought so

cosmic inlet
#

I've definitely experienced the second one as well though, I'm glad that is fixed πŸ™Œ

keen mica
#

I thought the pixel perfect trick was supposed to work when window size is a multiple of the game size?

#

or does it mess with the debugger scale in this case

#

I should look and see If I can hack this in a way that is less fragile and finicky
There's also this: https://github.com/HaxeFlixel/flixel/pull/3319
My goal is to have FlxG.render.pixelMode = PIXELATED; which would do all this for you

GitHub

Adds FlxG.render.pixelMode. Possible values:

PIXELATED: Sets all rendering options to be pixel-perfect
SMOOTH: Enabled anti-Aliasing, disables pixel-perfect
CUSTOM: The default value, changes noth...

cosmic inlet
#

yeah that would be amazing haha - it's kind of hard to keep track of all the steps and working versions to get it working

keen mica
#

stuff

lavish pilot
oblique fossil
dawn carbon
#

Yeah it'd definitely be nice to get this sorted out

keen mica
#

https://github.com/HaxeFlixel/flixel/pull/3431
Redoing the whole damn physics system

  • Added custom collision resolvers
  • Improve performance of quad trees
  • Add FlxG.collision, for all future physics helpers
  • Move (actually, duplicate) all physics fields to object.collider
  • Add options for linear drag and maxVelocity, rather than separate x/y drag and maxV
GitHub

#3430
While FlxG.collision is a good thing to have and helpful in general, the main purpose of this PR is to better handle collisions described in #3418
Still isn&#39;t perfect, in the EZ platf...

floral sonnet
#

Wow ! that's a big update. It'll take me a while to go through some of that. I like the collider stuff - should be able to implement non-AABB now. I don't follow MULTI exactly but I assume it allows you to have a collider built up out of smaller colliders to create custom shapes ? Looks like you rewrote the QuadTree - did you solve the repeated allocation/deallocation - actually that's outside the quadtree impl itself I think. But this looks nice.

#

I like the type args for the overlaps and notifications too - will be nice not to have to cast.

keen mica
#

consider this entire branch to be a rough draft, for all I know I may go in an entirely different direction, but this seems to add every physics feature I've been meaning to add, and should only be a breaking change in really niche situations

#

listed some more features

frank mantle
#

better performance my beloved

#

great work george

keen mica
proper canopy
#

"collision" and "circle" in one sentence

#

today is a good day

keen mica
#

I'm doing this from memory, if it works on the first try and if the existing broad phase actually works I'll shit my pants

proper canopy
#

dont jinx it

dawn carbon
#

Yay seperate collider class

keen mica
#

turns out I can't do it this way unless I redo the entire collision system again, y'all jinxd it

#

jk, I just realized a better way to do collisions

proper canopy
keen mica
floral sonnet
#

What am I looking at here ? Is it the quadtrees ?

keen mica
#

yeah

floral sonnet
#

So like 6 levels deep at most. Interesting

keen mica
#

can pick the number

floral sonnet
#

Oh I thought you were dumping the whole thing all the way to the bottom. Just wondering how deep they are getting which is to be fair, just idle curiosity. Cool though

tulip stone
#

nice FPS

oblique fossil
frank mantle
#

outlines

#

whatever

mild warren
#

:hooh:

wild obsidian
#

This flixel thing is kinda cool tbh

keen mica
#

[showcase] <@&761714697468248125> version 6.1.2 released alongside Flixel-Addons 4.0.1
Some rendering fixes and:

  • FlxCallbackPoint: Fix duplicate calls and call xy whenever x or y is set directly
  • FlxDebugger: Fixed watch window position
  • FlxInputText: Honor selectionColor.alphaFloat
dawn carbon
#

You forgot to bump FlxG.version, it's still 6.1.1

keen mica
#

Aw damn

keen mica
teal temple
# keen mica

honestly real
people who use microsoft edge dont exist...

frank mantle
keen mica
#

is this cybersecurity teacher in the room right now?

#

this them?

frank mantle
#

no

#

I've tried hard to get him to switch to firefox or brave

#

but he refuses

keen mica
mild warren
#

πŸŽ‰

#

does clipWorldRect allow me to choose a specific portion of the game world or is it limited

keen mica
#

It lets you set the clipRect based on positions in the world

#

If the doc comments need to be improved, lmk

keen mica
frank mantle
#

cool

#

the garbage collector won't be happy, but I think it's good audio streaming is built into flixel now

#

if only we had texture streaming /j

dawn carbon
#

It might be worth to post these PRs on the socials, all of the recent changes have been really cool!

keen mica
#

it's been a minute

keen mica
#

done

dawn carbon
#

I have to ask, how would something like the rendering overhaul be contributed, considering that it's a massive breaking change?
It's something I've had my eyes on for a while, and I've started to poke a bit into it. So far I have the rendering abstraction setup and the current drawQuads render method working on it, but I'd also be interested in adding in a more advanced render method and all the other goodies (albeit probably through something like Context3D rather than OpenGL directly)

floral sonnet
#

I've wondered about this too though I would prefer to bypass openfl and go straight to lime GL. Could you put it under a define ? Personally I was interested in making the renderer pluggable, though I've not done any real work in it.

dawn carbon
#

Though I'm curious if you have any reasons on why to go with GL directly

#

I've been eyeing Context3D since it seems to be a nice middleground. It's essentially a bit simpler wrapper over GL, and it's also used by OpenFL internally so I'd assume if OpenFL would ever adopt a Vulkan/whatever backend Context3D would also benefit from it

teal temple
#

Doesnt Context3D only have AGSL?

floral sonnet
#

Yeah it's actually that while trying to do 3d I found a number of limitations in context3d meditated access to gl. It was a lot simpler and more to to go to lime. But she you works have to implement some things ofl already does. But you could dodge the blurring story and sw renderer, agal and such. And and yeah you would not get future render enhancements eg. Vulkan if it comes.

floral sonnet
teal temple
#

How much would it cost in terms of effort to separate flixel from openfl

floral sonnet
#

A lot. Flixel isn't just using the rendering bits

teal temple
#

Hmmmm

primal stirrup
#

so kinda out of the question imo

teal temple
#

I see 2 options for this:

  • Remove OpenFL from the equation and just use Lime
  • Stick with OpenFL and just deal with BitmapData->GLTexture
#

2nd one seems best

primal stirrup
#

or add new api i guess

floral sonnet
#

If you just want lime then semmis peote is an option

primal stirrup
#

omg peoteflixel

teal temple
dawn carbon
#

Being able to have different backends is something that was originally planned in Austin's renderer overhaul and it is a cool idea, but we should definitely move one step at a time since this is already huge by itself

teal temple
#

-# bouncing ideas, dont expect quality
Common high-level renderer interface, which lets the implementation handle optimisations like batching as long as z-order and alpha blending stay consistent

dawn carbon
#

I think OpenFL drops down to GL directly at times

floral sonnet
#

Attacking the renderer first and making it pluggable is doable. Leave the rest for the first pass

dawn carbon
teal temple
#

(Sorry, i just got out of finals)

dawn carbon
#

No worries

teal temple
#

allowing an underlying implementation to handle everything would be cool
Flixel just sends draw data, then the renderer takes care of the rest

#

This could also be a good point to add renderer features like multi-pass shaders

dawn carbon
#

It'd be good to have a plan of what needs to be done and how it should be done

floral sonnet
#

You can already do multi pass if you want them but it would be nice if such things were easier

teal temple
#

Yea
Im just saying whatever comes to mind tbh
Brainstorming, braindumping, whatever the word is

dawn carbon
#

Stuff like render textures as well

#

It's doable currently but it's certaintly less than ideal and requires some hacky stuff

teal temple
floral sonnet
#

One problem with pluggable stuff is exposing different capabilities. But it's the expanded features that are most interesting to me.

teal temple
#

Personally i kinda want to make this a thing

#

FlxRenderOverhaul multi-author pr when /hj

floral sonnet
#

The other thing I want is 2d 3d properly integrated with one renderer.

dawn carbon
#

If anyone's curious, this is my little experimental branch for this: https://github.com/ACrazyTown/flixel/commits/context3d
Renderer abstraction and drawQuads seems to be working well. I've begun porting FlxMaterial and the draw commands API from Beeble's branch but I got stuck with a pesky little bug that breaks batching that I haven't had the chance to debug yet

#

I'm implementing things from scratch based on a recent commit, I figured that'd be easier rather than trying to merge 3+ years worth of changes into the old renderer overhaul branch

floral sonnet
#

Cool. I'll have to take a look

keen mica
south pivot
keen mica
#

heyoo

south pivot
#

sometime tonight i'll make lil PR, im cleanin up and refining few things 🀝

#

one thing it wont have yet is API search... but we been poking around with how the haxe dox stuff works so hopefully can get that figured out for haxerflixel site πŸ™‚

sterile pier
#

Neat, looks pretty good
Will definitely help when searching for docs because google loves to redirect to whatever this other site is

keen mica
#

After me and my wife destroyed all our good health and organization habits in December, driving all around the country to see various friends and family. we are slowly getting back to normalcy, one thing that has suffered is haxeflixel. I'm gonna start diverting attention back to it now, now that I've had my month of rot

#

On the other hand @dawn carbon has been doing the lord's work with understanding flixel's rendering system. While I'm getting back into this, feel free to check out their work:
https://github.com/HaxeFlixel/flixel/pull/3539
https://github.com/HaxeFlixel/flixel/issues/3544
https://github.com/HaxeFlixel/flixel/issues/3552
https://github.com/HaxeFlixel/flixel/issues/3549

GitHub

Here we go, first step towards a renderer overhaul. Looks like a pretty big and scary change but 99% of this is just moving stuff around.
Shout out goes to Beeblerox &amp; Austin East, a lot of...

GitHub

See my original comments for a more detailed explanation: #2978 (comment), #2978 (comment) TL;DR: Matrix recalculations every frame, per sprite, take up a significant chunk of time in the draw() ca...

GitHub

While poking through more of the changes made in Beeblerox's renderer overhaul branch, I noticed that the way the draw method works has changed quite a bit! Instead of a single draw() method th...

GitHub

In #3459, FlxCamera.fill() was changed to always fill the camera, even if the alpha is 0. As a result, even though this fill rect is entirely invisible, it still gets pushed and drawn by OpenGL, wh...

#

Always love to have more eyes on large structural parts of flixel that are somewhat mysterious to me, and providing your thoughts on these will help me jump back in and get these changes finalized

frank mantle
#

just merge em all

what could possibly go wrong?

keen mica
#

yolo

dawn carbon
#

🫑

#

I'm looking forward to porting/reimplementing all the cool crazy stuff from Beeblerox's branch. I've been testing and playing around with the renderer abstraction and so far I've gotten basic quads/triangles rendering working with the fancy OpenGL renderer...

#

This is one of the many cool features made possible with that new renderer

lavish pilot
#

That's crazy

#

great work!

dawn carbon
#

Some more renderer progress... ng_nerd Got multitexturing working, which brings FlxBunnyMark down from ~30 draw calls to just 3 (camera fill + bg + everything else)

Left is new, right is old

#

Could be really beneficial for UI scenes, where a lot of texture swaps happen

cosmic flint
keen mica
dawn carbon
#

Nice

keen mica
#

its starting to mess with unit tests

#

flixel has probably been a terrible experience when haxe < 4.3 anyway, since it cant supress deprecation warnings internally

teal temple
#

at last - ?. can be used

lavish pilot
#

oh yeah

#

Good stuff

keen mica