blob: 3f54641d2c2ce54d77006f395af213888eab6272 [file] [log] [blame] [raw]
* Figure out transparency rendering glitches, and start using the
transparent leaf texture for trees once that's been figured out. Right
now they look better with the solid texture. In particular, all the
"decorative" blocks like torches, flowers, reed, etc, look weird, as
does water and portals. As it turns out, this is all to do with OpenGL
alpha blending; in addition to a couple quick calls to glDepthMask (see
renderSolid() in Chunk.java), we then need to make sure that all GL
objects are rendered from far-away to near, which will take some doing.
* Proper rendering support for redstone wire
* Draw messages on signs like you'd expect.
* Find a way to eliminate the stuttering when new map chunks are loading
* Home/End will wipe the minimap and load chunks, even if we're already
"in range" and might even have those chunks cached. Should fix that.
* Minimap effective size has been cut quite a bit, would like to increase that
* There are various conditions where the player position and spawn position
markers won't show up properly on the minimap; should fix those.
* As I've been editing the X-Ray code, I've been using underscore_variables like
that, mostly, instead of the camelCase which was more prevalent. Should really
reformat everything to a single style (and retab the whole thing, and clean up
formatting and style in general). And really, I've been pretty lazy all around
with doing things the "right way." The code could use cleanup in general. Also
I think most of the files are still using DOS line-endings.
* And, of course, completing the mod support - UI to select extra mod files, etc.
"override" to explicitly override a previously-defined blocktype (this is
technically in there already but completely untested), "version" so that people
could override the builtin blockdef more efficiently, if they want, etc...
* Technically the minimap colors for a few block types should vary based on the
data value.
* There's attributes in BlockType which use ArrayList, and I think I'd rather they
just be arrays. Should look into that.
* Pull the grass colorization color from a point on misc/grasscolor.png
* Snow has data, as it turns out... Also, it would be nice to have grass+mycelium
react to snow properly (by changing their side image). It seems fairly awkward to
pull off with YAML definitions, though, so we'll just leave it for now.
* Figure out why loading in nonexistant chunks seems to glitch the app so much
* Update position information popup in realtime rather than after a delay
* The resolution-picking dialog has some issues in Java7. One, the dropdowns
seem very sluggish, whereas on previous JDKs they're quite fast. Two (and
possibly relatedly), our hotkeys (enter and escape) only work so long as the
dialog has NEVER actually had the mouse pointer focused on top of it, at
least on my WM. This could potentially have something to do with my
focus-follows-mouse type setup, but it works totally fine in both Java5 and
Java6, so...
* One of these days I need to just break down and start using some GUI library
like TWL, rather than calling out to AWT windows. Alas.
* It's entirely possible I should be calling .dispose() on Graphics2D objects
I don't need anymore, and vice-versa. Possibly cut back on memory a bit?
* Camera presets for bed positions
* Doors should be rendered "properly"
* Now that there's region data of some sort in the data files, we should
look into doing some more accurate foliage highlighting.
* I have never understood why our camera position seems to be the negative
of what it should be. Like where we're storing the player position 'round
line 132 in MinecraftLevel.java, or when we're reading out the camera
position 'round line 2346 in XRay.java (in render()). It makes no sense to
me, but I've been afraid to rip it apart to force it to make more sense.
One of these days... For that matter, it might be a good idea to convert to
using Minecraft's coordinate system, which differs from our own by .5f. In
X-Ray, a block's coordinate (x, z) is found right at the very center of
the block, whereas in Minecraft, it's found at one of the corners. So we're
constantly doing some fudging to report the coordinates in a way that's
consistent with what you get in Minecraft with F3.
* Now that mobs are much more permanent than they used to be, it might make
sense to have them in X-Ray. Would be nice to be able to highlight Ocelots
hiding around in the jungle, for instance...