HarbourMasters / 2ship2harkinian

Creative Commons Zero v1.0 Universal
790 stars 67 forks source link

[Big Endian] The game crashes after libultraship intro #802

Open Link4Electronics opened 1 week ago

Link4Electronics commented 1 week ago

Description of the crash:

I compiled the source on a Big Endian system, PowerMac G5 running Debian sid PPC64. I provided the mm.o2r on the same folder as 2sh2.elf, when try to run it, it opens, shows the libultraship intro, and then crashes. It seems to be something realted to the access of the mm.o2r due to the byteswap requierd for Big Endian systems. The thing is, Shipwright works perfect fine on the same system (I attached a screen below)

Screenshots or videos:

image

Shipwright on the same machine image image image

Logs:

[z_demo.c:1581] [info] Cutscene_HandleConditionalTriggers: entrance:7168, cutsceneIndex: 0xFFFA terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 880) >= this->size() (which is 880) [CrashHandler.cpp:72] [critical] Signal: 6 ABORT

System Information:

garrettjoecox commented 1 week ago

Just to verify, did you generate your O2R with the same build you are trying to run?

additionally, did you ensure to generate the 2ship.O2R

Link4Electronics commented 1 week ago

Oh hey, thanks for the reply, yes I followed the instructions in BUILDING.md, there's 2ship.o2r and mm.o2r, but I decided to do a clean recompile again just to be sure because I think I maybe messed around with mm.o2r between versions (little and big endian buildings), it'll take a while to finish compiling, will report back when it finishes. Best regards, Link.

Link4Electronics commented 1 week ago

No dice. new compilation with fresh 2ship.o2r and mm.o2r generated. image image

I suspect that the mm.o2r is being generated with only little endian systems in mind, and then it crashes when loading. log 2 Ship 2 Harkinian.log