Added class.is function to test if a variable is an instance of a given class.
Removed "patient dialog" from the debug menu (as it can now be launched by clicking any patient).
Modified staff placement dialog to handle existing staff as well as new staff.
Fixed right/middle mouse buttons launching patient dialog, when only left was intended.
Fixed bug with "modal" windows sometimes having their close method called when they were created.
Added context sensitive cursors for patients, staff, and doors.
Clicking a patient now opens the patient dialog (clicking staff does the same, but not for long).
Improved Lua simulated cursors.
Fixed meander action sometimes causing staff to stand still unnecessarily.
Started the transition of THRenderTarget to a full class rather than a typedef/weak struct (for SDL rendering engine).
Removed defunct ensureHardwareSurface from the Lua video API.
Made hit tests pixel perfect.
Fixed inclusion and usages of limits.h and th_gfx.cpp (fixes issue #9).
Pressing ESC will now close most dialogs.
Fixed error from staff hire dialog when pressing the next / previous buttons with no category selected (fixes issue #5).
Removed code from hire_staff.lua which never executed and shouldn't have been there anyway.
Finished staff hire dialog (staff can now be hired and placed in the hospital).
The patient dialog now has a close button (see issue #7).
The patient dialog now scrolls the map to the patient when the preview circle is clicked.
Added drawRect method to Lua graphics API for drawing solid filled rectangles.
Implemented more of hire staff dialog.
The world now has a pool of available staff (changing on a monthly basis).
Fixed entrance doors rendering in wrong order relative to those walking through it.
Fixed entrance doors not always rendering when at the screen edge.
Started to implement "Hire Staff" dialog.
Changed animation x origin from 140 to 141 pixels.
Added crude sprite viewer (for when AnimView cannot be compiled).
Added THOB numbers to each Lua object type definition, and THOB numbers are now set on tiles when objects are created / destroyed.
Added THMN_DoNotIdle flag for map tiles.
Added "use_object" humanoid action.
Added double-free prevention to music_t and THPathfinder object destructors.
Improved humanoid queueing.
Removed newSurface, getHeight, freeSurface, draw, saveBitmap, and loadBitmap functions from the rendering engine Lua API.
Removed THPalette::assign from the rendering engine C++ API.
The DX9 rendering engine now uses indexed primitive drawing.
The DX9 rendering engine compile time "CORSIX_TH_DX9_UNLIMITED_FPS" option is now a runtime option called "present immediate".
D3D9X is no longer required or used in any situations.
Implemented error reporting in DX9 rendering engine's Lua setMode function.
Removed redundant device state initialisation statements from DX9 rendering engine.
Clarified function binding code in th_lua.cpp
Added native 64 bit support.
Added option to load high-quality MP3 background music rather than MIDI.
Improved error reporting when asynchronously loading music.
Fixed crash resulting from music data being garbage collected while still in use.
Debug patients now have a randomised appearance.
Added various source code comments.
Unified construction of data directory filenames.
Modified Lua strict mode to require functions (and other globals) to be pre-declared.
Modified call signature of Graphics:loadFont to make it more natural.
Fixed bug whereby corridor objects could be placed inside rooms or straddle room walls.
Fixed bug with multiple humanoids walking through a door causing all but the last humanoid to glitch.
Fixed bug in non-D3DX DX9 renderer relating to interaction of a clipped blit with a horizontal flip.
Placing an object now marks its footprint as unbuildable (so that other things cannot be built on top on it).
Marked appropriate parts of the reception desk footprint as only requiring passability.
Re-added platform detection around rendering engine selection in config.h
DX9 renderer now tries to pack TH sprite sheets onto a single texture (for efficiency).
Added Lua API for toggling non-overlapping rendering mode.
Optimised menu bar rendering by enabling usage of non-overlapping rendering.
Text is now rendered in non-overlapping mode.
The "flags" debug overlay now regularly updates to reflect changes to flags.
Added more debug map overlays.
Various flags now loaded from level files rather than being based on tile numbers.
Finished place objects dialog.
Linked furnish corridor dialog to place objects dialog.
Ingame date is no longer constant.
Fixed door and window blueprint markers.
Implemented some of object placement dialog.
Added automatic palette greyscale-ghost generation.
Added object idle animation numbers and available orientations.
Organised dialogs into exclusivity groups.
Added check for available language files.
Added music over callbacks to move onto a new background track when one finishes.
Packed custom bitmaps into a sprite sheet.
Left clicking no longer causes the patient to move to the cursor (right click still does).
Modified users of custom bitmaps to use the sprite sheet version of the bitmap.
Modified map cell outline bitmap to use standard palette.
Implemented more of the furnish corridor dialog.
Added debug rendering capability to map class.
Added Mersenne twister random number generator.
Fixed transparency of loading screen when using SDL renderer.
Updated binaries to use latest MSVC runtime version.
Added minimal patient dialog to test rendering of the world as part of the UI.
Finished DX9 renderer clipping code.
Corrected wall shadow drawing to intersect its clip rectangle with the existing clip rectangle.
Broke up lines of th_map.cpp which were longer than 80 characters.
Added strict mode to Lua.
Added C config options to make the Windows Platform SDK optional (rather then required) on Windows.
Added sanity checks to ensure that exactly one renderer is enabled in the C config file.
Added ability for renderer to optimise the situation of multiple non-overlapping sprites.
Relaxed checks on sub-directories of Theme Hospital directory being present.
Changed meaning of "north", "east", "south", and "west" to be more natural.
Optimised path finding code.
Optimised usage of ID3DXSprite in DX9 renderer.
Fixed bug in FPS counter.
Fixed some documentation in sdl_video.cpp.