Jump to content

Photo

Updated Pegasus Boots Script


  • Please log in to reply
68 replies to this topic

#46 ywkls

ywkls

    Master

  • Members

Posted 02 January 2015 - 10:46 PM

@ywkls, would you mind uploading to a site that I don't need to register for?

 

I don't think you would have to register to download it... when I try out the link without logging in, it takes me to the page with two download buttons and it is the one on the bottom (right above the url listing) that actually downloads the file. And I completely understand why you don't want to register. I wouldn't want to have to sign up for a site I might never use again just to get one file. If you still can't get it, is there a way to send it via PM or another site you'd recommend? I've seen a lot of people use Dropbox, but my computer has some trouble with the program.



#47 accela2me

accela2me

    Illustrious

  • Members
  • Real Name:Juliano
  • Location:Minas Gerais, Brazil

Posted 03 January 2015 - 11:51 AM

A video that I did today with the VisualBoyAdvance (AVI) and Online-convert website (MP4 conversion):
https://dl.dropboxus...gasus_boots.mp4

Now it will be better to analyze the weapons and enemies :)


Edited by accela2me, 03 January 2015 - 11:53 AM.


#48 justin

justin

    Adept

  • Members

Posted 03 January 2015 - 01:37 PM

@ywkls, I managed to download the file on my phone, it kept asking me to register on the computer, no idea why. Anyways, I'm playing with it now, and I have no idea, everything looks like it should be working for the water. Link does drown when dashing from right or below, but not from left or above. And if I set CanDrown to false he stops beside the water from any direction. The code in my test quest is the exact same, all the rules are the same, and he drowns from all directions. I'm stumped. I'm going to add some debug code to see if I can figure out what's happening...

 

 

edit:  turning on diagonal movement in your quest fixed the issue with drowning.  i have no idea how to fix the script to work with diagonal movement turned off, without possibly breaking something else.  i'll try. 


Edited by justin, 04 January 2015 - 01:51 AM.


#49 justin

justin

    Adept

  • Members

Posted 03 January 2015 - 03:05 PM

I have working dust code that keeps drawing when scrolling. Just a bit of tweaking to make it look exactly the same as the old version. It's a bit more complicated for the user to setup, but not by much, they just need to do some math to figure out how big to make an array.
Adding the sword will be easy compared to figuring out the best way to handle the dust. Only issue will be the dash sword won't be animated, it could be, but i'm not going to add it.

#50 justin

justin

    Adept

  • Members

Posted 04 January 2015 - 02:26 PM

here it is.  package includes my version of the test quest, and all the latest script updates.

- <removed> updated version further down this thread.

 

 

- all previous fixes are still there

- raft fix

- nonsensical stuff no longer happens when jumping and dashing (no dust, no dash sound, etc)

- can jump over pegasus block combo if it is a solid combo, script treats non-solid pegasus combo as solid when jumping

- fix for dashing into drownable/swimmable water with diagonal movement off.  

     - note: if you want link to just stop beside the water regardless it being drownable, just set CanDrown to false.

     - with solid non-drownable water, also set CanDrown to false

- dust and sword drawn while scrolling

    - you'll have to set the size of the Dust_Array.  find it in globalvariables.z and read the comments.

    - sword sprite is set based on which sword you are using before scrolling, it is not animated, so hopefully you aren't using an animated sprite for your dash sword.

    - the old dust drawing function is still there, if you don't care about dust stopping while scrolling, or if the "no screen scrolling" rule is on.  find the line // DrawDustLW(); uncomment it, and comment // the DustDrawTile(); line above it.

 

- maybe some other stuff i've forgotten


Edited by justin, 06 January 2015 - 03:49 PM.


#51 accela2me

accela2me

    Illustrious

  • Members
  • Real Name:Juliano
  • Location:Minas Gerais, Brazil

Posted 04 January 2015 - 02:52 PM

Just missed adding the feather tile for the item 124 (I_ROCSFEATHER_INCREASER), but that's a detail near all the work done.

Excellent, dude! :)



#52 justin

justin

    Adept

  • Members

Posted 04 January 2015 - 03:08 PM

I'm going to write some code to fix issue with jumping offscreen and drowning. The normal behavior is to respawn where you entered the screen, but that could make you keep drowning. I'll have it save and spawn you where you initiated the jump from.

It'll be a generally useful script, but I really noticed it with the exaggerated double jump when dashing so it would be a good inclusion to the Pegasus script.

#53 ywkls

ywkls

    Master

  • Members

Posted 04 January 2015 - 03:37 PM

Question.. that stuff about the size of the Dust_Array, how exactly am I supposed to know how many Dust animations I want to run at time? Or does that not apply in my case? I tested it out as it was sent to me and everything works perfectly; including drowning in water if you run into it without the flippers. Thanks again for you efforts!



#54 justin

justin

    Adept

  • Members

Posted 04 January 2015 - 03:51 PM

I have the formula for the Dust_Array size in the comments. It's the number of frames * the animation speed divided by 4. The frames and speed are what you set in the constants. In your case it was 4*4/4 = 4. In the test quest I uploaded it was 2*4/4 = 2.

You could set the array to a larger number, but there is no need. The divide by 4 is because every 4 frames a new dust cloud is created.

#55 justin

justin

    Adept

  • Members

Posted 05 January 2015 - 03:01 PM

@accela2me, why are you using two different Sideview Ladder scripts?  Well, one isn't even technically a sideview ladder script since it doesn't work in sideview on its own.  The FFC version written by Moosh is the one that makes ladders function in sideview.  The global version that you have makes Link always face up when climbing a ladder, and disallows usage of items.  

 

anyways, i realized that the actual sideview ladder script didn't work with the pegasus boots.  i made it global and it does.  saves having to put ffc sideview ladders on every sideview screen, and the global version just quits if it isn't actually a sideview screen.  doing it this way means that the pegasus boots script doesn't have to be changed at all to work with the sideview ladder script.  its the other ladder script you had in there that made the pegasus boots all buggy.  really that one should just be repackaged as a "climbing script".

 

i hadn't actually tested the pegasus boots in sideview before, and i've squashed a couple bugs already.  i do have a small bug that i'm not sure they easiest way to fix.  in sideview i'm not sure how to track that Link is jumping.  the Link->Jump is his jump acceleration and that =0 at the apex of his jump, so if i use that to indicate that he's jumping so to not draw dust/make dash sound/etc he draws dust for a frame while at his apex.  I'm thinking i'll store the previous jump value in a Link->Misc[] slot, and compare that if Jump=0 and the previous Jump value was positive that means link is at the apex.  or is there a better way?

- maybe checking if he is using a jump item, but that doesn't account for people using keys to jump that aren't tied to an item.

- although the pegasus script isn't accounting for that anyways...



#56 accela2me

accela2me

    Illustrious

  • Members
  • Real Name:Juliano
  • Location:Minas Gerais, Brazil

Posted 05 January 2015 - 03:29 PM

I really used scripts from two different sources for Link always face up when climbing the ladder, like you said.
About the use of weapons, I don't remember the reason to block this function...
But I don't care if the script require changes to avoid bugs. Actually, a global script would be great :)

 

Here what happens with the dust on sideview screens:

 

zelda010.png

 

About not show the dust at jumping, I have no idea how to solve this, since the other method didn't work in sideview screens... sorry, dude :/


Edited by accela2me, 05 January 2015 - 03:48 PM.


#57 justin

justin

    Adept

  • Members

Posted 05 January 2015 - 04:32 PM

Well if you want side view ladders to have link always face up, then the Pegasus boots don't work with it, I can make it so link can run up the ladders, but dashing down would look silly if he was facing up. I could do it, but I think it would take rewriting a bunch of the Pegasus script just for that purpose.

For the functional side view ladder script with facing the direction of travel, I've got that working with the Pegasus boots, he runs up and down the ladder, I had to make the side view ladder ffc script a global script, and split into two parts that run before and after Pegasus script for it to work and have dust draw. I might come up with an alternative to that.

As for the jump dust, I've eliminated it except for one frame (jump apex) in side view.

I also wrote a small bugfix for hole lava script, and the jump-drown spawn fix code.

I'll upload all my code when I've solved the side view dust-jump issue.

#58 justin

justin

    Adept

  • Members

Posted 06 January 2015 - 03:48 PM

and boom, here's the latest.  lots of bugfixes and bonus material

- pegasus boots work in sideview

- pegasus boots work with sideview ladder

- dust isn't drawn when jumping in sideview

- fixed the knockback code when dashing up or down into a solid combo.

- i added some stuff to hopefully allow the peg boots to work with biglink, untested.

- sideview ladder is now global (ffc won't work with peg boots without a rewrite).  ffc version is still there for posterity.

- the global sideview ladder has a couple small bugfixes, one solid detection when moving down was a bit off.  and link would always "jump" when walking across top of ladder, now he treats it as solid

- small bugfix for hole/lava so link now hurt flashes if he falls in pit on new screen as is warped back to correct spawn point on previous screen

- jump spawn fix function added, so jumping onto new screen and drowning makes link spawn back where he entered previous screen (this will get uploaded to script database on its own).

- some other small utility functions added

- some utility functions removed because they were in stdextra.zh,i just imported that header instead.  saves any issues if people already have it imported.

- some small changes to constants/global variables

 

edit: a couple more small bugfixes

- added a couple more constants to set dash sword damage either as a set value, or as a multiplier of the equipped sword's damage

- dust was momentarily not drawn when dashing over top of sideview ladder. fixed.

- sideview: now can't dash up or down if not on sideview ladder

- sideview: the top of link's head is now the collision point when dashing.  instead of the standard perspective centre point collision with solid combos.

- slight mod to the sideview ladder that allows jumping while standing on top (except for one small spot), still can't jump while on the ladder.

 

- the always face up when climbing function has been renamed to TrueClimb, and associated with that flag.  i'm not sure how it should function with the peg boots, so there is no interaction currently.  the only ladder in the test quest with that on is on the first screen.  the actual sideview ladders just use the sideview ladder combo type.  foreseeably the function could be expanded to allow link to climb solid combos if he has the correct item or something.  otherwise, i don't know the purpose of the function especially not for sideview.  i could return the previous behaviour of the pegasus / trueclimb interaction to the dash stopping if it hits that flag.

 

<removed file, see next page for latest version>

 

if there are no more bugs, i'll upload the pegasus boots to the database.  crediting Joe123 for the original script and zepinho for some modifications.


Edited by justin, 08 January 2015 - 12:27 AM.


#59 accela2me

accela2me

    Illustrious

  • Members
  • Real Name:Juliano
  • Location:Minas Gerais, Brazil

Posted 06 January 2015 - 04:05 PM

Wow! I'll test it right now!
Oh, and his nickname is "Zepinho". He said once that is a "Brazilian-football-player-nick-name" :kawaii:



#60 accela2me

accela2me

    Illustrious

  • Members
  • Real Name:Juliano
  • Location:Minas Gerais, Brazil

Posted 06 January 2015 - 05:39 PM

Where I change the SFX for the jump with the pegasus boots? :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users