RSDKModding / RSDKv5-Decompilation

A complete decompilation of Retro Engine (v5)
Other
402 stars 140 forks source link

Make: No rule to make the target #6

Closed Aw350meR060 closed 2 years ago

Aw350meR060 commented 2 years ago

Hi!

When building for Linux/Switch the process is being stopped with the following error: make: *** No rule to make target 'bin/obj/<..>/Game/Game/Game.o' Using Ubuntu-20.04.

Not sure what might be causing it, would be glad for some heads-ups.

Aw350meR060 commented 2 years ago

The issue here is me not realizing the requirement of having Mania code from a neighboring repo. I am not aware of how symlinks as files work, but copying all files from SonicMania folder to /bin/obj/$Platform worked.

tedmakestuff commented 2 years ago

How exactly did you copy it? I'm trying to compile on a Raspberry Pi 400 and I place the folder on /bin/obj/Linux/Game/Game and I only get errors.

In file included from bin/obj/Linux/Game/Game/Objects/All.c:1:
bin/obj/Linux/Game/Game/Objects/AIZ/AIZEggRobo.c:8:10: fatal error: Game.h: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
    8 | #include "Game.h"
      |          ^~~~~~~~
compilation terminated.
make: *** [<builtin>: bin/obj/Linux/Game/Game/Objects/All.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from bin/obj/Linux/Game/Game/GameObjects.h:14,
                 from bin/obj/Linux/Game/Game/Game.h:77,
                 from bin/obj/Linux/Game/Game/Game.c:1:
bin/obj/Linux/Game/Game/All.h:1222:10: fatal error: PGZ/Acetone.h: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
 1222 | #include "PGZ/Acetone.h"
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [<builtin>: bin/obj/Linux/Game/Game/Game.o] Error 1

(Δεν υπάρχει τέτοιο αρχείο ή κατάλογος basically means that the file doesn't exist)

Aw350meR060 commented 2 years ago

Hi @tedmakestuff!

Just found that the method I listed is not really correct. You'll need to either delete the Game symlink and replace it with Game folder in the main directory of your repo copy, or to re-create the symlink. In case of creating a directory the structure should be like this: ../RSDKv5-Decompilation-master/Game/[all of Sonic Mania files]

Hope that helps!

tedmakestuff commented 2 years ago

I'm not exactly sure how symlinks work (or what they are, I mostly code in interpeted languages), but as I have stuff set up right now, if I place them there, it doesn't change anything, I'll try anyways. On a note though, I didn't realise but it spitted out a binary without me realising, running from the terminal reveals that it crashes with a Segmentation Fault (I'm not quite sure what they are, but I do know they are errors.) Looking at the log, it has some errors, I'm using a Sonic Mania Data.rsdk. This is the file

Edit to not post a million things: I googled sym links, they are basically shortcuts and stuff, and I do remember a shortcut with a '!' as it's icon image Clicking on it, Linux asks what app to use to run it, but it does indeed call it a symlink. (Symbolic Link) I also do not have a "Game" folder in the root directory, I'll make one and try to paste the files there. I wish RSDKv5 compilation was as easy as RSDKv4, but it isn't.

tedmakestuff commented 2 years ago

Alright, I deleted the symlink, and put in the folder, it compiled and gave me a Game.so, However, the same Segmentation error is still present and the log is unchanged, and I did place the Game.so in the same directory with RSDKv5 executable. I am either doing something wrong, or the code dislikes ARM CPUs.

Edit: Deleted everything in the place where it spits out binaries, and when attemptitng to execute it, it didnt work cuz i wasn't in the directory where I placed it with the game files. Going to that directory and executing it, same thing. I guess I'll just go grab Wine and run it in 40fps. (Still very impressive)

tedmakestuff commented 2 years ago

I just looked at the log, it can't find Game.so, I do know that RSDKv4 Linux creates a folder for it's data not in it's root directory, however it did dump the Settings.ini and log.txt there, so it's highly unlikely, I will check either way. Edit; I was right, RSDKv4 has the folder there (it's ~/.local/share), but not RSDKv5. Sorry for leaving so many comments, I'm a noob.

tedmakestuff commented 2 years ago

Okay, sorry for so many comments, I just realised, it leaves past logs. It does infact find Data.rsdk, fails to find some stuff but loads all Sound effects, and it fails to make a window. The box for the Pi said it supports OpenGL 3.0, so I don't know about that, but it might be my Data.rsdk.

log.txt - RSDKv5 Log

Attempting to load user file: ./Achievements.bin
Nope!
Loaded file ./Data.rsdk
Data File not found: Data/Objects/Static/420701D3A57A564031790EE4228C7BDE.bin
Data File not found: Data/Objects/Static/AD8ECA1EB8CDCB6CEAA5CE2E361EF48E.bin
Data File not found: Data/Objects/Static/38021520621EDBEBB1E1B2FE4423535F.bin
Data File not found: Data/Objects/Static/B5238FBBD2653E8506337C21FACF1A88.bin
Loaded File Data/Game/GameConfig.bin
Loaded File Data/SoundFX/Global/Jump.wav
Loaded File Data/SoundFX/Global/Ring.wav
Loaded File Data/SoundFX/Global/StarPost.wav
Loaded File Data/SoundFX/Global/LoseRings.wav
Loaded File Data/SoundFX/Global/Spring.wav
Loaded File Data/SoundFX/Global/Destroy.wav
Loaded File Data/SoundFX/Global/BlueShield.wav
Loaded File Data/SoundFX/Global/BubbleShield.wav
Loaded File Data/SoundFX/Global/FireShield.wav
Loaded File Data/SoundFX/Global/LightningShield.wav
Loaded File Data/SoundFX/Global/Skidding.wav
Loaded File Data/SoundFX/Global/Charge.wav
Loaded File Data/SoundFX/Global/Release.wav
Loaded File Data/SoundFX/Global/DropDash.wav
Loaded File Data/SoundFX/Global/Hurt.wav
Loaded File Data/SoundFX/Global/Roll.wav
Loaded File Data/SoundFX/Global/SignPost.wav
Loaded File Data/SoundFX/Global/SignPost2p.wav
Loaded File Data/SoundFX/Global/InstaShield.wav
Loaded File Data/SoundFX/Global/FireDash.wav
Loaded File Data/SoundFX/Global/BubbleBounce.wav
Loaded File Data/SoundFX/Global/LightningJump.wav
Loaded File Data/SoundFX/Global/SpikesMove.wav
Loaded File Data/SoundFX/Global/Slide.wav
Loaded File Data/SoundFX/Global/Twinkle.wav
Loaded File Data/SoundFX/Global/ScoreAdd.wav
Loaded File Data/SoundFX/Global/ScoreTotal.wav
Loaded File Data/SoundFX/Global/MenuBleep.wav
Loaded File Data/SoundFX/Global/MenuAccept.wav
Loaded File Data/SoundFX/Global/OuttaHere.wav
Loaded File Data/SoundFX/Global/Grab.wav
Loaded File Data/SoundFX/Global/Flying.wav
Loaded File Data/SoundFX/Global/Tired.wav
Loaded File Data/SoundFX/Global/Land.wav
Loaded File Data/SoundFX/Global/SpecialRing.wav
Loaded File Data/SoundFX/Global/SpecialWarp.wav
Loaded File Data/SoundFX/Global/Teleport.wav
Loaded File Data/SoundFX/Global/PeelCharge.wav
Loaded File Data/SoundFX/Global/PeelRelease.wav
Loaded File Data/SoundFX/Global/HyperRing.wav
Loaded File Data/SoundFX/Stage/Transform2.wav
Loaded File Data/SoundFX/Global/MenuWoosh.wav
Loaded File Data/SoundFX/VO/Three.wav
Loaded File Data/SoundFX/VO/Two.wav
Loaded File Data/SoundFX/VO/One.wav
Loaded File Data/SoundFX/VO/Go.wav
Loaded File Data/SoundFX/VO/Goal.wav
Loaded File Data/SoundFX/VO/SonicWins.wav
Loaded File Data/SoundFX/VO/TailsWins.wav
Loaded File Data/SoundFX/VO/KnuxWins.wav
Loaded File Data/SoundFX/Global/Push.wav
Loaded File Data/SoundFX/Stage/Fail.wav
Loaded File Data/SoundFX/Stage/PimPom.wav
Loaded File Data/SoundFX/Global/Spike.wav
Loaded File Data/SoundFX/Stage/Click.wav
Loaded File Data/SoundFX/VO/NewRecordTop.wav
Loaded File Data/SoundFX/VO/NewRecordMid.wav
Loaded File Data/SoundFX/Special/Event.wav
Loaded File Data/SoundFX/Global/Swap.wav
Loaded File Data/SoundFX/Stage/PowerDown.wav
Loaded File Data/SoundFX/Global/SwapFail.wav
Loaded File Data/SoundFX/Global/MightyDeflect.wav
Loaded File Data/SoundFX/Global/MightyDrill.wav
Loaded File Data/SoundFX/Global/MightyLand.wav
Loaded File Data/SoundFX/Global/MightyUnspin.wav
Loaded File Data/SoundFX/Global/RaySwoop.wav
Loaded File Data/SoundFX/Global/RayDive.wav
Loaded File Data/SoundFX/Global/Recovery.wav
ERROR: [GLFW] window creation failed

Sorry if the million comments are bothering you, I understand.