Thread Closed

1000$USD Bounty to fix GemRB for IRIX - CLOSED
#41
RE: 1000$USD Bounty to fix GemRB for IRIX
(01-07-2020, 08:54 PM)Irinikus Wrote:  I'm finding it different to tell them apart, but there is an extremely small file size difference between them 5 Bytes:

All it really means is that you must for now anyway install the game without sound first and then copy its GemRB.config file to another location and then uninstall it and then install the version with sound. If you don't see the intro, and it takes you straight to the game menu, then swap the config files and change the sound parameters in the old config file to give you sound and off you go!

The only difference between the config file of gemrb with Sound and without Sound are 6 Bytes (the # sign) at the beginning of the following variables:

AudioDriver = sdlaudio
VolumeAmbients = 100
VolumeMovie = 100
VolumeMusic = 100
VolumeSFX = 100
VolumeVoices = 100


Other than that, they should be the same. Also Keep in mind the Cache2 Directory. It is created every time you run gemrb and if you don't delete it before each run, it picks up whatever old Cache files it has stored there. This may be a plausible reason for this odd behaviour.
TruHobbyist
Developer

Trade Count: (0)
Posts: 195
Threads: 21
Joined: May 2018
Find
01-07-2020, 09:43 PM
#42
RE: 1000$USD Bounty to fix GemRB for IRIX
Update on my attempt to run gemrb on my own system.

A full swmgr install of packages.

I was getting segmentation violations (SIGSEGV) running gemrb reported by debugging with ProDev's 'cvd': SDL_surface.c:738 where on viewing line 738 it is simply running SDL_LockSurface().  This accesses video memory, if that means anything.

There is a setting in the GemRB.cfg file for color depth:
Bpp=32
but it can also take Bpp=16
If i set it to Bpp=16, then gemrb gets past the SIGSEGV.  (video card setup issue?  I was able to use Bpp=32 on previous attempted GemRB builds.. granted they kept crashing during the game)

Good news. but then bad news:
Code:
[Core]: Plugin Loading Complete...
[Core]: GemRB Core Initialization...
[Core]: Initializing Video Driver...
[SDL 1.2 Driver]: Creating display
[SDL 1.2 Driver]: SDL_SetVideoMode...
[SDL 1.2 Driver]: Checking for HardWare Acceleration...
[SDL 1.2 Driver]: Creating Main Surface...
[SDL 1.2 Driver]: Creating Back Buffer...
[SDL 1.2 Driver]: Creating Extra Buffer...
[Core]: Initializing Search Path...
[ResourceManager/WARNING]: Invalid path given: /usr/local/share/games/gemrb/bg1/portraits (Portraits)
[ResourceManager/WARNING]: Invalid path given: /usr/local/share/games/gemrb/bg1/Data/Data (Data)
[Core]: Initializing KEY Importer...
[KEYImporter]: Opening /usr/local/share/games/gemrb/bg1/chitin.key...
[KEYImporter]: Checking file type...
[KEYImporter]: Reading Resources...
[KEYImporter]: BIF Files Count: 141 (Starting at 24 Bytes)
[KEYImporter]: RES Count: 15237 (Starting at 4241 Bytes)
[KEYImporter/ERROR]: Cannot find data/AREA4300.bif...
[KEYImporter/ERROR]: Cannot find data/AREA500X.bif...
[KEYImporter/ERROR]: Cannot find Movies/MovieCD1.bif...
[KEYImporter]: Resources Loaded...
[Core]: Initializing GUI Script Engine...
MemoryError


I am assuming this is related to Python.. as if I set PATH to use nekoware's Python it gives more details, but still errors.

The relevant environment settings I am using:

Code:
PYTHONHOME=/usr/local/lib/python2.7
PYTHONPATH=/usr/local/lib/python2.7/
LD_LIBRARYN32_PATH=/usr/local/lib:/usr/freeware/lib:/usr/lib32:/opt/lib32gemrb:/opt/lib32
PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bsd:/sbin:/usr/bin
(/opt/lib32 and /opt/lib32gemrb have a few library dependencies stored there rather than installing them via swmgr)

I am curious as to how Irinikus has run gemrb.. as I would expect Nekoware to be installed too?.. which Python is being used then?
(This post was last modified: 01-08-2020, 04:11 AM by necron2600.)
necron2600
Octane

Trade Count: (0)
Posts: 127
Threads: 50
Joined: May 2018
Find
01-08-2020, 04:09 AM
#43
RE: 1000$USD Bounty to fix GemRB for IRIX
The 5 Bytes difference is there, after I’ve removed those #’s,

Another interesting thing is that there are no residual files left in the Caches2 directory on my machine. (Even hidden files.)

I’ve checked the /Caches2 and the /usr/local/bin/Caches2 files. (I’m not at home currently, but if I remember correctly, it resides in the bin directory.)

Tonight, if I have time, I’ll make a video, showing the install of the GemRB software, showing the initial result, where the intro doesn’t play. I’ll then uninstall it and install GemRB without sound to get it’s config file. I’ll then uninstall it and reinstall GemRB with sound and then swap out the config files to show you what happens. I’ll also show the game running with sound.
(This post was last modified: 01-08-2020, 07:47 AM by Irinikus.)
Irinikus
Hardware Connoisseur

Trade Count: (0)
Posts: 3,475
Threads: 319
Joined: Dec 2017
Location: South Africa
Website Find
01-08-2020, 07:39 AM
#44
RE: 1000$USD Bounty to fix GemRB for IRIX
(01-07-2020, 08:02 PM)Irinikus Wrote:  And the intro comes up? TSR and BioWare?

When I install the game, it just takes me t the main menu when the game starts. (Using the new config file)

But when I change it to the config file from the game without sound and enter in the game path and setup the sound parameters, it gives me sound together with the intro.

What do you mean with intro? Do you mean this?
TruHobbyist
Developer

Trade Count: (0)
Posts: 195
Threads: 21
Joined: May 2018
Find
01-08-2020, 09:17 AM
#45
RE: 1000$USD Bounty to fix GemRB for IRIX
Yes, that’s it.
Irinikus
Hardware Connoisseur

Trade Count: (0)
Posts: 3,475
Threads: 319
Joined: Dec 2017
Location: South Africa
Website Find
01-08-2020, 09:28 AM
#46
RE: 1000$USD Bounty to fix GemRB for IRIX
(01-07-2020, 08:39 PM)necron2600 Wrote:  If I recall, even the Solaris 10/SPARC compile of GemRB skipped the movies.. I forget if that had extra libs needed that were more completed to get built or not.  The movies were never super great anyway.

Don't know what movies are meant here. I Need some pointers, please.

(01-07-2020, 08:39 PM)necron2600 Wrote:  My Octane has a lot of stuff installed (and many 'workarounds' here and there) though that could be hindering things.  I also believe it is IRIX 6.5.29, and not 6.5.30 (an old install I did years ago).  I have a Tezro with 6.5.30 to try later.. but it also has a lot of stuff installed. 

My dev Environment is a O2 R5k 200MHz with IRIX 6.5.30. I would say running on another IRIX Version may be a Problem, as some System libs are overlay specific.

(01-07-2020, 08:39 PM)necron2600 Wrote:  I followed the install..  but was getting an SDL error with ENOMEM (out of memory). 

Then to help debug.. I uninstalled and placed the extra libs from your packages into a custom directory. 
Details of my specific issue (again.. not a typical out-of-box IRIX setup.. I have freeware installed, nekoware installed.. and much of nekoware Beta installed.. some /usr/local bits, and some obsolete nekoware libs I stuff in /opt/lib.. however I arrange libs as needed via LD_LIBRARYN32_PATH settings.

output (in this specific case for debugging.. I placed all your packages and 3rd party (your SDL version, etc..) into a separate dir /gemrb-needs/ and used LD_LIBRARYN32_PATH to point to it first.    you can see it is using your compiled SDL-1.2.15 in the output

export LD_LIBRARYN32_PATH=/gemrb-needs/lib:/usr/lib32:/usr/freeware/lib32 
  (/gemrb-needs has all your extra required packages installed there (SDL, zlib, etc..).. however I did install to /usr/local before to no avail (ENOMEM))

Ok. Using LD_LIBRARYN32_PATH has the Problem of prepending to the Default rld search path of _every_ library in the dependency tree. For this case I provided a file with a two Level deps tree for a working gemrb with Sound.

You can use that file to manually check library deps in your Environment.


(01-07-2020, 08:39 PM)necron2600 Wrote:  [Core]: GemRB Core Version v0.8.4 Loading...

-- missing SDLAudio.so --
[PluginLoader]: Loaded plugin "SDL1 Video Driver" (SDLVideo.so).
...

As suggested, please use GemRB with sound.

(01-08-2020, 04:09 AM)necron2600 Wrote:  I was getting segmentation violations (SIGSEGV) running gemrb reported by debugging with ProDev's 'cvd': SDL_surface.c:738 where on viewing line 738 it is simply running SDL_LockSurface().  This accesses video memory, if that means anything.

Line 738 (src/video/SDL_surface.c) is:

if (! surface->locked ) {

}

This suggests a NULL Surface pointer which *can* be due to wrong deps libraries (maybe nekoware's SDL installed???).

Please don't use collectors, speedshop Tracing/tracking or the likes on gemrb. It hooks into System library entries and makes Debugging even harder.  :s

The way to go for gemrb is printf and dbx.


(01-08-2020, 04:09 AM)necron2600 Wrote:  There is a setting in the GemRB.cfg file for color depth:
Bpp=32
but it can also take Bpp=16
If i set it to Bpp=16, then gemrb gets past the SIGSEGV.  (video card setup issue?  I was able to use Bpp=32 on previous attempted GemRB builds.. granted they kept crashing during the game)

Interesting.


(01-08-2020, 04:09 AM)necron2600 Wrote:  
Code:
Good news. but then bad news:
[code][Core]: Plugin Loading Complete...
...
[Core]: Initializing GUI Script Engine...
MemoryError

I am assuming this is related to Python.. as if I set PATH to use nekoware's Python it gives more details, but still errors.

This is python for sure. You can tell by the error naming style and the context: GUIScript is the gemrb module that loads the python DSO.


(01-08-2020, 04:09 AM)necron2600 Wrote:  The relevant environment settings I am using:

Code:
PYTHONHOME=/usr/local/lib/python2.7
PYTHONPATH=/usr/local/lib/python2.7/
LD_LIBRARYN32_PATH=/usr/local/lib:/usr/freeware/lib:/usr/lib32:/opt/lib32gemrb:/opt/lib32
PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bsd:/sbin:/usr/bin
(/opt/lib32 and /opt/lib32gemrb have a few library dependencies stored there rather than installing them via swmgr)

Try using:

LD_LIBRARYN32_PATH=/lib32:/usr/lib32:/usr/local/lib:/usr/freeware/lib32:/opt/lib32gemrb:/opt/lib32
PATH=/usr/sbin:/usr/bsd:/sbin:/usr/bin:/usr/local/bin:/usr/freeware/bin


Note /usr/freeware/lib32 is different from /usr/freeware/lib . gemrb's freeware deps are in the former (*/lib32).


(01-08-2020, 04:09 AM)necron2600 Wrote:  I am curious as to how Irinikus has run gemrb.. as I would expect Nekoware to be installed too?.. which Python is being used then?

The idea and the final goal is to get it running in 3 or 4 steps, like Irinikus did (excluding the intro movie Problem here).

Nekoware is not being used and at least in my builds won't be ever used.


Suggestions:

- try compiling the whole Thing on your Octane (complete Sources of all involved binaries will be posted today in a separate thread)

- try an Environment with IRIX 6.5.30 and deps (System, Freeware, gemrb) installed in Default Locations (this resembles Irinikus's and my Environment)



Tru
TruHobbyist
Developer

Trade Count: (0)
Posts: 195
Threads: 21
Joined: May 2018
Find
01-08-2020, 11:51 AM
#47
RE: 1000$USD Bounty to fix GemRB for IRIX
An update on the intro movie issue.

The game tries to find the following movies:

Code:
[ResourceManager]: Searching for 'BG4LOGO'...
[Unknown]: Cannot find Movies/MovieCD1.bif... Resource unavailable.
[ResourceManager/WARNING]: Couldn't find 'BG4LOGO'... Tried BG4LOGO.mve BG4LOGO.mve
[ResourceManager]: Searching for 'TSRLOGO'...
[Unknown]: Cannot find Movies/MovieCD1.bif... Resource unavailable.
[ResourceManager/WARNING]: Couldn't find 'TSRLOGO'... Tried TSRLOGO.mve TSRLOGO.mve
[ResourceManager]: Searching for 'BILOGO'...
[Unknown]: Cannot find Movies/MovieCD1.bif... Resource unavailable.
[ResourceManager/WARNING]: Couldn't find 'BILOGO'... Tried BILOGO.mve BILOGO.mve
[ResourceManager]: Searching for 'INFELOGO'...
[Unknown]: Cannot find Movies/MovieCD1.bif... Resource unavailable.
[ResourceManager/WARNING]: Couldn't find 'INFELOGO'... Tried INFELOGO.mve INFELOGO.mve
[ResourceManager]: Searching for 'INTRO'...
[Unknown]: Cannot find Movies/MovieCD1.bif... Resource unavailable.
[ResourceManager/WARNING]: Couldn't find 'INTRO'... Tried INTRO.mve INTRO.mve


But the big bg1 from the ftp has:

bg1/movies/MOVIES.BIF
bg1/movies/MOVIECD2.BIF
bg1/movies/MOVIECD3.BIF
bg1/movies/MOVIECD4.BIF
bg1/movies/MOVIECD5.BIF


When changing the pathnames to match gemrbs search, the corresponding movie is shown as expected.

Now my Question is where are the missing movie files?
TruHobbyist
Developer

Trade Count: (0)
Posts: 195
Threads: 21
Joined: May 2018
Find
01-08-2020, 01:41 PM
#48
RE: 1000$USD Bounty to fix GemRB for IRIX
FYI: Bounty is closed.
necron2600
Octane

Trade Count: (0)
Posts: 127
Threads: 50
Joined: May 2018
Find
01-08-2020, 06:24 PM
#49
RE: 1000$USD Bounty to fix GemRB for IRIX
Congrats Necron, thank you for your bounty . Shows that money talks in this community lol!

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find
01-08-2020, 06:31 PM
#50
RE: 1000$USD Bounty to fix GemRB for IRIX
I have waited years for the day to play Baldur's Gate (and others) on an SGI workstation.. very good day now Wink
The thanks goes to TruHobbyist.. he spent months on this project and a lot of blood and sweat put into it. Same with Dexter1 before, and of course the GemRB team.

Now to discover what the next bounty will be?
necron2600
Octane

Trade Count: (0)
Posts: 127
Threads: 50
Joined: May 2018
Find
01-09-2020, 04:25 AM
Thread Closed


Forum Jump:


Users browsing this thread: 1 Guest(s)