Banner
Views: 695,498,680
Time:
15 users online: o 1UPdudes, atari2.0, DarkPeanutKruncha, FamilyTeamProductions, GreenHammerBro, o this basement is haunted, Lord des Schreckens, NeXuS15, nintendofart, Mom's Spaghettmas, spookydude666, SkeptisTrader, Stink Terios, Koi-Eye-shi, ToxicRave - Guests: 37 - Bots: 147Users: 36,369 (1,518 active)
Latest: Twigor
Tip: Check the Documents section. Tutorials and other useful information can be found there.Not logged in.
Ways to know about the conflicts in a ROM?
Forum Index - SMW Hacking - SMW Hacking Help - Ways to know about the conflicts in a ROM?
Pages: « 1 »
Hi

So I get a lot of issues with my ROM (see here) and I see a lot of hacks with way more custom graphics, custom musics, custom sprites, a ton more of ASM.
So there is a problem with my ROM, clearly.
But I have no idea how to check, what to check,...

Is there a way to check for conflicts, or RAM overwriting, or god knows what could cause these types of problems?

Thanks

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Not really? You just have to manage stuff as you go. Keep track of every patch or tool you use (including freeram if they require it), and if you run into issues, you just have to look though them for what might cause it. TheBiob is working on a tool to help manage this, but past that, there is absolutely no way to determine whether a particular patch is intentially modifying one thing or another.


Now, my only suggestion to help solve your issues is to port to a new ROM.

Start with the Lunar Magic-only stuff; "File -> Levels -> Export Multiple" for levels data, overworld editor save for the overworld (same process for credits/title screen), then map16/global pal/exgfx file/global exanimation with their respective import/export buttons.

Then apply main tools (AMK, GPS, Pixi/Giepy/spritetool, etc.). These should have no conflicts if you haven't screwed around with their core ASM files.

Finally, apply your patches/hijacks ONE BY ONE. Key phrase: ONE BY ONE. Go to where you were encountering issues with each one you apply, and continue doing so until you see the issue start occuring. At that point, just roll back the ROM to the previous version, and now you know where the conflict lies and can fix it.


Professional frame-by-frame time wizard.
YouTube - Twitter - SMW Glitch List - SMW Randomizer
That sounds awfully painful #tb{:(}
I'd do it, the only problem I have is that the problem appeared out of nowhere, after dozens and dozens of tries. And even then, I got it on a level, did a lot of things to fix it (well, not fix, go around it), so I did a lot of playthroughs to test all that, and when I finally got it right, I got the issue somewhere else.
But that issue didn't appear there for the 30-40 tries before. I got it earlier, but I changed the music and didn't get it anymore.

So I feel like I'd have to playthrough my whole hack at least 70-80 times or even more to have good chances that the problem isn't there, and even then I couldn't certify it's 100% ok.
It's so random the appearance of the glitch that I never feel like I can be sure of anything

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
I started doing it, got some new glitchs here and there... (black overworld, goal tape not moving).
I'm completely hopeless when it comes to that hack. It just pains me because I work so long on it but I should have delete it definitely weeks ago now...

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Originally posted by Romano338
I started doing it, got some new glitchs here and there... (black overworld, goal tape not moving).
I'm completely hopeless when it comes to that hack. It just pains me because I work so long on it but I should have delete it definitely weeks ago now...

Sorry, but I think erasing the hack only for that is just a rushed solution. If you have worked that hard in the hack I encourage you to try and find another solution for this. Maybe you can give up on some patches just to see if that solves it?
Rushed? Been trying to find and fix the issues for like 2 months now.
I can't find any reason, any solution, any help.

Giving up on some patches is like testing after each patch basically and I still got issues (even new one), and no patch seems to really be the definite problem, the definite edge between "it's all good" and "it's all bad".
I really want to fix everything but I just have no idea how. The problems I get seem quite random and testing may lead to thinking it's good when it's not, or vice-versa.

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Maybe the problem is in the ROM itself. Have you checked it with Romclean?
Originally posted by Darolac
Maybe the problem is in the ROM itself. Have you checked it with Romclean?

Yep, everything is clean

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Maybe this helps you?
Originally posted by Darolac
Maybe this helps you?

That looks interesting!
Thanks, I'll try that!

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
I'm not too sure how to use it best.
From what I see, it only gives me conflicts when I select the patches. I can't seem to be able to select all patches and then ask for all the conflicts.

Should I try ALL combinations (so I select one, select an other, then remove the second one, select an other, remove it, select an other,...)? Should I first select the biggest patches and add the others then? Or start with the most important patches? (although most of them I can't really remove without big changes in the hack)

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
So I tried PatchManager on an empty ROM (not the ROM with my level, just a clean SMW ROM).

I applied the patches in that order. So the retry was inserted first, deathcounter last.

Almost all of the conflicts I got were with the retry system:

- yourface with retry system, which might seem logicial since I think the retry system does something to it, but not properly, which was brought to worldpeace's attention who said he'll work on it for next version.


- infinitelives with retry, maybe retry does infinite lives by itself? Maybe I don't even need infinitelives?


- cusmarpal with retry


- blockdupfix with retry


- pbalooncloudfix with retry


But I don't know if those conflicts can cause any real damage to the game, especially the can of damages I got.
Not too sure what to do with that honestly.

EDIT: I looked for some of those adresses, and I can't find them in the RAM map, the ROM map, or even the asm files themselves!
So what's the point of Patch Manager? Is it just to tell "there's a conflict" but not go further?

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
So because some musics were glitchy, I changed a couple of them for smaller files. On a level for example I went from a file size of 0x17F4 bytes to 0x0A84 bytes.
Yet I still have issues, it even created a softlock.
The music itself sounds fine. Then you enter a door to a room without music (so an empty music file), then enter a door with an other music.
But sometimes, when I enter the first door, I hear a weird sound, indicating me that it glitched. Then I have no sound (no music because it's a no music room, but no sound effects either), and if I go into the door, the game freezes (goes to a black screen that never ends), same if I start+select to go back to the map.
So a good old softlock.

I'm really lost. I ported my rom twice, I changed half the musics for more optimized files, I modified quite a bit of stuff. Now I have no confidence at all on the possibility to have a non-glitchy hack. I played through with nothing major, so I can feel confident, but then I test a level, get the glitch (from weird sound to a softlock), and I know I'll never be sure I have no issue :( When I test to see if the music is alright, I almost want to have a probem because if I don't, it could appear when a player plays it and ruin the experience. I'm never sure I have no issue, because there is no consistency.

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
The lenght of the songs shoudn't be related to the glitches I think. Are you using an outdated tool for inserting something (like sprite tool, some other verion of addmusic other than K or something like that)?
Sorry, didn't see your post before.


About the conflicts the tool found:

The "yourface" conflict with the retry patch is due to the retry patch already including it's own version of the "sprite initial facing" patch. Since the other version is already included it'll modify the same addresses and the tool warns you that they may conflict.
You can see that from the address $108A8B which is freespace (If it's starts with $10xxxx or above it's usually freespace). The other patch autocleans the address but reads the one the retry patch inserted there, then tries to overwrite the code the retry patch placed there with it's own.

As for the infinite lives patch, if you open retry.asm there's actually a define at the very top: "!lose_lives", if you set that to $00 (Might be the default) you won't lose lives, which is also why it says it might conflict. Both patches modify that address. If you already have !lose_lives set to $00 then it won't make a difference if you apply it.

The $05D8B7 conflict in retry/cusmariopal is actually a really common hijack, it's a patch that allows $010B to read the actual level number of the current room you're in. This is included in a lot of tools like uberasmtool, pixi and probably other spritetools and a lot of patches that require this behavior.
The code itself is usually copy pasted so it's the very same code most of the time and will not affect the functionality of said patches (Due to the use in tools, it's usually always applied in a rom already)


Now for the last two....

The two conflicts are only in freespace. This is a problem because nothing there uses a hijack even near to that so it shouldn't be an autoclean that causes issues here.
It definitely doesn't modify $108A8B by itself it must be the freespace command that modifies this.

One thing I can imagine happening is since it's exactly the code that was overwritten from "yourface" patch that the modification "yourface" did was actually to remove that code and place it somewhere else. The tool wouldn't be able to tell the difference but asar would assume those are free to edit since they are now making the tool think they conflict.

If that is the case, then there's nothing to worry for those two patches.
If that is not the case either asar or my tool did something wrong which I'd have to look into. Mind sending me the generated ptmngr file?



Quote
EDIT: I looked for some of those adresses, and I can't find them in the RAM map, the ROM map, or even the asm files themselves!
So what's the point of Patch Manager? Is it just to tell "there's a conflict" but not go further?

Not quite sure where you looked but except for the ones starting at $10xxxx+ which are the freespace commands they are definitely all in the asm files the tool reported them in.


... Welp, that was quite a lot more text than I though it'd end up being sorry.
tl;dr though, only the "yourface" and "infinitelives" might cause problems if I'm right with the last ones. However I do not know why that would affect most of the glitches you ended up having. Quite a lot of them don't seem to affect anything so there might be another conflict the tool can't detect (Externally applied asm like asm from other tools for example)
Originally posted by Darolac
The lenght of the songs shoudn't be related to the glitches I think. Are you using an outdated tool for inserting something (like sprite tool, some other verion of addmusic other than K or something like that)?

I don't think so.
I'm using Lunar Magic 2.52, AddmusicK 1.06, Asar 1.50, Pixi 1.2.1, GPS 1.2.31 and UberASM 1.2.
I re-downloaded everything and took the most recent version at the time (except maybe if the latest version had problems) when I ported to a new rom.

TheBiob:
No problem man, you can't see every post ;)


So from what I get, out of the 5 files, infinitelives is useless because already inserted with retry system (that was my guess too).
Yourface seems useless, but I remember some issues with it in the retry, which was brought to worldpeace's attention who said he messed up and will try to fix it for next version. So I'm not sure I can really delete it.
Cusmarpal should be fine (which is good because it would be tough to do without it, unless I delete a whole level).
2 others, we can't be really sure 100%, but I should be able to do without anyway.

Originally posted by TheBiob
If that is not the case either asar or my tool did something wrong which I'd have to look into. Mind sending me the generated ptmngr file?

I can't find that fie. Is it generated automatically?
I realise in the end I inserted my ASM with asar and not PatchManager (why? Don't know, probably the habit), so is it a file generated when files are inserted?

But like you said, I don't really see why it would cause all of this. I have close to no knowledge on all of this, but that seems a bit odd.

PS: how dumb was I to insert it with asar instead of PatchManager?! I mean, come on, the whole point of the software is to manage all that...

Anyway, thanks to you two. I'm not even sure re-porting the hack AGAIN would do anything different. Not too sure how to handle all that.

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Quote
I can't find that fie. Is it generated automatically?

It's saved when you save your ROM with the changes. It stores all the information on the patches that it inserted.

Until you save the ROM the patches are applied to a copy in RAM which will be lost once you close the application if you don't save. The file is also only saved once the changes are applied to the actual ROM.

The file itself should be in the folder the ROM is in called "<romname>.ptmngr"
Can't find it. Given the file extension, it is a PatchManager file (made with it)
The thing is, I only used PatchManager to see the conflict, but I didn't acutally applied patches with it (for a reason I wonder).
I copied the ROM, used PatchManager to see the conflicts and do the screen capture to post here, and went back to the un-touched ROM later.
Files with the name of the romhack, I have a .dsc, .msc, .mw2, .s16, .smc, .smc~ and .ssc

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Okay yeah, if you don't save the patches using the tool the actual addresses and what the tool outputs might be slightly inaccurate.

If you actually want to use the tool it's best to start from a clean ROM and apply every patch using the tool. If you only want to know what patches conflict, then the images are about all the relevant information you can get from it.
Alright so I took a clean rom (without my levels in it) and added sprites, blocks and UberASM (not addmusick though, I guess it doesn't change the adresses), and then the patches (all of them, including the 5 with the conflicts, just to have the same situation) with PatchManager.

Here is the ptmngr file

Maybe it's useless and won't be representative of my actual hack, but it didn't take long to do anyway.

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Pages: « 1 »
Forum Index - SMW Hacking - SMW Hacking Help - Ways to know about the conflicts in a ROM?

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2018 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 23

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented