Coder Social home page Coder Social logo

sm's Issues

Left wall grapple block emulator mismatch

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

When you grapple on a left wall with grapple blocks, until you get the "wall jump"-like sprite, and you let go of grapple, then a mismatch is detected (with the 300 counting down like said it the readme). I've tested this in 2 rooms that the community calls "aqueduct" and "halfie climb room".
console output:

@3549: Memory compare failed (mine != theirs, prev):
0x000AF9: A0 != 00 (A0)
0x000B13: A0 != 00 (A0)
0x000DA2: 01 != 00 (01)
0x000DA5: 00 != 60 (00)
0x000DD0: 00 != 01 (00)
  total of 5 failed bytes
Verify failure!
@3550: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3551: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3552: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3553: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3554: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3555: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3556: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3557: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3558: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3559: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3560: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3561: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3562: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3563: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3564: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3565: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3566: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3567: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3568: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3569: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3570: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3571: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3572: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3573: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3574: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3575: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3576: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3577: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!
@3578: Memory compare failed (mine != theirs, prev):
0x000DD0: 00 != 01 (01)
  total of 1 failed bytes
Verify failure!

What is your build target?

Linux

Game crashing on Launch "Verify Failure"

Loading the game is impossible and it closes immediately, the console mentions assertion failure on line 497 for one of the files. (i am unsure if this similar to another issue that is on here, as the amount of times ive attempted launching it has gained 0 results so far, so im guessing whatever issue i am having is probably different and could possibly be on my own end..? I am unsure).
Here is the image of what is mentioned in the console:
Verify Failure

Better build system?

It looks like you're using two separate, hand-rolled build systems here. I understand this project is in its infancy but I think you'll want to use a "real" build system sooner rather than later. The two major options for cross-platform C/C++ projects are CMake and meson. Both have their pros and cons, and I have experience with both.

In general, I would recommend meson, but visual studio support (if that's a hard requirement?) is less mature than CMake. I'd be willing to make a PR for either, as I'd like to start hacking on this project but I also don't want to deal with makefiles.

Save game selection screen cancel in g_runmode = RM_MINE

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

I have put g_runmode to RM_MINE to check it out. When leaving the save selection screen to go back to the intro, the game crashes in RunOneFrameOfGameInner src/sm_82.c:691 . It appears that the variable st was 65545 (cause of crash), while if the g_runmode is on the default RM_BOTH, after 14 it just goes back to 10.

What is your build target?

Linux

Game Crashes On Start

A white screen is displayed for a short moment before it shuts itself down with no obvious error messages displayed to the user.

If, however, the game is run from terminal, you will be able to see an error message:

Loaded LoROM rom
"Super Metroid        "
Assertion failed: cpu->sp == cpu->spBreakpoint, file src/snes/cpu.c, line 1442

The game does on some occasions however run just fine. Just now, I had to run it nine times before it successfully ran.

Crackly audio in or near boss rooms

In the long room before kraid (with the three pirates and minikraid), the audio crackles. I noticed the same issue in croc's room. I'm on linux if that matters.

Document SDL dependencies

I tried to compile this and ran into this error:

make: sdl2-config: Command not found
make: sdl2-config: Command not found
cc -c -O2 -Werror   -DSYSTEM_VOLUME_MIXER_AVAILABLE=0 -I. src/config.c -o src/config.o
In file included from src/config.c:1:
src/config.h:3:10: fatal error: 'SDL_keycode.h' file not found
#include <SDL_keycode.h>

Game slowdowns and game soft lock Pi 4

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

Hi there I understand this is a project that is in early development but I wanted report the game having a lot of slow downs in the game also I would like to report that the second area after you land your ship gets soft locked when you enter the door on the left.

Screenshot_2023-05-09_21-03-50

What is your build target?

Linux

No start and select buttons working on the odroid go advance

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

Hi,
I have tried to build this port for the odroid go advance (which is a portable arm console by hardkernel) using the rk3226 rockchip cpu and it is running fine in emuelec. I have just one problem; the select and start buttons are not working, all other buttons are fine. I have not modified the ini and left as default. This happens on all snes games ports like zelda and mario world. Instead Ports like mario 64 works well on this device as it uses the gamecontrollerdb.txt to map keys.

What can i do to make those buttons work on this device? do i need to modify just the ini or it needs a source code modification to adapt my controls?
Thanks!

What is your build target?

Linux aarch64

MacOS building errors.

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

After cd-ing into my sm folder, it gives 1 warning and 10 errors. I simply type “make”.

What is your build target?

Mac

Input handling and message boxes

On the vanilla game on console, if you go into a message box (save room or getting an item, for instance) with an input held you can continue holding it for the whole message and it will clear automatically. I noticed that doesn't work with this. I had to release after the message box is on screen and re-hold the input or otherwise shift input if I want it to clear automatically.

Build errors on macOS Ventura (13.5.1)

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

Make errors:

src/sm_8f.c:500:10: error: passing 'uint8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign]
  strcpy((uint8 *)&room_main_asm_variables[2], "@");
  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h:84:27: note: expanded from macro 'strcpy'
                __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
                                        ^~~~
src/sm_8f.c:501:10: error: passing 'uint8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign]
  strcpy((uint8 *)&room_main_asm_variables[6], " ");
  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h:84:27: note: expanded from macro 'strcpy'
                __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
                                        ^~~~
src/sm_8f.c:615:10: error: passing 'uint8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign]
  strcpy((uint8 *)room_main_asm_variables, "\"");
  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h:84:27: note: expanded from macro 'strcpy'
                __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
                                        ^~~~
src/sm_8f.c:616:10: error: passing 'uint8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign]
  strcpy((uint8 *)&room_main_asm_variables[2], "<");
  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h:84:27: note: expanded from macro 'strcpy'
                __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
                                        ^~~~
src/sm_8f.c:658:12: error: passing 'uint8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign]
    strcpy((uint8 *)room_main_asm_variables, "*");
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h:84:27: note: expanded from macro 'strcpy'
                __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
                                        ^~~~
src/sm_8f.c:675:12: error: passing 'uint8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign]
    strcpy((uint8 *)room_main_asm_variables, "*");
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h:84:27: note: expanded from macro 'strcpy'
                __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
                                        ^~~~
6 errors generated.
make: *** [src/sm_8f.o] Error 1
make: *** Waiting for unfinished jobs....

What is your build target?

Mac

linux build missing `Die` function

Getting this error message:

src/snes/cpu.c: In function 'cpu_doOpcode':
src/snes/cpu.c:1346:9: error: implicit declaration of function 'Die' [-Werror=implicit-function-declaration]
 1346 |         Die("The game has crashed!\n");
      |         ^~~

I fixed it locally by adding #include "../types.h" to src/snes/cpu.c.

Hang after wrap around door open at croc?

I'm not sure what's needed to reproduce this. I was trying things out (seems like a cool project). I killed kraid. Got wave and speed. Then I went down to say hi to croc. I killed him then grabbed his etank. I then did the wrap around shot where you shoot off the right side of the screen and it opens the left side door. I heard the sound, so I assumed it worked. I paused the game to tell a friend. And when I focused the game again the music kept playing but it seemed to ignore all my inputs like it was frozen.

[linux] wrecked ship bugs reporting

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

commits: 68 @ March 20 2023
45767ae

these reports come from the wrecked ship

@666455: Memory compare failed (mine != theirs, prev):
0x000FA8: 42 != AD (42)
0x00C321: 0000 != FF38 (0000)
0x00C323: 0000 != F757 (0000)
0x00C325: 0000 != 2942 (0000)
0x00C327: 0000 != A509 (0000)
0x00C32A: 0000 != 4F5A (0000)
0x00C32C: 0000 != 36B5 (0000)
0x00C32E: 0000 != 2610 (0000)
0x00C330: 0000 != 1DCE (0000)
0x00C332: 0000 != 01DF (0000)
0x00C334: 00 != 1F (00)
0x00C336: 00 != 18 (00)
0x00C338: 00 != 0A (00)
0x00C33A: 0000 != 06B9 (0000)
0x00C33C: 00 != EA (00)
0x00C33E: 00 != 45 (00)
  total of 26 failed bytes
Verify failure!
@673434: Memory compare failed (mine != theirs, prev):
0x00C300: 7FFF != 0000 (0000)
0x00C304: 7FFF != 77BD (77BD)
0x00C306: 7FFF != 6B5A (6B5A)
0x00C308: 7FFF != 6318 (6318)
0x00C30C: 7FFF != 77BD (77BD)
0x00C30E: 7FFF != 6B5A (6B5A)
0x00C310: 7FFF != 6318 (6318)
0x00C314: 7FFF != 77BD (77BD)
0x00C316: 7FFF != 6B5A (6B5A)
0x00C318: 7FFF != 6318 (6318)
0x00C31C: 7FFF != 77BD (77BD)
0x00C31E: 7FFF != 6B5A (6B5A)
0x00C323: F757 != FF7F (F757)
0x00C325: 2942 != FF7F (2942)
0x00C327: A509 != FF7F (A509)
0x00C329: 5A00 != FF7F (5A00)
0x00C32B: B54F != FF7F (B54F)
0x00C32D: 1036 != FF7F (1036)
0x00C32F: CE26 != FF7F (CE26)
0x00C331: DF1D != FF7F (DF1D)
0x00C333: 1F01 != FF7F (1F01)
0x00C335: 1800 != FF7F (1800)
0x00C337: 0A00 != FF7F (0A00)
0x00C339: B900 != FF7F (B900)
0x00C33B: EA06 != FF7F (EA06)
0x00C33D: 4500 != FF7F (4500)
0x00C33F: 0000 != FF7F (0000)
0x00C341: 00 != 7F (00)
  total of 55 failed bytes
Verify failure!
@673653: Memory compare failed (mine != theirs, prev):
0x000FA8: 42 != AD (42)
0x00C320: 7FFF != 3800 (7FFF)
0x00C323: FF7F != F757 (FF7F)
0x00C325: FF7F != 2942 (FF7F)
0x00C327: FF7F != A509 (FF7F)
0x00C329: FF7F != 5A00 (FF7F)
0x00C32B: FF7F != B54F (FF7F)
0x00C32D: FF7F != 1036 (FF7F)
0x00C32F: FF7F != CE26 (FF7F)
0x00C331: FF7F != DF1D (FF7F)
0x00C333: FF7F != 1F01 (FF7F)
0x00C335: FF7F != 1800 (FF7F)
0x00C337: FF7F != 0A00 (FF7F)
0x00C339: FF7F != B900 (FF7F)
0x00C33B: FF7F != EA06 (FF7F)
0x00C33D: FF7F != 4500 (FF7F)
0x00C33F: 7F != 00 (7F)
  total of 32 failed bytes
Verify failure!
@673969: Memory compare failed (mine != theirs, prev):
0x00C300: 7FFF != 0000 (0000)
0x00C304: 7FFF != 77BD (77BD)
0x00C306: 7FFF != 6B5A (6B5A)
0x00C308: 7FFF != 6318 (6318)
0x00C30C: 7FFF != 77BD (77BD)
0x00C30E: 7FFF != 6B5A (6B5A)
0x00C310: 7FFF != 6318 (6318)
0x00C314: 7FFF != 77BD (77BD)
0x00C316: 7FFF != 6B5A (6B5A)
0x00C318: 7FFF != 6318 (6318)
0x00C31C: 7FFF != 77BD (77BD)
0x00C31E: 7FFF != 6B5A (6B5A)
0x00C323: F757 != FF7F (F757)
0x00C325: 2942 != FF7F (2942)
0x00C327: A509 != FF7F (A509)
0x00C329: 5A00 != FF7F (5A00)
0x00C32B: B54F != FF7F (B54F)
0x00C32D: 1036 != FF7F (1036)
0x00C32F: CE26 != FF7F (CE26)
0x00C331: DF1D != FF7F (DF1D)
0x00C333: 1F01 != FF7F (1F01)
0x00C335: 1800 != FF7F (1800)
0x00C337: 0A00 != FF7F (0A00)
0x00C339: B900 != FF7F (B900)
0x00C33B: EA06 != FF7F (EA06)
0x00C33D: 4500 != FF7F (4500)
0x00C33F: 00 != 7F (00)
  total of 53 failed bytes
Verify failure!

and a big one:

@731546: Memory compare failed (mine != theirs, prev):
0x000370: FE85 != 5490 (5290)
0x000372: 7A7E != E800 (E800)
0x000374: EC71 != 54A0 (52A0)
0x000376: 2634 != E802 (E802)
0x000378: F007 != 81F7 (81F6)
0x00037A: 0200 != 632E (632E)
0x00037D: 00F0 != 2C81 (2C81)
0x00037F: 0702 != F763 (F663)
0x000381: 01F0 != 4997 (4997)
0x000383: 0702 != FF63 (FE63)
0x000385: 00F0 != 4897 (4897)
0x000387: 0702 != F763 (F663)
0x000389: 00F0 != 0C87 (0C87)
0x00038B: 0702 != FF63 (FE63)
0x00038D: C0F0 != 4B99 (4B99)
0x00038F: C7C2 != 0763 (0663)
0x000391: 00F0 != 4A99 (4A99)
0x000393: 0702 != FF63 (FE63)
0x000395: 00F0 != 0E89 (0E89)
0x000397: 0702 != F763 (F663)
0x000399: C0F0 != 2271 (2271)
0x00039B: C7C2 != 0763 (0663)
0x00039D: 00F0 != 2071 (2071)
0x00039F: 0702 != F763 (F663)
0x0003A1: 00F0 != 0261 (0261)
0x0003A3: 02 != 63 (63)
0x0003A5: 0EF0 != 0061 (0061)
0x0003A7: 1507 != EF63 (EF63)
0x0003AA: 0E05 != 6306 (6306)
0x0003AC: 0A != FF (FF)
0x0003AE: 060E != 6304 (6304)
0x0003B0: 16 != 99 (99)
0x0003B2: 0A03 != 2C3A (2C3A)
0x0003B4: 16 != A1 (A1)
0x0003B6: 0F0A != 2C3A (2C3A)
0x0003B8: 13 != 9E (9E)
0x0003BA: 0B0F != 2C3A (2C3A)
0x0003BC: 16 != A6 (A6)
0x0003BE: 0704 != 2C3A (2C3A)
0x0003C0: 7F != 9E (9E)
0x0003C2: 2A60 != 2C3A (2C3A)
0x0003C4: EF != A6 (A6)
0x0003C6: 3218 != 2C3A (2C3A)
0x0003C8: 0F != A8 (A8)
0x0003CA: 2AE8 != 2C3A (2C3A)
0x0003CC: E7 != A0 (A0)
0x0003CE: FA98 != 2C3A (2C3A)
0x0003D0: 9F != A8 (A8)
0x0003D2: DAF8 != 2C3A (2C3A)
0x0003D4: FF != 29 (29)
0x0003D6: FA58 != 234A (234A)
0x0003D8: 7F != 29 (29)
0x0003DA: 0301 != 230E (230E)
0x0003DC: 08 != 31 (31)
0x0003DE: 0200 != 2322 (2322)
0x0003E0: 07 != 21 (21)
0x0003E2: 0200 != 2320 (2320)
0x0003E4: 07 != 31 (31)
0x0003E7: 0A03 != 2123 (2123)
0x0003EA: 0203 != 2300 (2300)
0x0003EC: 07 != 40 (40)
0x0003EE: 0200 != 2306 (2306)
0x0003F0: 07 != 30 (30)
0x0003F2: 8200 != 2304 (2304)
0x0003F4: 07 != 52 (52)
0x0003F6: 0200 != 3798 (3798)
0x0003F8: 07 != 4C (4C)
0x0003FA: 0200 != 7794 (7794)
0x0003FC: 07 != 4C (4C)
0x0003FE: 0200 != 3791 (3791)
0x000400: 87 != 16 (16)
0x000402: 0280 != 2570 (2570)
0x000404: 07 != 1E (1E)
0x000406: 0200 != 2561 (2561)
0x000408: 07 != 16 (16)
0x00040A: 0200 != 2560 (2560)
0x00040C: 07 != 79 (79)
0x00040E: 1A != 9A (9A)
0x000410: 19 != 89 (89)
0x000412: 1A1C != 3799 (3799)
0x000414: 44 != 81 (81)
0x000416: 0F32 != 3795 (3795)
0x000418: 12 != 81 (81)
0x00041A: 0B1F != 3792 (3792)
0x00041C: 46 != 8A (8A)
0x00041E: 3F21 != 3799 (3799)
0x000420: 0A != 7E (7E)
0x000422: 333F != 3798 (3798)
0x000424: 46 != 88 (88)
0x000426: 8A48 != 3797 (3797)
0x000428: 73 != 84 (84)
0x00042A: 6ECC != 3793 (3793)
0x00042C: EB != 84 (84)
0x00042E: 866C != 3790 (3790)
0x000430: 83 != 84 (84)
0x000432: 7AE4 != 3791 (3791)
0x000434: FF != 16 (16)
0x000436: FE3C != 2567 (2567)
0x000438: 23 != 0E (0E)
0x00043A: 7EFC != 2566 (2566)
0x00043C: 03 != FC (FC)
0x00043E: FE1C != 256A (256A)
0x000440: 07 != F4 (F4)
0x000442: 0301 != 2569 (2569)
0x000444: 07 != FC (FC)
0x000446: 0200 != 2567 (2567)
0x000448: 07 != F4 (F4)
0x00044A: 0200 != 2566 (2566)
0x00044C: 07 != 83 (83)
0x00044E: 0300 != 3793 (3793)
0x000450: 07 != 83 (83)
0x000452: 0200 != 3790 (3790)
0x000454: 07 != AA (AA)
0x000456: 0200 != 3791 (3791)
0x000458: 07 != 2E (2E)
0x00045A: 8240 != 2570 (2570)
0x00045C: 87 != 36 (36)
0x00045E: 0200 != 2561 (2561)
0x000460: 07 != 2E (2E)
0x000462: 0200 != 2560 (2560)
0x000464: 07 != 2C (2C)
0x000466: C2C0 != 256D (256D)
0x000468: 87 != 24 (24)
0x00046A: 0280 != 256C (256C)
0x00046C: 07 != 2C (2C)
0x00046E: 0200 != 2564 (2564)
0x000470: 07 != 24 (24)
0x000472: 0B00 != 2563 (2563)
0x000474: 14 != 6C (6C)
0x000476: 0303 != 2562 (2562)
0x000478: 07 != 64 (64)
0x00047A: 0200 != 2560 (2560)
0x00047C: 07 != 80 (80)
0x00047E: 0200 != 6302 (6302)
0x000480: 10 != 1A (1A)
0x000482: 0306 != 2802 (2802)
0x000484: 0A != 21 (21)
0x000486: 0200 != 2808 (2808)
0x000488: 07 != 19 (19)
0x00048A: 0200 != 280A (280A)
0x00048C: 07 != 31 (31)
0x00048E: A2A0 != 280C (280C)
0x000490: C7 != 29 (29)
0x000492: 0200 != 280D (280D)
0x000494: 07 != 11 (11)
0x000496: 0200 != 280E (280E)
0x000498: 07 != 11 (11)
0x00049A: A290 != 280F (280F)
0x00049C: 67 != 42 (42)
0x00049F: 0702 != 3A28 (3A28)
0x0004A2: 0200 != 2804 (2804)
0x0004A4: 07 != 3A (3A)
0x0004A6: 0280 != 2802 (2802)
0x0004A8: 07 != 41 (41)
0x0004AA: 2280 != 2808 (2808)
0x0004AC: 67 != 39 (39)
0x0004AE: 665C != 280A (280A)
0x0004B0: AD != 51 (51)
0x0004B2: 02BC != 280C (280C)
0x0004B4: 87 != 49 (49)
0x0004B6: C200 != 280D (280D)
  total of 433 failed bytes

none of them crash the game or prevent progress that i can tell
i finished the wrecked ship area without issues

What is your build target?

Linux

Screen options & menu button switch option for the game

What feature do you want to get added? And how it will work?

It would be great if the game had these options in the game settings

  • Fullscreen
  • Resolution
  • Set aspect ratio
  • Ability to switch the menu button from B to select and A to go back to A to select and B to go back.

Game freezes after wall jump

In the area where you get the second missile pack at the beginning of the game if you wall jump above the light/camera thing on the wall for some reason it will softlock the game and then you have to close out the program to fix it.

Crash returning to Crocomire's room after grapple

During my first run through this, the game crashed in Crocomire's room. Approximate sequence of events:

  1. Beat Crocomire
  2. Retrieved the 4 items behind crocomire
  3. Re-entered Crocomire's room from the left
  4. Paused to the map screen immediately after loading in to Crocomire's room
  5. Trying to un-pause the game caused the program to stop responding and it had to be force closed

cart_readLorom: Assertion `0' failed

I was testing out glitches to see what works and what doesn't work. I did an r-mode blue suit. And then carried that to screw attack. Once I have screw attack the game started crashing randomly with:

sm: src/snes/cart.c:85: cart_readLorom: Assertion `0' failed.

I played around with it a bit trying different things. If you load up the F7 save, it seems like doing very small spin jumps along the bottom of the room in the save state will trigger it fairly reliably. It looks like the crash is somehow related to Samus changing pose. Something about exiting spin jump and going into a landing or standing animation. If you dash the blue suit will be gone and I can no longer reproduce it in that state. So just left or right + small jumps, to trigger it.

saves.zip

Going out of bounds crashes the game

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

I'm not sure this should be a bug or a feature request. I don't know if you care about bug compatibility.

It's possible to climb out of bounds using xray beam. You just need to get stuck in a gate or a door then cancel xray as you turn around a bunch of times (each time moves samus up a handful of pixels). Many places you can do this leaves samus in bounds, but some places takes you out of bounds. The out of bounds places causes the game to segfault (without even hitting an assert).

I could send you a save state where you only need to xray climb a few more times before you hit the out of bounds, if that would help.

Going out of bounds has some pretty obscure uses. I want to say there is a glitched speedrun category that uses it to trigger the escape sequence on zebes without doing the normal objectives.

Anyway, if you want the save state where you still need to climb a little to trigger the out of bounds let me know.

What is your build target?

Linux

super missile on phantoon segfault. pause/unpause on phantoon visual glitching.

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

I went to super missile phantoon and the game instantly segfaulted.
image

I obviously rebooted the game and loaded my last savestate (which was conveniently at the beginning of the phantoon fight) and at some point early on in the fight I paused, then unpaused and the game started freaking out visually (specifically whenever phantoon goes invisible).
image

I'm uncertain if these are caused by the same underlying logic considering they can occur independent of eachother, but both glitches can easily be replicated back-to-back so I'm including them in the same bug report.

here's my last savestate: https://cdn.discordapp.com/attachments/1082740193653690468/1084207399105220669/save0.sav

What is your build target?

Linux

How to view `printf` output?

What feature do you want to get added? And how it will work?

Where does the result of all the printf calls go, on Windows? Launching it from the command line still doesn't print anything, even when launched with --debug.

I'm building with MSYS2 at the moment, but I don't mind switching to something else if that's relevant.

Romhack support?

Is this outside the realm of possibility? This project is awesome! Playing SM on my PC as a native app is pretty badass. Arch Linux, cloned and built without any issues. Tried some romhacks of course because I had to and to nobodies surprise they crashed or froze. :)

Doors don't close the same way as on console

Describe your bug here. And how to reproduce it. (If possible, please send the save that the bug occurs.)

On console when you enter a room there is a door close noise and a door close animation. On the PC port, the door is already closed behind you and there is no sound.

This happens on any doors on Zebes (ceres doors are different).

What is your build target?

Linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.