The Old-School Level Design Contest ends in
Views: 891,654,769
12 users online: AmazingChest, BlueToad, Boosius, crm0622, Gamma V, Hayashi Neru,  KevinM, lolyoshi,  Maxodex, SKKiro, tpeck27, yoshi3706 - Guests: 48 - Bots: 62 Users: 50,022 (2,313 active)
Latest: Sotp_crunch
Tip: If you set the upper tile of the door to act like the lower tile, two-tile-high doors can be entered even while riding Yoshi.
Not logged in.
Posts by ElohssaYtrid
ElohssaYtrid's Profile - Posts by ElohssaYtrid
Pages: « 1 »
Hi folks, I'm trying to utilize the widescreen support baseROM for BSNES-HD, and it works great, however the sprite spawn distance is the same, so now I can actually see sprites spawn in on that extended screen space. I found plenty of locations in the mapping documents regarding Y Spawn Range (especially since LM has Y Spawn Ranges already built in as an option), but didn't have any luck on the X or Horizontal Spawn Ranges.

What I'm hoping is that there's a way to extend the spawn range for how far to the left/right a sprite needs to be to actually spawn in, adding about ~6ish blocks to the current position.

I can barely cobble together very simple UberASM, and I'm assuming if this is a feasible idea, it'll take at minimum, a hijack of the sprite spawning routine, so it's definitely beyond my current abilities. If anyone has any ideas on where I should look, or wants to take it on themselves to try putting together a patch, I'll be happy to take the time to try to figure out how to get it working, or to test out the spawn distance values for what "feels" best to me. I really only build Kaizo: Light, so anything I come up with for what feels good will be based on that style of hack.

The extra space provided by the widescreen capability really makes the levels feel a lot more fluid, since you can see so much more of what's coming up, so I think getting the sprite spawning to feel equally good could be really useful for a lot of creators who might otherwise not be interested in adding widescreen support :)

Thanks in advance for any help you're able to provide!
Awesome, thank you! I'll play around with these values tomorrow and see what I'm able to come up with. Working around the limitations of non-nirmal sprites should be a small price to pay, especially since they will still work. No difference in amount of time to react when compared to standard 4:3 resolution, and I'll of course have to design with 4:3 support in mind anyway since the majority of players probably won't install a specific branch of BSNES just to play one hack in 16:9. It'd be nice to see this adopted into the main BSNES branch and hopefully become a common feature of modern hacks once both sides get all the kinks worked out!
Funny you should mention PIXI, I just got done hunting that down. The pixi table is at the end of SubOffscreen.asm in ..\Routines

db $30,$C0,$A0,$C0,$A0,$F0,$60,$90 		;bank 1 sizes
db $30,$C0,$A0,$80,$A0,$40,$60,$B0		;bank 3 sizes
db $01,$FF,$01,$FF,$01,$FF,$01,$FF		;bank 1 sizes
db $01,$FF,$01,$FF,$01,$00,$01,$FF		;bank 3 sizes

Widescreen support on its own might work as a patch for existing ROMs, but I have no idea how to account for changing spawns without ruining setups. It might be good for more standard hacks though. Definitely an interesting idea!

I have the spawning working decently. I'm going to test a little more and will share a video and my values. Thanks again for the help!

Spawning from the left still has a slight bit of pop in. I settled on the following values and 60 extra pixels on each side in the BSNES-HD settings. I ended up using SA-1 since having almost 1.5x the active area of course increases processing, but it seems to be pretty stable. The jittering at the beginning of the video was OBS running poorly, not the ROM itself. I likely may end up tweaking these once I start trying to actually build levels with these settings, but here's what I used for the video:

For the ASAR Hex edit:

org $02A7F6
	db $A0,$00,$40
org $02A7F9
	db $FF,$00,$01

org $01AC11
	db $50,$00,$B0,$00,$B0,$B0,$80,$50	; copy #1 low bytes
org $01AC19
	db $01,$FF,$01,$FF,$01,$FF,$01,$FF	; copy #1 high bytes

org $02D007
	db $50,$00,$B0,$00,$B0,$10,$80,$80	; copy #2 low bytes
org $02D00F
	db $01,$FF,$01,$FF,$01,$FF,$01,$FF	; copy #2 high bytes

org $03B83F
	db $50,$00,$B0,$40,$B0,$F0,$80,$80	; copy #3 low bytes
org $03B847
	db $01,$FF,$01,$FF,$01,$00,$01,$FF	; copy #3 high bytes

And the same thing in PIXI\Routines\SubOffScreen.asm:

.spr_t14:	db $50,$00,$B0,$00,$B0,$B0,$80,$50	;bank 1 sizes
		db $50,$00,$B0,$40,$B0,$F0,$80,$80	;bank 3 sizes
.spr_t15:	db $01,$FF,$01,$FF,$01,$FF,$01,$FF	;bank 1 sizes
		db $01,$FF,$01,$FF,$01,$00,$01,$FF	;bank 3 sizes

That was exactly the trick! Thank you so much for your help and patience. With a little bit more tweaking to the spawn offsets and adjusting the GetDrawInfo values, I was able to achieve clean spawning in native 16:9. Bullet Bill Shooters and directly placed Bullet Bills both work just fine, which is definitely a plus. Time will tell what other limitations will arise.

Pages: « 1 »
ElohssaYtrid's Profile - Posts by ElohssaYtrid

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

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


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy
  • sm64romhacks