D.gnu - linux-powerpc trouble
- Marcel Unbehaun (37/37) Nov 23 2006 All in all gdc works very good on my " ppc 7447/7457, altivec supported ...
- Carlos Santander (5/50) Nov 23 2006 I haven't looked at the code, but if either parser or parser[dirName] ar...
- Marcel Unbehaun (6/6) Nov 23 2006 Hi!
- Carlos Santander (11/18) Nov 23 2006 Again, I have not seen the code, but I think this might solve your probl...
- Marcel Unbehaun (3/3) Nov 23 2006 Thanks for detailed explanation!
- Marcel Unbehaun (14/14) Nov 23 2006 I just found s.th. which maybe mighty be interesting:
- Marcel Unbehaun (4/4) Jan 10 2007 To close this thread in case some other powerpc people are trying this:
All in all gdc works very good on my " ppc 7447/7457, altivec supported CHRP
Pegasos2 GNU/Linux",
but one error always comes back:
I'm trying to build the famous aba-games on my machine - several build/work
good.
But all those which use a routine in "barrage.d" to initialize bulletml crash
at the same part:
http://paste.dprogramming.com/dpknqggs.php
As I don't know how long my pasted entry above exists (?) - I better paste a
copy here, too:
-------------
public static BulletMLParserTinyXML* getInstance(char[] dirName, char[]
fileName) {
if (!parser[dirName][fileName]) {
char[] barrageName = dirName ~ "/" ~ fileName;
Logger.info("Loading BulletML: " ~ barrageName);
parser[dirName][fileName] =
BulletMLParserTinyXML_new(std.string.toStringz(BARRAGE_DIR_NAME ~ "/"
~ barrageName));
BulletMLParserTinyXML_parse(parser[dirName][fileName]);
}
return parser[dirName][fileName];
}
This is a part from barrage.d from ABA-games Val&Rick.
I built it with 3.4.5& gdc-0.19
It also exists in other games & they all crash in this region on a linux-powerpc
system! (torustrooper, tumikifighter, (mu-cade))
The problems in similar non-aba games from http://homepage2.nifty.com/isshiki/
maybe have the same reason:
these games (GradleUnsion, z-lock) build, but either shots, or enemies are
missing
Parsec47 uses a similar routine to handle bulletml, but there it works.
Valgrind prints this line as 1st error:
if (!parser[dirName][fileName]) {
Would be great if someone could look into this...
--------------
Thanks a lot for attention!
friendly,
Marcel "frostwork" Unbehaun
Nov 23 2006
Marcel Unbehaun escribió:All in all gdc works very good on my " ppc 7447/7457, altivec supported CHRP Pegasos2 GNU/Linux", but one error always comes back: I'm trying to build the famous aba-games on my machine - several build/work good. But all those which use a routine in "barrage.d" to initialize bulletml crash at the same part: http://paste.dprogramming.com/dpknqggs.php As I don't know how long my pasted entry above exists (?) - I better paste a copy here, too: ------------- public static BulletMLParserTinyXML* getInstance(char[] dirName, char[] fileName) { if (!parser[dirName][fileName]) { char[] barrageName = dirName ~ "/" ~ fileName; Logger.info("Loading BulletML: " ~ barrageName); parser[dirName][fileName] = BulletMLParserTinyXML_new(std.string.toStringz(BARRAGE_DIR_NAME ~ "/" ~ barrageName)); BulletMLParserTinyXML_parse(parser[dirName][fileName]); } return parser[dirName][fileName]; } This is a part from barrage.d from ABA-games Val&Rick. I built it with 3.4.5& gdc-0.19 It also exists in other games & they all crash in this region on a linux-powerpc system! (torustrooper, tumikifighter, (mu-cade)) The problems in similar non-aba games from http://homepage2.nifty.com/isshiki/ maybe have the same reason: these games (GradleUnsion, z-lock) build, but either shots, or enemies are missing Parsec47 uses a similar routine to handle bulletml, but there it works. Valgrind prints this line as 1st error: if (!parser[dirName][fileName]) {I haven't looked at the code, but if either parser or parser[dirName] are AAs, maybe you should change that line to a "in" expression (or a couple of them.)Would be great if someone could look into this... -------------- Thanks a lot for attention! friendly, Marcel "frostwork" Unbehaun-- Carlos Santander Bernal
Nov 23 2006
Hi! Thanks a lot for the fast reply! Would you please give an example of what you mean? I forgot to mention that I can't program :( friendly, Marcel
Nov 23 2006
Marcel Unbehaun escribió:Hi! Thanks a lot for the fast reply! Would you please give an example of what you mean? I forgot to mention that I can't program :( friendly, MarcelAgain, I have not seen the code, but I think this might solve your problem. Basically, you have this line: if (!parser[dirName][fileName]) Change it to: if (! (fileName in parser[dirName])) If it compiles, fine. If it doesn't, that means my assumption is wrong. If it compiles, see if your program works now. If it doesn't, it means that a further look to the code is needed. -- Carlos Santander Bernal
Nov 23 2006
Thanks for detailed explanation! The changed code compiles but unfortunately it still crashes in the same line. :(
Nov 23 2006
I just found s.th. which maybe mighty be interesting:
Before the pasted function there's a line
"if (getExt(fileName) != "xml")"
When I comment out this the game crashes later in the process:
at texture.d:28
The first lines there are
public static SDL_Surface* loadBmp(char[] name) {
if (surface[name]) {
return surface[name];
} else {
char[] fileName = imagesDir ~ name;
The crashing line 28 is "if (surface[name]) {".
When I comment out the if-else routine, the game loads till the title screen
(when starting to play it crashes, probably as of missing bulletml-stuff)
Nov 23 2006
To close this thread in case some other powerpc people are trying this: i successfully built all aba-games but mu-cade on linux-powerpc. (tumiki is unfinished though atm - i.e. the boss-routine doesn't like to work yet). i'll release my changes soon...
Jan 10 2007








Marcel Unbehaun <frostworks gmx.de>