Special screens.

axbakk

Member
Ok. I try directly.
No its just When i ”Edit” in nesmaker Wordpad pops up.. Using notepad++ othervise..
Get back to you soon
 

dale_coop

Moderator
Staff member
axbakk said:
It seems to work. :D

Glad, it worked...
I could help you, yeah... I will be offline soon... But tell me, explain your issues, I might have answers for some of them ;)
 

axbakk

Member
ok.
issue 1: Have made checkpoints in the start of each level to prevent starting over the whole game if you die. in my overworld it change the background tile to a half cloud insted of just a blue tile. know i had problems with exact same tile with my "collect score" on the same level. Were do i find how to change what tile is put instead of the checkpoint?

Issue 2: have made an win/end screen (special screens) and wonder hot to assign the win flag of my last level to warp to the win screen. Have tried change the asset to "win game" instead of "level clear" but the game jumps into a crash screen instead.

Issue 3: maybe i can look around a little to make this work, but the same thing with player game over (all lives gone) instead of reset and go to start screen i want to warp to the win/end special screen.

Yeah.. im going to get offline soon too.. but if i fix these problems/tasks im done with my first playable demo of my game and can burn it on an eprom and play in my NES :D
 

axbakk

Member
issue 2 - cleared. (needed to place the tile again after change from "clear screen" to "win game") :)

one down... two to go.
 

dale_coop

Moderator
Staff member
For your issue 1), could it be because the first tile (the "default" tile) of your BG tileset is a half could?
If you modify your Collectable_justForScore.asm script (for example), you'll see a line :
Code:
ChangeTileAtCollision #$00, #$00
Change the last parameter with the id corresponding to a empty blue tile (02?)

Same for the setCheckpoint.asm, if you read the script, you'll see
Code:
ChangeTileAtCollision #$00, #TILE_CHECKPOINT_CLEARED
It means that the replacement tile id, is defined by a constant "TILE_CHECKPOINT_CLEARED". Open your "Project Settings > User Constants" search the TILE_CHECKPOINT_CLEARED" constant and replace "0" (because it might be zero, it's the reason you have the same issue than collectable score) to the id corresponding to a empty blue tile (02?)...
 

dale_coop

Moderator
Staff member
About your issue 3)... what are you using currenlty? The default lose life? (you lose your lives and the game restart?)
Or you made a Game Over screen, and when you loose all your lives your warped on that Game Over screen?
 

axbakk

Member
Yeah i changed that script of collectable_justforscore but mine all blue tile were 24 😂

Tried to change to same value after Changetileatcollision #$00 (to 24) with the result that player disappeard and game got stuck.
But Now i can try the constant instead. Thanks. 👍🏻

I have not changed anything about When all lives lost. But the game resets and goes to start screen.
Is at work right now But can check more When i get home. 😊
 

dale_coop

Moderator
Staff member
Ah ah ok
For your tile... could you share a screenshot of your BckCHR_0?.bmp tileset (with the 8x8 grid displayed)? I'll help you to find the tile ID.

And for your "PlayerLoseLife.asm" script... you could try with that one:

Code:
;;; do loss of life stuff here
	DEC myLives
	LDA myLives
	BNE gameNotOver
	;;do gameover stuff here.  Warp to screen?  Show animation?  Just restart?
	;JMP RESET
	
	;; go the win screen ?:
	LDA #STATE_WIN_GAME
	STA change_state
	LDA #$01
	STA newScreen
	RTS	
	
gameNotOver:

	;;;;;
	;;; do warp to continue screen stuff here.
	LDA #$00
	STA newGameState
	LDA continueMap
	clc
	ADC #$01
	STA temp
	GoToScreen continueScreen, temp, #$04
	LDA #$00
	STA playerToSpawn
	; LDX player1_object
	; DeactivateCurrentObject
	LDA #$01
	STA loadObjectFlag

	LDA continuePositionX
	STA newX
	LDA continuePositionY
	STA newY

	;; player1 reset health:
	LDA #$03		;;  <--- HERE reset with your Health value
	STA myHealth
 

axbakk

Member
Yeah my blue tile is 24. 😊 it worked with the collect score.
Trying out to change that constant. 👌🏻

Okok. Will do. Just copy paste the whole thing?
 

dale_coop

Moderator
Staff member
Ok 👍
For the player lose life, yes you might have that script already assigned to your project. Just modify it, copy / pasting.
 

axbakk

Member
Ok Dale.
Changed my script for playerloselife and Now i warps to my win/end screen .. but i got stuck there. I have an input script on that screen ”press start - reset game”. It works if i get to the win game flag of my last level but not if i loose all of my Life.

Then i cant find my blue tile. 😂😂 what so ever i type in i get strange tiles instead (24 is not working)
Put a picture here with my BckCHR
Red marking is the tile i want and the green marking is what i have now. The constant of that tile were 8.
Please help me find my tile.. 😂 and explain how to think to know which number different tiles have.
 

Attachments

  • 2D4CA074-88B8-443F-931D-37384E8E461A.jpeg
    2D4CA074-88B8-443F-931D-37384E8E461A.jpeg
    303.6 KB · Views: 1,244

axbakk

Member
found my tile. it was number 36. how can i see that on this picture? :)
i just tried many numbers til i got it right.

two issues down.. one to go.
Why is the win screen stuck when player have lost all lives?
Bad graphics also in the upper left corner. looks like a part of the player one sprite..
picture in next post. :)
 

axbakk

Member
Picture of stuck win/end screen.
 

Attachments

  • BCAFF5BF-0226-4E90-B2C6-8EB6194F4A99.jpeg
    BCAFF5BF-0226-4E90-B2C6-8EB6194F4A99.jpeg
    222.3 KB · Views: 1,235

dale_coop

Moderator
Staff member
On your Game Over... This is a sprite, yeah...

Try modifying your HandleLoseLife script adding that line:
Code:
	JSR DeactivateAllObjects
just BEFORE the "RTS" line (line 13)... Something like that:
Code:
	JSR DeactivateAllObjects
	RTS

Also check that your song for the win screen is not set to "NO CHANGE" or "NO MUSIC", this would freeze the screen.


Concerning your tile 36... you was right it's also "24"... $24 is the hex value and 36 is the decimal one (in the "user constants" settings, we always use decimal values).

But here 2 ways to find it:
1st one, count your 8x8 tiles in the tileset
2-D4-CA074-88-B8-443-F-931-D-37384-E8-E461-A.jpg


2nd one, read it from a screen:
2019-10-23-14-35-21-NES-MAKER-4-1-5-Version-0x159-Plat-MST.png

Here is MY tile 36... that is also $24
Then using the convert plugin...
2019-10-23-14-38-54-NES-MAKER-4-1-5-Version-0x159-Plat-MST.png
 

axbakk

Member
Will try that code When i get home. Thanks.. 👍🏻

Oh.. thank you for that info. Now i understand. No problem more to find a tile number. 😂
 

axbakk

Member
saw now when i testing the game that the same sprite sometimes shows up on the HUD when player one dies. maybe that has somting to do with the problem?
 
Top Bottom