lf94 / kdl2viewer

A Kirby's Dreamland 1 & 2 level viewer built with JavaScript.
ISC License
47 stars 2 forks source link

Add support for Kirby's Dream Land #4

Closed huderlem closed 5 years ago

huderlem commented 5 years ago

This adds support for Kirby's Dream Land (Game Boy). I did not generate the babel-transpiled javascript files, because I'm not sure of that workflow.

A couple notes:

  1. The "procedurally-generated" bytes is actually a byte-bitwise-reversal table, so I updated its name as such.
  2. The existing code for rendering the 2-bits-per-pixel graphics was slightly-bugged. The high and low bits were swapped, so I fixed that. You'll notice your KDL2 images look much better now that colors 1 and 2 are being rendered correctly.
  3. Unfortunately, there wasn't that much shared logic between the two game engines, engines, so you'll notice only the decompression and other helpers are shared in the parent Renderer class.
  4. I changed the colors to be closer to actual Game Boy LCD colors, rather than greyscale. Example image found below.
  5. I did not update any README or documentation--only the code.

image

lf94 commented 5 years ago

First of all I have to say: ho-ly fuckin' A man. Amazing job.

To all your comments: yes, yes, yes. In document.org I say at the very end that the layout seems to be entirely different in KDL1 vs KDL2. Thank you for confirming this :) And yeah the procedural bytes part I realize is just a LZMA thing - learned that a few months later when someone pointed it out :)

Thank you for your contribution!