[aquaria] Aquaria port for OS4 PPC

Andrea Palmatè andrea at amigasoft.net
Wed Jun 9 11:00:42 EDT 2010


Hi,
i'm trying to port for AmigaOS4 that is a PPC platform
I've compiled the exe and as data files i'm using that one included in 
the linux .run distribution (i've installed it on an ubuntu platform and 
i've copied them on my OS4 machine)
First problem. If i use the optimizations enabled like -O2 or -O3 with 
gcc4.2.4 or gcc 4.4.3 i have a DSI into Core.cpp file in the Core function:

Core::Core(const std::string &filesystem, int numRenderLayers, const 
std::string &appName, int particleSize, std::string userDataSubFolder)

it seems like g++ doesn't trash the variables userDataSubFolder and 
userDataFolder (this one only with gcc 4.4.3).
If i put two initializations like

     userDataFolder = "";
     userDataSubFolder = appName;

i have no more crash. This happens also if i remove -O2 or -O3 optimizations

The second problem and this is a blocking state for me is that i receive 
another DSI in this function:

SkeletalSprite *getSkeletalSprite(Entity *e)
{
     Avatar *a;
     ScriptedEntity *se;
     SkeletalSprite *skel = 0;
     if (a=dynamic_cast<Avatar*>(e))      //<---------- THIS LINE 
GENERATE A DSI
     {

This is the stacktrace

Instruction pointer 0x6F4BBD2C belongs to module "libstdc++.so" (PowerPC)
Symbol: 
_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE 
+ 0x140 in section 10 offset 0x00076D2C

Stack trace:
     
libstdc++.so:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE()+0x140 
(section 10 @ 0x76d2c)
     libstdc++.so:__dynamic_cast()+0x84 (section 10 @ 0x771b4)
     aquaria.os4:_Z17getSkeletalSpriteP6Entity()+0x50 (section 8 @ 0x2d8f34)
     aquaria.os4:_Z16l_entity_animateP9lua_State()+0x124 (section 8 @ 
0x2d93e8)
     aquaria.os4:luaD_precall()+0x53C (section 8 @ 0x36b7dc)
     aquaria.os4:luaV_execute()+0x1980 (section 8 @ 0x37979c)
     aquaria.os4:luaD_call()+0xD8 (section 8 @ 0x36bc10)
     aquaria.os4:f_call()+0x4C (section 8 @ 0x36696c)
     aquaria.os4:luaD_rawrunprotected()+0x74 (section 8 @ 0x36a5e8)
     aquaria.os4:luaD_pcall()+0x9C (section 8 @ 0x36c218)
     aquaria.os4:lua_pcall()+0xC8 (section 8 @ 0x366a4c)
     aquaria.os4:_ZN14ScriptedEntity12onEnterStateEi()+0x178 (section 8 
@ 0x2c2dc8)
     aquaria.os4:_ZN12StateMachine7performEifPv()+0x12C (section 8 @ 
0x47a668)
     aquaria.os4:_ZN12StateMachine8onUpdateEf()+0x188 (section 8 @ 0x47aa5c)
     aquaria.os4:_ZN6Entity6updateEf()+0x640 (section 8 @ 0x17ca64)
     aquaria.os4:_ZN4Core19updateRenderObjectsEd()+0x104 (section 8 @ 
0x3e196c)
     aquaria.os4:_ZN4Core4mainEf()+0x1234 (section 8 @ 0x3e3274)
     aquaria.os4:main()+0x22C (section 8 @ 0x26077c)

Just the last question. Is aquaria working on Linux PPC? Or the usual 
endianess routime must be written for something?
I've seen with an utility that the data files (the png one) are read 
correctly

Any tips?
-- 

*Andrea Palmatè*
http://www.amigasoft.net

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/aquaria/attachments/20100609/f6be3342/attachment.htm>


More information about the aquaria mailing list