[SM] SPARTA: Samus Palette, Art & Repoint Tool App (formerly Super Munchtroid)

Started by Munchy, March 11, 2019, 12:12:16 PM

Previous topic - Next topic

Crashtour99

So it's an animation that extends beyond the first little bit.  Kinda figured.
Like how the walljump stuff is right at the end of the spinjump animations.

;$B384
FD_19:   ;Spin Jump right
FD_1A:   ;Spin Jump left
DB $03, $03, $02, $03, $02, $03, $02, $03, $02, $FE, $08, $06, $FF
(the 06 is for walljump)
;$B391
FD_1B:   ;Space jump right
FD_1C:   ;Space jump left
DB $04, $02, $01, $02, $01, $02, $01, $02, $01, $FE, $08, $06, $FF
(same here)
;$B39E
FD_81:   ;Screw attack right
FD_82:   ;Screw attack left
DB $04, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02
DB $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $FE, $18, $06, $FF
(and same here)


Which leads me to believe that the death animations are an extended part of the hurt animations.
If you look at the frame delays...
;$B36A
FD_53:   ;Hurt, facing right
FD_54:   ;Hurt, facing left
DB $02, $10, $FE, $01, $06, $06, $06, $08, $FF, $08, $08, $FF, $0A, $FF
That's a bunch of extra stuff there... 

Munchy

DUDE! You are a legend! I'll check that out! I was thinking it'd be in with the crystal flash for some reason!

Munchy

#102
13/05

okey dokey.

So I've completely relabeled all poses to better match how they're described in PJ's doc (not least because PJ's doc knows what everything is, where as JSM didn't; it's also more uniform).  I've slightly changed the drop down logic so that you can switch off unused poses.  I'm gonna use the self-same logic to write a "search bar" as well so you can find stuff quicker in the drop down.

meanwhile, I've also done the wiring for loading "special poses" such as the loading screen for samus.



[EDIT] fun fact, experimenting with the power armour loading pose, it's completely possible to remove the need for the tile in the common sprite section! a little copy pasting from the lift pose and that tile is totally redundant!

still need to tweak some of the UI (changing special pose doesn't work right now, for example, but it's easy to fix)

BUT HERE'S THE BAD NEWS
1) the 2 "Samus loading" poses both load 94 frames of animation into memory at once; and that's kinda janky and slow.  (That's the trade off with not using C++ unfortunately) :/
2) the "Samus loading" poses use the same tile data from the same location over and over.  Ergo, probably a bunch of other poses do too.

Therefore; we have a problem: Sometime's you'll change a frame and potentially overwrite your data elsewhere within the same pose without knowing you've done it until you reload the entire pose.

The solution - in my eyes - is to have SMunch load stuff from your ROM one frame at a time.

pro: MASSIVE performance improvement on big poses
con: you'll have to save your changes between every frame change

It kinda sucks but I just can't see an easier solution.

if anyone can think of a better alternative I'm all ears!

Munchy

15/05

it took a loooot of work and bug fixing to get right but I've finally managed to get SMunch to load one frame of the ROM at a time. The performance is through the roof! Very very fast now because SMunch is literally holding 1 frame in memory at any given time! As I said in my earlier post though, you will have to save changes between every frame from now on.  I had experimented with keeping to the old way of doing stuff and reloading when you saved VRAM but - in the end - this brought even bigger bugs along with it (it was killing reactivity in the Editor - very fiddly to fix).

All said and done, I think it's a change for the best. It has made the code quite a bit more complex - unfortunately - but it's hardly surprising given that it's pretty much the largest refactor of the code since I first wrote it!

So where's the release, you ask? I've still got a bunch of stuff I wanna do before I build so I'm gonna stick to it. Internet might be an issue over next few weeks but I'll trying and get the next big release out as soon as I can.

over and out!

BigDomino

Hi Munchy,

You did a great job with your editor !
Thank you very much for all the hard work you put into this project.
I think this tool will prove to be essential for anyone interested in Samus editing.

After some testing, I allow myself to leave you, below, a feedback:

Keep up the good work  :wink:

-------------------------------------------------------

* I've run Super Munchtroid.exe on Windows 7 without any problem.
   Thus, your answer could be nuanced at the end of the Q / A of your user guide (ie: only works on windows 10).

-------------------------------------------------------

* For an unknow reason, some palette colors seem to be incorect in the palette editor, affecting then the preview visible in the Sprite window & VRAM window:
   Note that I use custom colors for my suits who are display without problem ingame - (these changes were made via "S.A. Beauty Saloon" in SMILE 2.5).
   In the other hand, I'm unable to notice any error when loading an original ROM.

Below, the list of the colors that seems to be wrong when loading my ROM :

Power suit:
  the 4th color of the only palette of "Samus Power Suit (cycles: 1)

  the 4th color of the 1st palette of "Samus Power Suit Charge Cycle (cycles: 8)
  the 1st color of the 6th palette of "Samus Power Suit Charge Cycle (cycles: 8)

  the 4th color of the 1st palette of "Samus Power Suit Glow Cycle (cycles: 4)

  the 4th color of the 1st palette of "Samus Power Suit Screw Attack (cycles: 4)

  the 4th color of the 1st palette of "Samus Power Suit Speed Booster (cycles: 4)
  the 4th color of the 3rd palette of "Samus Power Suit Speed Booster (cycles: 4)

  the 4th color of the 1st palette of "Samus Power Suit White Cycle Fast (cycles: 4)

Varia suit:
  the 12th & 13th colors of the only palette of "Samus Varia Suit (cycles: 1)

  the 12th & 13th colors of the 1st palette of "Samus Varia Suit Charge Cycle (cycles: 8)

  the 12th & 13th colors of the 1st palette of "Samus Varia Suit Glow Cycle (cycles: 4)

  the 12th & 13th colors of the 1st palette of "Samus Varia Suit Screw Attack (cycles: 4)

  the 12th & 13th colors of the 1st palette of "Samus Varia Suit Speed Booster (cycles: 4)

  the 12th & 13th colors of the 1st palette of "Samus Varia Suit White Cycle Fast (cycles: 4)

Gravity suit:
  the 4th color of the only palette of "Samus Gravity Suit (cycles: 1)

  the 4th color of the 1st palette of "Samus Gravity Suit Charge Cycle (cycles: 8)

  the 4th color of the 1st palette of "Samus Gravity Suit Glow Cycle (cycles: 4)

  the 4th color of the 1st palette of "Samus Gravity Suit Speed Booster (cycles: 4)
  the 2nd color of the 2nd palette of "Samus Gravity Suit Speed Booster (cycles: 4)

  the 4th color of the 1st palette of "Samus Gravity Suit Screw Attack (cycles: 4)
  the 2nd color of the 2nd palette of "Samus Gravity Suit Screw Attack (cycles: 4)

  the 4th color of the 1st palette of "Samus Gravity Suit White Cycle Fast (cycles: 4)

Also, I noticed some weird colors on the following palettes ( -> I'm not sure about that since I don't have a basis of comparison) :

  the 12th color of the 5th palette of "Samus Hyper Cycle (cycles: 10)
  the 4th, 14th & 16th colors of the 6th palette of "Samus Hyper Cycle (cycles: 10)
  the 4th & 16th colors of the 7th palette of "Samus Hyper Cycle (cycles: 10)
  the 1st & 12th colors of the 9th palette of "Samus Hyper Cycle (cycles: 10)

-------------------------------------------------------

Finally, I experienced a "bug" [?] with the "Save All Sprite Changes" function :

While acting perfectly fine at saving multiple Sprite (tilemaps) changes done for ONE frame of a given pose, the software locked in an infinite "Loading" animation when I tried to save the changes made to sprites (tilemaps) of MORE THAN ONE frames of a given pose.

Reading the last changes you bought to Super Munchtroid in this thread, I was expecting to be warned about "changes to be lost" when switching to the next frame of an animation without having saved but this does not happen. Moreover, the changes made to each frame were all conserved. But then, it was impossible to save these changes.

-------------------------------------------------------

Munchy

Impressed you got it working on windows 7!  :whoa: There is a slight risk that that will - in itself - bring bugs with it (7 will use older C++ and - probably - Chrome libraries under the hood so it's hard to say how well they'll cope with the V8 engine).  That infinite load one is a beggar. that usually means that something on the visual side has ground to a halt before it could finish the save routine (I really need to catch that actually so people can get me the error messages, I'll patch that tonight).

Ok, the frame reload stuff hasn't been released yet. At the moment SMunch loads all frames for each pose (hence why big poses are slow).

The palette bug is very very curious...  please would you be able to send me an IPS? I'll need to see what the data looks like when it's in the ROM to work out why it's so out!
--------------------------------------------------
16/05

I have tidied up and committed the code for loading everything frame-by-frame.  Boy there's a lot of VRAM overlap so it's just as well I did!  Actually, despite a bit of front-end spaghetti logic, it's mostly a much faster and less complex build now (I was using promise recursion to load the Frames which was eeeexpensive). 

Right now I'm running off my mobile data from a farm in Ecuador so until I grab some substantial internet in a few days, i wont be able to build anything.  In the meantime, I'll give you a quick breakdown of what I need to work on:

- bug fixing (obvs haha!)
- support for pixel editing 16x16 VRAM (where possible)
- getting the illusive death pose and the wall jumps (which will probably all live in the Special Poses section)

BigDomino

Of course.

In attachment, the IPS file of my hack.

Munchy

#107
Quote from: BigDomino on May 17, 2019, 01:23:48 PM
Of course.

In attachment, the IPS file of my hack.

awesome :) thanks!
----------------------
18/05

progress has been a little limited last few days. I've been out on a permaculture farm shovelling s***.  Whenever you dream of that perfect sustainable life in the countryside, just remember, sooner or later: it involves using/burying the brown stuff.

but I digress, yes, so no sign of a death pose, I suspect one of the previous commenters is correct that a death pose simply may not exist (though I'm gonna keep searching).  However, I've found some interesting stuff around crystal flash, walljump and Samus When she's drained by MB and struggling to stand up...

Crystal Flash is actually in 3 chunks.

1. Samus Enters CF
2. Samus is recharging in CF
3. Samus is returning to normal pose

1 & 3 are both pose indexed, number 2 is buried in number 1  :razz:

Samus' struggling to stand up after hyper MB is buried in Samus kneeling from said-same hyper attack

wall jump against a wall on the right THE IN-GAME POSE is a mess! the joint of her wrist is misaligned! I was so surprised I even checked with the game and - on close inspection - for real: It's not lined up right!

OH, also, I think I found some weird test patterns! Not very useful but kind of cool :)

Quietus

There's been a patch available for that for a loooooong time (much longer than that page indicates), created by Kejardon. :^_^:

Munchy

Quote from: Quietus on May 18, 2019, 08:28:22 PM
There's been a patch available for that for a loooooong time (much longer than that page indicates), created by Kejardon. :^_^:

Good to know!

Munchy

19/05

Ok, full check of DMA tables, extensive searching over the whole ROM. There is definitely no DMA stuff for Samus death sequence. For now, you'll have to edit her death animations raw in something like TLP.

Please does anyone know where the crystal flash palette(s) are? can't seem to find em :/

other stuff:

I've fixed a few annoying bugs on the project that cropped up now SMunch is able to support showing/hiding unused poses.  I would get to 16x16 stuff but it's a big chunk of work and I'm not gonna have time just yet to do it. However, I'll try and get a search bar written as I can see that saving some time... Then I'll chuck out a release!

Munchy

@BigDomino, Thanks again for the IPS. Took a bunch of head scratching to figure out (since it doesn't seem - by pure fluke - to affect Samus' default palette sets).  There is, indeed, an edge case where my algorithm was reading things slightly incorrectly! I'll patch the next release accordingly :)

btw, I couldn't resist having a little explore on your ROM! Looks very very intriguing! Can't wait to see the finished product!

Munchy

2.6.1 NOW RELEASED!

downloads:
Linux: Super Munchtroid-linux-x64 2.6.1
Win: Super Munchtroid-win32-x64 2.6.1

2.6.1 contains:
- special poses
- a search bar
- significant bug/palette fixes
- frame by frame loading (ergo, massive performance boost)

--- Documentation updates to follow ---

Munchy

2.10.0 NOW OUT. THE FEATURE VIDEO AT THE BOTTOM OF THIS POST EXPLAINS HOW TO FIX THE BUG WITH THE LOADING POSE

Quote from: Munchy on March 11, 2019, 12:12:16 PM
SUPER MUNCHTROID v2.10.0



a comprehensive editor for Samus

REQUIRES UNHEADERED SMC! WILL NOT WORK WITH PAL!

github:
https://github.com/munchyMouth/super-munchtroid

downloads:
Linux: Super Munchtroid-linux-x64 2.10.0
Win: Super Munchtroid-win32-x64 2.6.1

2.10.0 features:
- Fixed saving sprite bug
- Added 16x16 pixel editing mode
- Added pixel-shifting tools
- modified editor zoom and the menu that accompanies it.

2.6.1 features:
- special poses
- a search bar
- significant bug/palette fixes
- frame by frame loading (ergo, massive performance boost)

--- Documentation updates to follow ---

Metroid Construction Resource:
http://metroidconstruction.com/resource.php?id=399

documentation:
Manual (2.10.0 Version)

Tutorials:
Main Video Tutorial
Video Tutorial

2.10.0 Feature update rundown (sorry for terrible sound quality)
2.10.0 Update

Munchy

#114
Just curious to know if people are using SMunch, how they're finding it, how stuff is coming along?

I'm taking a bit of a break from super metroid related stuff for a while (I kinda wanna get back to my hack at some point but ... yeah, nearly 2 months of hard coding... Time for a break!)

oh also, for real, this is the final build. Unless some horrendous bugs start creeping out of the woodwork, I'm not planning to add anything else to it :P

Crashtour99

I'll probably be checking it out more in-depth on Monday.  Thinking about starting a little project that should be pretty neat if I can pull it off right.
It looks like what you've created is pretty top notch stuff though.

BigDomino

Until now, performing a complete redesign of Samus was such an exceptionally large workload that I never thought of getting involved in this task and I am sure I am not alone in this case.
This excellent editor that you designed and put at our disposal obviously changes the situation and I am sure that people will not be long in using it in their hack.

A big thanks, Munchy !

Munchy


Munchy

Hullo!

thanks to some excellent research by @Artheau I now have the tilemaps for Samus' death pose.  The whole pose works very differently from the others but I have a good idea about how to implement it! watch this space  :grin:

Munchy

18/06

I've not had quite so much time of late to really hammer away at the death pose but I am making steady progress.

so:

- I now load in all of the death tiles straight from the ROM (If i've understood correctly, that's pretty much how the routine loads them into VRAM anyway.

- I've got the VRAM appearing correctly and wired up the hilight tiles when you mouse over.

- I've wired up the mouse-click stuff to load a tile into the editor.

I need to check my math for loading the tilemaps, something's wrong with them; but, for the most part, I just need to keep plugging bits in with the death logic.

Pace will hopefully pick up towards the end of the week when I have more free time.  Hopefully I'll have something good to release in a couple of weeks at the most!

Munchy

22/06

Shambling my way towards death pose stuff.

I have the editor loading 16x16 properly now (I added a new config for that so you can increase the count in future, which reminds me, I have some CSS styling that'll need variables too... ugh)

I also have the bones of the sprite management right. I'm seeing fewer and fewer errors on that front, though the fiendish task of wiring it into the sprite window is gonna be... fun.

it really is a pain in the butt this death pose :P I'll get there eventually!

Munchy

SUPER MUNCHTROID v2.11.1 NOW OUT

downloads:
Linux: Super Munchtroid-linux-x64 2.11.1
Win: Super Munchtroid-win32-x64 2.11.1

fixes the palette dropdown issue you may have spotted already! Also adds the crystal flash palette.

WHAT ABOUT DEATH POSE?
Honestly, I've just been so pre-occupied that it didn't happen. The more I look at how different the death pose is with respect to modifying Smunch, the more I just don't have the energy.  The death branch is up on github if you're feeling ambitious and would like to get it working. The trouble is, it just brings so many edge-cases and glitches to the rest of the build, I'd need many hours and a lot of patience to go through it all and get it all working just right.  So there you go. I'm signing off of SMunch now! Enjoy!

Munchy

#122
SUPER MUNCHTROID v2.12.0

Someone just wrote me suggesting shortcut keys  :lol: so I threw some basic shortcut keys for the editor window
ctrl^c/v = copy/paste
ctrl^z/y = undo/redo
ctrl^s = save tile

downloads:
Linux: Super Munchtroid-linux-x64 2.12.0
Win: Super Munchtroid-win32-x64 2.12.0

[in case you didn't see previous post]
And... ummm, I'm calling time on the death pose stuff. Sorry, i got about half-way and then I've just not had time. It'd be a lot of work to introduce because it's so different and it brings a tonne of bugs with it for the rest of the build. If you're feeling ambitious, you can have a go at finishing it by checking out the "death" branch on github.  I'm signing off! Time to work on other projects :)

Munchy

New release.

SUPER MUNCHTROID v2.15.0



a comprehensive editor for Samus

REQUIRES UNHEADERED SMC! WILL NOT WORK WITH PAL!

github:
https://github.com/munchyMouth/super-munchtroid

downloads:
Linux: Super Munchtroid-linux-x64 2.15.0
Win: Super Munchtroid-win32-x64 2.15.0

2.15.0 Features
- pixel-flip support added
- added variably colored sprite masks
- added palette copy/paste
- added shortcut for show/hide settings

2.12.0 features:
- Some bug fixes around the palette dropdown
- The crystal flash palette
- Conventional key commands for Editor copy/paste/undo/redo/save-tile actions

2.10.0 features:
- Fixed saving sprite bug
- Added 16x16 pixel editing mode
- Added pixel-shifting tools
- modified editor zoom and the menu that accompanies it.

2.6.1 features:
- special poses
- a search bar
- significant bug/palette fixes
- frame by frame loading (ergo, massive performance boost)

--- Documentation updates to follow ---

Metroid Construction Resource:
http://metroidconstruction.com/resource.php?id=399

documentation:
Manual (2.15.0 Version)

Tutorials:
Main Video Tutorial
Video Tutorial

2.10.0 Feature update rundown (sorry for terrible sound quality)
Explains how to fix the "Samus Loading" animation bug (where her lightning bolt is mirrored)
2.10.0 Update

Munchy

SUPER MUNCHTROID v2.16.2



a comprehensive editor for Samus

REQUIRES UNHEADERED SMC! WILL NOT WORK WITH PAL!

github:
https://github.com/munchyMouth/super-munchtroid

downloads:
Linux: Super Munchtroid-linux-x64 2.16.2
Win: Super Munchtroid-win32-x64 2.16.2

2.16.2 Features
- ctrl+left/right events matched up to frame inc/dec
- ctrl+shift+s setup for doing save to sprites and vram
- added help [F1] modal and associated events

2.15.0 Features
- pixel-flip support added
- added variably colored sprite masks
- added palette copy/paste
- added shortcut for show/hide settings

2.12.0 features:
- Some bug fixes around the palette dropdown
- The crystal flash palette
- Conventional key commands for Editor copy/paste/undo/redo/save-tile actions

2.10.0 features:
- Fixed saving sprite bug
- Added 16x16 pixel editing mode
- Added pixel-shifting tools
- modified editor zoom and the menu that accompanies it.

2.6.1 features:
- special poses
- a search bar
- significant bug/palette fixes
- frame by frame loading (ergo, massive performance boost)

Metroid Construction Resource:
http://metroidconstruction.com/resource.php?id=399

documentation:
Manual (2.15.0 Version)

Tutorials:
Main Video Tutorial
Video Tutorial

2.10.0 Feature update rundown (sorry for terrible sound quality)
Explains how to fix the "Samus Loading" animation bug (where her lightning bolt is mirrored)
2.10.0 Update