Christoph Oelckers
3a6ccac8ea
- fixed bad offset with vertically mirrored sprites.
...
Fixes #239
2020-08-24 21:15:22 +02:00
Christoph Oelckers
6d1e3e77fc
- fixed item percentage display on SW's status bar.
...
Fixes #242
2020-08-24 20:46:14 +02:00
Christoph Oelckers
76811a1881
- InputState cleanup
...
This removes most of the InputState class because it is no longer used.
The only remaining places still checking scan codes are the modifiers for sizeup and sizedown.
All the rest was remapped to safer methods. The multiplayer taunts are currently inoperable, they will need support of shift-bindings to get proper support.
2020-08-24 20:34:18 +02:00
Christoph Oelckers
b88a279a57
- removed the mouse wheel up event hackery
...
With the weapon cycling commands being done as CCMDs this is no longer needed.
2020-08-24 20:26:32 +02:00
Christoph Oelckers
c09a5150a9
- added some predefined fullscreen modes
...
This is to cut down on boilerplate code because these encode the virtual screen size in the mode parameter, making it unnecessary to specify a virtual size separately.
2020-08-24 20:25:53 +02:00
Christoph Oelckers
f1a988b221
- make use of map bindings
...
All automap controls have been moved there, and sizeup/sizedown have been made CCMDs, taking screen size management entirely out of the game modules
2020-08-24 20:20:15 +02:00
Christoph Oelckers
092fb55db3
- hooked up the automap bindings.
...
Now, with centralized state management these can finally work.
2020-08-24 19:55:21 +02:00
Christoph Oelckers
e158775e67
- … and for Exhumed
...
This game does not implement follow mode.
Note: Follow mode needs to be simplified across games!
2020-08-24 19:54:26 +02:00
Christoph Oelckers
0ee042fb60
- same procedure for Blood
2020-08-24 19:47:09 +02:00
Christoph Oelckers
debb4b17b6
- transitioned SW's automap to the global variables
...
Also copied the automap label output to the status bar for proper ordering.
2020-08-24 19:36:17 +02:00
Christoph Oelckers
7859a29e95
- use global variables to track automap state
...
So far implemented in Duke/RR.
2020-08-24 19:31:43 +02:00
Mitchell Richters
89a15335df
- Exhumed: Clear the screen in the 2D drawer prior to drawing in menu_DoPlasma()
.
...
Fixes #237 .
2020-08-24 17:44:39 +10:00
Mitchell Richters
e8057cd871
- Exhumed: Fix menu scaling upon opening following changes in 979cc63835
.
...
Fixes #238 .
2020-08-24 17:11:51 +10:00
Mitchell Richters
6cbd607f31
- Exhumed: Stop playing kSoundJonLaugh2
in DLobotomyScreen
screenjob if skiprequest
is true.
2020-08-24 16:51:38 +10:00
Mitchell Richters
b5823385e1
- Exhumed: Fix if statement in DrawWeapons()
following changes in e225e85ae1
.
2020-08-24 16:02:12 +10:00
Mitchell Richters
e225e85ae1
- Exhumed: Perform weapon bobbing with maximum precision and implement cl_weaponsway
.
2020-08-24 13:22:52 +10:00
Christoph Oelckers
fed70e6df7
- make Exhumed's intro block the UI.
...
Fixes #235 .
2020-08-24 00:36:47 +02:00
Christoph Oelckers
c60acd7af4
- fixed RR's HUD positioning when the weapon bar is active.
2020-08-24 00:35:04 +02:00
Christoph Oelckers
e25d1c4cda
- improvements for automap labels.
...
* use a CVAR to decide whether to show them at the top or bottom
* draw them on top of the screen border so that they don't get overdrawn on smaller windows.
2020-08-24 00:25:42 +02:00
Christoph Oelckers
e7c1595531
- allow using a better font for the map name on the automap.
...
- allow displaying the map label on the automap.
So far only for Duke and related games, the rest will follow.
2020-08-24 00:05:36 +02:00
Christoph Oelckers
f6417f5876
- fixed bad texture validation in Duke automap.
2020-08-23 23:02:15 +02:00
Christoph Oelckers
91b31cec39
- fixed: hud_messages completely blocked the messages, even from going to the console.
...
It should only block the on-screen notification display, which the backend already implements. The game code should not check this CVAR again.
2020-08-23 22:46:53 +02:00
Christoph Oelckers
41a1120033
- added a native style display mode to the notification message display.
...
Fixes #9
2020-08-23 22:39:53 +02:00
Christoph Oelckers
4469cf7edb
- only go from menu to console when closing with Escape.
2020-08-23 21:24:31 +02:00
Christoph Oelckers
c0da85d0ff
- SW: fixed: When entering the summary screen, clear the FinishedLevel variable immediately.
...
So that its value won't stick around and trigger the screen again. Same when an exception occurs.
Fixes #232 .
2020-08-23 20:55:21 +02:00
Christoph Oelckers
7417160abd
- when closing the main menu, go directly to the full console.
...
Fixes #27
2020-08-23 20:48:48 +02:00
Christoph Oelckers
c777fea1af
- added back the player sprites in Duke/RR's player setup menu.
...
Fixes #46
2020-08-23 20:44:17 +02:00
Christoph Oelckers
8b8f048393
- moved parts of videoNextPage to app_loop.
2020-08-23 18:08:08 +02:00
Christoph Oelckers
adb98a47ba
- restructured the main loop code so that the actual loop is in the common code.
2020-08-23 17:47:05 +02:00
Christoph Oelckers
85875da77a
- removed the old start-of-level-only savegame code.
...
This serves no purpose anymore, even with a checkpoint-based gameplay the full saves will do just as well.
2020-08-23 16:30:20 +02:00
Christoph Oelckers
f7fcd341ec
- removed redundant levelnum variable.
...
Better use the global map record.
2020-08-23 16:24:54 +02:00
Christoph Oelckers
1a0e413d5c
- use CCMDs for Exhumed's input where applicable.
...
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
7fe7b9b8e0
- be gone, rotatesprite.
2020-08-23 14:59:34 +02:00
Christoph Oelckers
a4a26ef6bc
- removed the last uses of the original rotatesprite function.
2020-08-23 14:55:19 +02:00
Christoph Oelckers
2a3f7a48c9
- implemented a proper kill counter.
...
Unfortunately the display is a bit limited by the available font characters.
2020-08-23 14:39:14 +02:00
Christoph Oelckers
e75cfd82f9
- the training map could not be started.
2020-08-23 14:00:53 +02:00
Christoph Oelckers
979cc63835
- use DrawTexture for rendering the menu items.
2020-08-23 13:57:56 +02:00
Christoph Oelckers
4d477bc15b
- fixed uninitialized GameAction variable.
2020-08-23 13:57:31 +02:00
Christoph Oelckers
212b3ae0f9
- Exhumed: fixed map startuo
2020-08-23 12:59:01 +02:00
Christoph Oelckers
5c7b613aa7
- reworked the main loop.
2020-08-23 12:26:52 +02:00
Christoph Oelckers
7889605ff4
- condensed main loop further, started laying out the new one.
2020-08-23 09:11:32 +02:00
Christoph Oelckers
9e5ca8c408
- moved game and level init code out of app_main.
2020-08-23 08:22:59 +02:00
Christoph Oelckers
5ba384db35
- moved the main game ticker out of app_main.
2020-08-23 07:49:58 +02:00
Christoph Oelckers
3a3ba43985
- Exhumed: moved the input code out of the main loop
2020-08-23 07:41:29 +02:00
Christoph Oelckers
fccd054381
- split off the entire game loop related code into its own file.
...
This should make it easier to work on this.
2020-08-22 22:40:22 +02:00
Christoph Oelckers
7401c0e133
- moved Ramses head code into its own file.
2020-08-22 21:39:14 +02:00
Christoph Oelckers
8589d43835
- migrated Exhumed's cheats to the global system.
...
This also eliminates the last pieces using that global string list. All relevant text is now in the external string table.
2020-08-22 21:13:11 +02:00
Christoph Oelckers
6d852c33dd
- added CCMDs for all 'holly' cheats that didn't have an equivalent yet.
2020-08-22 20:34:58 +02:00
Christoph Oelckers
6b1d6a44d7
- exported the item pickup messages to the string table and use the global 'nomonsters' flag.
2020-08-22 20:14:00 +02:00
Christoph Oelckers
bddd196539
- ported the credits screen.
2020-08-22 19:50:04 +02:00
Christoph Oelckers
d94077f833
- exported cinema texts to the string table as well.
2020-08-22 18:30:48 +02:00
Christoph Oelckers
0843f5f04a
- ported the final level's text screen and exported its text to the string table.
2020-08-22 18:12:19 +02:00
Christoph Oelckers
6f039164a3
- set up the computer font as SmallFont2.
...
Unlike the sheet font, this one is needed.
2020-08-22 16:24:42 +02:00
Christoph Oelckers
7e7f9670c1
- transitioned the text intermission screen to use DScreenJob and interpolate the scrolling text display.
2020-08-22 11:56:54 +02:00
Christoph Oelckers
8e34288a1c
- moved the end level handler further out in the main loop.
2020-08-22 10:39:37 +02:00
Christoph Oelckers
8b3e3b6d4a
- cleaned out some waiting code.
...
There's still too many loops but this at least gets rid of the empty ones.
2020-08-22 10:17:24 +02:00
Christoph Oelckers
c74a1f03e3
- defer FinishLevel handling to the main loop instead of doing it deep inside the game logic code.
2020-08-22 10:03:21 +02:00
Christoph Oelckers
9f682083c8
- same procedure as last time.
2020-08-22 09:41:18 +02:00
sirlemonhead
80dd794550
PCExhumed: Handle integer overflow in PlotCourseToSprite()
2020-08-22 09:40:35 +02:00
Christoph Oelckers
2a1ef00542
- redirect messages from last commit to debug mode.
2020-08-22 09:39:49 +02:00
sirlemonhead
b1c9ec1f47
PCExhumed: Handle the rest of the possible overflows for ksqrt()
2020-08-22 09:38:11 +02:00
sirlemonhead
fc530a362d
PCExhumed: Fix Selkis boss AI stupid typo
2020-08-22 09:34:09 +02:00
Christoph Oelckers
b96f12aa34
- removed Exhumed's demo loop.
...
It was broken already anyway and also looks like a first grade refactoring blocker.
2020-08-22 09:31:17 +02:00
Christoph Oelckers
e1fd0d8d80
- replaced most of the old text and graphics display functionality in Exhumed.
2020-08-21 22:40:09 +02:00
Christoph Oelckers
ca943317e7
- ported Exhumed's map to the ScreenJob interface.
2020-08-21 22:30:51 +02:00
Christoph Oelckers
4467547c8c
- fixed fortune cookie message display.
...
Fixes #219 .
2020-08-21 21:15:32 +02:00
Christoph Oelckers
a3915c6861
- added missing menu sounds for SW.
...
Fixes #220 .
2020-08-21 21:04:16 +02:00
Christoph Oelckers
a4d0e47389
- Exhumed: Play sound on Lobotomy logo
...
Fixes #224 .
2020-08-21 19:40:18 +02:00
Christoph Oelckers
0f3555fc7c
- fixed speed of SW's credits.
...
Fixes #229 .
2020-08-21 19:38:38 +02:00
Mitchell Richters
b9038db433
- remove all the discrete definitions of variables from alt HUDs in Duke/RR/SW.
2020-08-21 22:20:54 +10:00
Mitchell Richters
8e10bb8856
- SW: Don't flash the weapon's ammo icon when flashing text for low ammo in DrawHUD2.
2020-08-21 10:18:31 +02:00
Mitchell Richters
d8db31bdd8
- Duke: Don't flash the weapon's ammo icon when flashing text for low ammo in RR FullscreenHUD1.
2020-08-21 10:18:31 +02:00
Mitchell Richters
2cabc4b14d
- Duke: Don't flash the weapon's ammo icon when flashing text for low ammo in Duke FullscreenHUD1.
2020-08-21 10:18:31 +02:00
Mitchell Richters
4e0bef35c0
- simplify some of my math in the the fullscreen HUD drawers.
...
May no one ever see the original code again... :S
2020-08-21 16:23:44 +10:00
Mitchell Richters
3067bad9b9
- Blood/Duke/Exhumed/SW: Fix map
CCMD so the game doesn't return to the menu if incorrect map specified (or crash in the case of Exhumed).
2020-08-21 15:11:02 +10:00
Christoph Oelckers
2713c2d3c3
- deleted unused printext function.
2020-08-21 00:54:57 +02:00
Christoph Oelckers
33dcb413d8
- final cleanup on Exhumed's intro sequence.
2020-08-21 00:49:07 +02:00
Christoph Oelckers
80055b97e8
- fixed the title screen
2020-08-21 00:30:46 +02:00
Christoph Oelckers
98c064dcbc
- fixed the missing plasma effect in Exhumed's title screen.
2020-08-21 00:13:05 +02:00
Christoph Oelckers
6947b9cf98
- title screen WIP
2020-08-20 23:45:52 +02:00
Christoph Oelckers
d9e23c0ab9
- missing null check
2020-08-20 23:41:45 +02:00
Christoph Oelckers
31e792223a
- converted Exhumed intro to use the ScreenJob framework.
2020-08-20 21:05:14 +02:00
Christoph Oelckers
da90bd3b6a
- fixed: When drawing fullscreen, ignore texture offsets.
...
Fixes #218 .
Exhumed also has a fullscreen image with bogus offsets.
2020-08-20 20:43:17 +02:00
Christoph Oelckers
4267b7d5fc
- put the movie player in a class so that it can be allocated on the stack.
2020-08-20 18:35:52 +02:00
Christoph Oelckers
966cf5e262
- fixed the sound in Exhumed's intro movie.
...
Taking a cue from GDX to properly synchronize it because PCExhumed's approach looked broken by design.
It had no frame rate sync and solely depended on the low level audio stream for it.
2020-08-20 17:52:56 +02:00
Christoph Oelckers
3a5c0b30bb
- statusbar fixup.
2020-08-20 17:04:21 +02:00
Christoph Oelckers
78bfbdb253
- Exhumed status bar work.
...
Unfortunately this is a bit limited due to how the data was designed.
2020-08-20 17:04:21 +02:00
Mitchell Richters
37d687e4e9
- Blood: Repair regression in VectorScan()
from 266364fc2e
causing demo regressions and other game issues.
...
Fixes #216 .
2020-08-20 22:17:28 +10:00
Mitchell Richters
cc15de3ed9
- SW: Comment out code block causing interpolation issues when initialising a nuke.
...
* If there was a `pNukePresent()` function, that's where the commented out code belongs.
* I believe the rocket switching type was simplified during development and this is just an omission that's now obvious with interpolation. Only just, but you can notice this in an uninterpolated state while bobbing.
* Fixes #212 .
2020-08-20 08:52:22 +10:00
Mitchell Richters
7698723e43
- SW: Fix cheats via the console following changes in e22d9b21e4
.
2020-08-20 07:43:57 +10:00
Christoph Oelckers
70bc99dba7
- Duke: draw the screen border after all the content it's supposed to mask.
2020-08-19 22:16:57 +02:00
Christoph Oelckers
f888df9f5b
- fixed screen resize actions to work outside the automap.
2020-08-19 20:38:36 +02:00
Christoph Oelckers
d645674c1c
- consolidated the DEF parser parts in the backend.
...
Only Blood had some special handling - better implement callbacks here instead of requiring a second parsing pass.
2020-08-19 20:29:37 +02:00
Christoph Oelckers
dd20d74c51
- revert unintended change of text labels.
2020-08-19 19:18:47 +02:00
Christoph Oelckers
cbe4618a91
- do not play the random sword selection sounds on a map's very first tic.
...
This tends to interfere with map specific voice lines.
Fixes #214
2020-08-19 19:07:06 +02:00
Christoph Oelckers
c2fd4d3d18
- SW: reset screen blend when resetting a level.
...
Fixes #211
2020-08-19 17:31:05 +02:00
Christoph Oelckers
5cfd427e42
- renamed local totalclock variables to reduce noise for the forthcoming timer cleanup.
2020-08-19 17:23:18 +02:00
Christoph Oelckers
91cc6a657b
- tick the fortune cookie display within the playsim code to ensure its duration is handled properly.
...
Fixes #204
2020-08-19 17:10:54 +02:00
Christoph Oelckers
f327e3832a
- fixed Blood's weapon drawer.
...
It didn't clear its custom flags and applied the wrong shade.
2020-08-19 16:56:36 +02:00
Christoph Oelckers
e22d9b21e4
- changed SW's cheat prefix from 'sw' to 'lw' (i.e. Lo Wang) so that the cheats do not start with two movement keys.
2020-08-19 16:51:15 +02:00
Christoph Oelckers
94beac937d
- scale down the notify display by 2 in RR.
...
Its fonts are double the size as the other games and this must be factored in here for HUD scaling to work as expected.
2020-08-19 16:40:54 +02:00
Mitchell Richters
042caf1b21
- SW: Implement cl_weaponsway
for game.
2020-08-19 15:35:04 +10:00
Christoph Oelckers
0a8f7e60b6
- fixed incompatibility of FindDistance3D with Shadow Warrior.
...
Fixes #200 and most likely many other issues as well.
2020-08-18 23:49:44 +02:00
Christoph Oelckers
57cdcda253
- initiate a proper game state reset when ending an episode.
...
Fixes #207 .
2020-08-18 20:56:18 +02:00
Christoph Oelckers
6eba7dc410
- play music on the summary screen and check for advancing every frame.
...
Fixes #203
2020-08-18 20:26:16 +02:00
Christoph Oelckers
5acd7cf5e1
- SW: Stop music when ending game.
...
Fixes #205
2020-08-18 20:15:06 +02:00
Christoph Oelckers
b417ad2f6d
- 0 is a valid level number.
...
Fixes #206 .
2020-08-18 20:12:04 +02:00
Christoph Oelckers
aa5f42e5f4
- more header consolidation and cleanup.
...
In particular, this removes the pointless kTrue and kFalse constants.
2020-08-18 18:56:56 +02:00
Christoph Oelckers
4ea93ebccc
Exhumed code cleanup
...
merging all AI headers and removing several unused files
2020-08-18 18:56:39 +02:00
Mitchell Richters
8d101a4a57
- SW: Properly fix the Uzi when reloading.
2020-08-18 22:48:58 +10:00
Mitchell Richters
471355dc2b
- SW: Fix some typos in pUziReload()
, fix some interpolation issues in pUziClip()
and fix sequence of events in InitWeaponUzi2()
.
2020-08-18 21:40:48 +10:00
Mitchell Richters
a29d7bd3cd
- SW: Change pSpawnSprite()
x/y coordinates from int to double to preserve precision for some calls.
2020-08-18 21:39:20 +10:00
Mitchell Richters
7af5d26feb
- SW: Fix the Uzi's reload interpolation issues.
2020-08-18 20:58:58 +10:00
Mitchell Richters
78e0e94f58
- SW: Fix interpolation issues with sword, fists and heart.
2020-08-18 20:49:12 +10:00
Mitchell Richters
5cc30ad7c6
- SW: Increase precision of x/y coordinates where possible.
2020-08-18 18:26:04 +10:00
Mitchell Richters
d79c61d559
- SW: Interpolate between ox
/x
and oy
/y
coordinates in pDisplaySprites()
.
2020-08-18 18:26:02 +10:00
Mitchell Richters
df6f27530e
- SW: Define ox
and oy
in PANEL_SPRITEstruct
and back up panel sprite x/y coordinates where appropriate.
2020-08-18 18:26:00 +10:00
Mitchell Richters
da2b1347ef
- SW: Change smoothratio
from int to double for storing returned result from CalcSmoothRatio()
with full precision.
2020-08-18 18:25:58 +10:00
Mitchell Richters
e8faca52a2
- SW: Prepare draw and panel code for interpolation of weapon's x/y coordinates.
2020-08-18 18:25:56 +10:00
Christoph Oelckers
a535f62d4a
- fixed: SW's intro cutscene must not terminate its sound.
...
Fixes #201 .
2020-08-18 00:04:48 +02:00
Christoph Oelckers
65cb267d56
- save the cookie texts in a savegame and clear them on level exit. Also handle them on a per-player basis.
...
Fixes #196
2020-08-17 22:05:14 +02:00
Christoph Oelckers
9159855957
- SW: set the main view's projection after rendering the camera texture, not before.
...
Otherwise the main view will take over the projection settings from the camera texture.
Fixes #194 .
2020-08-17 21:33:42 +02:00
Christoph Oelckers
ba2ff12f5b
- fixed summary screen properly this time.
...
Fixes #195
2020-08-17 21:19:18 +02:00
Christoph Oelckers
55de06ab2f
- fixed a few incorrect text labels.
...
Fixes #193
2020-08-17 20:55:57 +02:00
Christoph Oelckers
ca66e70d65
- print stats on secondary HUD.
2020-08-17 20:47:42 +02:00
Christoph Oelckers
ebc16ffe14
- do not display ammo for fists and sword
...
Fixes #192
2020-08-17 20:43:31 +02:00
Christoph Oelckers
522d8af6ca
- SW: implement the "end game" function.
...
Fixes #189
2020-08-17 20:38:46 +02:00
Christoph Oelckers
17f9bc8a8a
- initiate a full game reset when respawning after death.
...
This was done with the old code but we now have to set the respective flag explicitly because the init code is inside the main loop, not outside.
Fixes #188
2020-08-17 20:30:44 +02:00
Christoph Oelckers
8011526e71
- SW: fixed crosshair size.
...
Fixes #186
2020-08-17 20:28:12 +02:00
Mitchell Richters
b03450f200
- Repair minor Duke3D regression where timerUpdateClock()
was no longer called in newgame()
once 7bb6b6a1ee
removed `handleevents()'.
...
Repairs issue when starting new games and the clock isn't right (particularly noticable on E1L1 start).
2020-08-17 21:53:47 +10:00
Mitchell Richters
77825b4927
- SW: Remove duplicate if statement line.
2020-08-17 21:11:53 +10:00
Mitchell Richters
d0ed88221d
- SW: Alt HUD positioning tweaks.
2020-08-17 21:10:40 +10:00
Christoph Oelckers
d6701d91a3
- aded Alt. HUD icon tiles
...
Not tested yet, this merely uses the numbers from the item pickup function.
2020-08-17 01:06:29 +02:00
Christoph Oelckers
f7291960c3
- draft version of the secondary fullscreen HUD.
...
All elements are present, but the icons are still missing because I do not know the proper numbers yet.
2020-08-16 23:52:44 +02:00
Christoph Oelckers
25e8636a60
- eliminated a few smaller headers.
2020-08-16 23:21:24 +02:00
Christoph Oelckers
736f1461ca
- fixed the summary screen.
2020-08-16 23:00:05 +02:00
Christoph Oelckers
85538b467b
- fixed some initialization issues with the new main loop.
...
Looks like all map starting cases are working now.
2020-08-16 22:45:19 +02:00
Christoph Oelckers
695d81f88c
- main loop WIP.
2020-08-16 21:55:26 +02:00
Christoph Oelckers
60275c9b6b
- started with SW's new main loop.
...
Intro and menu are done, the game loop is quite a mess, unfortunately.
2020-08-16 20:10:26 +02:00
Christoph Oelckers
57efb26567
- wrap Blood's main loop into an exception handler for recoverable errors.
2020-08-16 20:04:27 +02:00
Christoph Oelckers
01d9bde7f4
- more cleanup of game.cpp.
...
The game init code is done.
2020-08-16 19:11:04 +02:00
Christoph Oelckers
baf1166319
- trying to bring order to game.cpp
...
Some reshuffling, plus moving the automap drawer to its own file.
2020-08-16 18:18:56 +02:00
Christoph Oelckers
78d3afb0bf
- cleaning out more garbage.
2020-08-16 17:09:59 +02:00
Christoph Oelckers
ab7774c6d7
- thinning out some garbage.
2020-08-16 16:57:42 +02:00
Christoph Oelckers
a8b0839592
- switch SW to CCMD based input.
2020-08-16 16:00:40 +02:00
Christoph Oelckers
8c98d44620
- handle console-based map changes directly instead of the cheat handler.
...
This allows handling user maps again.
2020-08-16 14:54:33 +02:00
Christoph Oelckers
532b11467f
- handle all level access and indexing through the mapinfo data.
...
No more level numbers will be stored in the game code.
2020-08-16 14:39:18 +02:00
Christoph Oelckers
9700b8435b
- handle Blood's level progression by the actual level data, not some episode/level pair.
...
This should allow loading user maps again.
2020-08-16 13:49:28 +02:00
Christoph Oelckers
598ea99441
- simplify the music starting code in Blood.
2020-08-16 12:35:46 +02:00
Christoph Oelckers
0ac8568be0
- removed redundant fields from Blood's startup info struct.
2020-08-16 11:58:42 +02:00