This article covers the original freeware release of Eversion. For the HD re-release, see here.
Princess is vanished, you must save princess. But not really.
Sub-Page#
Unused Player Graphics#
Blinking Animation#
Graphics for a blinking Zee Tee can be found in the player's sprite file, located in chrs\player.cha. It is easier to see this by swapping the names of this file and of the Ghuliba's sprite file, goomba.cha.
Extended Jump Frames#
Graphics for Zee Tee reaching the peak of their jump before falling and said fall reaching its terminal velocity. This would have smoothed out the otherwise two-frame animation of a jump.
Ghuliba Sprites?#
Ghuliba graphics appear within Zee Tee's sprites. The inverse also exists (seen further down).
Unused Enemy Graphics#
Ghuliba#
Zee Tee graphics appear within the Ghuliba's sprites. Interesting to note is that while the graphic may look identical to the used player sprites, the actual sprite uses the same bounds as the rest of the Ghuliba's sprites.
Claw#
This unused version of the flying claw can be seen within the game's files from v1.4.0 onwards, found at the end of the tclaw.cha archive. It is very similar in appearance to the flying claws seen in the game, however it lacks a tail.
Unused Level Tiles#
Layer X-0#
Layer X-0's tileset, which can only be seen through the use of glitching or hacking. Unlike X--1 (seen below) or the other in-game graphics, these sprites bear little resemblance to the tiles they represent.
Layer X--1#
Much like X-0, this layer is inaccessible without hacking. Its tile graphics offer the same visual aesthetic as layer X-0, however it more accurately depicts the tiles it represents.
Other Placeholder Graphics#
Placeholder graphics used during the development of the game. They cannot be seen in the game itself and are only present within the tiles.cha archive. They represent the various eversion points as well as the flag goal.
From v1.7.3 onwards, additional placeholder tiles can be found in the tiles.cha file, however the tiles they are associated with are currently unknown.
Blank Sprites#
In most, if not all, .cha archives, there are plenty of sprites filled with only the sprite background. This causes them to be rendered as transparent. Otherwise, in cases like the Stony, sprites get filled with a solid, non-background color such as white or black.
Unused Code Strings#
Several unused code strings can be found in scripts\main.rb and scripts\player.rb.
main.rb#
Preload#
# $img_status=loadImage("status.pcx");
class MainState < State#
#$img_title.blit(0,0)
class BumpedBlock/BumpedBrick < Entity#
# self.ys=-3.0/16;
class Flag < Entity#
# self.alpha=($darkness==0)?255:0;
class DeathCloud < Entity#
# self.ys=+1.0/16;
# if (self.counter>50 && @spatters<100) then
# @spatters+=1
# self.map.spawnEntity(DarkWallSpatter,"tiles.cha",self.x+random(96)/16.0,self.y+random(15*16)/16.0,0,0).parent=self
# end
# if (self.counter>100 && @spatters<150) then
# @spatters+=1
# self.map.spawnEntity(DarkWallSpatter,"tiles.cha",self.x+random(96)/16.0,self.y+random(15*16)/16.0,0,0).parent=self
# end
class BloodCloud < Entity#
# self.ys=+0.75/16;
# self.map.spawnEntity(RedWallSpatter,"tiles.cha",self.x+random(96)/16.0,self.y+random(15*16)/16.0,0,0);
# self.map.spawnEntity(RedWallSpatter,"tiles.cha",self.x+random(96)/16.0,self.y+random(15*16)/16.0,0,0) if (self.counter>50);
# self.map.spawnEntity(RedWallSpatter,"tiles.cha",self.x+random(96)/16.0,self.y+random(15*16)/16.0,0,0) if (self.counter>100);
# if (self.counter>50 && @spatters<60) then
# @spatters+=1
# self.map.spawnEntity(RedWallSpatter,"tiles.cha",self.x+random(96)/16.0,self.y+random(15*16)/16.0,0,0).parent=self
# end
class DarkWallSpatter/DoomWallSpatter/RedWallSpatter < Entity#
# self.destroy() if (self.counter>100)
class Claw/WhatClaw < Entity#
#self.ys=self.y-(self.y0-7.75) if (self.ys<self.y-(self.y0-7.75));
player.rb#
class Player < Entity#
# a=2.0; b=0.8; c=2.0;
# (air?@airaccel:@runaccel)
# setButton(0,0) if ( @jump<=0 && ys>=0)
# else
# setButton(0,0) if @jump>0;
# @jump=0;
# if (ys>=@fallspeed) playSFX(6);
# for (int i=0; i<10; i++)
# objects->NewObject(x+5/16,y+1, (-64+(rand()%128))/2048.0, (128+(rand()%128))/2048.0, FLAG_OBSTRUCTABLE | FLAG_FADEOUT, 30, stuff, 4);
# e->seq=e->seq%4;
# if (gunflag>0) e->seq+=4;
class PlayerShot < KillsEnemies#
# @power+=1 if $shot_speed > 1
Hidden Development-Related Text#
In scripts\main.rb, a guide containing block/eversion info can be found.
# 0 1 2 3 4 5 6 7
# clouds - # # - - - - -
# bushes # # - - - - - -
# bricks # # # X X - - -
# item bricks ! ! ! ! # # # #
# flowers - - - - - ! ! !