Skyscrapersim 2.0 Alpha 10

From Skyscraper Wiki
Jump to navigation Jump to search
This article is legitimate.
It contains good-faith information, such as an existing building or content.
Current Development Builds by Version (Update)
Versions: Alpha 1, Alpha 2, Alpha 3, Alpha 4, Alpha 4.1, Alpha 5, Alpha 6, Alpha 7, Alpha 8, Alpha 9 (Update 1 / Update 2)
Alpha 10 (Update 1 / Update 2 / Update 3 / Update 4 / Update 5 / Update 6), Alpha 11 (Update 1 / Update 2), Alpha 12, Beta

Skyscrapersim 2.0 Alpha 10 / 1.10 was the 11th release of the 2.0 releases. It was released on December 19, 2016. This version has 33 builds.

Changelog[edit | edit source]

  1. added support for revolving doors
  2. when in fire service phase 2 mode, only open phase 2's car doors on recall floor, not other cars
  3. added "PeakOff" action, and updated documentation
  4. reset mouse cursor when exiting to main menu
  5. FinishMove should turn on floor that the camera is active on, instead of the elevator's GotoFloor
  6. update naming of directional indicator meshes
  7. show main object name instead of mesh name, for click reports
  8. FinishDoors function should show a script error if it fails
  9. show an error if a scene node is not created properly
  10. when freelook is enabled in an engine, the mouse cursor needs to be updated when switching engines. This also consolidates the related freelook code into a function.
  11. values need to be cleared when switching engines
  12. fixes for reported issues with multi-car support
  13. for the "Elevator:Car" script parameter, if just the elevator is specified, the code should find the car that services the floor, instead of just using the first car
  14. added INI file and script "HoistwayAccessHold" option
  15. added object OnUnclick function, which is called when a mouse button is released on an object
  16. Hoistway Access mode now uses constant pressure on the switches to work, which can be turned off
  17. actions can now have a "hold" state, which requires that a control have constant pressure to prevent it from reverting to (normally) an "off" position. Used for Hoistway Access mode
  18. fixes for ShowMenu behavior and command line "no-menu" option
  19. added CheckScript mode, which allows scripts to be quickly checked for errors, instead of fully loading them
  20. fix for the "Stairwells" string match in the GetObjectRange function
  21. cleanups, found via cppcheck
  22. memory leak fix for Dynamic Mesh system - the mVertexElements array needs to be deleted on return
  23. (Scripts) added a check to ensure that a floor's altitude is properly set at the end of a Floor section
  24. (Scripts) move end-of-section code into per-section functions
  25. brought back ComputeNormal function, which was removed in revision 4679, due to precision issues causing certain walls to display improperly. The issue appears to be due to Ogre's Plane function calculating in double-precision mode, with the ComputeNormal calculating in single-precision, so a workaround has to be found for Ogre.
  26. character controller should remove itself from Bullet world on delete
  27. call buttons should not store pointers to control objects; this fix now allows for the call button's controls to be deleted
  28. call button actions can now be used from scripts, and details have been added to the guide
  29. add note about how leaving the "texture" parameter blank for the button panel, will hide the back
  30. revamped Call Button objects:
  31. -action system now supports Call Button actions
  32. -made Button Panel code generic (removed dependency on Elevator Cars), so that it can be used with multiple types of parents
  33. -switched Call Button object to use a Button Panel as it's button canvas
  34. objects need to unregister their dynamic runloops on deletion
  35. added virtual OnClick function for objects
  36. shut down resource manager on exit
  37. have character controller properly clean up objects when deleted
  38. call button timer should quickly fire on the first shot, before waiting a longer interval for future processing
  39. added support for dynamic runloops, which should help reduce per-frame loop overhead. This functionality allows objects to optionally register themselves with their parents to activate/deactivate their runloops, and then the parent calls a LoopChildren() function to run all registered child loops
  40. door movement now uses a standard parent runloop method, instead of a main simulator callback
  41. have call buttons use a Timer object for processing the call loop (frequency set to 1 second), instead of using a callback entry in the simulator root
  42. fixed a loop issue in the ProcessGotoFloor function that was causing some elevator cars to be skipped
  43. fixed problem in FinishMove function, where the call button arrival notification was only checking the arrival direction of the primary floor call, not ones for other cars
  44. when adding an elevator route, the car number should be reported if the elevator has more than 1 car
  45. when enabling Hoistway Access, require shaft doors to be open on the specified floor
  46. Hoistway Access switch should cause elevator to move, instead of separately using inspection service controls
  47. add profiling to ElevatorCar loop
  48. moved Camera loop code and timing code into standard Loop function
  49. renamed SBS MainLoop to standard object "Loop", and moved camera loop call to end of SBS loop
  50. have ResetBuilding function be used as the standard object's ResetState function, and have it also reset the camera state if the camera's active. This allows the SBS engine root to be reset, to reset the building state.
  51. removed SegmentPlane function
  52. removed and replaced old Classify function with an AABB test
  53. Cut function now skips polygons that are completely inside the cutting area, instead of needlessly processing over them and not getting cut results
  54. removed old point-on-polygon/findwall code
  55. removed old ComputeNormal function
  56. intersection functions need to convert the polygon's relative plane to absolute positioning
  57. fixed computing of stored polygon plane, and polygon intersection functions now used the stored plane instead of computing one
  58. engines shouldn't automatically make themselves the active engine on entry, if they're an ancestor of the active engine. This fixes issues where overlapping engines' activations would bounce back and forth, causing colliders to fall through the ground, and wrong engines being selected
  59. moved shared script section variables into a separate Config Handler object, mainly to fix an issue where the shared variables were never reset on script interpreter shutdown/startup
  60. make sure elevator's CreateElevator function returns with error if the primary car has an error
  61. added key switch textures for Hoistway Access
  62. added "selection_position" parameter to Control object (AddControl and AddActionControl commands), which allows you to specify the starting selection position
  63. added "Simple - Hoistway Access" building
  64. Move Object window needs to keep the SBS engine pointer current, otherwise a crash can happen when reloading a building
  65. split Script Processor out into multiple files and classes
  66. added Hoistway Access mode feature
  67. added missing ReOpen elevator parameter to script interpreter, and fixed script guide
  68. fixed an issue where nudge mode would not activate properly when an elevator in Fire Phase 2 mode was recalled to the lobby
  69. added top-level Ogre exception handler, which should help with error reports
  70. (Sears Tower) Express elevators are now real double-decker elevators
  71. added "Simple - Double Decker" building
  72. added elevator double-decker (multi-car) support
  73. fixed issue where an elevator in Fire Service Phase 2 mode wouldn't put doors into nudge mode, when recalled from lobby (Phase 1 mode re-enabled)
  74. added elevator ChimeOnArrival parameter
  75. make sure profiler is cleaned up when window exits
  76. update profiler statistics every 10 frames instead of continuously
  77. added more performance metrics for the Profiler
  78. properly group radio buttons in Elevator Editor
  79. CameraState should store FOV value, so that the camera's FOV will be persistent when switching engines
  80. added "Simple - Top Box" building
  81. if a texture load fails, the texture resource needs to be removed afterwards. This fixes an issue where the failed texture would show up as loaded, during a reload
  82. if elevator doors are open due to the elevator waiting in a peak mode, don't reset the door timers when a call button on the same floor is pressed
  83. (OpenGL only) use standard texture copy method if dimensions are the same, to try to remedy texture copy crashes mainly on systems with Intel graphics, with small non-pow2 textures
  84. set name of FMod audio client, used with PulseAudio on Linux
  85. enhanced setting of adjusted floor 0 altitudes
  86. if floor 0 is created after floor -1, adjust floor 0 based on floor -1's altitude
  87. when creating basement floors, if floor 0 is created first, properly calculate floor -1's altitude offset based on floor 0, instead of assuming a default value
  88. frontend size_t migrations, to simplify loop code
  89. disable double-buffer fps fix in Windows, due to an issue where the screen turns black on fullscreen
  90. removed old Windows-only CodeBlocks file, and rename Linux one
  91. added converted Mac icon, and added Mac bundle data into tools folder
  92. queue the creation of the progress dialog, to fix an issue on Mac where the main window would freeze if a building is autoloaded
  93. DeleteButtons should be run in Load function
  94. added building "open with" load support for Mac systems
  95. app should switch current working directory to executable's directory on start, which allows double-clicking on building files outside of the app to start
  96. added command line options for fullscreen and no-panel modes
  97. added command line options to disable the intro music, show version and enable verbose mode
  98. added command line options for showing/hiding the console and main menu
  99. added command line option support
  100. enabled large address flag for 32-bit builds, and also included the disabling of inline function expansions
  101. have GetLineInformation function also return function name
  102. have crash report show script interpreter state, if a script is loading
  103. moved global door code into new DoorManager object, to fix positioning issues
  104. CutAll function needs to remove floor's base offset for it to cut stairwell walls properly
  105. (Simple) added filler walls for the stairs doors
  106. fixed cut voffset for AddFillerWalls
  107. fixed Triton Center external filler walls, and added mention in script guide about the voffset value
  108. added "isexternal" parameter to AddFillerWalls script command
  109. (Triton Center) have exterior doors use new External Doors feature
  110. fix for AddShaftStdDoor command
  111. added AddExternalDoor script command
  112. (Glass Tower) service elevator button arrangement fix
  113. floor indicators need to use proper texture prefix when created
  114. when elevator doors are being manually opened (shift-click), shift-clicking again will stop the doors
  115. when an elevator checks if it's available for a call, the interlock check should skip the current elevator floor to prevent issues, since that check is done later
  116. disable the door sensor if the elevator is waiting in a peak mode
  117. elevator interlock check should be skipped if the elevator is waiting in a peak mode
  118. added an "always" value to the ShowFullStairs command, which allows a stairwell to always be fully shown, like the ShowFullShaft command does with shafts
  119. added INI file option to switch off the Dynamic Mesh's auto combiner
  120. wxWidgets string cleanups
  121. SwitchEngines function should try to switch to active engine's parent, if possible
  122. elevator doors should only set "hold" option if not moving manually
  123. for door re-openings, only issue a re-open on doors that are moving
  124. position command in Globals section needs to recursively move child engines when run
  125. fixed an issue where the Position command in the Globals script section wouldn't work for buildings loaded in nested Buildings sections
  126. have CutForEngine function pass engine cut operation to parent, mainly so that nested Buildings sections in code will cut the top-level engine properly
  127. child engine positions need to be set relative of their parent engine
  128. elevators should report that they're unavailable for a call if the interlock check fails. This fixes a potential call button lockup
  129. fixed triangle reindexing by adding proper validity checks, to fix a problem that arose when switching to an unsigned int type
  130. (Triton Center) added LevelingOpen parameter to elevators
  131. (Triton Center) use standard height measurements for doors and elevators, currently on hotel levels
  132. fixed an issue where the dynamic mesh's Prepare flag wasn't being handled properly
  133. (dynamic meshes) added support for automatically re-preparing meshes when changing textures, if multiple clients are referencing a specific submesh, to fix an issue where changing a texture would affect multiple client meshes
  134. active elevator status should be reset if active elevator becomes unavailable
  135. IsLeveled function needs to do a fuzzy check for the elevator's position, to overcome very slight differences with floor altitudes
  136. manually-created textures need to be removed on engine shutdown
  137. (Triton Center) fixed top of East Stairwell (on 141-142)
  138. manual texture creation calls should check for exceptions
  139. elevators should reset queues when switching off Independent Service mode
  140. use default pixel formats for textures, and automatically determine the type when creating a manual texture
  141. when changing a texture, the associated polygons need to have their material names updated, which fixes crashes related to failed geometry and submesh references
  142. prevent duplicate texture loads
  143. removed Caelum test material
  144. use default (write-only) texture type, for functions where reading is not needed
  145. make sure that the emergency stop status is cleared, in a situation where it could be initiated after the run of FinishMove()
  146. merged "Separate Vertices" branch, which separates out the SBS MeshObject's vertex tables into per-submesh tables
  147. reset elevator camera offset if outside vertical range
  148. build fixes for Ogre 1.10
  149. show renderer in Windows crash reports
  150. console will turn autoscroll off if user clicks at a location to stay at in the text box, and scroll will reenable when the "Auto Scroll" button is clicked
  151. fixed an issue where physical models would not properly stay in elevators
  152. header rework, to improve compiling performance
  153. created new TextureManager object, for texture-related functions
  154. added a Move button to the Engine Manager dialog, to allow moving sim engines
  155. show the control reference when pressing the F1 key
  156. changed 'faces' to 'triangles' for F2 key function
  157. added new Dynamic Meshes system, which automatically combines grouped mesh objects into a single mesh, if needed, to greatly improve performance
  158. when elevator number is changed, properly update the door count slider
  159. fixed typo in SetRotation code, causing X and Z issues during Y axis rotation
  160. added missing F8 key to docs
  161. merged divide-by-zero fixes - fixes a reported issue in the elevator deceleration (jerk rate calculation) code
  162. control panel needs to properly unregister on exit
  163. (OgreBullet) add proper isInWorld check to base collision object, instead of a rigid body variable
  164. (OgreBullet) manually update static collider bounding boxes, to improve performance
  165. adjust freelook speed for frame rate
  166. moved mainscreen code into separate file
  167. added event-driven keyboard and mouse input system
  168. reworked code that handles persistent shaft doors, so that they only stay persistent when the camera is active in that engine
  169. removed extra shaft door disable code, since mesh disabling code should be run after the simulator startup, to prevent new colliders being added to disabled meshes
  170. simplified triangle index array in PolyMesh system, to prevent an extra vertex copy operation. This removes the TriangleMesh type and reuses TriangleIndices instead
  171. moved Triangle code into separate header file, and added operator functions
  172. renamed TriangleType to Triangle, due to SBS namespace addition
  173. disable elevators in shafts that have ShowFloors disabled, when leaving/resetting building
  174. turn off shafts and stairwells when resetting building
  175. make sure destobject-specified models are custom models, not loaded models
  176. disable Caelum sky system when switching to wireframe mode, to hide the sky triangles
  177. added mention of subfolders for Buildings section Load command
  178. when switching to fullscreen on Windows, enable double-buffering on the window to fix performance issues
  179. have Global AddWall/AddFloor commands use a specified mesh object directly instead of processing a string internally - this also fixes a crash if no valid mesh was found in the functions.
  180. have AddGround also draw underside of landscape
  181. when inserting another script file, script should be loaded and inserted as a single block, instead of calling insert() for each line, which causes performance problems
  182. preallocate memory for script file data
  183. Floor or Elevator script section loops should report when they're finished
  184. global models can now be transported in elevators, since they now properly change parents
  185. added "Simple - Custom Models" building
  186. fixed issue where AddShaftModel and AddStairsModel commands were doing a file check for the wrong parameter, causing false error messages
  187. added support for custom models to be specified as a "DestObject" value, in global/floor/elevator sections, and even as part of a shaft or stairwell.
  188. added the ability to use the floor's Interfloor and ColumnFrame meshes, and also Shaft and Stairwell meshes as a script "destobject"
  189. added a "RelativeY" option to the AddCustomWall command, to allow for relative Y offsets in a floor section, making it compatible with other similar commands
  190. SetKey state wasn't being properly reset in the script interpreter
  191. objects created after the simulator start should be initialized properly
  192. added model centering code to OnInit function, to support custom model centering
  193. fixed an issue where AddTriangleWall wasn't adding the floor's offset to the 3rd Y value
  194. added support for creating custom models
  195. added scaling support for SBS geometry meshes
  196. prevent run of geometry processor if the mesh is a loaded model, and added more error message details
  197. fixed menu screen button corruption with double-precision Ogre
  198. replaced the old file selection dialog with a simplified building list dialog, which also fixes Mac issues associated with the old dialog
  199. modal windows should be created on the stack instead (fix for some object memory leaks)
  200. added Load Building dialog for the Engine Manager
  201. added bounds views to Engine Manager dialog
  202. clean up empty engine slots at the end of the list, when deleting an engine
  203. GetPoint and GetWallExtents functions should iterate through all wall polygons, instead of searching by name
  204. fixed a matching issue with the FindPolygon function, and moved their code into the Wall object
  205. engines should re-cut for child engines on reload
  206. moved RenderOnStartup override into Engine Context, to allow the option when reloading a building
  207. if a user walks outside of all engine boundaries, revert their movement so they stay within the active engine
  208. lots of fixes to support deleting engines. The system now keeps instance slots open when an engine is deleted, which can be reused later.
  209. fixed a major vector preallocation bug in the ProcessSubMesh function, causing severe slowdowns with EG881's Landscapes test
  210. added CreateWallObject and AddPolygon script commands
  211. have CreateWallBox and AddDoorwayWalls functions automatically create wall objects
  212. fixed an issue where the AddCustomWall, AddCustomFloor and AddTriangleWall commands were double-adjusting the stored per-texture sizing info. This bug appeared during the CS 1.8 development, and so is not present in Alpha 7.
  213. made new AddPolygon function, and moved the AddCustomWall functionality into it
  214. the AddTriangleWall, CreateWallBox and CreateWallBox2 commands weren't working properly when Elevator meshes were specified, due to being disabled from a Genmesh transition in 2010.
  215. Prepare() function should create 32-bit index buffers if the number of vertices goes outside of the 16-bit range, and especially to prevent a short integer overflow (fix for EG881's 'Landscapes' test)
  216. only have the primary engine create the old skybox
  217. have sound system properly handle engine offsets and rotations
  218. added parent/child support for engines, and added the ability for a parent engine to be cut for a child engine's bounds
  219. Font code needs to unload the generated texture and font, if an error occurs during font load. This fixes a crash that happens if a missing font's file is added after building load, and the building is reloaded.
  220. switch to other engines when entering their bounds, instead of waiting to leave the active engine's bounds
  221. added ToGlobal and FromGlobal functions (C++)
  222. fixed crashes in the Object Manager and Move Object windows, which were caused by the SBS pointer not being updated properly when a building is reloaded
  223. HitBeam function fixes for engine offsets
  224. added support for rotating SBS engines
  225. added support for relative orientations
  226. skip Buildings script section when reloading building
  227. added Swap functions (C++)
  228. fixed top interior wall of CreateWallBox function, which wasn't displaying properly (this bug appeared during the Ogre transition)
  229. added Texture Override support to the CreateWallBox commands
  230. reset camera position if attaching to an engine where the engine's camera is outside of it's bounds
  231. report when setting an active engine
  232. added building resets when moving between buildings
  233. added support for exporting and importing the camera state, to reapply camera settings when walking between engines
  234. added support for walking between engines, with automatic context switching
  235. make sure progress dialog is deleted on shutdown
  236. sync camera when attaching
  237. added "City Demo" building.
  238. have SBS engine and Engine Contexts report instance numbers on console
  239. only pause for SBS banner for the first instance
  240. if concurrent loading is off, make sure buildings load in order properly
  241. added the "Simple - Multiple Buildings" and "Simple - Concurrent" multi-building demos.
  242. added Position and Bounds script global commands
  243. added Buildings section to the script interpreter, for loading multiple buildings
  244. if trigger's Y values are both 0, essentially ignore the Y factors when testing for proximity
  245. add double type to ToString function - now builds with Ogre in double-precision mode
  246. removed the shift-click call button status change
  247. when the sim engine is moved, the camera needs to update itself properly so that it can move along with it
  248. sound objects in controls, triggers, callbuttons and doors are now only created if a sound file is specified
  249. discard wall objects that are created outside of engine boundaries
  250. added position-based IsInside function to Trigger object
  251. added support for cutting outside engine bounds
  252. added bounds variables and main proximity trigger to engine
  253. have manual modes not allow new movement if the elevator is already moving - fixes an issue where the elevator would suddenly come to a standstill if the direction button was pressed while stopping
  254. removed 'k' engine shutdown key assignment
  255. added support for manual elevator up/down movement switches, which use the same UpOn/UpOff and DownOn/DownOff commands as Inspection Mode, along with a demo building based on the original Simple Manual
  256. status indicators in the Elevator Editor window should update when the mode is changed, instead of when the -values are refreshed or changed from the window
  257. added the IsOnFloor and OnRecallFloor functions
  258. some fixes for issues with elevator Peak modes causing doors to fully close and re-open when call buttons are pressed
  259. (Regression fix for rev 4066) - properly reset Active Elevator variable when call button is no longer active
  260. (Regression fix for rev 4066) - call buttons should have separate Active Elevator variables for each call direction
  261. fixed an issue where an elevator wouldn't stop and open on the recall floor, if on that floor but not leveled
  262. elevators should have a separate status flag for manual stops, to prevent a conflict with the new stop-on-dequeue feature
  263. added CopyTexture functions, that use new code for blitting texture data, fixing issues with flickering and darker textures when loading additional buildings
  264. (Elevator Editor) Active Hall Direction box now shows the direction text along with the call type
  265. (Elevator Editor) combined Door Height and Door Width boxes into a single Door Size
  266. (Elevator Editor) added Type box
  267. (Elevator Editor) removed the Origin box (no longer used)
  268. (Bullet) updated with a minor initialization fix
  269. person object should use floor ID text instead of number
  270. cleanups of Object Information window - this also fixes some serious object initialization bugs
  271. cleaned up singleton variables in frontend; moved them into the object classes
  272. control panel windows should be created on-demand (performance improvement)
  273. have only main screen handle idle events - this and the previous change should result in minor performance improvements
  274. pause the control panel's timer when the progress bar is visible (performance improvement)
  275. when taking over a hall call, if elevator's routes are empty, stop the elevator when cancelling the hall call response
  276. added support for elevators that are closer and become available during an active hall call, to take over the call response.
  277. added function (C++) to cancel an elevator's hall call response route, if no related floor button has been pressed
  278. added function (C++) to return control/button light status
  279. in the control panel, timer object should be reinitialized, not deleted and recreated from the OnInit call in the timer notify function. This fixes an issue where the timer object was deleted and then code continued to run in it's Notify function
  280. fixed an issue where elevator service mode controls would get stuck if an elevator was switched into a different service mode, while the controls were set. This change has the elevator mode setting functions succeed instead of fail, if the mode is the same.
  281. person should update their Current Floor setting while riding in an elevator
  282. have person wait until doors are open before exiting elevator
  283. more status reporting for Person object
  284. have person stop route if hall call fails
  285. if a person presses a call button, and the call status becomes invalid while they're waiting (the button light switches off), have them stop their route
  286. if a person is in an elevator that switches into a service mode, have them exit that elevator and try the hall call again
  287. if fire phase 1 mode is enabled while a person is in an elevator, have them exit at the recall floor instead of their original destination, and cancel all routes
  288. (Triton Center) motor position fixes
  289. added GetDirectFloors function (C++), along with code to find some routes that would fail with previous tests
  290. have route functions keep track of direct connections; this improves performance
  291. added an indirect local elevator check, if a person needs to take a local elevator before reaching direct route elevators
  292. shutdown fix - the system was exiting to the main menu if the active engine was shut down, when it's supposed to switch to another engine
  293. fix to properly reset values in People Manager window, when selecting a different person
  294. if person is riding in elevator, show riding status
  295. for Person object, wait for elevator doors to open before pressing floor button
  296. fix person list refreshing when switching engines
  297. array size fix for GetPerson function - fixes a crash when the list only contains 1 person, and the user switches to a different engine
  298. new People Manager dialog
  299. script errors now show the engine context number of the error, if more than one engine is running
  300. script errors now show the building filename instead of the section number, which isn't needed due to the script context string
  301. new Engine Contexts system, along with the Engine Manager dialog, which allows multiple buildings to be loaded and run in parallel
  302. elevators should continue checking elevator availability in a QueuePending stage, if the elevator is on the same floor as the call, and the doors are open or opening/closing. This lets the elevator take the call and re-open in that situation
  303. objects without parent scenenodes should attach to engine scenenode, not scene root node
  304. moved scenenode-related code out into separate SceneNode object
  305. added OgreBullet project files to main solution, to simplify building process on Windows. The separate OgreBullet solution is no longer needed.
  306. make sure building is specified before trying to load building
  307. call buttons should update arrival notification if elevator is on same floor and opened
  308. call buttons should reprocess call if the elevator that is handling the active call becomes unavailable during movement
  309. Random Activity now uses the new people code, and the old functionality has been removed
  310. added routing functions, for Person object to find an elevator route to a floor
  311. have elevators notify call buttons on arrival
  312. added object validity functions
  313. switched to FMOD Studio for sound
  314. ToRemote/ToLocal functions should support turning off the Z-flip (for rescaling only)
  315. created ObjectBase class for lightweight objects (currently Actions and Polygons)
  316. removed singleton pointer and properly propagate and store engine pointer, through object parent parameters
  317. added Person object
  318. added elevator type parameter, and added to main building files
  319. added ShowLoadedSounds and ShowPlayingSounds script commands
  320. cache file listing in VerifyFile function, to fix a major performance bottleneck when a building is missing lots of files along with a large data folder existing
  321. print FMOD version number on initialization
  322. new Sound System code, which provides more efficient sound management
  323. timers and meshes should be permanent by default
  324. call buttons should reject call if related button does not exist
  325. added Cloudy and Overcast sky types
  326. have Caelum use SBS scaling factor
  327. converted elevator door movement to relative positioning; also fixes an issue with vertically-moving shaft doors from working properly
  328. cleanups for HitBeam function
  329. converted elevator door movement to relative positioning; also fixes an issue with vertically-moving shaft doors from working properly
  330. sound support should not be switched off when IntroMusic is set to false in the INI file
  331. fixed console reporting of missing files
  332. added sound unload function
  333. don't load main elevator sounds on first loop run, load right before playing
  334. if sound is disabled in frontend, sound in engine should also be disabled properly
  335. object removal functions in Shaft and Stairs objects were using a wrong index value
  336. reworked object array method for Door objects, in stairwell and shaft objects
  337. reject mp3 files on load
  338. fixed FindWithCase function
  339. reworked and cleaned up call button code
  340. fixed an issue in call button processing that prevented engine callbacks from being removed
  341. don't run elevator checks if elevator is disabled
  342. disable objects when disabling elevator
  343. don't try to create a collider scenenode if it already exists
  344. made a proper fix for an issue involving graphics corruption on Windows after a reload. The viewport needs to be updated properly on a reload.
  345. SBS should call Prepare() on engine start, not frontend
  346. set location and date/time for Triton Center and Glass Tower buildings
  347. added Coordinates and DateTime global options
  348. resized couches to be more realistic
  349. model offset needs to be adjusted according to the scale multiplier
  350. for models, box colliders are now centered properly, and use a separate scene node to make it work
  351. SBS now calls a cascading init on all objects from the Start() function
  352. renamed any standard object runloops to Loop()
  353. renamed Sound's Loop() function to SetLoopState
  354. made standard inherited OnInit and Loop object functions
  355. OgreBullet should be checking for existence of resource group and loaded names directly instead of keeping a file-based existence flag. This fixes an issue where debug colliders (F7 key) would not enable when reloading a building.
  356. camera object needs to run loops of attached models
  357. camera needs to run NotifyMove and NotifyRotate functions, to properly update carried objects (child objects)
  358. object destructor was removing scenenode from parent twice, causing a crash - I reworked the code in this function
  359. moved functionality of camera's view and state resets (F3 and F6) into camera class
  360. re-enable main system meshes when doing a position reset (F6)
  361. restore absolute positioning and orientation of object scenenode when changing parent object
  362. fixed issue in RemoveChild function, that caused the scene node removal portion to be skipped
  363. consolidated FileExists function code into VerifyFile function
  364. overhaul of VerifyFile function, to check for files within mount points properly
  365. cleanup and fix of GetMountPath function
  366. have functions use SBS conversion functions instead of others
  367. added ToBool function
  368. removed Sky Time Multiplier from Camera Control window
  369. new arrangement for control panel buttons
  370. added Sky Controller dialog
  371. prevent DirectX on 32-bit Windows from switching into single-point floating point precision, which was causing the Bullet-related bounce issues
  372. model meshes now update parent (main) object scenenode on physics-related position update
  373. don't try to create a new submesh when deleting indices
  374. added ToFloat and ToInt global functions
  375. consolidated global functions; ToString2 is now just ToString
  376. input string in RemoveAction function needs to have whitespace removed for compatibility
  377. switched from c-strings to std::strings for function parameters and return types
  378. DeleteObject function can delete generic object directly, instead of recasting
  379. added new ConvertTo function to Object
  380. added template-based IsType() function to Object
  381. removed object's "raw_object" value, which is no longer needed due to previous change
  382. objects now use static_cast or dynamic_cast instead of c-style casts
  383. fixed bad return in FindWallIntersect function
  384. consolidated camera's mesh hit beam code into main SBS object
  385. code cleanups
  386. added support for picking up models
  387. mesh HitBeam function should be converting direction to remote Ogre value, without a rescale
  388. objects can now report if they are global objects (children of engine object)
  389. added ability for non-global physics-enabled models to be moved into elevators, and to move along with the elevator, by dynamically changing parent object of model from floor to elevator, and vice versa
  390. added Shaft, Stairs and Model runloops
  391. added functions for dynamic removal/addition of models
  392. added ability for objects to switch parents
  393. IsInElevator function now optionally sets CameraOffset value
  394. added check for model's physics state
  395. added debugging options file for Visual C++
  396. updated project files for Visual C++ 2015
  397. rewrote GIF control extension detection code; fixes additional transparency issues. The previous code was not ensuring that the three values were adjacent, and was matching for non-adjacent values, causing malfunctions.
  398. functions that create new sim objects should return full type, instead of just a generic object
  399. removed unnecessary conversion in Freelook mode code
  400. have camera only disable camera gravity value, instead of physics gravity also
  401. camera delta values were being used twice causing erratic movement behavior when using Bullet. Have Bullet use a single variable timestep, to prevent movement skipping issues
  402. simplified camera movement code
  403. camera movement vector needs to be flipped on X axis if Bullet is disabled
  404. object OnMove and OnRotate functions now have a "parent" flag, to determine if a parent object called the update
  405. rotations should update collider position also - this fixes an issue where parent objects would rotate, and child colliders would not be updated with the new derived position
  406. make sure Ogre log manager has been created before trying to call it
  407. simplified use of frontend and SBS singleton variables
  408. moved frontend into "Skyscraper" namespace
  409. return type fix for OnRecallFloor() function
  410. WallPolygon class has been renamed Polygon
  411. cleanups and initialization fixes
  412. moved SBS system into it's own namespace
  413. (Sears Tower) added Freight Elevator 1, along with minor wall fixes
  414. (Sears Tower) split off upper service elevator into separate shaft, and fixed positioning of shafts 29, 30 and the new 32
  415. (Sears Tower) adjustments to shaft starting/ending levels
  416. updated Codeblocks project
  417. moved elevator recall floor check into separate function, and added a check for the "recall unavailable" flag - this fixes an issue where an elevator on the alternate recall floor would not recall to the standard recall floor along with other elevators
  418. fixed crash in elevator's DumpQueues function, due to wrong queue being used for Down Queue info
  419. moved direction status variable to SetLights function in both callbutton and directional indicator objects
  420. call buttons need to set all lights in group for each light change - this fixes an issue where a call button light would be switched off later due to elevators rejecting the call, but other lights in the group would remain on
  421. added escalator textures from EG881's Escalator2011 package
  422. elevators should accept hall calls if waiting in UpPeak or DownPeak mode
  423. new Escalator object
  424. added Relative Position item to Move Object window, and realigned text boxes
  425. elevator motor sounds are now children of shafts, fixing movement issues, where they were moving along with the elevator (due to new positioning system)
  426. misc positioning fixes and cleanups
  427. elevator music sound is now positioned properly on startup, instead of at start of play
  428. elevator object positioning cleanups
  429. fixed typo (extra '-1') in IntersectRay function, fixes wall click issues
  430. fixes to elevator CameraOffset value, to allow user to move on top of an elevator while it's moving
  431. elevators now use move functions to set altitude; user can now jump and move vertically in elevator
  432. added camera movement function that uses SetPosition instead of character movement
  433. more GIF transparency fixes; added parsing of packed field to properly get transparency flag
  434. removed Mac screen adjustment code, due to fixes in Ogre 1.9
  435. prevent GTK checks on OSX
  436. fixed issues with Mount command
  437. (Triton Center) transfer hallway fixes.
  438. (Triton Center) column frame work
  439. ComputeTextureMap function now rounds vector results, to prevent precision malfunctions in ComputeTextureSpace function
  440. added vector rounding functions
  441. added support for rounding numbers to a specified decimal place
  442. elevator's 'manualstop' setting should not enable if in a service mode
  443. an error dialog is now shown if messages can't be written to log
  444. fixed GIF transparency detection; should scan for extension marker instead of accessing directly
  445. (Sears Tower) shaft range fixes, and fixed issues with Zone 2 42-49 locals
  446. (Sears Tower) new exterior textures
  447. (Sears Tower) separated exterior into window frames and interfloor segments
  448. (Sears Tower) misc tweaks
  449. added references to floor slab heights to designguide.html
  450. add floor base to list report
  451. (Sears Tower) adjusted standard slab heights to be 12' 10" according to steel frame diagram
  452. (Sears Tower) repositioned stop buttons
  453. floor description fixes for Sears Tower and Observation Tower buildings
  454. (Sears Tower) zone 1 mechanical fixes
  455. (Sears Tower) increased interfloor heights to 3ft
  456. (Sears Tower) removed extra Call Cancel buttons
  457. visible mesh listing now shows submesh count
  458. added ListVisibleMeshes function and script command
  459. added description variable for floors
  460. added floorname, floorid and floortype variables to the floor section of the script interpreter
  461. added option to reset object state to the Object Information window, and made inactive Save Script button hidden
  462. removed separate Name variables, to use Object name instead
  463. removed redundant SetPolygonName function
  464. move polygon-specific code into polygon class
  465. made certain elements private in wall object
  466. rename "object" to "raw_object" in Object's SetValues function
  467. rename reference of "handle" to "polygon"
  468. moved polygon code to separate file
  469. added basic movement support to wall objects, which works by modifying vertices
  470. fixed a divide-by-zero issue in the elevator braking code
  471. make sure parent_deleting flag is set properly in destructors for all child objects
  472. elevator shaft door wrappers can now be deleted separately
  473. delay creation of elevator shaft door wrappers
  474. floor info now reports which stairwells and shafts span the floor
  475. moved floor info code into floor object
  476. floor information now shows a list of elevators that service the floor
  477. (Sears Tower) updated elevator button/control commands
  478. (Sears Tower) floors 90 and 100-102 are now locked
  479. (Sears Tower) split off separate upper service elevator, for floors 90-106
  480. ResetState functionality is now abstracted from the core Object class, and the implementation has been simplified
  481. added ability to reset elevator door states, mainly in case of door malfunction
  482. (Triton Center) lower level wall fixes
  483. (Triton Center) lobby positioning fixes
  484. (Glass Tower) fix extra instance of interior windows on 137
  485. found that the ObjectCount value wasn't being initialized before registering SBS root object
  486. simplified object system; object type is now inherited by sim objects
  487. don't turn on starting and ending floor shaft doors during elevator init
  488. elevator sounds need to be positioned from elevator center
  489. fixed positioning issue in stairs controls
  490. stairwell objects (models, action controls, etc) need to be offset of the floor base, not altitude
  491. MaxSmallRenderDistance now works due to new positioning system
  492. new object positioning system
  493. report error if no height specified in AddWallMain function
  494. report error and exit if no height specified when calling AddFillerWalls
  495. fixed invalid coordinate check in AddFloorMain function
  496. default texture tiling to 1.0 if 0 is specified during texture load
  497. wxWidgets 3.0 support
  498. added CameraTexture object
  499. added FindPolygon mesh function and simplified code
  500. moved GetPoint, GetWallExtents, and GetExtents functions to the MeshObject class
  501. elevator and floor creation should return created object
  502. don't leave top and bottom levels of shafts on - this doesn't appear to be needed anymore, and should increase rendering efficiency