Jump to content

GemRB on windows RT


bartekxyz

Recommended Posts

Hi,

Today I compiled GemRB for ARM based Windows RT in Visual Studio 2012. Everything went fine except gemrb_core, specifically interface.cpp which generated error:

 

Error 26 error C2664: 'std::make_pair' : cannot convert parameter 1 from 'GemRB::ieDword' to 'GemRB::ieDword &&'

 

Here is the snippet of code that cause error.

 

DamageInfoStruct di;

for (ieDword i = 0; i < tm->GetRowCount(); i++) {

di.strref = displaymsg->GetStringReference(atoi(tm->QueryField(i, 0)));

di.resist_stat = TranslateStat(tm->QueryField(i, 1));

di.value = strtol(tm->QueryField(i, 2), (char **) NULL, 16);

di.iwd_mod_type = atoi(tm->QueryField(i, 3));

DamageInfoMap.insert(std::make_pair <ieDword, DamageInfoStruct> ((ieDword)di.value, di)); <<<<< This line causes error

 

I changed std::make_pair to std::pair and gemrb_core compiled succesfuly, I can run games but there are issues with options in ie. BG2,

values are too high so sound is distorted and scrolling is ultra fast. When I looked in gem-baldur.ini all values are enormous, like:

 

Volume Music= 536845504

Mouse Scroll Speed = 536845504

 

Every single options have this value. Is this caused by my change from make_pair to pair? If yes, how can I resolve this issue?

Link to comment

Awesome! Good that it took so little to make it run.

 

The config values you got are pretty wierd, but you can just change them manually in the file. Please check if the values are already corrupted right before being written in Interface::SaveConfig(). If that's the case, try pausing the game, going to the options screen, then setting a breakpoint on GemRB_SetVar and GemRB_SetVarAssoc, continuing, changing a setting. In memory values are changed asap, so you'll trigger one of the two immediately. Go from there.

Of course first reset the values in the file to something sane.

 

It has nothing to do with your pair issues though. I've pushed a change that will hopefully fix that.

Link to comment

git clone git://gemrb.git.sourceforge.net/gemrb/gemrb/

Cloning into gemrb...

gemrb.git.sourceforge.net[0: 216.34.181.91]: errno=Connection refused

fatal: unable to connect a socket (Connection refused)

 

I can't download repo, am I doing something wrong?

Link to comment

That second url is correct and I managed to make another clone just now, so it's wierd that you're having problems.

http://sourceforge.n...2&source=navbar

 

Here's a manual clean clone:

http://ebm.si/c-e-n/...-1be33aaab7.zip

I compiled current code without any problems or modifications, funny thing is that now all values in ini files are always set to zero . I will investgate into it

Sorry for double posting but I tried running regular x86 version of GemRB from your webpage and to my amazement after setting ingame options ini file looks like this: [Program Options]

3D Acceleration = 59742832

BitsPerPixel = 59742832

Brightness Correction = 597428323

Now that's strange. Maybe we have strictly win8/rt related bug?

Link to comment

Yes, this works elsewhere.

Also tried with another laptop, this time with windows 7, same issue. I will download a demo to see if it's not related to my version of BG2.

EDIT: Tried demo version with two laptops, win8 and win7, freshly downloaded GemRB 0.7.2, and it still produces gem-baldur.ini that has values which are higher with every run.

Link to comment

0.7.2 is in the past, there has been more than 800 commits since. I don't have windows handy to test, but it makes little sense to do it with old code.

I suspect that if I build GemRB from current code for x86 it would behave just like the same code pompie\ for arm - all values Inside ini files would be always zeroes. Compiler generates plugin dlls, mail core gemrb dll and small exe. Where should I look for rest files(non compileable but necessary) in most current versions?
Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...