* SQL Validation, the first of many
* Initial test of the world loading
* This was prefixed when it shouldnt have been :v
* This also isnt a valid table
* Escape time
* Chmod
* This **should** work
* Oops
* RUST gone bust
* Please work
* Why did I do this twice
* I think I got it
* Fixes AFK SS
* AAAAAAAAAAAAAAAAAAAAAA
* Fixes AI cam runtime
* Cleanup
* *screams*
* Fare fixes
* Removes un-needed stuff
* I hope this works
* chmoooood
* SQL Version Unit Test
* Failure test
* Kinda ironic how I forgot this
* Task failed successfully
* Moves a global var around
* Bump SQL version in travis
* New test: SQL example DBconfig update
* Lets test an invalid version
* TASK FAILED SUCCESSFULLY
* Programmatic maplist generation
* Removes a duplicate check
* Lets try this
* What about this
* hnnng
* Lets just update BYOND
* Handlers converted, now to fix 3532 compile errors
* 3532 compile fixes later, got runtimes on startup
* Well the server loads now atleast
* Take 2
* Oops
* Panic bunker threshold is configurable
* Cleaned up bunker automation logic, added admin control verb
* Changed Set Server Capacity to two toggle verbs; modified logic
* Revert "Changed Set Server Capacity to two toggle verbs; modified logic"
This reverts commit 398a8615a5.
* Revert "Cleaned up bunker automation logic, added admin control verb"
This reverts commit b6a6d49714.
This commit adds the Nightshift lighting mode from /tg/. From 19:00 to
07:00 in station time, the station will go into a reduced-lighting mode,
with dimmed lights across the station.
In conjunction with this, there is a new configuration option to start
the shift time at a random time other than 12:00, so that players are
more likely to experience a night shift (as opposed to having to have a
7 hour round).
This commit does the following:
- Refactors scoreboard code to get rid of, at least, some of the
snowflakiness.
- Removes world << job objectives, puts them in the scoreboard.
Addendum: Nukeops and Rev are untested, due to the near-impossibility of
testing them alone. They _probably_ work.
- Integrates Volundr's btime library and associated process scheduler
changes.
- btime is implemented separately from the process scheduler, as precise
time measurement is also useful elsewhere.
- `TimeOfHour` is no longer internally throttled; throttling is instead
done by `SCHECK`.
- If btime's `gettime` cannot be called at world startup, an error will
be output and the world will stop.
- Retains the change to schedule processes according to game time,
rather than real time.
- Removes the (now unused) update queue files.
- Removes the process scheduler testing files.
- These are standalone tests for the process scheduler, completely
unrelated to its use in the full codebase. We never used them.
- Moves the process scheduler defines into __DEFINES.
- Makes the lighting process run once before the round starts.
- Renames `scheck` to `sleepCheck`, to ensure any code that tries to use
`scheck` will fail to compile.
- Adds `SCHECK` and `SCHECK_EVERY` macros that skip calling `sleepCheck`
entirely until a specified number of `SCHECK`s (50 by default) have been
called.
- Makes most processes iterate using their `last_object` variable,
allowing hang recovery to show the type that caused the hang.
- Makes processes output an error when they filter out a type they
refuse to process.
- Rolls the recently-added alarm subsystem into the alarm process.
- Removes the now unused subsystems code.
Load order changes mean globals used in the initialization of intercoms
aren't created before the global_announcer intercom is created, which
causes its creation to runtime.
I have picked an effective but probably incredibly sloppy way to fix
this runtime, because I'm not actually sure where this initialization
code belongs
This commit overhauls the global.dm file, global_lists.dm file, and
defines.dm file into a tree system based on -tg-.
All defines have been split and distributed in code/__DEFINES/
Everything from global.dm and global_lists.dm has been split and
distributed in code/_globalvars
The _compile_options.dm file contains anything that absolutely, 100%, must
be initialized before world.dm.
Name definitions have been moved to code/_globalvars/lists/names.dm.
Other things to note
- All instances of something.z == 2/1/3/5 have been replaced with easily
configurable defines, labeled ZLEVEL_. The map include file can
override these by defining custom ones in it's file, as it is at the
top of the tree.