#HaxeNXCompiler: Create homebrew with Haxe for the Nintendo Switch!
1 messages · Page 3 of 1
A no jodas- XDD
hola pibes
Perfecto, ahora me da ganas de romperte la cara solo pq le quiero romper la cara al sprigatito 4k
damn
it actually works
Emulator o real hardware?
emulation
Interesting
Vupx Engine is extremely unstable in emulation xd
Well, today is an important day... For us at least, OpenFL on a Switch and without Lime's special console backend
felicidad
A la final si se podía xD, tenias tu razón
@analog oasis Porque no podias usar cairo?
Siempre pude, solo era un archivo de Cairo y otra librería que tenían conflictos menores al compilar a la Switch
Pero yo desde un inicio en septiembre había desactivado Cairo porque tipo, no lo necesitaba o no confiaba que fuera a funcionar
Pero, ni modo, si OpenFL lo necesita tons lo necesita xD, y cuando puse Cairo nuevamente finalmente funcionó
Hasta ahora cuales son las limitaciones que tienes
Que yo sepa, solo OpenAL que no lo consigo compilar o hacer funcionar, por lo que, no hay audio supongo
Done, and now everything is automated with a simple command to generate everything
funciona ahora?
osea todo menos audio
and all metadata data for the NRO is taken from the app variable in Lime's project.xml file (title, file name, version, and company)
sip
se, eso aun no lo voy a solucionar
I would need to implement something that can send the file to the console with nxlink, but... since I don't want to add anything custom to Lime's XML, I don't know whether to make it permanent so that it always sends the file, and, well, let it fail if the console isn't ready to receive the file.
Well, I was able to do this:
haxelib run lime run switch --ip=192.168.1.x
To send the file
And I tried this:
<config switch.ip="192.168.1.x" />
But for some reason, Lime doesn't recognize that at the moment
But anyway, now the part about obtaining a build of a Lime project for the Nintendo Switch is fully functional
lime test switch is finally real
From OpenFL Samples -> Display3D -> HelloTriangle
From OpenFL Samples -> Display3D -> Stage3DMipmap
It seems that there is better support, at least for now, in terms of graphics https://cdn.discordapp.com/emojis/889683373218463807.png?quality=lossless&name=LeafCute&size=96
I only saw that with GamepadInput, it doesn't register anything, but I don't know if it's a real problem or if that sample is very old and doesn't work correctly with the current OpenFL/Lime
Well, seeing this, it seems that the only thing left is the audio issue with OpenAL.
Later, I'll see if I can solve that, and if I succeed, I'll take the leap and try HaxeFlixel
and then flxwii menu on switch now 😈
No?
Ah, ok xD
(Oh, I remembered that I have to make the Lime project icon work for this target. I had completely forgotten about it xD)
holy peak
I think those things are already directly OpenGL, so then it works fine xd
i have a quite big project in opengl - lime if you wanna try
Mmm, no thanks heh
I've seen randomly in Lime projects that when it compiles to Switch in theory, a library called Faxe is included. Which is audio-related, I think? So that would mean that officially there is no audio support, or... I don't know
What u can use rn of the lime backend
I imagine that everything except the audio and connections part, Lime has CURL and I couldn't get that to work on the Switch, so I disabled it.
But I'm not quite sure what the limit is.
._.XDD
nintendo ds support when
It's not lime, but
https://github.com/Slushi-Github/APoorImitiation-DS
nice
Now yes, audio working heh
And... the touchscreen too?
(from OpenFL Samples -> media -> PlayingSound)
ok now test flix-
Yeah yeah But first, I want to look at the icons for the project.

Okay.. Touching the touchscreen registers as a left mouse click.
Literally a.. MouseEvent? Ok..?
its makes sense
Very cool stuff!
test flixel test flixel test flixel
demanda popular se debe cumplir
:3
I had to fork Flixel because I'm sure I'll have to modify it, well, after seeing what happens in this first compilation
you are awesome
Data abort..? Mm..
Okay, but I don't know exactly where this stupid program crashes. Thanks, addr2line.
whay
idk
The crash is here..?
static function initRenderMethod():Void
{
#if !flash
renderMethod = switch (stage.window.context.type)
{
case OPENGL, OPENGLES, WEBGL: DRAW_TILES;
default: BLITTING;
}
#else
#if web
renderMethod = BLITTING;
#else
renderMethod = DRAW_TILES;
#end
#end
#if air
renderMethod = BLITTING;
#end
renderBlit = renderMethod == BLITTING;
renderTile = renderMethod == DRAW_TILES;
FlxObject.defaultPixelPerfectPosition = renderBlit;
}
where exactly
dije que no lo se
pq ahi no veo nada q explicitamente te diga el error
funciona el crash stack de hxcpp en tu entorno?
craseha antes de llegar al segundo Sys.println
si.. pero no se si con este caso
que raro
printea stage, window, conext y type
para sacarnos de dudas
voy
craseha justo en stage.window.context.type, supongo que pruebo a imprimir uno por uno no?
stage: [object Stage]
stage.window: [object Window]
stage.window.context: null
mmm
en contexto de rendering es null
eso creo q es por parte de lime
como habias dibujado el triangulo en openfl antes?
ni idea, nunca toque ninguno de los codigos de los ejemplos..
erga, deja vuelvo a probar ese ejemplo a ver si tambien crashea
por querer sacarme de dudas
a esperar unos buenos minutos a que compile xD
si funciona el ejemplo tambien deberia funcionar flixel
no se cual stage usa el sprite principal de openfl
pero el Context3D usa el mismo stage, y ahi accede a context tambien
se, me confunde un poco, pense que habiendo podido incluso con un ejemplo de 3d en oepnfl, flixel de primeras no iba a ser un problema
x eso esta raro
flixel usa Graphics, q internamente usa GL y Context3D asi q deberia funcionar si t funciono lo otro
deja espero a que compile la vaina del triangulo a ver
crasheo..
uh..
yava algo le debi errar en el build.xml del lime
damn
voy a retroceder a donde bueno, aun no habia soporte de OpenAL
alli funcionaba..
que mierda mas rara alv
sin esto en el project.xml tambien craseha
<!-- Forzar OpenGL y deshabilitar Cairo para Switch -->
<haxedef name="lime-opengl" if="switch" />
<haxedef name="lime-cairo" value="false" if="switch" />
<set name="LIME_CAIRO" value="0" if="switch" />
<set name="LIME_OPENGL" value="1" if="switch" />
lo habia puesto a lo random cuando aun no sabia que necesitaba cairo
pero despues pos siempre lo deje?
y el ejemplo de flixel es un xml que no tenia eso
ok voy a probar con flixel con esa cosa en el xml tambien?
flixel usa cairo
no pero, hablo de la cosa del triangulo
en ese ejemplo, sin eso en el xml, tambien crashea
voy a ver en flixel si que resulta
AJA!
Pq OpenGL ES? Yo quería OpenGL normal-
Bueno listo
@blissful otter @rough lichen @lavish roost
Allí tienen su HaxeFlixel
compila la demo de fnf
esa que no tiene casi nada po
Osea realmente no debería importarme mucho a menos que me meta con shaders creo, pero quería OpenGL normal xf
increible
mejor intenta compilar Mode, no era tu objetivo?
a velda
mode
Ando con tremendo dolor de cabeza pq me estreso ese crash random xd
suele pasar con hxcpp
Por esta mierda crashea, osea sin esto
Osea que probablemente deba configurar mejor ... No se que configurar xD
raro
Pero bueno listo, HaxeFlixel funcionando sobre GL ES por alguna razón (ya eso no es culpa mía, es lo que reporta Lime o OpenFL xD)
yo estaba webeando con otra cosa
Cuanto y envío ese video en #flixel y #fnf xD
diria que hagas lo de una demo
asi es mas interesante
se, es verdad
lime creo que intenta usar la version mas ligera de opengl por defecto
en mi caso usa webgl
mejor me espero a mañana tons
mm, si es asi tons tiene sentido
bueno ya tenemos HaxeFlixel en Switch XD
en una semana hice mas progreso que hace meses con este tema de Lime, ni yo lo entiendo
Curiosamente esto fue con la build qué no tenía OpenAL creo?
Hijo de puta
A menos que Lime no haya recopiado el liblime.a nuevo y se quedo con el que aun tenia OpenAL xD
Mode corre si o si
Funkin... creo que hxvlc, el funk vis y otras cosas serian un problema
Se, además esos creo que usaban forks de lime y Flixel no?
No se si funcione con, bueno mi Lime y el HaxeFlixel si puede ser el de ellos xd
No importa si fuera a portear fnf iría por la demo esa o... No se, primero Mode y de allí se ve más adelante
Podría tener más chances creo
Que hace Funk.vis?
Hxvlc es, bueno entiendo que vlc y y ya xD, tal vez haya chance si se recompila a Switch, pero no creo sin al menos cambios
es una libreria para analizar audio
Bueno, aun que esta foto es de hace más de un año y es en la Wii U
No estamos tan alejados de eso sea una realidad en la Switch jeje
Je
Beautiful
Although it has some strange and unpleasant slowdowns
https://cdn.discordapp.com/attachments/1366529844791345192/1461750320580526286/VID_20260116_114835.mp4?ex=696bb092&is=696a5f12&hm=692f812edcdec70dbd714fad25d539aed8c3355223404f871ceec772eae6d19e&
Yeah heh
As an obvious detail, I am not modifying anything in the game, I just compiled it once and everything worked
cuantos frames corre?
Ni idea, definí SHOW_FPS en el project.xml para mostrar los FPS pero, no se ven los FPS xd
quien es responsable de SHOW FPS
porque eso no lo vi en la doc de lime ni flixel
Openfl
eso lo exlica
Es una variable que está en el project.xml de Mode
Y, solo añade el contador de FPS de OpenFL si esta definido SHOW_FPS xd
Pero osea, el código de eso esta en el juego, yo tampoco he visto eso definido en alguna documentación
Asumo eso también para el tema del lag?
Es primera vez que honestamente juego Mode xD
Well, this was a success.
Although I have doubts about things like FlxSave, and I don't like that everything is stored in RomFS (because it makes the final file very heavy and takes a long time to transfer to the console)
i love this thread, one sec we talk on spansih, and the next minuite we start to talk in english
Here, if they speak Spanish, I will respond in Spanish, but I will keep using English so that the rest who do not speak that language can understand what is being discussed XDD

I was going to say something here, but I'd better say it in #1202383067373637642
Если я говорю по-русски
:v
I don't know why all this reminds me of this video
https://youtu.be/JUNdWnI5BTk
Head to https://squarespace.com/mattkcbytes to save 10% off your first purchase of a website or domain using code MATTKCBYTES
Ever thought you would see LEGO Island on the iPhone? Or running completely inside an everyday web browser? In this video, we take a look at the rapidly-progressing porting effort that has resulted from the recently comp...
Just, bruhhhhh
People are really stupid xD
Perfect
Well, with that Psych Engine, I have no chance of getting it to work properly with mod support enabled. Everything just breaks, and it can't find the assets properly.
I don't know how it was in the case of Psych ports to Android, but at least for me, I can't figure out the problem. I give up.
At best, I'm only able to launch a build of Psych, but without mod or script support xd
Well, in the end, the HaxeNXCompiler project reached its limit :3
So...
Now that Switch Funkin has been released, I don't really have much to do with it. I don't plan on modifying it much because I don't know how to do that either. I wanted to modify it enough so that it would work on Switch
I guess I'll continue with Vupx Engine and OffBeat, which is really a game and a project that I'm even more interested in, but also more difficult for me to sustain (since I have Lime and OpenFL with OpenGL...), but I think it's better for me to see something created from scratch and... Not with Lime or directly HaxeFlixel, which, to be honest, doesn't impress me or matter that much
uhm uhm
portea la demo de lurum dare de fnf
Pero ya tenemos Psych Engine
no te pregunté eso
Es más ni pregunté
En ra
En fa/jk
No necesitas HaxeNXCompiler, lo integre en Lime
El V-slice el único detalle que tiene es su fork de Lime
Y según que depende de ese fork, por lo que.. Descarte probar con el mio
Y el uso de un .hxp como archivo de proyecto me termino de descartar la idea
el hxp si no mal recuerdo no viene en la 0.3
osea que podriamos portear 0.3
que creo que tampoco tiene fork de lime
creo q el fork de lime se hizo para las texturas ASTC
Si buscas que versión preferiblemente no tiene fork de Lime, puedes hacer el intento o me dices y yo hago el intento
Osea, si se puede compilar hasta CNE xD
Pq no un V-slice (que no tenga esas cosas que dije ps)
God 🔥
que no le tenias un odio a cne
pq le tiene odio jsksjsk
E igualmente allí no funcionan los controles y tuve que modificar un poquito StringTools.hx
Le tenía odio a parte de la comunidad
no esta diseñado para gamepads creo
bueno, es medio imposible no tenerle odio a un poco de la comunidad de cualquier cosa jajskajsk
Tons ya ves pq si le tenia disgusto xD
Pero es que si.. Tiene código de hecho
En el TitleState tiene código para gamepads, pero, o.. No estaba definido en el project.xml o algo así o el Flixel estaba roto, simplemente no funcionaba
Codename siendo un buen engine 👅
No se, para mi fue suficiente y me hizo feliz que compilara y por lo menos abriera xd
El que quiera CNE en Switch qué lo haga por su cuenta, ya ven que es al menos posible empezarlo
Bueno, es increíble ver fnf en switch (sin contar ese hecho en lua de hace años)
por preguntar, eso corria decente? xd
Switch Funkin tiene código de FunkinModchart de hecho xd
o iba con tirones o una tontera asi
Pero en las builds no está compilado
No se, crasheaba cuando quería abrir escenas/videos
Que tiene la librería y esta definido el código para iniciar el manager xd
aah
@analog oasis
Que cosa? Lua o el engine en general?
hace poco retome funkin modchart y recree el funcionamiento de actor frames
el engine en general xddd
los playfields ahora son LITERALMENTE flx sprites
por lo q puedes usar
xy
origin
offset
scale
angle
velocity
peak 🔥
Va bien, pero como no puede hacer cache de cosas hacer cambios de escenarios como al game over pues demora mucho y así
clip rect en la proxima update
Y la weekend directamente destruye la consola
JSKSJKSSJJ
buuuu
Tuve que usar otro shader de lluvia y quitar el visualizer de los parlantes de Nene para medio alcanzar los 50-60 FPS
Iba a.. 28-31 FPS
Bueno, muchisimo mejor que en una laptop basura jsksjks
Pero en general es, muy disfrutable
creo q vi eso en el server de codename jaksjks
Es Psych Engine 1.0.4 real a las finales
Tiene 1000 más posibilidades que FNF Rewriten
Mmm, curioso
bueno, supongo q todo sera mejor q eso jsksjsksj
El tema es que como es para una plataforma.. Medio que no todo el mundo tiene, pos se que desafortunadamente el engine quedará medio dentro de un nicho
En otros va básicamente perfecto
I was looking for a FNF mod to record on Switch Funkin showing the console to upload it to YouTube, but I hate that now it seems like the only thing the mods port is V-slice and that's it, no Psych Engine, and I need mods made in the mod folder for Psych
When that actually happened with this mod, the mod is from CNE, and it only has a port to V-slice. It was a friend who did the port to Psych for me
Well... Now we have Psych Engine and classic FNF on the Switch
https://github.com/FunkinNXTeam/FunkinLegacy
F for FNF Rewriten / Vanilla Engine, which no longer stand a chance against the real FNF on this console XD
If it's just Lime, it really took less than a week. In five days, I already had Psych running on the console.
If it's hxcpp and HaxeNXCompiler in general... Then yes, months xd
peak
I hate that V-slice, since the first version on GitHub (0.3.2), already used a fork of Lime
Optimizations or changes that Lime does not originally have, perhaps
If my project were a library that adds a target (as Lime originally expects) instead of a complete fork, perhaps, and I had a better chance of using it in conjunction with that Lime, but I don't know how to do that, and I can't even guarantee that it would work with any Lime
Because ever since I had to modify the submodules that Lime doesn't originally touch, I knew then that I didn't have a good chance of making that library
i mean, lime (at least in hxcpp / windows) its just sdl -> events -> window listeners
-> main loop -> update logic -> render logic (opengl, webgl, etc)
well, if you dont take in count compiling and that stuff
It's not my fault that Hashlink tries to import a header that DevKitA64 doesn't have or isn't where it should be, and other things like that
https://cdn.discordapp.com/emojis/1151167058202079232.png?quality=lossless&name=VulpixUnamused&size=96
Total Lime-NX will remain as a fork of Lime 8.2.2 (as reported by Lime xd) from mid-September 2025 When I really need to update to a newer version of Lime, I'll see what to do, since I already know the basics that need to be modified (some submodules, build.xml, and some of Lime's backend, mainly the SDL and OpenGL)
These may sound like minor changes, but they are not the kind I would like to do again for now..
liblime.a from the Lime fork that uses V-Slice
bro fr wants vslice in the switch 😱
Not me, I don't want v-slice directly on Switch, FunkinNXTeam will take care of that.
I just helped... Basically redo all my Lime-NX on FunkinCrew's Lime
https://github.com/Slushi-Github/lime-nx/tree/lime-funkin
holy peak
I don't understand why FunkinCrew's Lime has so many changes, or at least recent changes, but then V-slice uses a specific branch according to hmm.json. I don't see the point
Well, the changes are based on the branch used by the game, not the latest version on GitHub
i have the same question
It turns out that since I had to redo Lime-NX twice in a row, well... There really aren't many changes, or rather, the errors tell you directly what changes need to be made, and that's it.
The most annoying thing is OpenAL (FunkinCrew's is impossible to compile on Switch or even Linux, so I used Lime-NX's... I don't know what problem it causes) and the build.xml, which is long and annoying..
But otherwise... It's easy to port the Switch implementation xd
(which makes it even more stupid that I didn't try this months ago... https://cdn.discordapp.com/emojis/1151167058202079232.png?quality=lossless&name=VulpixUnamused&size=96 )
[showcase]
With the help of @quartz portal, we have been porting FNF V-SLICE to the Nintendo Switch, but there is still a lot of work to be done, heh
(I'll post it later on #1202383067373637642 xd)
can you test senpai erect 🥺
Uhh.. Ok
Well, ~50 FPS, better than the port version in Psych
i wonder how it doesnt crash with polymod
Why you think that?
idk, because of how much fuss you had getting psych mods to work
Ahh... Well, it seems that V-slice has better control over assets, although I haven't tried the mods yet. There are more important things to do first, like getting all the inputs to work and preventing OpenAL from constantly crashing
mods do work, js tested one since I had it on hand
holy peak
It's wonderful that autocomplete and the rest of vshaxe work perfectly and almost instantly here with Vupx Engine
Unlike HaxeFlixel projects, where it's more luck than anything else that it ends up working...
It has nothing to do with the project, it's just a Switch game, but I'm happy to leave it here... Besides, I don't really have anything to post about this project xd
i dont understand limes vscode extension
it is [in my opinion] unnecessarily complex
y nada que ver con la Niko que made-
The problem lies with the Haxe extension; the Lime extension is relatively simple.
Well.. ALE Psych on Switch, just, that
(that lime-nx turned out to be more stable and functional than I expected)
I'm thinking of making another separate post for more random and general things I do. This project is mostly finished, and Vupx Engine doesn't really inspire me to continue it at the moment.
Any suggestions for the name?
Slushi foxs room
or something like that
:v
maybe an mod loader for NX Native games
Wha- I don't know anything about that xD
Besides, Atmosphere itself takes care of most of the mod loading.
yeah but...
i want abterrer modloader
...
or maybe should i do that
...
The most I could idealize is that Atmosphere, while it loads mods, loads all the mods that are in the corresponding game folder.
What it could do is, from the list of games, see which mods are in those directories, and if you want to disable it, the mod is moved to another directory outside of there, for example to my program's own directory, and when you activate it, it is copied back to where it should be. But I don't like the idea of copying files from one place to another
