Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Link4Electronics opened this issue Oct 7, 2024 · 5 comments
Open

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

Link4Electronics opened this issue Oct 7, 2024 · 5 comments
Labels
bug Something isn't working crash This issue results in a crash, higher priority

Comments

@Link4Electronics
Copy link

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:

  • OS: Linux Debian sid PPC64
  • GFX Backend: OpenGL
  • Game Version: Rika Charlie 1.0.2
  • Rom Version: MM-US 1.0
@Link4Electronics Link4Electronics added bug Something isn't working crash This issue results in a crash, higher priority labels Oct 7, 2024
@garrettjoecox
Copy link
Contributor

garrettjoecox commented Oct 7, 2024

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
Copy link
Author

Link4Electronics commented Oct 7, 2024

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
Copy link
Author

Link4Electronics commented Oct 8, 2024

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

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

@GaryOderNichts
Copy link

You should try building https://github.com/HarbourMasters/2ship2harkinian-WiiU which has some big endian fixes which haven't been upstreamed yet.

@Link4Electronics
Copy link
Author

Link4Electronics commented Nov 18, 2024

Yay! Progress, kudos!
20241118_045411
Had to edit the imconfig.h to make DearImGui render properly

#define IM_COL32_G_SHIFT    16
#define IM_COL32_B_SHIFT    8
#define IM_COL32_A_SHIFT    0
#define IM_COL32_A_MASK     0x000000FF

20241118_052152
And is completely muted, no music and SFX, Shipwright plays music.

Best regards,
Link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working crash This issue results in a crash, higher priority
Projects
None yet
Development

No branches or pull requests

3 participants