Version 1.3 (2.0 Alpha 3)
-------------------------
--work on doors
+-added door framework
-fixed a range bug that caused ranges to fail if the first value was negative
-added basement levels to Triton Center
-added ShaftShowFloors, ShaftShowOutside, and ShowFullShaft commands
-fixed up sign generator script
-new floor signs (floors 151 to 300, and floors CC and PL for the Sears Tower)
-fixed sound code
+-new elevator sounds
-added script parameters for specifying elevator sounds
-fixed door sound location and movement
-moved main Crystal Space code out of SBS core into frontend
-fixed an infinite loop condition when processing multiple and/or operators
--more Sears Tower work
+-more Sears Tower work; currently have all express and local elevators in place
-added TextureFlip command
+-elevator editor's floor scrollbar now supports negative floors
+-fixed a bug where the elevator doors would immediately close (and the current floor would turn off) if going to next floor in queue
+-increased elevator door speeds to match new sounds
+-added basement levels to the Triton Center
+-new intro screen (doesn't work yet on Linux)
+-major performance improvements
+-added keys w, a, s and d for movement
Version 1.2 (2.0 Alpha 2) - Jan 10, 2009
-------------------------
3. Release Notes
-This release is a complete rewrite of the original 1.0 version, and is part of an
-ongoing effort towards a 2.0 stable release.
+This release is the third development relase of the 2.0 series (which is a complete rewrite of
+the original 1.0 version), and is part of an ongoing effort towards a 2.0 stable release.
This software requires both the Crystal Space graphics engine library (1.2 or later) which
can be found at http://www.crystalspace3d.org, and the wxWidgets library (version 2.6.3 or
5. Usage
-Currently the application doesn't have a title/menu screen as 1.0 did, but will eventually.
-To use Skyscraper, run the program, and a building selection box will appear. Choose the
-building script to load, and in a few moments you will be walking around in that building.
+To use Skyscraper, run the program, and a main menu screen will appear with a button for each
+available building (and one button for loading user buildings). On Linux this main screen won't
+appear, and will only show a file selection dialog (same as pressing the "Other building..." button
+in the Windows version).
+Choose the building to load, and in a few moments you will be walking around in that building.
The only buildings that are completely simulated in this release are "Simple" and "Triton Center".
While in one of these buildings, you can click on objects such as elevator call buttons, etc
-to perform actions. The door code hasn't been finished yet, and so doors (except for elevator
-doors) are currently non-existent. Sound support will exist in the next release.
+to perform actions. The recommended building to try out is the Triton Center, since it is the most
+complete one of the bunch. The "Simple" building is a minimalistic demo to basically show how to make
+your own buildings in the application's scripting language.
Keys currently used in the simulator:
-Arrow keys - movement
+W or Up Arrow - move forwards
+S or Down Arrow - move backwards
+A or Left Arrow - move left
+D or Right Arrow - move right
PgUp - Look upwards
PgDown - Look downwards
Space - Jump
if (wxGetKeyState(WXK_ALT))
{
//strafe movement
- if (wxGetKeyState(WXK_RIGHT))
+ if (wxGetKeyState(WXK_RIGHT) || wxGetKeyState((wxKeyCode)'d'))
Simcore->camera->Strafe(1);
- if (wxGetKeyState(WXK_LEFT))
+ if (wxGetKeyState(WXK_LEFT) || wxGetKeyState((wxKeyCode)'a'))
Simcore->camera->Strafe(-1);
- if (wxGetKeyState(WXK_UP))
+ if (wxGetKeyState(WXK_UP) || wxGetKeyState((wxKeyCode)'w'))
Simcore->camera->Float(1);
- if (wxGetKeyState(WXK_DOWN))
+ if (wxGetKeyState(WXK_DOWN) || wxGetKeyState((wxKeyCode)'s'))
Simcore->camera->Float(-1);
}
else
{
- if (wxGetKeyState(WXK_RIGHT))
+ if (wxGetKeyState(WXK_RIGHT) || wxGetKeyState((wxKeyCode)'d'))
Simcore->camera->Turn(1);
- if (wxGetKeyState(WXK_LEFT))
+ if (wxGetKeyState(WXK_LEFT) || wxGetKeyState((wxKeyCode)'a'))
Simcore->camera->Turn(-1);
- if (wxGetKeyState(WXK_PRIOR)) //page up
+ if (wxGetKeyState(WXK_PAGEUP))
Simcore->camera->Look(1);
- if (wxGetKeyState(WXK_NEXT)) //page down
+ if (wxGetKeyState(WXK_PAGEDOWN))
Simcore->camera->Look(-1);
- if (wxGetKeyState(WXK_UP))
+ if (wxGetKeyState(WXK_UP) || wxGetKeyState((wxKeyCode)'w'))
Simcore->camera->Step(1);
- if (wxGetKeyState(WXK_DOWN))
+ if (wxGetKeyState(WXK_DOWN) || wxGetKeyState((wxKeyCode)'s'))
Simcore->camera->Step(-1);
if (wxGetKeyState(WXK_SPACE))
Simcore->camera->Jump();