can't reenter room

dale_coop

Moderator
Staff member
Hum I think you might not be using the base.mod. Because you would have more than just this kind of issue. I tried to make rooms like yours in that module. I couldn't make it work, always was warping me to the screen 0,0 or I wouldn't move freely.

I think you should try using the Base_Adventure... might be more adapted to your kind of game.
 

stevenshepherd

New member
ok cool, i'll try it out :) I just went with base.MOD because I wanted to build up to what I needed, rather than having features that I don't need, but perhaps I am thinking incorrectly about the modules and how they function.

Again, your help is much appreciated! You are a great service to this forum!
 

dale_coop

Moderator
Staff member
(I tried to make your screens with the base.mod I couldn't even make my player walk correctly through the 1screen >_< sorry man)
 

stevenshepherd

New member
Joe was gracious enough to help with this on the FB page. It looks at least one other person is having a similar issue. it happens when you want to walk off the screen, and when the edge opposite of where you want to walk off from is solid. This is true in my case, as you can see that there is a solid wall on the left of the screen opposite from where I want to walk off from. Joe posited that "He's reading the opposite side of the screen rather than seeing the screen edge. I haven't seen this problem, as it should be reading his potential position and reacting accordingly if he's beyond the threshold...I'm sure it's probably reading for solid before reading for edge and skipping the edge check. That sounds reasonable to me. I'll see if i can patch a fix with Josh and my next update."

SOLUTION: So I just moved the wall in by one tile, leaving the far left edge as walkable (which irrelevant because my player can never get there because of the wall). Problem solved for now.

Remember that you can make your walkable tiles solid by right clicking and selecting "modify attribute". Alternatively, you can "paint" tile attributes. You do this by selecting a tile that has that attribute (in this case, I would select a tile that is saved as solid, such as the wall lamp. I then hover over whatever tile I want to change to solid on the screen and press the 7 key. Or, you can hold the 7 key and move the cursor around across any tiles you want to change. much faster than right clicking on all of them individually.

wallissue1.png
 

dale_coop

Moderator
Staff member
Looks like an old issue we had in previous versions... I presumed th bug was fixed (it’s a mold bug from the... beta 3.x).
Glad you found that... but surprised joe didn’t fix it completely yet :(

Here http://nesmakers.com/viewtopic.php?f=19&t=429

Because it’s a very annoying bug.
(I know that because I had to take care of my screens designs for all my games .

Good to know anyway ;)
Thank you, stevensheperd, for sharing it
 

stevenshepherd

New member
From Joe on FB:

"Active Now
Joe Granato Ok so...I think I tracked this one down. I have created a fix in my code and have tested about 100 times going back and forth between screens and not seen it happen. That doesn't mean it's fixed, but I did find a logical reason why it may happen "sometimes".

The position check was checking to see if your right edge was MORE than the edge of the screen, and if so, do the screen edge code. But it had no case for if it happened to be EQUAL to it, in which case it would have skipped the edge code and done the collision check for potential position, which it would see as the looped tile on the far side of the screen, which would be reading as solid.

I have patched the code to include a case for equal for both left and right as well, and in doing that, haven't seen the problem manifest again after about 5 minutes of just walking back and forth.

If you want to fix it yourself:

1) Go to System\Macros\CheckPlayerCameraPosition.asm
2) Go to line 137 (or right around there) where you should see BCC leftOfCameraForPlayer.
3) Immediately after that, press enter to create a free line and write: BEQ leftOfCameraForPlayer.

Do the same thing at around line 163 - enter down after BCC rightOfCameraEdgeForPlayer and enter BEQ rightOfCameraEdgeForPlayer.

Now, if it's less OR equal to the edge, it will do the thing.

If you DON'T want to fix it yourself, I think there will be a patch today that fixes the audio bug, and that. I haven't seen this with up and down, but if you ever do see it, we can try patching it the same way."
 

Rustocrat

New member
I gave this a try as well in the No_Scroll core, didn't seem to fix much. Mine exports fine, but I still find myself skipping over rooms whenever screen transitioning left or right. It only happens on certain screens though, which is weird. No issues transitioning up and down. Any ideas?
 
Top Bottom