Language…
25 users online: Aguiar Salsicha,  AmperSam, com_poser, DixyNL, elegist, figuiDOS, Green, Hammerer,  Losoall, Maw, Metal-Yoshi94, OnlySpaghettiCode, ppp9q,  Saphros,  Sayuri, Silver_Revolver, SMW Magic, Sweetdude,  Telinc1, The_Uber_Camper, TheXander,  Thomas, tOaO, VSmario90,  yoshi3706 - Guests: 506 - Bots: 292
Users: 64,795 (2,374 active)
Latest user: mathew

Posts by wye

wye's Profile → Posts

  • Pages:
  • 1
  • 2
  • 482
  • 483
  • 484
  • 485
  • 486
  • 517
  • 518
(my mind wasn't in Spanish mode when I saw the title so I read it as a misspelling of "whole lotta ToDos")

These look pretty great! I like how lively the grassland textures are, and the classy ship one has to be the most Victorian tileset I've ever seen. The lava castle tileset reminds me of 2011-ish SMWCP2 with how grainy it is, but it's well done nonetheless.


 
Three pages of replies in a night? Looks like I struck a nerve. #tb{''}

I'm actually surprised ZSNES detection isn't getting used for more kinds of easter eggs since it's literally just seven lines of ASM, but it's probably for the better, lest it be the non-ZSNES users who'd be missing out.

(also I'm a ZMZ person myself because I got used to the interface, oh no)


 
Oh that's actually good to know, thanks!

so then yep, what KevinM said.


 
Originally posted by Broozer
Damn, you are still alive and kickin', huh? One of the few faces I still recognize from the old days haha.

Whoa, hey there Broozer! Great to see you around! #tb{:D} It's just like old times again.

Glad you're all excited for what's hopefully to come soon-ish. I'll keep doing my best not to disappoint.


 
This is another idea I had a little while ago and remembered today, just in time for C3.

Sometimes when you play a level in one go (without dying after the midway point), you die of timeout before you reach the end of the level, because the author expected you to restart from the midway point with a fresh timer.

As raocow (among others I'm sure) has pointed out in a couple of his recent videos, that's pretty unfair — it was suggested that midway points should make the timer reset instead. So that's what I did! Now you as a hack author can be sure your playing experience is streamlined, because the timer will be the same no matter where players start.



Download


 


 
I had the White Palace port playing in the background for a solid ten minutes before I realized it wasn't the "relaxing VGM" playlist on Youtube I'd been listening to before. #tb{''}


 
That is really well done! I like big Mario the most, you really nailed that Yoshi's Island style there.

i think i'll use those mario graphics in my hack


 
Just had another silly idea and thought it'd be worth a try. Maybe it'll work out, maybe it won't.

In the spirit of old forum games like this, let's write some ASM together! Everyone contributes one line at a time, and ideally at the end we'll have a working code that does... something.

The title says "patch" for catchiness, but technically we'd probably better off writing an uberASM code to save us the boilerplate of hijacking, freecode and all that.

rules:
- write one line of code at a time
- let's no be too strict on what counts as one line: you get label definitions for free, and things that go together like CLC : ADC are also fine.
- try not to break things! A random BRK is no fun. The plan is to get something ridiculous but working.
- I'll reserve the right to exclude or correct lines that won't assemble properly or ruin the fun.
- at the end (whenever it feels like the end) I'll post the compiled code and try to comment on what it does.

Again, maybe this is too crazy to work out (or it'll break some postcount++ rule?), but here goes nothing.

I'll start us off with:

Code
LDA $73


 


 
Nice work everyone! I think we can call it a day here because even though this didn't last too long, I'm not sure how much time to assemble I'll have over the next few days.

Let's clean up the leftovers and put an end to it:

Code
CLD
LDA #$0F : STA $2100
RTL





And there you have it! I had to comment out a few of your otherwise excellent contributions to make sure the result was still moderately playable, but otherwise, it's working like a charm! It's quite an excellent bit of code we made there (and so optimized, too).



And here's the full code, ready for everyone to insert and spice up their levels with.

Thanks for participating, everyone!

Code
 

	; Collaborative Corruption Code (C3)
	; (c) 2020 SMW Central
	
	; will cause various neat effects in your level,
	; including greater powerup variety,
	; the ability to spawn sprites from the item box
	; (with a neat roulette-like choice each time you leave the ground),
	; and punishment for backtracking players that messes up the level layout if you go back

	; I expect this to be featured.
	
	; known bug: will disable spinjumping


main:

	LDA $73
	REP #$20		;    16-bit A
	SED			;    set decimal mode
	STA $1E			;    store to layer 2 x position
	STA $86 		;    make the level ever-so-slightly slippery if you're ducking
	
	ADC $16			; \  load some value into X
	TAX			; /  (almost always 0 unless you have buttons pressed)
	
	NOP			;    do nothing, nice waste of cycles there nintendo
	
	CMP #$03		; \  do pretty much nothing again but fancier
	db $00			; /  (saved to work with 16-bit A)
	
	COP #$32		;    I actually do not know
	
	PHA
	STY $0F48 		;    set some amount of bonus stars
	EOR $00,x		;    load some pretty much pseudorandom value into A depending on what's in (probably) scratch RAM
	PLY : PLX 		;    actually works since we're pushing 16-bit A and pulling 8-bit indices
	STA $13CC		;    give that amount of coins
 	SEP #$20 : STA $19	;    give that as a powerup too
	
	CPY #$10 : BNE +	; \
	INC $19 		;  | decrement powerup status
+				;  | unless Y happens to be 10
	DEC $19			; /	
	INC $73			;    ensure the player is treated as ducking
	; STX $13E3 		;    also probably treat the player as wall-running (this makes the game unplayable)
	REP #$20
	LDA #$2100
	; TCD			;    change direct page (this crashes the game)
	SEP #$20
	LDA #$80 : STA $2100	;    F-blank on 

	JSL $0086FA		; \  jump to somewhere depending on what A is,
	MVN $0D,$7E 		;  | but that's #$80 so we need 128 dummy 3-byte pointers
	ASL $0DBF 		; /  and those two lines are treated as part of the table
	fillbyte $69 : fill 378	;    was 250, fixed because that's ExecutePtrLong
	dl +                    ;    was dw
+
	; PER $0010		;    (this crashes the game)
	SEI
	; SEC : XCE ; yes	;    set emulation mode (this crashes the game)
	
	BRA $05			;    skip the next three lines
	XBA
	PHY
	NOP #3
	
	LDA $14
	TAY
	BIT $78 : BVC $02	;    branch depending on the frame counter and if the player is hidden?
	BRK			;    I'll actually allow this since the branch seems to always be taken
	TXA

	; mess with the level tilemap
	; and shuffle the reserve item when the player isn't touching the ground

	LDX #$10		;    loop 10 times
.loop
	; STP			;    sorry (this freezes the game)
	STZ $140D		;    make really really sure we're not spinjumping
	LDY $90,x		;    load stuff into Y depending on the loop counter
	BRA $00			;    branch but not too far
	STA $FF			;    mess with the palette loading though a little too late (was #$FF)
	LDA ($69,s),y		;    load stuff into A depending on Y, which in turn depends on the loop counter
	TRB $1A			;    set those bits in the layer 1 x position to 0
	STA $0DC2		;    set the reserve item to whatever
	DEX : BPL .loop
	
	; JSL $00FC7A 		;    spawn a Yoshi and force the player on it (this makes the game unplayable)
	STA $1920		;    make sure the bonus game most likely doesn't end
	
	if read1($00ffd5) == $23; \  kill the player on SA-1 ROMs
	JSL $00F606		;  | (assuming the code even makes it here on SA-1)
	endif			; /
	
	; CLC : ADC $14 : XCE	;    switch to and from emulation mode every couple of frames (this crashes the game)
	LDA #$40		; \
	ROL A			;  | make sure the screen isn't shaking so long
	TRB $1887		; /
	DEC $19 		;    yep this will do great (tl note: won't make the powerup any less crazy but great effort!)
	
	STZ $14C8,x		;    kill the sprite in slot 0
	
	; PLA : PLX : PLY 	;    mess with the stack (this crashes the game)

	CLD			;    get out of decimal mode
	LDA #$0F : STA $2100	;    actually turn the screen back on
	
	RTL


 


 
This was a pretty crazy weekend! I stayed up past my usual bedtime on all three nights to finish a silly idea I'd had hours before. All worth it though, and it's been a really fun C3. Definitely among the most successful ones yet!

(I rarely get anything non-SMW done during C3s anyway because the back of my mind is always on the content I'm missing out on or the feedback people leave in my threads.)


 
Originally posted by Von Fahrenheit
Flying rope mechanism has arrived! (i am good at video games)


Oh that is actually really good. I love those vanilla sprites with a twist, because they don't feel as shoehorned as custom sprite gimmicks usually tend to. I think those will come in handy for a level or two in my hack!


 
Unfortunately that's not something blocks can do. Unless you use HDMA, each layer has to scroll at the same rate everywhere.

The easiest solution would be to put your text on layer 2 and set its horizontal scroll rate to None (#lm{othprops}).


 
Would definitely be a useful addition, though I have no idea how feasible it is to roll out your own custom color picker.

For the time being, it might be worth knowing that (according to the math) each RGB channel increments in steps of 8.


 
Originally posted by Von Fahrenheit
Don't test me MarioFanGamer #smrpg{:D}

This is the playable version of the spiky chuck. Setting extra property 1 to 0x80 will make it act as a playable character, which some people might find useful :O

Holy hell, that (impressiveness/coding time) ratio. I think this is the first ASM showoff thread I've seen that feels a little intimidating. #tb{''}


 
Yep, that sounds like an issue people run into unfortunately often.

GFX and ExGFX files should usually be 4KB in size when you insert them - that is, they should take up the top half of the screen in YY-CHR, not more. Lunar Magic gives a warning when you try to use ExGFX files larger than that, which you shouldn't ignore.

If that is your issue, you can try copying the graphics from your old ExGFX file into one that's the right size, then save and reinsert it. If you're using the newest YY-CHR, you'll also get an info message about the file size before saving, to which you should always answer "no".

If that's not your issue, then make sure the water level flag (#lm{1door}) is unchecked.


 
Well, what you can definitely do to fix it is this:
- take a graphics file that's 4KB in size, make a copy of it, and open it in YY-CHR
- open your faulty graphics file in YY-CHR as well
- select all the graphics in there, but not more than the top half
- copy it and paste it to the top half of the 4KB file (make sure not to go over the top half
- save that as a new graphics file, or overwrite the faulty one (if you get a warning about file sizes in YY-CHR when saving, click "no")
- reinsert the graphcis with Lunar Magic and use the new graphics file in your level
If you don't get any more "this file is larger than it should be" errors in Lunar Magic, you should be fine.


 
I'm really curious how effective it'll turn out to be to reword the "this graphics file is larger than it should be" dialog, because it keeps happening.

Having LM do auto-cutoff seems to be out of the question as discussed, so here's another suggestion: have another dialog that's shown when saving, like it does for screen exits? Maybe people are more willing to read a dialog like that at the end of their workflow.


 
Well, my reasoning is if 100% of hackers insert graphics with LM, and LM has a warning, and people still run into the issue, that warning must be worded wrong or appear at the wrong time. I still think it'd be worth experimenting with that warning message if nothing else. (but yeah, that discussion has been had.)

Fixing the YY-CHR bug and changing the default on the SMWC download would honestly be a great idea too, though! Hopefully that'll turn out to be effective too.


 
  • Pages:
  • 1
  • 2
  • 482
  • 483
  • 484
  • 485
  • 486
  • 517
  • 518