Port Requests


@Farox : what a weird looking game !

/me wants to play it ! :p
It's even more weird than it looks, quite confusing and extremely unforgiving.
I'd call it a drug induced mix between open world rpg and racing game and whoever is able to finish it has my respect.
The voxel engine looks nice even for today's standards, the controls are mean and every wrong decision can cost you everything. I had to give up at some point.
In Soviet Russia, video games play YOU!
 
Last edited:
It's ok, @Magic Sam gifted me the game.

I have compiled it, it "runs" but for now doesn't display anything. I hear the music but that's it. Doing a GL capture shows that nothing is draws on the screen (I just see the Title texture correctly loaded). I have to debug, maybe the Pandora screen is to small (it wants a 800x600 minimum)? It's an SDL2 game, no omapdss here (and it's OpenGL anyway).
 
If you compile without GL in cmake it show the menu with music and you can navigate the menu and select/deselect fullscreen...but when i click on play game on the second screen (when i click on bottom
of the screen to play) it exit.
 
Yeah, I will try without GL (and hope it's not too slow).
[doublepost=1475931734,1475930933][/doublepost]In the same time, I'm making progress with that:
openmw03.png

Not playable for now as it crash quickly (I have to rebuild bullet it seems) and video are super super slow (I can probably hack a few things to get them a bit smoother). I have no ideas how the speed will be now (not stable enough at all).
 
The mystery game is an opensource remake (only the engine) of a famous one. It's the third installement (the five is out for more than a year now), and it has been asked numerous times...

Now, on Vangers, it runs on my side. No issue beside the fact that I have absolutly no ideas what your are supposed to do, and the fact that some writing on the screen are a bit small..
Here are some screenshot.
Now, I need to package that, and create some script to autoexctract GoG linux data.
 

Attachments

  • vangers01.png
    vangers01.png
    440.2 KB · Views: 446
  • vangers04.png
    vangers04.png
    492.6 KB · Views: 444
  • vangers07.png
    vangers07.png
    500.7 KB · Views: 424
The mystery game is an opensource remake (only the engine) of a famous one. It's the third installement (the five is out for more than a year now), and it has been asked numerous times...
OpenMW - Morrowind (Elder Scrolls III)
I have absolutly no ideas what your are supposed to do.
In the first area, there are two underground stations, you can find them with the compass bug, they should be the first two entries in the list.
You can get to the compass by clcking in the window on the right side.
There are several ways to make money for better equipment, the usual way are delivery runs. Both "cities" have an item in the store which you can buy cheap there and sell for more in the other one.
A quicker way to earn money is by looking out for the underground hideouts (can be opened like the city hatches with the space key) and selling the contents.
After a while you can do the race where you have to deliver a fragile baby bug to the other station, time and seasons are always progressing there even when you do nothing and are just sitting in a town.
If you manage to be second or third in the race you just get money, if you manage to be first two times the game actually progresses but things get really nasty in the second world, believe me.

There's more you have to learn and this is one of the games where you actually need to look into the manual, because the game deliberately refuses to tell you some things in advance.
It's meant to be confusing and mean.
 
Not much changed in the code, just for forcing SDL2 Window creation to desktop fullscreen.

Other thing is linking with libvordisidec.so instead of libvorbis.so and libvorbisfile.so because other libs (most) in codeblocks use Tremor (that is libvorbisidec.so) instead of regular vorbis (libvorbis.so & libvorbisfile.so) for performances reason.
But mixing the 2 libs gives issues and segfault (many overlapping names, you cannot really have both libs loaded at the same time).
 
Si, I got farther with OpenMW.

My crash was there
Line 339 of nifloader.cpp
Code:
                if (target.mKeyframeControllers.find(strdata->string) != target.mKeyframeControllers.end())
                    std::cerr << "Warning: controller " << strdata->string << " present more than once in " << nif->getFilename() << ", ignoring later version" << std::endl;
                else
                    target.mKeyframeControllers[strdata->string] = callback;
I commented out the std::cerr line (puting a {} instead) and it worked. Some strange things with some __thread local variables inside gcc libs made a segfault, not sure why

I now can go ingame, but the game is slow. I get 2~5 fps in closed space, and 1fps or less in large open space.
Graphics are good and texture detailled (a bit too much for the Pandora probably), but it also spend time doing math...
here is what perf top gives me
Code:
   PerfTop:    1042 irqs/sec  kernel: 4.9%  exact:  0.0% [1000Hz cycles],  (all, 1 CPU)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    23.58%  openmw                      [.] gjkepa2_impl::EPA::Evaluate(gjkepa2_impl::GJK&, btVector3 const&)
     4.71%  libGLES_CM.so.1.10.2359475  [.] 0x49c0
     4.36%  openmw                      [.] btGjkPairDetector::getClosestPointsNonVirtual(btDiscreteCollisionDetectorInterface::ClosestPointInput const&, btDiscreteCollisionDetectorInterface::Resul
     3.37%  openmw                      [.] gjkepa2_impl::EPA::newface(gjkepa2_impl::GJK::sSV*, gjkepa2_impl::GJK::sSV*, gjkepa2_impl::GJK::sSV*, bool)
     3.29%  openmw                      [.] btConvexShape::localGetSupportVertexNonVirtual(btVector3 const&) const
     3.23%  perf                        [.] rb_next
     3.17%  openmw                      [.] btConvexShape::localGetSupportVertexWithoutMarginNonVirtual(btVector3 const&) const
     2.31%  openmw                      [.] btVoronoiSimplexSolver::closest(btVector3&)
     2.30%  openmw                      [.] btVoronoiSimplexSolver::closestPtPointTriangle(btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btSubSimplexClosestResult&)
     2.27%  libc-2.9.so                 [.] memcpy
     2.24%  openmw                      [.] btVoronoiSimplexSolver::closestPtPointTetrahedron(btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btSubSimplexC
     1.59%  openmw                      [.] btContinuousConvexCollision::calcTimeOfImpact(btTransform const&, btTransform const&, btTransform const&, btTransform const&, btConvexCast::CastResult&)
     1.34%  openmw                      [.] btDbvtBroadphase::rayTest(btVector3 const&, btVector3 const&, btBroadphaseRayCallback&, btVector3 const&, btVector3 const&)
     1.12%  openmw                      [.] btVoronoiSimplexSolver::inSimplex(btVector3 const&)
     1.05%  libasound.so.2.0.0          [.] snd_pcm_lfloat_convert_float_integer
     0.95%  perf                        [.] map_groups__fixup_overlappings
     0.89%  [kernel]                    [k] __do_softirq
     0.85%  libavcodec.so.57.51.100     [.] ff_mpadsp_apply_window_fixed_armv6
     0.80%  libosg.so.3.5.0             [.] osg::CullStack::pushCullingSet()
     0.80%  libc-2.9.so                 [.] 0x663a8
     0.76%  openmw                      [.] btTriangleShape::localGetSupportingVertexWithoutMargin(btVector3 const&) const
     0.75%  openmw                      [.] SceneUtil::RigGeometry::update(osg::NodeVisitor*)
     0.72%  openmw                      [.] btQuantizedBvh::sortAndCalcSplittingIndex(int, int, int)
     0.72%  openmw                      [.] btQuantizedBvh::calcSplittingAxis(int, int)
     0.67%  libosg.so.3.5.0             [.] osg::Matrixf::mult(osg::Matrixf const&, osg::Matrixf const&)
     0.67%  openmw                      [.] btConvexInternalShape::getAabbSlow(btTransform const&, btVector3&, btVector3&) const
     0.53%  libosg.so.3.5.0             [.] osg::Group::computeBound() const
     0.53%  libstdc++.so.6.0.22         [.] std::_Rb_tree_increment(std::_Rb_tree_node_base const*)
     0.50%  openmw                      [.] SceneUtil::LightListCallback::operator()(osg::Node*, osg::NodeVisitor*)
Not sure what gjkepa2_impl::EPA::Evaluate do (I think it's a Bullet function, not a OpenMW one), but I guess I should try there to take a quick look, even if I don't think it can improve fps enough to be playable.

One thing I noticed (you can see on the screenshot) is that Water is not rendered correctly. Not sure if it's a glshim bug or an engine bug (shaders are disabled of course, but the engine is supposed to render water even without shader).

I think it will be a Pyra title, not a Pandora one...
 

Attachments

  • openmw04.png
    openmw04.png
    388.2 KB · Views: 292
  • openmw05.png
    openmw05.png
    536.4 KB · Views: 286
Last edited:
Hi all :)

@ptitSeb : could you please release your OpenMW port in your beta lair ?

There are a lot of parameters I'd like to play with :p

Settings: here, here and here.

Profiling: here

Also, the FAQ mentions Android and Raspberry Pi as potential targets, so I guess we could maybe reach playable speed on the Pandora, although GPU is known to be the limiting factor on these platforms.

Cheers, Magic Sam
 
@Magic Sam : Ok, I'll package it (I wasn't planning to, because of the poor fps, but ok, I can do it). There are some Wizard and all to prepare the data from Install CD. I used some ISO myself, using fuseiso to avoid extracting the data temproray (I can perhaps add the option to mount all the ISOs I detect in the appdata at launch, or at least ask question if I detect any iso?)

About Android support: I think current version use my glshim, but because of some bethesda legal matter, there is no apk available for it.
RPI version seems to try using the beta VC4 Mesa support, so it's an OpenGL 2.x build.

I still hav eto beta test a bit, I think there are other segfault, but I haden't much time to test.

Don't expect a build before mid/end of the Week, it's a bit tricky to do (many dependancies to sort out)...
 
@ptitSeb : I don't want to waste your time though. If you're 100% certain that even with the lowest possible settings OpenMW will not run "correctly" on the Pandora, then don't package it. Save it for later, it will no doubt be a killer application on the Pyra !

Btw, I don't own the game yet and was planning to buy it from GOG. Would GOG data be compatible with OpenMW ?

Cheers, Magic Sam
 
Back
Top