devinacker / kale Goto Github PK
View Code? Open in Web Editor NEWKirby's Adventure Level Editor (C++ / Qt)
License: MIT License
Kirby's Adventure Level Editor (C++ / Qt)
License: MIT License
"modified" and "modifiedRecently" are both used by KDCEditor, but only one of them is needed by KALE (since levels are always saved back to ROM regardless of whether or not they've ever been edited). "modified" should be removed and replaced entirely by "modifiedRecently"
the code which populates the sprite data with the per-screen "last sprite" index is messed up and sometimes causes sprites to appear on the wrong screen (see level 0x00C, or probably any other in which sprites either don't appear on every screen or only appear on the first screen or whatever)
(This is actually a bug with the game, rather than the editor, but i'm putting it here in case there's an easy way to patch it)
Any time a room has a full 16 screens (4x4, etc), screen 15 will either have no collision at all, or will be using the wrong screen's tile data to check collision (I can't tell which yet, since I haven't tested it much).
when KALE saves rotating tower rooms for Butter Building, the appearing door tiles seem to be in the right place but the exit itself seems to be in the wrong place or not even there.
Certain levels (seemingly mostly or only vertically oriented ones, such as Kracko's area and the Warp Star stations don't have correct sprite placement. For some reason these stages have some unusual sprite data which disagrees somewhat with how I thought the sprite tables always worked. I'll need to figure out exactly which levels exhibit this behavior so I can investigate how their sprite data differs and how the game interprets it differently than the editor.
<Reimu> @devin Kracko's room (and probably other large vertical ones) has sprite placement messed up <Reimu> Kracko's is 0B, don't really know the rest that do it, I think one segment of 6-3 <devin> there is a byte in each leve's sprite table which i think is supposed to correspond to the level's height (in screens) <devin> and i wonder if sometimes it disagrees with the actual size of hte level [...] <devin> i'm looking at the sprite data for the warp star stations <devin> as far as i can tell all 7 of the sprites should be on the last screen, but in the data, 5 of them are one screen up <Reimu> they are each individual sprites, which I believe should be hardcoded to something <devin> and two of those have Y coordinates beyond the bottom of the screen <Reimu> the 7th is hidden at the top of the screen <Reimu> that's... weird <devin> i wonder if something similar is happening in other vertically-oriented levels where the editor puts sprites in the wrong place <Reimu> DreamTool displayed those correctly though <Reimu> the strangest thing is how the 6th and 7th stars are way above where they should too <devin> those are the ones on screen 1 that have Y greater than 11 somehow <devin> yeah something strange is happening with how the warp stars are positioned there <devin> compared to how they should be just based on the data <devin> moving them around still has an effect so the game isn't just hardcoding their positions <devin> also on kracko's stage, the two bytes in the sprite data that i thought corresponded to level dimensions don't have the values i expect
especially because right now, exits which are removed due to being out-of-bounds will still count towards the total number of exits when saving the ROM
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.