August 16 2025 build

From Skyscraper Wiki
Revision as of 22:48, 16 August 2025 by Elevator1512 (talk | contribs) (Created page with "{{OB}}{{db}} There's a lot of changes in this build, and it should work much better than the last one, since I reverted some of the changes that caused problems. Elevator button panels should now appear fine, the change that broke it wasn't written right, and so I just removed it. I reverted the Cut function to my original code (the one in 2.0), and it should work fine now, but no longer supports cutting shapes properly, or proper texture mapping on shapes. Due to this,...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This is an official build of Skyscraper, made by eventhorizon.
It contains only the files in SVN, and can be safely downloaded to your computer.
This article describes a development build of Skyscraper Simulator.
It contains good information related to Skyscraper Simulator.

There's a lot of changes in this build, and it should work much better than the last one, since I reverted some of the changes that caused problems. Elevator button panels should now appear fine, the change that broke it wasn't written right, and so I just removed it. I reverted the Cut function to my original code (the one in 2.0), and it should work fine now, but no longer supports cutting shapes properly, or proper texture mapping on shapes. Due to this, try not to cut shapes for the time being until I get a newer function working. The reverting of that code also breaks the way planets look, since the surface is no longer cut properly.

This build introduces teleporter objects, which are more advanced than the old teleporter action method. A teleporter is invisible, you create the platform for it separately, but you can assign an idle sound to it, and a teleport sound. The idle sound right now is "idle_hum.ogg" and the teleporter sound is "teleport.ogg".

I updated the "Simple - Teleporter" building, so try this out to see what the teleporters are like now. Teleporters can be made using the CreateTeleporter command.

I implemented more of the Script Debugger window, the buttons now work properly and there's a new function display on the right.

I added the Type parameter to the Globals script section, so you can tell the simulator what type of sim engine you're starting, such as a building, city, planet, etc.

I've added planet textures, which aren't currently used, but you can play with them.

I added the new Move Engine window, that you can access by clicking Move in the Engine Manager. This window has supervisor-level control over the engine movement, previously the "move object" window would only have the sim engine move itself, while this code has the VM system move it.

I'm in the process of adding full rotation parameters to the sim engines, so that you can rotate them in any way (such as flip them upside down), so far it's just in the C++ code and not in the script code yet.

I added some experimental planet movement code to the Monitor system, I was wanting to see how the simulator can handle moving an entire city or planet with all the objects in it moving, in realtime, so I'll be working on this more. This might be the start of sim engine-based vehicles or something like that.

I added the "show" and "status" VM console commands, they show the sim engine status and details of the engine.

I started integrating Dear ImGui into the simulator, since I got it working. This allows you to have windows and dialogs inside of the render window, I've wanted to use it to make a building designer or at least an object control interface, such as something that rotates and moves objects with graphical controls.

I also started integrating [1], which is a system for Dear ImGui that lets you have 3D movement and rotation controls among other things.

For the Cut command, I tried using newer code for it, but even though the code appeared to work with a modified Simple building and some other ones, certain buildings (usually the ones with the original cut problem) would get caught in a form of 3D geometry loop, where the simulator would keep generating more and more polygons due to the Cut malfunctioning, taking up more and more system memory until the computer becomes overloaded. So that needs to be looked into more, I'll be focusing on it again soon. I've already spent hours trying to fix the Cut feature.

Here's the issues I've found so far:

  1. startup position issues
  2. reload is broken, currently it looks like the main issue is that it picks the wrong engine on reload (this is partially fixed, remaining issue is that the reload doesn't restore camera position anymore, not sure how it worked before)
  3. button texture issue (should be fixed, reverted change)
  4. got an imgui-related crash on shutdown, for NewFrame(), disabled ImGui for now to fix
  5. sim drops to engine 0 if building fails to load (not sure what to do about this)
  6. newer Cut function causes exponential resource overload, needs fixing

Changelog:

  1. VM: fixed active engine switch reporting
  2. PolyMesh: fix bounds merge
  3. Added type parameter to Guide globals section
  4. Added planet textures
  5. Updated design guide version
  6. Added GetPosition() enginecontext function
  7. GUI: added object safety checks to MoveObject
  8. GUI: added MoveEngine window
  9. Support full sim engine rotation vector instead of just a Y value
  10. Moved SBS engine initial movement and rotation code into VM engine context
  11. SBS: allow all movement on engine object, restrict based on bounds for others
  12. VM: added engine context Rotate() function and related functions, and fixed sim engine movement/rotation
  13. VM: added enginecontext GetChild() and GetChildCount() functions
  14. Added experimental planet movement code to Monitor
  15. VM: segfault fixes (make sure engines are verified to exist before use)
  16. VM: added Show and Status console commands
  17. Guide: added new SBS logo image
  18. Added SetTexture action, which allows a script to change the filename of a texture definition
  19. SetTexture should report on texture change
  20. Added SetTexture global script command
  21. Fixed filename display in script debug window
  22. Implemented script debug window's Run and Stop buttons
  23. ScriptProc: added GetFunctionCount() and GetFunctionInfo() functions
  24. GUI: added function display to Script Debug window
  25. Fixed script debug window sizing, and line number index
  26. SBS: started Teleporter object
  27. SBS: allow teleport outside of sim engine boundary
  28. SBS: teleporter shouldn't move itself on startup, have parent move object
  29. Added idle_hum sound
  30. Added teleport sound effect
  31. Added teleporter manager object
  32. ScriptProc: added CreateTeleporter command
  33. ScriptProc: if in a floor section, adjust the teleporter voffset to floor's base
  34. Updated "Simple - Teleporter" building to use new teleporter object
  35. SBS: moved OnEntry() and OnExit() functions to Function object as virtuals
  36. SBS: fix teleporter loops by storing the teleportation state in the manager object, and have the trigger prevent processing if it's a receiving teleporter
  37. started Dear ImGui support, for windowing in the render window. This is intended for a future building designer system, and is disabled for now.
  38. Added ImGuizmo library dependency, disabled for now
  39. VM: fixed FindActiveEngine() and CheckCamera() functions
  40. Revert "Texture Manager: if a manual texture fails to create due to a texture with the same name existing, load that existing texture instead of failing with an error"
  41. VM: fixed some issues with the engine switching code, that caused camera issues after reloading a building
  42. PolyMesh: restored original Cut function, and renamed newer one to CutNew()

See also

External links