Port Requests


Sure @ekianjo :)

Btw, I have fixed my missing hands and corrupted books...

The game use "row major" Matrix, where OpenGL, internaly, use column major.

So, when loading matrix into uniform, it uses the "TRANSPOSE"  parameter. Of course this is not supported on GLES, so (early in the port), I had to write a manual transposition of the matrix.

The point is, the game load more than 1 matrix at a time (like 7 for example), and my simple loop worked only for 1...

Fixed now, it looks good (but still slow)...

post-5182-0-93204500-1436868291.png


eldritch4.png
 
Last edited by a moderator:
I would love to help, but I don't have the game.  :p   Perhaps when another port comes along. 

-Glyph Reader
 
Finaly got Eldritch to run.

I got to hack the source to make it runs with newer dataset (has Steam doesn't have the ability to Downgrade a version). Now, the Start screen has proprer sized text, react to my keyboard input, etc...

post-5182-0-72946400-1436861718.png


But I was than greated by a superbly black gameplay screen :'(

post-5182-0-14388300-1436861730.png


The point is, Eldritch is an OpenGL 2.1 game. It wants shaders. So for this port, I hacked some OpenGL2 -> GLES2 messing, that kindof work (plus the shaders are part of the game assets, and so are no free to distribute, so I have to patch them on the fly)... But a Black game play? I recorded the game with PVRTrace, and saw that ... it works in PVRTrace !

post-5182-0-68460500-1436862063.png


After a few hours of messing and testing, I found the issue: most of the gameplay is rendered in a Framebuffer (and than blitted on the screen with a sophisticated shader that handle Gamma correction). The Framebuffer is set to screen size, so 800x480. Even if GLES2 do support Non-Power of 2 texture, and that the SGX also support NPOT extension, it seems Framebuffer doesn't support being a NPOT size ! So I set the size to 512x256 (to get some speed), and it worked!

post-5182-0-23812900-1436861734.png


And as you can see, the small Framebuffer doesn't alter the rendering too badly. I have set the filtering to GL_NEAREST, so get Pixels. I think it fit the art of the game quite well, so I will probably let it like that.

For now, it's still a bit slow on my Gigahertz. I'm try to find ways to accelerate it (like remove the blit "gamma" shader and put a simpler one, and use hardware Gamma instead).

I hope to have some beta PND soon. If some are interested in beta testing (you need the orignal game of course), give me a PM...

*EDIT* Just notice I am still missing some texture (hands, full body when looking in the mirror...).
You messed around a lot, heh?!  You are really messy.  I mean you are Messi of porting ;)
 
Would it be possible for you to "port" opsu! ?


It starts up when using the Minecraft Launcher with the .jar and swap (on CC, at least). However, the database does not work, so neither existing songs can be loaded nor the downloader can import any, so gameplay doesn't work.


Minimal supported resolution is 800x480, though this might be just an arbitrary restriction and work just fine when removed from the code.
I may try later. So, it partly works with the MineCraft launcher, but not completly? Is there some error or something specific written (failure with libs fr example) in the logs?
 
Would it be possible for you to "port" opsu! ?


It starts up when using the Minecraft Launcher with the .jar and swap (on CC, at least). However, the database does not work, so neither existing songs can be loaded nor the downloader can import any, so gameplay doesn't work.


Minimal supported resolution is 800x480, though this might be just an arbitrary restriction and work just fine when removed from the code.
I may try later. So, it partly works with the MineCraft launcher, but not completly? Is there some error or something specific written (failure with libs fr example) in the logs?
Ah yes.




Could not connect to database: './.opsu.db'.
java.sql.SQLException: Error opening connection
at org.sqlite.core.CoreConnection.open(CoreConnection.java:140)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:66)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:21)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:233)
at itdelatrisu.opsu.db.DBController.createConnection(DBController.java:65)
at itdelatrisu.opsu.db.BeatmapDB.init(BeatmapDB.java:74)
at itdelatrisu.opsu.db.DBController.init(DBController.java:46)
at itdelatrisu.opsu.Opsu.main(Opsu.java:135)
Caused by: java.lang.Exception: Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:243)
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:65)
at org.sqlite.core.NativeDB.load(NativeDB.java:53)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:136)
... 12 more


Looks like libsqlitejdbc.so is missing.


So I tried putting one compiled for raspberry pi I found and it surprisingly seemed to work.


With songs in the Song folder, it appears to load the database correctly and shows the right song count at the title screen, but the crashes in OpenAL:




** Uncaught Exception! **
java.lang.UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalDeleteSources(IJ)V
at org.lwjgl.openal.AL10.nalDeleteSources(Native Method)
at org.lwjgl.openal.AL10.alDeleteSources(AL10.java:766)
at itdelatrisu.opsu.audio.MusicController.destroyOpenAL(MusicController.java:426)
at itdelatrisu.opsu.audio.MusicController.reset(MusicController.java:391)
at itdelatrisu.opsu.Container.close_sub(Container.java:131)
at itdelatrisu.opsu.Container.start(Container.java:74)
at itdelatrisu.opsu.Opsu.main(Opsu.java:169)


Which is kind of weird since audio did work for sound effects and music preview in the downloader before.


Without any songs downloaded it runs, but the downloader now hangs at unpacking the song archive instead of importing into the database. Song preview didn't work at that time, although I'm unsure if that's related to anything.


​Thanks for taking a look.  :)
 
@elvissteinjr : looks like an unsatisfied dependency, inside lwjgl, so I guess the version of lwjgl used by opsu is different than the one inside Minecraft PND.
 
Can someone try to run Terraria and Counter Strike (1.6 - with wine and exagear - slow!)?
 
Can someone try to run Terraria and Counter Strike (1.6 - with wine and exagear - slow!)?
That really isn't porting... that is just using emulation. I doubt either is in the realm of working at a playable speed on the Pandora.
 
Last edited by a moderator:
I hope they will be playable on the Pyra :)


What do you think?


EDIT : I don't think some people will port them, as Terraria and Counter-Strike 1.6 haven't got much players.
 
Last edited by a moderator:
There is no sources for both games. But terraria is C# so can be multi arch (I tried but didn't succeeded).


For counter strike, xash3d may be the solution. But multi-player fps, on the pandora, it's difficult against regular keyboard/mouse player (there are already plenty of this type of game)...
 
Is it the same for the Pyra? Also, if I can even play it on the Pyra, the mouse player won't be a problem. It should run Counter and some games like Minecraft at a good fps so I can advertise it.
 
Last edited by a moderator:
Is it the same for the Pyra?
For Counter-strike, The OMAP5 in the Pyra may be able to be played with x86 emulation via Exagear Desktop, the performance is promising. Personally I haven't tried it yet as 3D acceleration isn't working on the Devboards yet.
 
Looking at the repo the latest version of geogebra is 3.2.46.0 :) is it possible an update to 4.0 ?
I would love to be able to do a graph of quadratic inequalities
 
Back
Top