Language…
12 users online: Buflen,  E-man38, Heitor Porfirio, hey give me my chips, Isikoro, katun24, l337f00l, OJI Chocolate, PaceTheAce, pinguwahoo, stephenlong2000, Xane123 - Guests: 81 - Bots: 206
Users: 66,425 (2,325 active)
Latest user: Chadtronic

Gopher Popcorn Stew Beta (BTSD replacement) [Updated!]

0x5B89C bytes.
Ain't that then.
Originally posted by MarioFanGamer
From display_glitter.asm:
Code
	PHY
	LDA $7F                   
	ORA $81                   
	BNE +
	LDY #$03		;\ Find free sprite effect slot 
.loop				; |
	LDA $17C0,y		; | 
	BEQ .foundsprite	; | Branch if one found 
	DEY			; | 
	BPL .loop		;/ 
+
	PLY
	RTS			

.foundsprite	
	*blah*
.return
        LDA #$10
        STA $17CC,Y
	PLY
	RTS

And I asked, why my block didn't work.



I seemed to have fixed that locally, I'm not sure how I missed that the first time either. I'll be uploading a new GPS soon with a few new shared routines too, specifically the biggest one (literally) will be 32x32 blocks :)!

Burrito:
Is the freespace below bank 40? GPS nor BTSD can use freespace above bank 40. Additionally, if the freespace is too fragmented GPS will not be able to allocate enough space for the pointer tables that it needs -- BTSD will have a similar (and worse!) issue. You may try some of the GPS optimization levels to see if this fixes the issue, remember to be careful when using these. See the readme for full details.
If you're gonna update anyway, you could edit main.asm so that it supports SA-1.

Code
if read1($00ffd5) == $23
	LDX $75E9
	JML [$3000]
else
	LDX $15E9
	JML [$0000]
endif

As claimed here and here
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?
I applied the "free unused ram" patch, and it seems to be working fine now.
I found that reset_turn_block routine is functioning wrong.

Code
		STA $9C
		PEI ($04)
		PEI ($06)
		JSL $00BEB0


PEI ($04)
PEI ($06)

should be PEI ($03), PEI ($05).
Receiving?
When running this softwere in a command prompt, and attempt to insert blocks, there will be errors if the blocks' filename contains a " " (space), "-" (hyphen) etc. will throw an error. Since those characters are reserved.

And another problem is that the sprite kill routine doesn't work, but when Mario touches the sprite, he kicks them to death as if they were stunned koopas (except blue koopas, they don't get stunned when ejected from their shells).
Give thanks to RPG hacker for working on Asar.
Also, in sa-1, make sure that the spawn sprite subroutine's "sprite slot counter" also use sa-1 slots, otherwise it will glitch (as in, replacing sprites even though all slots aren't filled).

Edit: When using the map16 change routine, I notice that you forgot to preserve $99 and $9B. you swap them if the level is vertical, but you forgot to change them back by pulling them and storing it back to $99 and $9B, This causes routines that uses $99 and $9B to glitch in vertical levels (like sprite spawn routines and block shifts) when placed after "%change_map16()" call, so here is a reference:

Code
	LDA $99
	PHA
	LDA $9B
	PHA
;[some code here]
	PLA
	STA $9B
	PLA
	STA $99

We might have to re-re-moderate again just for this...
Give thanks to RPG hacker for working on Asar.
I'll look into it @ Spk77k.

Originally posted by GreenHammerBro
Also, in sa-1, make sure that the spawn sprite subroutine's "sprite slot counter" also use sa-1 slots, otherwise it will glitch (as in, replacing sprites even though all slots aren't filled).


If you're using the SA-1 its up to you to make the shared routine changes not me. GPS doesn't actively support the SA-1 -- it just doesn't do anything to hurt said support.

Quote

Edit: When using the map16 change routine, I notice that you forgot to preserve $99 and $9B. you swap them if the level is vertical, but you forgot to change them back by pulling them and storing it back to $99 and $9B, This causes routines that uses $99 and $9B to glitch in vertical levels (like sprite spawn routines and block shifts) when placed after "%change_map16()" call, so here is a reference:

Code
	LDA $99
	PHA
	LDA $9B
	PHA
;[some code here]
	PLA
	STA $9B
	PLA
	STA $99

We might have to re-re-moderate again just for this...


I don't think I will fix this. This is how the version in most blocks behave -- which means changing it may make them act outside of intention in other ways.
any chance of adding a create_glitter routine? Or tweaking the smoke routine to take an argument (in A or whatever) so that the smoke sprite can be controlled?
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?
By the way, when you rename your routines asm files in the "routines" folder upon updating gps, it causes the moderators having to re-update the blocks to keep the %routine_call_name() and the routine files' name (excluding the .asm extension) matching, so that the user doesn't get frustrated on "routine file not found" upon using the block that is using "un-renamed" subroutine call on the gps latest version . So will you keep the routine files name onwards?
Give thanks to RPG hacker for working on Asar.
Can't speak for p4plus2 but I highly doubt he's gonna change the names of any of the routines, simply for the reason you stated.
Doing so would require us to start a new re-moderation of all blocks to fix all the blocks that got broken with the new routine name, which NOBODY wants.
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?
Originally posted by JackTheSpades
Can't speak for p4plus2 but I highly doubt he's gonna change the names of any of the routines, simply for the reason you stated.
Doing so would require us to start a new re-moderation of all blocks to fix all the blocks that got broken with the new routine name, which NOBODY wants.

This speaks all the truth.
I notice a print description error even with the correct block is inserted, if you install my screen scrolling pipes, all of them is working as expected, but when viewing them on lunar magic, and hovering your mouse on a specific 16x16 tile, they will say something of another block rather its own block. It's stated in the readme. Even with the less text possible, it uses the wrong print description.

It also happens to my bomb blocks pack, the terminate block.
Give thanks to RPG hacker for working on Asar.
Could you be more precise as to when this occures?
Does it occure on random blocks in your packs or always on the same? Did you make sure to only have one print command in them?
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?
Code
5FD:130 BomBlk_Path_RIGHT_BRIDGE_BASE.asm
5FE:025 BomBlk_Path_RIGHT_BRIDGE.asm
5FF:025 BomBlk_Terminate_BRIDGE.asm

506:025 BomBlk_Terminate.asm
519:025 BomBlk_Terminate.asm
549:130 BomBlk_Terminate.asm

501:130 BomBlk_Bomb_UP.asm
512:130 BomBlk_Bomb_RIGHT.asm
521:130 BomBlk_Bomb_DOWN.asm
510:130 BomBlk_Bomb_LEFT.asm

514:130 BomBlk_Bomb_DOWN_RIGHT.asm
515:130 BomBlk_Bomb_DOWN_LEFT.asm
525:130 BomBlk_Bomb_UP_LEFT.asm
524:130 BomBlk_Bomb_UP_RIGHT.asm

517:130 BomBlk_Bomb_VERTICAL.asm
527:130 BomBlk_Bomb_HORIZONTAL.asm

503:130 Bomblk_WoodenStake_LEFT.asm
504:130 Bomblk_WoodenStake_DOWN.asm
505:130 Bomblk_WoodenStake_RIGHT.asm

531:130 BomBlk_Path_UP.asm
542:130 BomBlk_Path_RIGHT.asm
551:130 BomBlk_Path_DOWN.asm
540:130 BomBlk_Path_LEFT.asm
541:130 BomBlk_Path_NODIR.asm

544:130 BomBlk_PathSplit_DOWN_RIGHT.asm
545:130 BomBlk_PathSplit_DOWN_LEFT.asm
555:130 BomBlk_PathSplit_UP_LEFT.asm
554:130 BomBlk_PathSplit_UP_RIGHT.asm

547:130 BomBlk_PathSplit_VERTICAL.asm
557:130 BomBlk_PathSplit_HORIZONTAL.asm

BomBlk_Terminate.asm's description:
Code
if !ChangeTile != 0
print "Deletes the explosion sprite and change map16."
else
print "Deletes the explosion sprite."
endif

Result:


Notice that block 549 is using the wrong description? It works in-game, but its using the description from BomBlk_PathSplit_VERTICAL.asm:

Code
print "Spawns explosion upwards and downwards only by explosion."


Also, this happens to my screen scrolling pipes, so its not caused by the if statements.
Give thanks to RPG hacker for working on Asar.
An aside: Why is that block being inserted three times?

(I've never used GPS but I can't imagine it'd normally be so inefficient as to insert identical copies just to have multiple map16 blocks have the same behavior)
Doesn't GPS make it recycle routines when you have copies of the same bock?

I did this so that the user can move them to a different page if page 5 is occupied.
Give thanks to RPG hacker for working on Asar.
I'm having a bit of a problem with GPS. With the amount of blocks I want to insert in GPS, it just crashes when it tries to insert them. I presume it's just a freespace error or something since inserting them indidualally works, although not when they're all together. Here's a link to the txt file if you need it.
I have a DeviantArt, if you do want to see my art on there. I don't really visit it much now, though.
Not really a solution to your problem but:
Code
402:0130 pass_if_in_pipe.asm
403:0130 pass_if_in_pipe.asm
404:0130 pass_if_in_pipe.asm
405:0130 pass_if_in_pipe.asm
406:0130 pass_if_in_pipe.asm
407:0130 pass_if_in_pipe.asm
408:0130 pass_if_in_pipe.asm
40D:0130 pass_if_in_pipe.asm
40E:0130 pass_if_in_pipe.asm
40F:0130 pass_if_in_pipe.asm
410:0130 pass_if_in_pipe.asm
411:0130 pass_if_in_pipe.asm
413:0130 pass_if_in_pipe.asm
416:0130 pass_if_in_pipe.asm
417:0130 pass_if_in_pipe.asm
41B:0130 pass_if_in_pipe.asm
41C:0130 pass_if_in_pipe.asm
41E:0130 pass_if_in_pipe.asm
423:0130 pass_if_in_pipe.asm
425:0130 pass_if_in_pipe.asm
426:0130 pass_if_in_pipe.asm
427:0130 pass_if_in_pipe.asm
428:0130 pass_if_in_pipe.asm
42D:0130 pass_if_in_pipe.asm
42E:0130 pass_if_in_pipe.asm
42F:0130 pass_if_in_pipe.asm
436:0130 pass_if_in_pipe.asm
437:0130 pass_if_in_pipe.asm
43E:0130 pass_if_in_pipe.asm
440:0130 pass_if_in_pipe.asm
44B:0130 pass_if_in_pipe.asm
44C:0130 pass_if_in_pipe.asm
44E:0130 pass_if_in_pipe.asm
45E:0130 pass_if_in_pipe.asm
47E:0130 pass_if_in_pipe.asm
47F:0130 pass_if_in_pipe.asm

While I think GPS is smart enough to realize this and not insert the same block multiple times, but if you're just gonna use the same block with the same act-like setting, you can just insert it once (at 403 for example) and make the other blocks act like 403.
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?