#Haxeflixel - a free, open-sourced game framework built in Haxe!
1 messages Β· Page 2 of 1
Oh, i see
I wouldn't call it nieche
Wasd as a joystick makes sense
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%)
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!
But yeah ill keep that in mind
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
Interesting. Is this coming in a flixel release soon ? Can I look at the code somewhere ?
Ill link it soon, its not going into flixel proper, either I'll release it as a project I own, or it'll be a separate flixel repo
Ok. Cool. Makes sense
that's a really cool feature
ah, semmi has competition
at what?
sticking his fist up in the air and cursing the esoteric war crime known as macros?
oh neat
This is also similar to mine lol, at least from the screenshot
Itβs a very approachable and highly useful macro
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
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
This is a FlxControls moment
can i get these messages translated to millenial meme formats?
Don't worry, even I don't fully know what it means
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?
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
I forgot to hit reply
One question I had. Will this work if you want to allow the user to customize the key or control mappings ?
yes! The specific inputs you attach to each action are just the default
Oh. Cool.
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. π
added
Keyboard(Analog2D(FlxKey.DOWN, FlxKey.UP, FlxKey.RIGHT, FlxKey.LEFT))
or with
import flixel.addons.input.FlxControlInputType.FlxKeyInputType.Analog2D as Keys2D;
i did
Keys2D(K, I, L, J)
What is the behaviour?
note: its down up because flixel/openfl flips the y axis, so DOWN should be 1 and UP: -1
but yeah, it makes those four keys give results similar to a gamepads analog stick
Yeah that is amazing
reduces the effort needed by the user to support pc/console compatiblity
Very nice man, I like it!
thanks for the suggestion
No worries!
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
here is fine, note that clicking the pencil button on that page will allow you to fix it yourself. otherwise I can do it when i have time
i ended up having time, just now
Where do you see a pencil?
On each demo page
Oh
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
Any information about Flixel 6.0.0 main changelogs and bugfixes?
as in, you don't know where you find it?
No unfortunately
1 sec
Thanks
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
Wow, 5.9.0 got alot new main changes and removals for what i see
the removals are in 6
I see
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
Neat
You are right George
It got alot removed features from other packages
I see
but funkin modders tend to ignore compile warnings, so there may still be a day of reckoning
yeah hope this helps
Probably there will be alot compile warning when Flixel 5.9.0 releases
yeah there's new deprecations in 5.9.0
i recommend trying out the github dev branch at this point
just because it's taking so long
Hmmm, probably they use a git instead of latest release from haxelib
They want to try new features added into :D
I assume most people use haxelib latest, I meant I'm telling people to try the git, lately
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
haxelib will always be more stable
I rarely turn around and undo changes in git, but it absolutely is possible
Hmmm, seems promising. Git is like a unstable branch and it can break sometimes
So Haxelib will be better choice
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
I see
That's something when i release stuff on GitHub, I can't change or add something after release tag
yeah
Everyone most use haxelib to easily install packages instead git
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
I cant wait for flixel 6
#1083516878468685996 message
I saw
I meant im excited
They just take care about warnings and fixing them for a reasons
https://github.com/HaxeFlixel/flixel/pull/2982
FlxG.assets: A way to overwrite and customize the way HaxeFlixel fetches or produces assets from ids
started 11 months ago, finished and merged 5 minutes ago
Nice
haxeflixel blog now has rss feed π
This looks REALLY good
Yes
how long would you say you been dealing with this issue?
a while
it caused sounds to play when they shouldn't
i would prioritize issues higher if people didn't wait until it's merged to tell me it's important to them
which is something people seem to do a lot
Mb
It didnt affect me MUCH because i almost never compile on debug
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
complacency killed the cat
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.
i thought it was intended behaivor
Fair
Typically I write a // Todo: make issue about this and vsc keeps track of those
I try to have a comment whenever my code had to work around something anyway
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
I use this one
Released flixel-ui 3.2.6*
awesome
flixel-addons 3.3.0, too
flixel-demos 3.2.1, whoop
Automatically append file extension to sound asset ids
https://github.com/HaxeFlixel/flixel/pull/3314
Flixel 5.9.0 released
https://github.com/HaxeFlixel/flixel/blob/dev/CHANGELOG.md
Free, cross-platform 2D game engine powered by Haxe and OpenFL - HaxeFlixel/flixel
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
@keen mica the patch notes on haxelib for flixel is tbd lol
can you link
we added FlxTween.flicker, too
oh i see
Yea
submitted a new one, should be fixed soon. Thanks!
oh cool
Can you flicker the color of a sprite with that?
check the api
released flixel-ui 2.6.3
W
#tools message lol
[showcase] Raycasting works with one-way tiles, now
https://imgur.com/wf0zSwS
Nice
Love this! Is it able to be toggled on and off?
I was considering that but there's also the new
findInRay(start, end, (t)->t.solid);
And others
tetoris
HaxeFlixel Snippets
New demo just dropped
https://dev.haxeflixel.com/demos/FlxInputText/
I was hoping it would show the thumbnail
https://dev.haxeflixel.com/img/x9l_8pzc64-400.png
i wonder how hard it would be to add that
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
i would imagine you would just have to tell discord to add it to the embed somehow
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
you're probably right
Looks pretty nice overall but there are 2 things I'm missing.
- Ins key support
- PgUp/PgDown in the multiline example
also "Esc" to lose focus would be nice, but maybe not
could be handy as an option
is "MKI" the wolfenstein password, btw?
As in the embed? You'd have to add meta tags
π
who knows π
yea
I believe this is what discord (and a bunch of other platforms) use https://ogp.me/
Shouldn't be too hard to implement
good to know
Info here: https://ogp.me/ OGP should improve the embed preview of haxeflixel.com links on Discord and social media. Specifically I would like the demos to use their thumbnail in the preview
look up OEmbed
https://oembed.com/
The oEmbed spec
if you use a static site generator or a dynamic one then you can relatively easily set up the thumbnail
for example, my site
oh my mistake, didn't see opengraph had already been mentioned, I forget which I used but it's probably both
<@&761714697468248125> New blog post!
https://haxeflixel.com/blog/18-Haxeflixel-5-9-0/
I don't feel bad for pinging flixel for this since blog posts only happen once every 17 years
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
amazing syntax higlighting
Im guessing TBD is not supposed to be here...?
FlxInputText redo? Fantastic!
cute lil embed work, different colors for different sections of the site π
oh thats such a cool idea
we're flixeling with this one
might do it so that these bits in the header are underlined in those colors as well
very fun! i love seeing the flixel colors used around the site, it adds a lot of charm

its really our best bit of branding
shoutouts adamatomic back in 2008 with the og flixel colors
If only there was 1 more color so you could give each letter in flixel an unique color
maybe some kind of purple or pink
Can just use the rainbow f from the flash logo
Good idea ngl
One message removed from a suspended account.
or two colors just incase
Will you need to use haxe 4.3 or newer in flixel 6
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
https://github.com/HaxeFlixel/flixel/actions/runs/13045618361/job/36395597159
Take a look at the coverage test in HL 4.2.5 vs 4.3.6
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?
[showcase] <@&761714697468248125> 6.0.0 is released!
https://github.com/HaxeFlixel/flixel/blob/dev/CHANGELOG.md
oh that double pings, maybe the showcase isn't neccesary
it only double pings for people who are in here
i would just do it in #flixel
Why the :: syntax rather than the usual . ?
thought it might distiguish bewteen static fields and instance fields
damn george trying to convert us to c++
freakin sweet
Thank goodness he didn't choose lisp syntax π
Nice improvements. Cool
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
Flixel 7, openfl 10, lime 9
how bout a flixel 6.5
api website ui redes when? π₯ /j
wdym
it shows up updated for me
the documentation
maybe its just flixel addons
its missing a lot of new stuff in flixel addons
Can you give an example?
FlxRuntimeShader
go to https://api.haxeflixel.com/flixel/system/FlxSound.html try to find pitch see no results Pitch prop was added with HaxeFlixel/flixel#2564 .
how does one tell the api flash got discontinued on December 31st, 2022
why does it target flash π
Likely been like that for a long time and no one's ever updated it
[showcase] Initial work on a haxeui-flixel style editor
https://imgur.com/a/t8CLRpf
ooooooh
YESSS
IM SAVED
[showcase] Making complex UI from scratch in Openfl, so I can use HaxeUI to make UI, so I don't have to make it from scratch
https://imgur.com/a/T841TP4
So using a UI to make another UI?
Yes because life is pain
[showcase]
adding quad based slice rects to animation frames. works with scale and angle
https://imgur.com/f1DNqj9
Is this for ui?
Since I know ui uses 9slice a lot
That's neat
I hope so
Cause I can't figure out how to get square UI boxes other than extending the UI button and changing its texture/offsets
Yeah
Like flixel UI?? Like can that be used for buttons
ive been dying to see someone make a ui editor for haxe-ui :o
this is so cool
Im planning it for haxeui-flixel but it can be used for whatever
Hell yeah
[showcase] Added scroll bars to debug windows
https://imgur.com/A9pj1sJ
Neat
goated for this george
i been meaning on drafting a docs page on the debug features
@keen mica why does FlxTextTyper use prefix instead of text for... setting the text
seems a little confusing
how?
are you using an example
no, im trying to set it up for a project, since FlxTypeText is really jank
whatever you used to find that class, probably had some example
you gave it to me lol
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);
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
oh my example actually targets both with one typer
@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
Have you tried running the example verbatim?
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);
Id bet the actual problem is that you didn't add() the FlxTextTyper instance
so it's not updating
oh my goddddd
dude i didnt even see that you added it as you declared it
jesus christ
thank you π
this is why i tend not to combine multiple expressions if I don't need to
except in this style
getRenderedText takes the source text, say: "The quick brown fox" and - depending on the bitmapField's text size and field width - might add new line chars, becoming: 'The quick \nbrown fox'
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
got them back, discord was just being weird
[showcase] FlxSprite: Allow changes to cliprect to take effect without setter
https://imgur.com/a/xXowBPA
How many questions on "why isn't clip clip rect working?" do you think this is going to prevent π nice change. I've been bitten by this before, and I know I'm not alone in that.
honestly I don't recall too many, but definitely happens
If only FlxRect variable changes could trigger a set_
You probably could do it but i feel like it would be hacky
I specifically avoided making FlxCallbackRect
I loathe FlxCallbackPoint
it's really holding flixel back
also setters kinda suck
actually they really suck
How so?
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
?
it's like this gif
it means that whatever you just wrote was really good
"fire writing"
JAKE!!! JAKE GEORGE DOESN'T LIKE GIFS THAT ARENT RELEVANT TO THE CONVERSATION!!!! JAKEEEEEEEE
My first thought was that, but i second guessed that maybe my words hurt you somehow
Like not really hurt you but you didn't like what i said
Cuz you like setters
I like setters?
Not saying you do, but maybe that why
ah
Couldn't you inline the setters
But then you couldn't override them so the setters are no different than not having setters
if only you could override inline functions.,
Lol
Also
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
who starts conversations with "also"
set_clipRect will be removed in 7
I hated how that function interacted with HaxeUI
Cool that youβre cleaning up all the internals
thanks!
wait a minute
so what does not having a setter for clipRect mean
how does it get changed
now: public var clipRect(default, set):FlxRect
later: public var clipRect:FlxRect
oh so that means you dont need to set the sprite's rect if you change the rect itself
pretty damn awesome gotta say
not what I meant
I meant like
how do clipRects get applied
now that it isn't set
Check out the PR
interesting
Is there any reason why FlxTextTyper isn't released yet?
gatekeeping /j
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
I would rather make a new github repo
and improve the list of external tools on the HF website
flixel
flixel-addons
flixel-extras

flixel-addons-addons
flixel-addons-addons-addons
flixel-addons-extra-edition
Improve performance of FlxBitmapText by 98% and make it easier to add per character text effects
https://github.com/HaxeFlixel/flixel/pull/3394
98%?
oh this is insane
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
based

to do that I would need to either pass dozens of fields to every function or cache them in instance vars and I hate doing both of those
Worst part is
someFunction(existingFunction) would also create an object
So really I wouldn't bother until it becomes a problem
Β―_(γ)_/Β―
creating a several functions per frame, and maybe one per line, isn't a huge deal
Readability has tradeoffs
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
I don't think you should ever use internals
Maybe as a last resort
whats an internal?
stuff intended to be used by flixel itself that has no public api
Things used under the hood that aren't meant to be publicly accessible
Private fields and @:noCompletion fields are common examples
I thought you meant "you" as in me, writing flixel code, and got confused
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
yeah, also I may keep the old internals, and deprecate them so they know they don't work
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.
I use private more than public
I kinda liked watching Squidly having a hard time clicking on the console π
But nice clean and simple change. π―
Are there any plans for improving physics? instead of relying on other libraries like echo?
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?
I know nape and echo exist, but are there any maintained haxe physics libs?
there is oimo which does get updates sometimes
Both of them still work. Ceramic has its own arcade physics engine
there are also bindings for physx4 but these are both 3d engines
bullet might be your best bet for 2d maybe?
Not to turn this to #1234939525931728906 (engine-dev)
But should i just bind box2d and call it a day
Sure if it does what you want and a pure Haxe thing doesnβt.
Alr
Nape is perfectly usable. I have used it in a few small projects.
Not at all, I think those libraries are great, i personally had a little trouble making them work in the past so i was asking if there was any plan to get a little more advanced physics in regular flixel lol. but i get the gameplan
damn that sounds great
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.
Me waiting for my flixel-docs pr to get accepted
K
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
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...
<@&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
[showcase] Flixel 6.1.0 https://github.com/HaxeFlixel/flixel/blob/dev/CHANGELOG.md
that was to a new major version, minor version updates should be hassle free
if it's not, lmk, cuz i messed up
Might have to delete and repost to showcase as edits don't seem to update the post
βImpriveβ
u ok bro
Oh, nice
Time to update my Flixel on Linux for my game
I think that only pings people who are in the is thread
Might be intentional. Not sure.
how do I get the flixel role
The /notify command
Subscribed to flixel updates
improvements to debug tools, ey? π I've been digging a lot in those as of late. Curious to see what snuck in. Nice π
Scroll bars in watch windows and debugger scale are my favs


haven't gotten a chance to play with this yet - are you saying I can make games at a gameboy resolution and also read debug??
in theory, what if you just set the project xml to be an HD size for debug but kept the flxgame creation at gameboy size in main.hx
that's not how it works
oof
Thats pretty much how it works, actually
huh, til
If you had a giant window, say 1600x1440, and a FlxGame size of 160x144, the debugger would look too small, a scale of 2 may improve readibility. I hadn't considered the opposite, which it sounds like you're describing, I suppose I could make it a float and allow "0.5" or something. but I think I recommend just making your window size larger
This is the original issue asking for this (12 years ago)
https://github.com/HaxeFlixel/flixel/issues/433
Ah dang lol
what would have been more helpful in your situation?
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
when you say "the debug is enourmous" do you mean this?
or this
yup yup first one
thought so
I've definitely experienced the second one as well though, I'm glad that is fixed π
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 never realized the window size was the intended game size in the example:https://github.com/AustinEast/haxeflixel-pixel-perfect/blob/master/Project.xml#L17
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
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
stuff
this would be insanely helpfulll
https://github.com/HaxeFlixel/flixel-docs/issues/290
chat what do we think about this
Yeah it'd definitely be nice to get this sorted out
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
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.
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
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
dont jinx it
Yay seperate collider class
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
"y'all" as if you didn't jinx it first
What am I looking at here ? Is it the quadtrees ?
yeah
So like 6 levels deep at most. Interesting
can pick the number
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
nice FPS
what my FPS graph does when I turn on the hitboxes
outlines
whatever
This flixel thing is kinda cool tbh
[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 directlyFlxDebugger: Fixed watch window positionFlxInputText: HonorselectionColor.alphaFloat
You forgot to bump FlxG.version, it's still 6.1.1
Aw damn
my cybersecurity teacher would like to disagree
https://github.com/HaxeFlixel/flixel/pull/3419
Merged a big one
π
does clipWorldRect allow me to choose a specific portion of the game world or is it limited
It lets you set the clipRect based on positions in the world
If the doc comments need to be improved, lmk
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
It might be worth to post these PRs on the socials, all of the recent changes have been really cool!
I can dig out the old socials
it's been a minute
done
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)
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.
OpenGL could work too but I suppose the first and most important step is to make an abstraction over the renderer. Beeble's branch, which I based my work off of, did this by having a FlxCameraView class that defined all the rendering related methods (eg. drawPixels()). Each renderer would then extend this and implement the methods
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
Doesnt Context3D only have AGSL?
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.
It has agal and glsl but the glsl is limited in various ways
How much would it cost in terms of effort to separate flixel from openfl
A lot. Flixel isn't just using the rendering bits
Hmmmm
a lot of projects depend on openfl apis too
so kinda out of the question imo
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
or add new api i guess
If you just want lime then semmis peote is an option
omg peoteflixel
This would have to be a breaking change - a flixel 7, even
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
-# 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
It's a bit tough to say for sure... I see pros and cons in both of them
I think OpenFL drops down to GL directly at times
Attacking the renderer first and making it pluggable is doable. Leave the rest for the first pass
Would this not be the FlxCameraView I described above?
Yea
(Sorry, i just got out of finals)
No worries
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
It'd be good to have a plan of what needs to be done and how it should be done
You can already do multi pass if you want them but it would be nice if such things were easier
Yea
Im just saying whatever comes to mind tbh
Brainstorming, braindumping, whatever the word is
Stuff like render textures as well
It's doable currently but it's certaintly less than ideal and requires some hacky stuff
Would a render texture just be another gl framebuffer but smaller (on terms of implementation)
One problem with pluggable stuff is exposing different capabilities. But it's the expanded features that are most interesting to me.
I guess so yeah
Yeah, another framebuffer
Personally i kinda want to make this a thing
FlxRenderOverhaul multi-author pr when /hj
The other thing I want is 2d 3d properly integrated with one renderer.
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
Cool. I'll have to take a look
Consoles, too hmm......
site search π
heyoo
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 π
Neat, looks pretty good
Will definitely help when searching for docs because google loves to redirect to whatever this other site is
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
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 & Austin East, a lot of...
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...
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...
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
yolo
π«‘
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
Some more renderer progress...
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

Nice
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
YEAHHHHHHHHHHHHHH
at last - ?. can be used
FlxSound and FlxG.sound: Large refactor of sound initialization
https://github.com/HaxeFlixel/flixel/pull/3558
