Commit Graph

1144 Commits

Author SHA1 Message Date
David Négrier
5839e0b270 Throwing exceptions into store subscribers is wreaking havok 2021-06-01 09:17:01 +02:00
David Négrier
9063ba2a1f Removing call to removed method 2021-06-01 09:12:31 +02:00
David Négrier
59256f4cb9 Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-06-01 09:09:11 +02:00
David Négrier
9d6b597552 Starting working towards migrating the help camera popup 2021-06-01 09:08:02 +02:00
GRL
ffcfb7495b Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-05-31 18:06:02 +02:00
GRL
1ed881e0bf arrow up black and white colors 2021-05-31 18:05:34 +02:00
David Négrier
ce645a83ab Fixing display of terms and conditions 2021-05-31 18:02:45 +02:00
GRL
f8cbf41c3a Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-05-31 17:54:07 +02:00
GRL
047337ae81 Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-05-31 17:53:44 +02:00
David Négrier
11fb0aa1d8 Fixing typo 2021-05-31 17:53:27 +02:00
GRL
4923ce8b83 selectCharacterScene and customCharacterScene in svelte 2021-05-31 17:50:14 +02:00
David Négrier
cb03580421 Partial migration of EnableCameraScene to Svelte 2021-05-31 17:49:41 +02:00
David Négrier
13d3227323 Migrating LoginScene to Svelte 2021-05-31 17:03:29 +02:00
GRL
120a488121 Adding selectCompanionStore 2021-05-31 12:16:46 +02:00
GRL
b8873d1277 selectCompanionScene work with svelte 2021-05-31 12:06:11 +02:00
GRL
471ff2bb01 Merge branch 'develop' of github.com:thecodingmachine/workadventure into resizeSelect 2021-05-31 10:21:15 +02:00
GRL
1ac108a9b8 correction of resize select character and companion by David 2021-05-31 10:20:48 +02:00
David Négrier
90176da888 MediaManager cleanup
- Removing the last reference to the local video stream. Everything is now fetched from the store.
- Remvoing commented code
2021-05-29 22:34:38 +02:00
David Négrier
4077db37e3
Merge pull request #1091 from thecodingmachine/fixing_button_style
Fixing buttons design
2021-05-29 22:08:54 +02:00
David Négrier
588e5566d0 Fixing buttons design
Fixing the color of camera/microphone/screen sharing buttons that was broken following the migration to Svelte
2021-05-29 22:05:47 +02:00
David Négrier
b7f1461405 Removing listeners from MediaManager.
SimplePeer now reacts only to stores.
2021-05-29 22:04:08 +02:00
David Négrier
5295f923b5
Merge pull request #1086 from thecodingmachine/camera_controls_in_svelte
Switching Camera controls in Svelte
2021-05-28 18:16:51 +02:00
kharhamel
679b5b6b79 FIX: better error text in LoginScene 2021-05-28 17:51:18 +02:00
David Négrier
b3aa8975e9 Switching the video feedback in Svelte 2021-05-28 16:20:02 +02:00
kharhamel
12da6ddd6c FEATURE: improved the display of player names, with the font-family 'Press start 2P' and gray outlines 2021-05-28 15:33:10 +02:00
David Négrier
d1c22b122c Improving icons centering 2021-05-28 10:48:24 +02:00
David Négrier
cc1eab653a Fixing screen sharing button display 2021-05-28 10:48:13 +02:00
David Négrier
4b77e8c577 Switching Camera controls in Svelte
Moving Camera controls out of HTML + MediaManager and into Svelte components
2021-05-28 09:31:04 +02:00
David Négrier
870f16f9c6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into SoundInMapScript 2021-05-26 16:15:33 +02:00
David Négrier
54e300443b Fixing Typing 2021-05-26 16:11:22 +02:00
David Négrier
fac6574cb5 Removing console.log and unused files 2021-05-26 16:08:43 +02:00
David Négrier
6d15921674 Fixing screen-sharing button not hidden anymore when hovering button 2021-05-26 12:30:56 +02:00
David Négrier
4f1cab5afe Fixing comments 2021-05-26 12:19:58 +02:00
David Négrier
4c4f310b79 The share screen button is now displayed only when screen sharing makes sense.
Also, fixed the button not aligned bug
2021-05-26 12:12:47 +02:00
David Négrier
dd428bc1e1 Migrating screen sharing to using a store 2021-05-26 12:12:47 +02:00
David Négrier
d32df13f1b Camera now show up when someone is moving and hides 5 seconds after we stop moving.
Also, added an animation to show/hide the webcam.
2021-05-26 12:12:46 +02:00
David Négrier
8af8ccd54b Migrating MediaManager game part to Svelte store 2021-05-26 12:12:18 +02:00
David Négrier
28d78a7988 Switching MediaManager to using a Svelte store
This allows cleaner and more expressive code, especially regarding whether the webcam should be on or off.
2021-05-26 12:11:16 +02:00
David Négrier
4f4d2532b7
Merge pull request #1082 from thecodingmachine/disabling_physics_optim
Moving Physics optim to DirtyScene
2021-05-26 12:08:57 +02:00
David Négrier
bc19cbd525 Moving Physics optim to DirtyScene
The Physics engine is now disabled only if no sprites are moving (if they have no velocity).
Also, if a sprite is moving (if it has a velocity), the dirty state is set.
2021-05-26 12:00:27 +02:00
kharhamel
595c5ca64d now use custom emotes with tweens instead of transistions 2021-05-25 16:37:24 +02:00
DESKTOP-FMM8UI0\CLV
0c3b9ccfbf Merge branch 'develop' of https://github.com/thecodingmachine/workadventure into SoundInMapScript
# Conflicts:
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/iframe_api.ts
#	maps/Tuto/scriptTuto.js
#	maps/Village/Village.json
2021-05-21 17:45:26 +02:00
kharhamel
d93b30f982 improved radial menu 2021-05-19 18:11:51 +02:00
kharhamel
35b37a6a88 Added a radial menu to run emotes 2021-05-19 15:17:50 +02:00
kharhamel
a1d52b4265 FEATURE: added the possibility toplay emotes 2021-05-19 15:17:03 +02:00
kharhamel
20ec609535 FIX: rejected map axios promises are now catched 2021-05-18 11:45:07 +02:00
David Négrier
2ea731beeb
Merge pull request #1057 from thecodingmachine/physics_flag
Making sure Physics is not enabled several times
2021-05-18 10:26:32 +02:00
David Négrier
c9eb5691b5
Merge pull request #1045 from thecodingmachine/svelte
Installing Svelte in front container
2021-05-18 10:25:54 +02:00
David Négrier
6128f1e431 Making sure Physics is not enabled several times
As part of an energy saving measure, we started disabling physics when the character is not moving and enabling physics again only when the character moves.
However, we enabled Physics on each frame the characeter was moving.
As a result, the Physics system would run several times, slowly slowing the computer down.

This fixes this issue by adding a flag to only enable Physics once.
2021-05-18 09:42:01 +02:00
David Négrier
24dfa2703d Set a global dirty flag on resize
This adds a global "Dirty" flag at the Game level and sets it each time the ScaleManager is modified.
This fixes a bug where the game was not redrawn when a CoWebsite was opening/closing.
2021-05-18 09:20:38 +02:00
David Négrier
54e9e5656b Commenting menu display (for now) 2021-05-17 16:50:35 +02:00
David Négrier
00dd5a8c84 Fixing Yarn 2021-05-17 16:45:52 +02:00
David Négrier
7cc1e5b2c6 Moving styles out of the "dist/" directory 2021-05-17 16:41:40 +02:00
David Négrier
79935593e2 Adding fork-ts-checker-webpack-plugin
This allows offloading type checking to another process and saves ~1-2 seconds for each build.
Also, we can integrate ESLint into the build pipeline and this is dope!
2021-05-17 16:41:38 +02:00
David Négrier
6e7f8507b1 Removing custom stats 2021-05-17 16:41:10 +02:00
David Négrier
849e68ece2 Optimizing build time + inline small files into CSS 2021-05-17 16:41:10 +02:00
David Négrier
db40681be7 Code cleanup 2021-05-17 16:41:10 +02:00
David Négrier
9c4c6f2d53 Fixing Jasmine tests 2021-05-17 16:41:10 +02:00
David Négrier
5cb58d98a0 Adding correct SCSS file integration with Svelte 2021-05-17 16:41:09 +02:00
David Négrier
1885ea42a4 First working example with Svelte (the menu icon shows up on entering the game) 2021-05-17 16:39:56 +02:00
David Négrier
62cc1f73ca Tryig to fix webpack for Svelte 2021-05-17 16:39:56 +02:00
David Négrier
9bc79c3ed3 Adding Svelte to the project 2021-05-17 16:39:55 +02:00
kharhamel
f2dca82642 FIX: webpack config NodePolyfillPlugin 2021-05-17 16:30:19 +02:00
kharhamel
a66d42e158 FEATURE: we now allow a global zoom level of 1.5 2021-05-17 16:11:38 +02:00
kharhamel
a23e72454d FEATURE: added the env variable DISABLE_DIRTY_CHECKS 2021-05-17 14:47:34 +02:00
kharhamel
1466d7481c FIX: fixed an error in webpack config 2021-05-17 12:20:07 +02:00
David Négrier
fe573893a1
Merge pull request #1039 from thecodingmachine/importsNotUsedAsValues
Setting "importsNotUsedAsValues": "error"
2021-05-13 19:43:34 +02:00
David Négrier
4fcbc146ca Switching the Webpack configuration file to Typescript
This switches the Webpack config file from JS to Typescript.
2021-05-12 13:38:32 +02:00
David Négrier
06058cfc24 Upgrading Typescript target from ES2015 to ES2017. 2021-05-12 11:45:01 +02:00
David Négrier
664a5b6b91 Upgrading ESLint (and ignoring a bunch of interesting rules) 2021-05-12 11:44:41 +02:00
David Négrier
f57c01dee8 Refactoring Webpack files to remove prod file. The prod file is now inferred from the NODE_ENV variable. 2021-05-12 11:28:21 +02:00
David Négrier
8c1e01566a Upgrading all dependencies in front
Upgrading to Webpack 5, Typescript 4, ...
2021-05-12 10:35:14 +02:00
David Négrier
4d4f845b9e Setting "importsNotUsedAsValues": "error"
Turning the "importsNotUsedAsValues" TS config value to "error".
This will require us to use `import type` instead of `import` when we are importing a value that is only used as a type (and therefore that is dropped by the Typescript compiler).

Why this change?
This is a requirement to be able to use Svelte in the future. See https://github.com/sveltejs/svelte-preprocess/issues/206#issuecomment-663193798
2021-05-12 09:13:25 +02:00
TabascoEye
627db30410
turning noise suppresion back on
turning AGC off was a good idea, disabling noise suppresion with it was not.
=> should all end up in the "settings" menu in the end
2021-05-11 17:38:28 +02:00
David Négrier
d2b122efe5
Merge pull request #1035 from thecodingmachine/improveDirtyScene
FIX: trackDirtyAnims now listen to more generic events
2021-05-11 17:08:29 +02:00
kharhamel
4ec5ad9e33 FIX: trackDirtyAnims now listen to more generic events 2021-05-11 16:44:31 +02:00
David Négrier
0c279750be Merge branch 'master' of github.com:thecodingmachine/workadventure into develop
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-05-11 16:43:34 +02:00
David Négrier
ad39b43df3 Closing game webcame in Jitsi
When stepping in Jitsi, the game webcam (from mediaManager) was not shut down.
And when enabling/disabling the webcam in Jitsi, the webcam in mediaManager was also
enabled/disabled. This PR fixes those issues.

It also fixes a race condition when closing a Jitsi where the mic/cam would be enabled at the same time.
2021-05-11 14:52:51 +02:00
Kharhamel
78d4985d10
Merge pull request #1028 from thecodingmachine/fixOnMapExit
FIX: triggering a map transition now ignores other map transitions for 500ms
2021-05-11 14:21:06 +02:00
kharhamel
f044b3d249 FIX: triggering a map transition now ignores other map transitions for 500ms 2021-05-11 11:05:05 +02:00
David Négrier
23bf78a026 Refactoring code to use the "visibilitychange" event
Using the "visiblitychange" event instead of relying on a "trick" related to RAF being disabled when a window is not open allows us to have cleaner code.
Bonus: the recursive call to "setTimeout" is gone, so the stacktrace growing indefinitely is gone too.
This should make the application a bit more stable.
2021-05-11 10:56:50 +02:00
Gregoire Parant
e50aad0ea0 Add WA logo 2021-05-11 10:13:50 +02:00
Gregoire Parant
52b1c6733b Notification & Camera
- Notification when user is first and not focus on the tab
- Camera focus when user is in discussion circle and back on tab with previous config camera settings
- Camera stay blur if user is in discussion circle and not back on the tab

# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2021-05-11 10:13:38 +02:00
grégoire parant
0fd743bcac
HotFix sound meter (#1029) 2021-05-10 20:49:17 +02:00
grégoire parant
bd4cf5d7f7
Fix error context sound meter (#1009) 2021-05-10 19:55:43 +02:00
David Négrier
0411d5e493 Fixing "camera popup" always display on resize
This fixes a bug where the "camera popup" window was always displayed when the screen was resized.
2021-05-10 19:05:01 +02:00
David Négrier
c025d1798b Renaming restorePlayerControls/disablePlayerControls
Putting "controls" in the plural form:

- restorePlayerControl => restorePlayerControls
- disablePlayerControl => disablePlayerControls
2021-05-10 12:18:06 +02:00
jonny
91148035ec polyfill generic message event 2021-05-09 21:46:40 +02:00
jonny
cf06f29ef8 fixed cherry pick conflicts 2021-05-09 21:38:11 +02:00
jonny
8da5bf9f8e typed iframe api events
# Conflicts:
#	front/src/Api/IframeListener.ts
#	front/src/iframe_api.ts
2021-05-09 21:36:48 +02:00
DESKTOP-FMM8UI0\CLV
e655edd9bd export class Popup and Soud of Iframe Api
let become const in SoundManager
2021-05-07 17:03:07 +02:00
David Négrier
5605e63e5f
Merge pull request #998 from thecodingmachine/skiprender2
Skip "render" if nothing changed on screen (2)
2021-05-07 15:44:08 +02:00
Gregoire Parant
62a6eabc88 Merge branch 'master' into develop 2021-05-07 00:07:43 +02:00
grégoire parant
0e32238505
HotFix custom WOKA (#999) 2021-05-06 19:58:08 +02:00
David Négrier
6b4d064f19 Merge branch 'develop' of github.com:thecodingmachine/workadventure into skiprender2
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
2021-05-06 16:25:13 +02:00
David Négrier
189dba2e21 Fixing memory leak when switching scenes 2021-05-06 15:38:24 +02:00
David Négrier
3b5f105daf Setting the dirty state automatically when there is an animation frame 2021-05-06 15:38:22 +02:00
David Négrier
6d3cbc573c Instruct systems with 2 GPUs to use the low power GPU (to save battery) 2021-05-06 15:36:49 +02:00
David Négrier
0c5e5ef578 Skip "render" if nothing changed on screen
For each requested animation frame (RAF) in Phaser, Phaser calls the "update" method, then the "render" method of each scenes.
The "render" method takes some time (and energy) to perform the rendering.

The fact is we probably don't need to call "render" if nothing changed on the screen (which happens most of the frames in a typical WorkAdventure game).

This commit is therefore overloading the "Game" class of Phaser to add a "dirty" flag.

Scenes can now add a "isDirty()" method. If all displayed scenes are pristine (not dirty), Phaser will skip rendering the frame altogether.

This saves "a lot" of energy, resulting in laptops that are not overheating when using WorkAdventure \o/
2021-05-06 15:36:45 +02:00
David Négrier
271300aa8d
Merge pull request #982 from jonnytest1/baseUrlFix
fixed url cannot be relative
2021-05-06 15:09:13 +02:00