Skyscraper Changelog

What's new in Skyscraper 2.0 Alpha 11 Update 2

Apr 15, 2023
  • Don't process a key down event if the key is actually up, this fixes a "stuck key" issue on some systems
  • Updated starting position for Dellerton Plaza building
  • Reverted the PolyMesh geometry system cleanups, due to performance problems
  • Made Level errors non-fatal
  • Fixed a script error in the Skyscrapersim Housing Estate building

New in Skyscraper 2.0 Alpha 11 Update 1 (Apr 3, 2023)

  • Changelog:
  • Object selection fixes for the People Manager dialog
  • Updated guide to reflect collider filename change
  • Upgraded the swimmingpool collider mesh format, and renamed it to a "collider.mesh" file in order to load properly
  • CameraTexture dialog fixes
  • Fixed a crash when deleting elevator objects
  • Render window now resizes properly on Linux when the scaling factor is not 100%

New in Skyscraper 2.0 Alpha 11 (Mar 13, 2023)

  • call buttons now fail the active elevator if it encounters a movement processing error, fixing an issue where the call button would hang if an error occurred
  • for controls, OnUnclick should not reverse the selection position if the previous action failed, since the reversal already took place
  • added function name to SetHoistwayAccess errors
  • (Sears Tower) removed the floor on 108
  • (Sears Tower) shaft fixes
  • (Sears Tower) switched freight elevator doors to center dualspeed
  • (Sears Tower) interfloor fixes
  • (Sears Tower) added freight elevators 4 to 6
  • (Sears Tower) added freight elevators 2 and 3
  • (Sears Tower) added additional freight elevator shafts, and others
  • reset new_time variable when unloading sky system
  • have sky system reload if the primary engine/building is reloaded
  • added coordinates for Sears Tower
  • added more deprecation warnings
  • added separate riser texture and tread texture options for Stairs and Escalator objects, to help fix texture issues
  • added INI file option to use the system time as default, if not specified in a building file
  • put SkyName into Caelum INI file section
  • trim off second's decimal point
  • added a button to the Sky Control window to get the system time
  • added ability to use system time as the DateTime value for buildings
  • added ability to set the time scale (using the TimeScale value) for buildings
  • elevator doors should not automatically enable nudge mode timer when Fire Service Phase 2 is on
  • renamed Min/Max functions to simplify
  • switch Swap usage to std::swap
  • add missing parent_deleting flags
  • properly store shaft cut values
  • (Triton Center) added new objects to building
  • added support for creating elevator and counterweight rails
  • added CounterweightStartSound, CounterweightMoveSound and CounterweightStopSound elevator parameters
  • added counterweight and rope textures
  • added RopePosition and RopeTexture elevator parameters
  • added GetExtents and ChangeHeight polygon functions
  • (Simple building) extended shaft above building roof
  • added CreateCounterweight function
  • (Vehicle) the 'created' variable needs to be initialized
  • require chassis to be created when creating vehicle
  • added more checks to prevent crashes on vehicle creation
  • make sure errors are reported when trying to recreate a vehicle with the same number
  • (doxygen) disabled RTF and Man page formats
  • allow deleting of walls in meshes such as "external" where SBS is the parent object
  • don't create colliders for rope meshes - this also fixes the variable that switches off automatic collider creation
  • added more profiler probes
  • switched profiler box to text box
  • added INI file keyboard configuration
  • split keyboard configuration off to separate file
  • check existence of camera object - this fixes a crash that happened when driving a vehicle to another sim engine
  • DeleteWalls needs to clear Walls array when finished
  • DeleteWalls needs to delete polygons before deleting wall object
  • added GetBounds function
  • added vehicle demo building
  • font name fix
  • added support for separate up and down elevator movement speeds
  • don't report a generic error message when creating the primary car. This allows the specific error messages on car creation to be reported.
  • added vehicle support
  • added OgreBullet data
  • added VehicleManager object
  • adding support for crouching
  • ensure that font texture coordinates are valid, to prevent a crash
  • update to Visual Studio 2017
  • support decoding of MP3 files, since the patent has expired
  • GetUpControl and GetDownControl should search for control's action name instead of index number
  • moved lock code to separate files
  • build warning fixes
  • added more tooltips to the Elevator Editor
  • added support for updating status of all elevator controls either on startup or while running, so that the controls match the mode states
  • partially reverted revision 4631; this fixes an issue where the nudge timer
  • would fully reset every time the elevator doors re-open
  • fix for OpenOnStart parameter, for it to work when an elevator is stopped on startup
  • added RunState elevator parameter
  • add error reason to sound init
  • allow non-emergency stop in fire phase 1 recall mode. This fixes an issue where an elevator wouldn't recall when the mode is activated and the elevator is moving.
  • converted 'float' values to Ogre's Real type (defaults to type 'double' precision)
  • fixed an issue where the Caelum sky name wouldn't be reset for subsequent
  • engines on startup
  • added support for call button destination floors engines on startup (feature currently disabled)
  • Integrated all engine reporting into ObjectBase class

New in Skyscraper 2.0 Alpha 9 (Mar 5, 2015)

  • added new Underground building
  • cleanups in relation to ShowFloors arrays
  • fixed a conflict between Group listings and ShowFloors lists, and cleaned up EnableFloorRange function
  • the print command can now be specified by itself, to print a blank line
  • many script commands would crash if given no parameters; this fixes the issue
  • Triton Center) 135th floor description fix
  • made new floor list report and FloorInfo command, and migrated the ListAltitudes feature into that
  • added Floor Information button to the control panel
  • added current floor name to the control panel
  • fixed an interior window positioning issue in the Simple building
  • prevent shaft door reset if full shaft is enabled
  • EnableGroup function in floor object will no longer touch shaft or stair objects if they're currently fully enabled
  • disabled some warnings on Visual C++
  • fixes to action array checks of Control and Trigger objects, to prevent crashes if no actions are associated with the object
  • more elevator object checks for elevator editor
  • reset door reference in elevator editor, to prevent issues if elevator is deleted
  • added Mac key hints to control reference and readme
  • the elevator editor's floor selector now only shows the related serviced floors
  • c++)reworked shaft door and elevator door ClickedObject code to newer design
  • c++)elevator shaft door wrapper objects now store associated floor number
  • c++)remade call button code in ClickedObject function, to remove legacy code
  • call buttons can now be deleted using ctrl-alt-click
  • controls can now be deleted by ctrl-alt-click
  • objects are now deleted by ctrl-alt-click instead of just ctrl-click, to prevent interference with ctrl walking modifier
  • added reporting to elevator door sensors
  • added new actions for enabling and disabling elevator door sensors
  • reworked action run code, to prevent duplicates
  • call buttons now check if elevator objects are valid, to report accordingly
  • brought back shift-click call button functionality, to change light status
  • objects are now locked/unlocked by holding ctrl-shift and clicking instead of just shift-click, which fixes conflicts with using shift for running
  • added transparent button background texture (transparent.png)
  • elevators now update floor indicators and floor beep sounds when either passing a floor altitude, or beginning to level at a floor
  • prevent elevators from updating floor number during leveling mode
  • added more verbose file load error messages
  • year update
  • fixed Visual C++ 64-bit build options
  • updated Visual C++ 2010 build parameters
  • added message sound status checks, to prevent repeats
  • removed Palace Hotel on author's request
  • added support for sounds in call button objects
  • added numeric checks to the Calc function, to fix issues with the Calc function hanging on filenames. Also removed the related work-around code for skipping parameters
  • fixes and cleanups to verbose output
  • replaced elevator's message sound and floor sound objects with a single announcement sound object, and sounds using this are now queued to prevent overlapping
  • added sound queuing support, using PlayQueued and ProcessQueue functions
  • added reporting functions to Sound class
  • elevators no longer play floor sounds (floor announcements) if on the same floor as hall call
  • fixed crash that happened if the object move window was visible while the object was deleted
  • Triton Center) Shaft 17 (core utility shaft) now displays interfloors, bottom floor while inside it, and lights
  • added ShaftShowInterfloors command
  • Object Information window now displays correct line number information (adjusted for includes), and also related include filename
  • split line number calculation portion of script error code into a separate function
  • added List Textures button to control panel
  • added script commands ListAltitudes and ListTextures
  • texture listing now supports showing filename
  • added more verbose output for texture loading functions
  • fixed texture overrides; texture functions now unload previous material if a new one of the same name is specified
  • C++) added UnloadMaterial function and fixed UnloadTexture function
  • C++) split off texture multipler registration into separate functions
  • Triton Center) Residential service elevator texture orientation fix
  • added emergency stop motor sound
  • queued sound position option in sound code, to prevent repeat applies of the setting
  • fixes for SetPlayPosition and GetPlayPosition in sound code for fmod, used by AutoAdjustSound
  • added the AutoAdjustSound to the INI file, originally added in rev 1824
  • added support for separate car and motor emergency stop sounds
  • uninitialized value fixes (meshobject rotation)
  • during an emergency stop, the car stop sound is played if an emergency stop sound isn't specified
  • verbose mode now reports details on exactly which car/motor sounds are played, for start, move, and stop
  • reworked elevator car/motor sound code and moved into separate functions
  • renamed the "mainsound" sound object to "carsound"
  • added support for a separate emergency stop car sound and speed multiplier
  • fixed an issue where the elevator editor would display too much call button output in verbose mode
  • split the create_walls option in the FinishDoors commands into separate doors_walls and track_walls options, and updated guide
  • fixed issue where elevator nudge mode would become active if elevator was in fire phase 2 mode on alternate recall floor
  • partial floor range in ShaftShowFloors command is now shown regardless of elevator moving
  • added IsBoolean function (C++)
  • enhancements to the ShaftShowFloors command
  • button title fix (elevator editor)
  • fixed issue where FinishDoors function was not properly reverting the DrawWalls state
  • removed bounding box check in stairs code, since it was failing on stairwell floors that contained no geometry, but were still valid
  • fixed "InStairwell" status
  • interfloors are now shown for adjacent floors, in order to match the original design concept
  • fixed columnframe and interfloor checkboxes in the mesh control dialog
  • added Mesh Control dialog option to enable/disable interfloors
  • added functions to enable/disable interfloors
  • fixed main filename case
  • fixed Caelum sky rotation
  • changed Caelum start time to 10am instead of noon
  • removed SkyMult INI file parameter, and the Caelum sky.os file now configures this
  • added a check to make sure elevator serviced floors are valid for the associated shaft
  • added basic group state check to floor object, to prevent repeated enables/disables during ShowFloors functionality
  • floors now report in verbose mode when they're enabled/disabled
  • fixed an issue where the ShaftShowFloors command would cause the destination floor to become disabled
  • check floor enabled state before enabling/disabling floor and group
  • mentioned reverse floor ranges in script guide
  • fixed an issue where sound objects were playing during startup, and cleaned up related code
  • removed full screen stay-on-top flag
  • fixed an issue restoring fullscreen mode on Windows after a reload (using ctrl-r)
  • added info on 'b' key FOV reset
  • added binoculars FOV setting to the camera control window
  • fixed a typo for the reload feature in the control reference
  • added binoculars mode
  • Triton Center) fixed crossbracing texture tiling and some mechanical interfloors
  • removed the Cut function's "checkstring" functionality, which reverts a "fix" from 2783 which broke filler walls in many existing buildings' elevators. The original functionality never really worked, and the removal of it appears to work fine
  • data type fix for negative dest values. Also fixes an assertion in debug mode
  • fixes to automatic filler walls function, to prevent z-fighting issues
  • right-clicking controls now reverses direction of selection
  • all shaft doors must now be fully closed for an elevator to move, when interlocks are enabled
  • actions now return the status of the commands run
  • controls and triggers will now only change position if the action succeeds
  • controls/triggers with multiple parents or actions succeed if at least one action succeeds
  • control/trigger sounds now only play if the position changes
  • fixed a message loop in verbose mode if certain elevator sounds can't be loaded
  • added more return codes and "loaded" status to sound code
  • cleaned up elevator mode switching, so that certain modes must be explicitly disabled before enabling another mode
  • ACP mode now uses standard queuing instead of Go function, which fixes a malfunction if used while another call is being handled
  • the elevator Go function will now exit if elevator is already moving
  • added floor ID reporting to Go function
  • floor signs now take the shaft door offset into account when created
  • added Renderer entry to Stats dialog
  • fixed an issue where shaft doors would stay disabled if pressing F6 (resetting position) while in an elevator
  • fixed logic behind 'force' parameter for shaft and stairs enable checks
  • changed Glass Tower 138 floor sign to say "R", and also minor wall fix
  • reload function now restores camera floor, gravity, collisions, and freelook options
  • added elevator floor signs to the Glass Tower
  • when deleting shafts, they must have associated elevators deleted manually first
  • sensor actions created by elevator doors are now removed along with the doors
  • floor deletions now fail if a shaft or stairwell depends on that floor
  • fixes to GetFloorNumber function to allow deleting the current floor
  • lots of reporting fixes and cleanups
  • added shaft and stairs existence checks to EnableFloorRange
  • elevators can now be deleted during runtime
  • call buttons are now created with directions based on the combined range of all elevators, instead of just the first one specified
  • added a forced resize during a building reload for Linux - fixes rendering issues
  • camera rotation values are now updated properly. This fixes the rotation display in the control panel, and also fixes rotations during a building reload
  • call shutdown() on Ogre root instead of delete, to fix a crash on certain systems during shutdown
  • fixed malfunction in trigger code due to an uninitialized position value
  • fixed setback positionings in Sears Tower model in Triton Center
  • added antennas to Sears Tower model in Triton Center
  • tiling fix for Triton Center top (143) interfloor
  • added missing keys to control reference
  • added explanation of interfloor areas to script guide
  • floor skip text can now be disabled by setting it with an empty value
  • nudge setting in elevator editor now works properly on a per-door basis
  • added door sensor item to elevator editor
  • added "sides" graphic for script guide
  • some needed fixes to the Observation Tower
  • added floor signs to Simple building
  • trim whitespace on GetAction() input string
  • added option to change nudge option for door hold command, used by Sensor action
  • added Sensor and Reset actions, used by sensors
  • added support for elevator door sensors
  • elevator parameters now properly calculate numbers
  • repositioned Glass Tower's rooftop elevator motor
  • moved Glass Tower roof structures to external mesh
  • added use of VerifyFile to building file loader, to fix filename case sensitivity on Linux and Mac
  • removed "starting time" entry from stats dialog
  • fixed parameter count checks in script interpreter
  • script includes now use VerifyFile which fixes case sensitivity issues on Linux and Mac
  • file not found errors for script includes now handle exceptions properly
  • moved Triton Center mech penthouse roof to separate floor
  • fixed issue with cutstairwell and cutshaft commands introduced in rev 2047 (in Alpha 7), that caused external meshes to cut a floor too high
  • removed unnecessary pauses
  • added support for function nesting (calling functions within other functions)
  • reworked the script error reporting code, to fix reported line number breakage when using nested includes
  • updated guide to explain include and function behavior
  • a warning is now shown in the console when a function is defined again, and the redefinition is skipped
  • return empty strings instead of nulls for c-string functions. Fixes some crashes
  • added atrium floor spacing in Glass Tower
  • added progress dialog for script load
  • added EndPoint function
  • moved Print command to end, which allows certain command results to be printed properly
  • added AddCustomFloor command
  • Glass Tower) added basic Peerless building and ground based on spotting blueprint from movie
  • major) fixed an issue where the submesh processor would skip, leaving unused triangle data. This was causing Prepare() to malfunction and sometimes visible corruption
  • Action Viewer now displays multiple parents
  • added ability to delete actions from the Action Viewer window, and fixed some cleanup issues involved in the deletions
  • added AddActionParent and RemoveActionParent commands
  • action viewer now refreshes list
  • actions created by button panels are now deleted along with the panels
  • walls of root object (SBS) meshes are now children of those meshes instead of root
  • fixed a vector overrun in RemoveFloor function (element was removed before accessed)
  • do not process geometry buffers if no data exists - fixes a crash on Windows
  • manually deleting floors now deletes any walls created in the "external" mesh
  • reset collisions when deleting objects, and clear last_collision value - this allows objects the user is touching (or standing on) to be deleted
  • added check to prevent floors from being deleted out of order
  • elevator doors can now be deleted properly during runtime
  • added round math function
  • added new math functions log2, ceil, flr, and rnd
  • fix for texture distortion issues on main menu
  • added option to turn off automatic filler/connection walls for elevator doors
  • math function fix - removed the need for a space before the function names
  • fixed default locale setting - this solves script error issues when running on machines with different locale settings
  • texture functions now report in verbose mode only
  • fixed StartsWith() function
  • added advanced math functions to script interpreter
  • added power-of operator to Calc function in script interpreter
  • added Ogre 1.9 compatibility
  • combined floors 65 and 66 in the Glass Tower
  • cmake and source fixes for Ogre 1.9 compatibility
  • orientation fix for old sky system
  • added RenderOnStartup option, which renders the building as the script is processing on startup
  • fixed an issue where most new meshes would need to be disabled and re-enabled to be visible
  • cmake script fixes, and svnrev is now run automatically
  • fixes to main window sizing
  • fixed issues with main menu and mouse clicks being off on Mac, due to client size being different than window size
  • fixed shutdown crash due to MainScreen::OnClose being called twice (mainly on Mac)
  • made missing files dialog larger
  • fixed issue where rotational degree values would show 360 instead of 0
  • added OpenMessage and CloseMessage elevator parameters
  • script processor now using main frontend loop for processing
  • fixed an issue where main window would not resize back when exiting from fullscreen to main menu
  • object list in objectinfo dialog now refreshes automatically
  • switched DisableSound to a frontend option, which now changes it for the whole app
  • removed unused options from INI file
  • WalkBrake and RotateBrake options now work
  • removed LookAccelerate, BodyDepth, LegsDepth options
  • fixed GetObjectPosition() for elevator doors, so now their position shows up in the MoveObject window
  • fixed Camera::Rotate() function; relative rotations now work in camera control window
  • Bullet: disabled penetration recovery, which fixes issues with stairs stepping
  • added frame smoothing feature, configurable in the INI file
  • removal of wxWidgets code from the SBS library
  • new SBS timer system
  • added while statements
  • added delete command
  • added runaction command
  • action names with spaces now work from scripts
  • functions can now be called properly from IF/While statements
  • added duplicate function check
  • keycode fix for Mac version - fixes some key recognition errors
  • switched to in-app console window
  • control panel sizing fix
  • removed unused RenderOnly and InputOnly options
  • script viewer no longer shows included code
  • rename and cleanups of collider recreation when adding/deleting objects during runtime
  • fixed issue where meshes wouldn't be immediately visible if walls were added to them during runtime
  • fixed an issue where control panel buttons failed to work upon a building reload
  • command box in console now clears on send
  • added echo option to console window (displays typed commands)
  • fixed an issue with the main window not raising properly on startup
  • fixed a startup clear screen issue
  • switched log output to new in-app console window
  • addition of main console text box in console window
  • moved system over to Ogre logging facility
  • all logging is now written to skyscraper.log
  • debug console (text) output can be turned on and off by INI file parameter
  • script processor is now persistent
  • added missing note about ctrl-r reloading current building to key commands list
  • added script deprecation warnings, which can be enabled in the INI file
  • removed unused GetWallExtents function since the command version is more useful
  • script interpreter cleanups
  • fixed a parameter check for parameters specified after equals signs; would previously treat empty text as a single parameter
  • updated syntax in Simple building
  • added ReverseAxis parameters to the script guide, which were missing
  • added ability to disable Bullet for testing
  • fail and switch to old sky system if Caelum fails to init
  • disabled elevator arrival notifications and floor sounds/beeps when in service modes
  • disabled elevator door open/close functions while in Fire Phase 1 recall
  • added needed object existence checks to functions that use the object array directly - without this, crashes were happening when doing an object scan after an object had been deleted
  • ACP mode now uses the elevator's Go function, and now works properly
  • elevator "Go" function now turns off elevator floor light when reaching destination
  • fixed some door closing issues in Fire Phase 1 mode
  • added exterior up/down controls to Simple - Manual building, and interlock switch for testing
  • added support for modern manual lifts, that require the floor button to be held to proceed to that floor, via the FloorHold parameter
  • script interpreter section reordering and cleanups, fixes variable processing issues, and duplicate functions have been removed
  • added fire switch keys to Simple, Triton Center and Glass Tower elevators
  • added landing zone area for automatic releasing of interlocks
  • added new section of items to elevator editor, and added some other misc things
  • added basic elevator interlocks, along with actions
  • fixed button/control texture multipliers - this fix will break previous buildings' buttons and controls if they use size multipliers other than 0 or 1. Previously changing the size would mess up the button positioning
  • updated Simple building with internal and external fire switches
  • added more texture content
  • added fire service enable function to call button code; switching one elevator to fire service phase 1 now switches all elevators in same bank (all being serviced by the first call button on recall floor) into fire service mode
  • added elevator door open/close button hold feature (constant pressure support), for certain modes such as independent service and fire modes
  • renamed CancelLastRoute to CallCancel
  • major reworking of fire service modes to make them more realistic
  • added reversals to door opening, used in fire modes to reclose the doors if open button is released
  • major Glass Tower lobby changes; atrium base is now the Atrium level (previously mezzanine) to match movie depictions of the Hyatt Regency and Bank of America buildings
  • added full support for manual elevators
  • fixed issue where floor would turn off when closing shaft doors even if ShaftShowFloors is enabled
  • added "0 to disable" options for DoorTimer and QuickClose parameters
  • added AutoOpen parameter
  • added OpenOnStart parameter
  • added new Simple building with manual doors
  • added OpenExt and CloseExt actions
  • added more elevator and shaft door actions
  • updated to OGRE 1.8, and updated meshes to newer format
  • Glass Tower texture mapping fix for top of front setback pinnacle
  • fixed camera control X axis reversal
  • fixed action control centering
  • added functions to support elevator returning/releveling to nearest floor after disabling inspection mode
  • added 'return' function in elevator actions list which returns to the nearest floor after a stop
  • added more checks to door "in use" status - fixes issues where elevator doors would misbehave if automatically moving and a manual open/close was run
  • removed OIS requirement from cmake
  • minor correction to local elevator range in Sears Tower
  • fixed Glass Tower floor height typo in the floors 80 to 85 section (it erroneously added an extra foot to those floors)
  • added dialog for moving objects
  • fixed "hold" option for camera relative rotation in dialog
  • fixed rotation quirk in dialog that allowed values outside of correct range
  • array cache tweaks
  • fixed DynamicSky script parameter
  • added additional check to elevator service modes to prevent random activity
  • elevator parking is no longer run while in a service mode
  • fixed elevator availability check for LimitQueue
  • added elevator queue reversal when arriving at top/bottom floor; fixes call quirks on those floors
  • fixed issue in elevator_doors.txt script that prevented dual-speed left doors from closing properly
  • switched user variable system over to named variables
  • extended range of characters supported by the text-to-texture system
  • Updated Visual Studio project files for VS2010
  • added popup error messages for sound errors
  • added gpu program checks for Caelum initialization; should switch off Caelum on problematic graphics cards to prevent reported crashes
  • moved SBS initialization code into contructor
  • removed obsolete shaders variables
  • fixed issue where some wall handles wouldn't be deleted, due to a changing handle array size
  • centralized number conversion into new ToString functions
  • fix for textureoverride/textureflip states
  • console output fix
  • INI parameter fixes
  • AddFloor parameter fix
  • removed tchar for wxwidgets unicode compatibility
  • random activity is now ignored if related elevator is in service mode
  • added parking notification
  • script interpreter performance improvements
  • performance fix for GetTextureMaterial function
  • fix for material polygon reporting
  • fixed misuse of vector preallocation, performance improvement (fixes bottleneck when creating thousands of floors)
  • function speed improvements in script interpreter
  • added function name and calling line to script error message
  • misc performance tweaks and cleanups
  • old sky is now used if Caelum fails to start (previously the sky would end up being black in this case)
  • fixed crash that would happen if Caelum wasn't initialized properly
  • swimming pool model material fixes
  • turned off texture lighting option by default
  • added calc ignore checks for other filename parameters
  • added StairsShowFloors and ShowFullStairs commands
  • moved stairs, shaft and elevator checks into respective classes
  • some tweaks to IsInStairwell checks
  • removed some obsolete stuff (including shaft type parameter)
  • added ShowFullStairs to Triton Center's West Stairwell
  • added railings to Triton Center
  • fix for disabling old skybox
  • added ability to delete models and doors with ctrl-click
  • added pool to Triton Center
  • fixed a defect in the CutAll floors operation - was cutting through all floors associated with shafts/stairwells - now only cuts through current floor as described
  • added check to prevent crashes when deleting an object user is standing on
  • fixed creation of collider body which was causing crashes when loading collider meshes
  • added support for skipping calculations on model filenames - fixes an infinite loop

New in Skyscraper 2.0 Alpha 8 (Mar 1, 2013)

  • elevators now report as available if on the same floor as the call and not moving, regardless of the door state - fixes an issue where pressing call buttons more than once would open additional elevators
  • fixed TruncateNumber function, to return correct floating point precision without exponent
  • dialog text box resizes
  • remade queueresets feature
  • floor announcement sound is now played along with the other arrival notifications, and so is affected by NotifyEarly
  • up/down message sounds now play according to last chime direction
  • elevator now chimes the previous chime direction if doors reopen (if applicable)
  • turned off queue reversals if NotifyEarly is on
  • added ReOpen elevator parameter
  • added AutoEnable option to turn on and off automatic enabling/disabling of elevator interior objects
  • added queue pending state flag - fixes issue where pressing both call buttons in a 2-elevator shaft would call the same elevator for both
  • switched to standard elevator availability check for single-elevator call buttons
  • major work on elevator queue/arrival notification code
  • call button behavior fixes
  • changed freelook crosshair to cross
  • added elevator queue limit, to prevent calls opposite of queue direction from being placed
  • removed same-floor check in call button code, which broke calls when elevator was moving past current floor
  • decreased classic elevator door spacing
  • fixed logic that caused down calls to alternate chime direction
  • added inspection service speed multiplier setting
  • elevators now ignore the leveling offset if brakes are turned on while beyond that offset
  • fixed a floor check and positioning issue with in-elevator directional indicators, which caused only single indicators to be created
  • added default/error texture
  • added support for configuring the main menu from the INI file
  • reversed the Sears Tower and Glass Tower menu entries
  • shift-clicking on doors now locks them
  • added new command SetKey, which allows models to be specified as keys
  • added new command SetLock, which sets lock parameters when creating doors, controls and call buttons
  • fixed elevator door bumpers
  • added actions for inspection service up/down/go toggle options
  • added support for multiple parents per action
  • added ip20112.5 update for "The Spire" building
  • new Glass Tower roof, based on movie blueprints
  • fixed a name check bug in the cut function, which was causing elevator door filler walls (done by FinishDoor()) to sometimes fail
  • added support for elevator door vertical offsets
  • elevators now stop according to the shaft door's voffset instead of the floor's base, where applicable
  • added note to script guide mentioning that automatic filler walls needs all related walls to contain the word "shaft" for it to work
  • changed camera speed to half, for a more realistic walking speed
  • fixed texture autosizing quirks (diagonal walls/floors are now autosized correctly)
  • added ability to delete models, controls and triggers
  • limited object prepare on delete, speeds up object deletion
  • added a fog multiplier setting in the INI file (changes fog density)
  • Glass Tower - new test service elevator serving most floors
  • Glass Tower - changed executive elevator to use floors in movie depiction
  • new stairwells in Glass Tower, along with railings
  • work done on Glass Tower floors 135-137
  • updated AddFloor command, which fixes a number of issues with the old command
  • fixes for planar texture mapper's autoflip functionality - now appears to work properly (but might potentially cause minor breakage of existing buildings - need to check)
  • added ReverseAxis and texture direction parameters to AddFloor
  • added rotate option to the planar texture mapper (which the texture direction parameter now uses)
  • added GotoFloor function (mainly in camera controller window)
  • added percentage indicator to script startup
  • added note to the script guide about custom texture mapping and automatic reversals
  • new glass elevators in Glass Tower
  • fixed issue preventing custom walls from being made in elevators
  • separated elevator motor sounds between up and down movements
  • added comments in script guide about leaving sound fields blank
  • performance improvements
  • fixed volume bug in AddSound - volume parameter was specified as an int, preventing fractional volume values
  • added lobby ambient sound to Triton Center
  • added support for split car up/down elevator sounds
  • added support for playing multiple sounds with the same name from an action
  • added support for running multiple actions with the same name
  • added couch model to Simple building, with physics enabled
  • added centering support to models, and added parameter to AddModel commands
  • added second couch to Simple building, and couch to top of Triton Center
  • fixed object parent values for some new objects
  • some fixes to cascading object deletion
  • Triton Center antenna tiling fix
  • added texture animation
  • added support for direct loading of ogre materials in data/materials
  • added caching to GetFloor() and related functions
  • Triton Center external windows overhaul, using alpha blending
  • Glass Tower overhaul
  • added Action and Trigger objects
  • added action viewer (control panel window)
  • fixed global AddSound command which was overriding the per-object ones
  • updated AddSound command for FMOD and added loop option for new control/trigger commands
  • fixed texture and material counters
  • added changetexture, playsound and stopsound actions
  • disabled doppler effect (sounds) by default
  • default main sim window size now changed to 800x600, menu window size separated and kept at 640x480 (configurable)
  • added internal skip for wildcards in filenames (*) (fixes those bogus error messages)
  • started in-sim object creation (code constructor)
  • added building startup options to turn on/off collisions and gravity (listed in the designguide)
  • disable basement number conformity (fixes Cliveden Desmond Wharf)
  • added a file check for the include section (loading now fails if an included file cannot be found - this prevents serious and hard-to-diagnose errors later on)
  • added Empty building (not working properly, but is used to create buildings from scratch)
  • object colliders are now removed by default (for running performance) except for elevator doors (due to slowdowns when entering Triton Center elevators)
  • disabled backface polygons for ground
  • object info listbox now updates if you exit that window and re-enter
  • added new control aliases, mostly for Mac users
  • added support for setting the default sky time speed in the INI file for Caelum, and changed the default to 25 (you can now easily see the clouds moving, and a day moves much faster so you can more quickly see sunrises and sunsets)
  • switched Mac frontend to use Cocoa
  • switched from normal flipping to standard texture flip (for ogre coordinate system compatibility)
  • added the Caelum sky system
  • lowered default texture filtering anisotropy level to 4 (from 8 )
  • switched to 16-bit hardware indices; should fix geometry corruption on some older cards, and should improve performance somewhat
  • if a cut operation eliminated an entire polygon, the original polygon would not be deleted
  • added ability to only play elevator music while moving, and updated related INI file parameters
  • added advanced option to profiler
  • added profiler system
  • added check for duplicate entries in missing files list
  • added proper error reporting (and OGRE exception handling) to frontend initializer
  • fix for operational conflict between floor grouping and ShaftShowFloors command
  • added DisplayFloors parameters
  • added texel override
  • added physics support for models
  • added support for model colliders
  • added support for Ogre meshes (using converters for Google Sketchup)
  • added checks to ensure that starting floors are less than ending floors in AddShaft and AddStairwell commands
  • gravity reset fix and fix for IsInShaft() distance check
  • fixed an issue where shaft would rapidly turn on and off if on top of elevator
  • fixed issue involving reversed polygon faces resulting in some textures being reversed. Put in a precision workaround for Alpha 7 compatibility.
  • sound fixes, added ability to view camera collider via F7, and fixed a line skip issue in the script interpreter
  • filler wall reset fix
  • added support for different open/close speeds for elevator doors
  • wxwidgets compatibility fix
  • added proper failures on numeric checks to report errors and prevent loops
  • added texture filtering options, and switched default to anisotropic (previously bilinear)
  • added ability to switch on and off collision detection and visible colliders via F7
  • split SBS into shared object on Linux, and restructured source files
  • removed AddGenWall and migrated items using it to AddWallMain
  • switched translator code to OGRE's right-hand coordinate system (SBS uses left-hand)
  • switched to FMOD for sound
  • switched to OGRE for graphics
  • switched to Bullet for collisions and physics
  • Triton Center renovation
  • fixed door filler walls
  • object deletion fixes
  • added geometry deletion support
  • fix crash that only happens if shafts are created out of order
  • new internal mesh object system (Skyscraper now generates it's own 3D geometry)
  • new horizon distance setting
  • added render distance limits for small objects

New in Skyscraper 2.0 Alpha 7 (Sep 21, 2010)

  • added braille fonts
  • added support for elevator panel switches and knobs
  • added elevator fan toggle
  • door open and close buttons now support specific doors
  • added door hold feature
  • elevator now resets queue search direction if last entry in active queue is in the opposite movement direction
  • elevator doors no longer try to open if you press the call button as it's passing the floor
  • floor buttons now properly add floor route if pressed on the same floor as elevator is moving
  • Fix for vertically-moving elevator doors' offset calculations
  • Elevators now properly sync camera offsets if a person boards a moving elevator
  • Fixed an issue where the random activity system wouldn't select the top serviced floor
  • added standard doors to elevator objects
  • added sound support to doors
  • fixed a crash that occurred if ServicedFloors included an invalid floor number
  • added internal error reporting system
  • new object tree browser
  • elevator parking fixes
  • call cancel now only works in fire phase 2 mode
  • elevators now reroute properly if switched to fire phase 1 mode while moving
  • added object deletion support
  • added elevator run/stop states
  • arrival notification can now be performed at the start of leveling or at deceleration
  • Added adjacent floor check - eliminates crashes related to trying to create floors in the wrong order
  • Elevator doors no longer open when parking
  • some interior elevator objects now stay enabled while user is outside elevator
  • grouped floors now also enable stairwells and shafts
  • Added braille callbuttons
  • Elevator beep sounds now support floor number substitution
  • added support for direction message sounds
  • added separate folder for screenshots, and switched format to jpeg
  • added support for elevator music
  • ShaftCut and CutStairwell commands now cut external objects
  • Added support for displaying last clicked 3D position
  • Added Housing Estate building
  • Added support for changing door speeds
  • added SVN versioning info
  • Elevator objects can now be used in certain global commands
  • fixed a peak mode dispatch issue
  • Added case insensitivity support for file loading
  • Internal indicator vertical positioning fix
  • App now displays missing files after building load
  • Texture rendering fixes
  • added "open" parameter to doors
  • added DepartureDelay and ArrivalDelay elevator parameters
  • Error reporting system is now more verbose about certain errors
  • added sign textures
  • added nudge mode

New in Skyscraper 2.0 Alpha 6 (Mar 12, 2010)

  • added current floor ID to the control panel's main and camera control windows
  • added support for forcing autosizing on or off on a per-texture basis
  • added support for floor arrival sounds
  • added more camera speed config parameters
  • added full camera reset (respawn) triggered by F6
  • added elevator motor sound object
  • added support for exiting back to the main screen
  • added support for per-door elevator floor signs
  • added new simulator/building statistics dialog
  • moved button code into separate control class
  • added support for elevator button lighting
  • fixed issue involving elevator door sound playing for non-serviced doors
  • added script console
  • text-to-texture objects now support transparency
  • fixed floor sign autosizing issues
  • many elevator queue fixes
  • fixed call cancel button
  • app now properly exits to the main menu if a building fails to load
  • added custom sound objects
  • added new Simple building with basements
  • more comments added to the Simple building
  • elevators can now be named
  • call buttons now light up in groups
  • added Schindler MT textures and sounds
  • added verbose mode
  • control panel can now be reopened by pressing F12
  • fixed blank canvas issue on Mac
  • elevator modes can now be set from building scripts and the INI file
  • fixed ACP mode
  • fixed other service modes
  • added SetTextureMapping2 command
  • created new planar texture mapper
  • added the GetWallExtents and Print commands
  • added InterfloorOnTop global parameter and base variable
  • made new SetPlanarMapping command which is an extended version of the old ReverseExtents command
  • new planar texture mapper is now the default
  • added object information dialog
  • added support for file includes
  • added support for script functions
  • added support for user-defined elevator and shaft doors
  • added automatic elevator parking support
  • added button sound support
  • elevator and motor sounds now start at a position based on the elevator's speed
  • elevators now support an unlimited number of button panels
  • added CutAll command
  • added support for internal elevator directional indicators
  • directional indicators can now show active (running) elevator direction
  • fixed some quirks with elevator movement
  • added elevator leveling support
  • Lines with both functions and IF statements now process the IF statement first
  • door cutting uses CutAll function, which now makes it cut stairs, shafts, external, etc
  • Texture flipping now works properly with zero tw/th values
  • call buttons are now only created if any of the given elevators serves the floor
  • ACP mode now works in conjunction with peak modes
  • added experimental random elevator traffic

New in Skyscraper 2.0 Alpha 5 (Oct 26, 2009)

  • clicking on shaft doors and elevator doors while holding down shift now causes them
  • to manually open/close
  • manually opening shaft doors causes the related floor to turn on if user is
  • in a shaft or an elevator
  • added new buildings
  • added support for multiple floor indicators per elevator
  • floors can now have floor indicators
  • added support for elevator floor beeps
  • added support for separate up/down chimes
  • added support for per-door textures on elevator/shaft doors
  • added elevator door collision sensors
  • added last collision indicator to control panel
  • added support for call button lighting
  • major fixes to the elevator queue and call processing
  • fixes to some elevator parameters, where they would error out if used in a different
  • block than the CreateElevator command
  • sound support is now optional and will switch off automatically if not available
  • some new script checks for valid floor ranges
  • added basic glass elevators to the Glass Tower
  • simultaneous door movements are now supported
  • call button monitor added, to realistically wait for an available elevator during a call
  • call button light status can now be changed by shift-clicking the button
  • elevator panel buttons now support position offsets
  • fixed manual sizing parameters of the panel buttons
  • added support for mounting zipfiles into virtual directories
  • added the ability to spin the camera (Z-axis rotation)
  • startup screen now works on Linux and Mac
  • added mouse look (freelook) mode, activated by F5
  • new Camera Control window
  • split chimes sounds into up and down versions
  • added support for writing text onto a texture with the AddText command
  • fixed a memory leak involving floor beeps
  • added support for texture name prefixes, used with floor indicators and signs
  • added support for cropping and overlaying textures with the LoadCropped and
  • AddOverlay commands
  • added configuration file support
  • added support for zooming in and out (FOV angles)
  • added support for starting up without the control panel
  • added fullscreen support, activated by F10
  • fixed an issue where walls along the Z axis would have the side negative and
  • positives switched
  • height element can now be chosen from the script's object parameters
  • added parking ramps to the Triton Center
  • added AddFloorAutoArea command, which enables and disables floors within a specified
  • area
  • fixed texture flipping
  • removed ReverseExtents command (was broken since early 2007)
  • added SetTextureMapping and ResetTextureMapping commands (replaces ReverseExtents)
  • to allow manual setting of UV texture coordinate data
  • added AddFillerWalls command which is a convenience function used in creating doors
  • added hotel rooms to the Triton Center
  • added control reference (for keyboard commands, etc) to the control panel

New in Skyscraper 2.0 Alpha 4.1 (Jun 22, 2009)

  • fixed a shaft door regression

New in Skyscraper 2.0 Alpha 4 (Jun 20, 2009)

  • added syntax checking and error notification to the script processor
  • fixed an old bug that could crash the sim if the floor ID matched a non-existent texture
  • added support (and FloorSkipText parameter) for showing express zone indicators during floor skips
  • added ACP, Up Peak, Down Peak, Independent Service, Inspection Service, and Fire Service phases 1 and 2 modes to elevators (not all work yet)
  • remade manual/emergency door open/close methods
  • added door stop function for doors in manual/emergency mode
  • elevator doors no longer open during an emergency stop (except for a manual open)
  • manual opens during an emergency stop will only open the elevator car doors
  • fixed a crash that involved trying to open shaft doors on a non-serviced floor
  • added shaft tops to the Triton Center and Simple elevator shafts
  • lots of memory leak fixes
  • simulator now pauses when main window is minimized
  • Sears Tower skydeck elevator crash fixed
  • performance enhancements
  • call selection fix
  • half of express elevators in both the Triton Center and Sears Tower buildings are now stationed at the top
  • fixed ShowFullShaft command
  • added support for elevator directional indicators
  • added alarm sounds
  • added support for multiple elevator doors
  • added support for specifying shaft doors on a per-floor basis
  • added AddFloorSigns command that creates floor signs on all floors served by an elevator
  • numerous Triton Center fixes
  • split Triton Center topside mechanical into 2 floors, added stairs to the roof, and did roof/penthouse work
  • moved Triton Center's skydeck entrance to LL1
  • Triton Center's pool express elevator now only serves lobbies instead of upper residential floors in addition to lobbies
  • fontserver fix
  • added wireframe mode and screenshot keys

New in Skyscraper 2.0 Alpha 3 (Jun 20, 2009)

  • 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 a bug involving certain variables not being processed
  • 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; 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
  • input is now only processed if main window is selected

New in Skyscraper 2.0 Alpha 2 (Jan 13, 2009)

  • Added missing DLL for CS, and fixed installer
  • Added AddGround command, for creating tile grid-based grounds (fixes ground interference issue in 1.1)