... | ... | @@ -4,7 +4,6 @@ Main loop (in D_SRB2Loop) consists of parts: |
|
|
|
|
|
- Input polling is special: it is part of [NetUpdate](#netupdate), which has calls scattered around the code to improve responsiveness when the game is running slowly.
|
|
|
- Game logic: [TryRunTics](#tryruntics)
|
|
|
- If other code (like rendering) has taken too long, multiple tics can be run to compensate and keep the speed of the game consistent.
|
|
|
- Graphics: D_Display
|
|
|
- Has special case for frozen netplay, which allows for moving the camera in that situation too
|
|
|
- Screenshot and movie mode handling happens after drawing, based on flags set somewhere earlier
|
... | ... | @@ -24,6 +23,10 @@ Calls: |
|
|
- D_Display
|
|
|
|
|
|
# TryRunTics
|
|
|
|
|
|
- Runs a number of game logic tics depending on current time.
|
|
|
- If other code (like rendering) has taken too long, multiple tics can be run to compensate and keep the speed of the game consistent.
|
|
|
|
|
|
Calls:
|
|
|
- COM_BufTicker
|
|
|
- pending console command execution
|
... | ... | @@ -35,7 +38,11 @@ Calls: |
|
|
- netxcmd stuff
|
|
|
|
|
|
# G_Ticker
|
|
|
|
|
|
- Runs one tic of game logic.
|
|
|
|
|
|
Calls:
|
|
|
|
|
|
- G_DoReborn (respawn)
|
|
|
- tickers for various game states (in level, intermission, cutscene etc.)
|
|
|
- in level:
|
... | ... | @@ -50,7 +57,8 @@ Calls: |
|
|
|
|
|
# NetUpdate
|
|
|
|
|
|
- when game is running fast enough, it will get run inside TryRunTics?
|
|
|
- Input handling and some network functions.
|
|
|
- when game is running fast enough, it will get run inside [TryRunTics](#tryruntics)?
|
|
|
- when game is running slowly, it will also get run in various other places scattered in the code
|
|
|
|
|
|
Calls:
|
... | ... | |