Jump to upper screen

KoolDoob

Member
Hi guys!

Is it possible to jump from current screen to top screen ?
 

Attachments

  • Jumpe into up screen.PNG
    Jumpe into up screen.PNG
    11.1 KB · Views: 740

dale_coop

Moderator
Staff member
Yes, possible, which module are you using?
It should work... Is there a bug or any kind of issue?
 

KoolDoob

Member
I can go down as you see on my map but when I try to go up, the screen doesn't move. Maybe it's because I don't use srcolling option ?

Also, I tried to use a ladder but didn't work
 

dale_coop

Moderator
Staff member
You haven't modify the Handle Top Bound script, right?

So, maybe an invisble wall...
try to change the tile collision type... on the bottom of your screen:

2019-09-17-16-06-11-file-php-420-317.png

(right click on each tile > Modify Attribute "0 Null Walkable"... and test again)
 

KoolDoob

Member
Here is my HandleTopBound script and some images.

Code:
LDX player1_object

    LDA #BOUNDS_BOTTOM
    SEC
    SBC #$02
    SEC
    SBC Object_bottom,x
    STA yHold_hi
    STA Object_y_hi,x
    STA newY

    LDA Object_x_hi,x
    STA xHold_hi
    STA newX
    
    LDA #$00
    STA yHold_lo
    STA xHold_lo
    


                ;7 = active
                ;6 = 8 or 16 px tiles
            
            ;; warp map should stay the same.
            LDA Object_scroll,x
            sec
            sbc #$10
            STA Object_scroll,x
            STA xScroll_hi
            STA newScreen
            STA currentNametable
            STA currentScreen ;currentScreen
            STA newScreen
            STA nt_hold
        ;   clc
        ;   adc #$01
        ;   STA rightNametable
        ;   SEC
        ;   SBC #$02
            ;STA leftNametable
        
            LDA #$01
            STA screen_transition_type
        
            ;LDA warpMap
            ;CLC
            ;ADC #$01
            ;STA update_screen_details
            
            ;;; update screen details will not change with left, right, up or down movement
            ;;; unless the edge of a map should take you to the other map or something.
            ;;; warpMap variable is used solely to hold whether the warp-out is to overworld or underworld.
            LDA Object_scroll,x
            AND #%00000001
            STA showingNametable
            
            
    
    LDA #$00
    STA tile_solidity       
    LDA #$00
    STA gameHandler
    LDA #%11000000
    ORA #GS_MainGame
    ORA #%01000000
    STA update_screen
    
    LDA #$00
    STA xScroll
doneTopmBounds
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; factor where to place player compared to his scroll in a given screen
;;
 

Attachments

  • bottom screen.PNG
    bottom screen.PNG
    15.6 KB · Views: 714
  • Up screen.PNG
    Up screen.PNG
    16.2 KB · Views: 714

dale_coop

Moderator
Staff member
Try to change those tiles to "00" (null walkbale):

2019-09-17-17-12-07-Jump-to-upper-screen-NESMakers.png

(do a right click on each and select modify attributes > 0 null walkable)

Because there are some issues with edge tile collision detections... NESmaker checks the wrong screen data, during some screen transitions.
And causes "invisible walls"... it could be your issue here.
 

KoolDoob

Member
Ok so this is working, I can jump up to an other screen but not in the right one !
 

Attachments

  • After the jump.PNG
    After the jump.PNG
    114.2 KB · Views: 705
  • It works.PNG
    It works.PNG
    26.7 KB · Views: 705

Mugi

Member
did you touch the wall during the transition between screens ?
try jumping to the upper screen so that your player is not touching the wall, and see if it goes to the correct screen.
(the collision breaking screen transitions is a known issue, i've posted a fix for it somewhere in the forum.)
 
Top Bottom