Commit Graph

1131 Commits

Author SHA1 Message Date
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
jonny
a24ca078e6 use iframe url if no script
# Conflicts:
#	front/src/Api/IframeListener.ts
2021-05-05 19:15:32 +02:00
David Négrier
fea1de36a4
Merge pull request #974 from tabascoeye/patch-1
allow numbers in nickname again
2021-05-05 18:44:01 +02:00
David Négrier
3751b0e2bc Removing RESOLUTION and ZOOM_LEVEL settings: they are no more needed or supported 2021-05-05 17:11:03 +02:00
David Négrier
7ae66a63a4 Refactoring centering of DOM elements 2021-05-05 17:10:39 +02:00
David Négrier
04448c3c50 Fixing button position in webcam setting page 2021-05-05 15:46:02 +02:00
David Négrier
cd2873e9d3 Fixing CI 2021-05-05 13:14:00 +02:00
David Négrier
bede7abdd8 Removing mousewheel to up down plugin 2021-05-05 12:15:13 +02:00
David Négrier
10bd073b7d Fixing center computation of popup 2021-05-05 12:12:56 +02:00
David Négrier
7d2cc66f11 Fixing pointer-events interaction preventing virtual joystick from working 2021-05-05 11:56:24 +02:00
David Négrier
82073098e0 Merge branch 'develop' of github.com:thecodingmachine/workadventure into resolution 2021-05-05 11:01:11 +02:00
David Négrier
a6ad1674e3 Fixing broken resize 2021-05-05 09:51:04 +02:00
David Négrier
f66e69cb75 Improving pinch (virtual joystick stops when pinch begins) 2021-05-05 09:35:24 +02:00
grégoire parant
71eb3f3b69
Improvement feature circle discussion (#977)
* Improvment circle discussion
 - Change to lissen start event of WebRTC connection

* Update help allow navigator and waring message
 - Show warning message.
 - Use help camera allow setting to show modal and help user.
 - Change feature to show the modal only when user have need the information on allow navigator access

* Create soud for video discussion
2021-05-05 01:49:04 +02:00
Gregoire Parant
83159a121f Revert logo loading and fix it 2021-05-04 15:47:45 +02:00
Gregoire Parant
c8692a08ce Revert "Fix loader logo WA (#991)"
This reverts commit fa3ffe4d7a.
2021-05-04 15:15:23 +02:00
grégoire parant
fa3ffe4d7a
Fix loader logo WA (#991) 2021-05-04 14:28:30 +02:00
David Négrier
59b391e983 Prevent WA scale manager from zooming too much 2021-05-04 14:08:40 +02:00
David Négrier
613ff5d463 Adding zoom out limit 2021-05-04 12:09:00 +02:00
David Négrier
04d3cf8593 Adding HdpiManager to start and scale from a default resolution that is correct by default for the game.
Fixing VirtualJoystick on resize.
2021-05-04 11:35:33 +02:00
jonnytest1
5069099000
fixed typing in chat still causes character to move (#965) 2021-05-03 20:26:42 +02:00
jonnytest1
0a5dffd034
Update ScriptUtils.ts 2021-05-03 16:11:16 +02:00
jonny
d674ac9e0c fixed url cannot be relative 2021-05-01 17:43:31 +02:00
TabascoEye
7592a71bd5
remove test case with numbers being invalid in nickname 2021-04-30 10:58:01 +02:00
TabascoEye
2b2c60cbe3
allow numbers in nickname again
closes #972
2021-04-30 10:51:23 +02:00
grégoire parant
925545d74f
Add error message (#970)
- Error link not found
 - Error user was banned
 - Error access dinied on the world
2021-04-29 23:47:30 +02:00
kharhamel
fe27169745 solved conflict with develop 2021-04-29 10:31:16 +02:00
Kharhamel
398326b3aa
Merge pull request #959 from thecodingmachine/dependabot/npm_and_yarn/front/ssri-6.0.2
Bump ssri from 6.0.1 to 6.0.2 in /front
2021-04-29 10:18:33 +02:00
grégoire parant
19ae575b4f
HotFix style help modal (#960) 2021-04-29 01:49:09 +02:00
dependabot[bot]
1e42de9155
Bump ssri from 6.0.1 to 6.0.2 in /front
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-28 23:28:10 +00:00
grégoire parant
5c0b5ef74b
HotFix release v1.3.1 (#958)
- Update camera style support mobile
 - Fix admin console error
2021-04-29 01:26:09 +02:00
grégoire parant
9b69910cb8
WIP: Update style for mobile (#942)
* Update style for mobile

 - Update style for mobile modale

* Fix overscroll

* Change css properties overflow

* Revert "Change css properties overflow"

This reverts commit 612fcc7e007fb03c7f72e5fa4b8a0604a184ae7d.

* rm image

* Update view mobile

* Fix CI
2021-04-27 23:58:33 +02:00
David Négrier
08ca95b143 Fixing WorkWrap 2021-04-26 11:28:15 +02:00
David Négrier
22cb41dc29 Adding the ability to display "Text" objects from Tiled
I honestly don't believe text objects look good on map, and in real maps, I think text should be written on tiles.

However, for a variety of use cases (like in test maps in the /maps/test directory, it can be useful to be
able to display some text easily on a map.

This PR adds the ability to display this text.

Note: the "font" support cannot work correctly, as Tiled is listing fonts from the local
system, and those fonts are not available in a browser.
2021-04-26 11:28:13 +02:00
David Négrier
6815fe7a0a Added a new LayersIterator class
This class iterates recursively over layers, flattening groups.
This enables us to simplify the code when we iterate layers. We can remove all recursive function calls in the GameScene code (it is delegated to the LayersIterator)
2021-04-26 11:21:34 +02:00
Lurkars
66b90be0da remove redundancy 2021-04-26 11:20:28 +02:00
Lurkars
93b7b7bc91 removed redundancy, fix for startLayer 2021-04-26 11:20:28 +02:00
Lurkars
9b6be3466b support for group layer of Tiled (excludes 'start' layer) 2021-04-26 11:20:28 +02:00
grégoire parant
f0d277af32
Nickname not centered in video-container (#935)
* Nickname not centered in video-container

#823
2021-04-24 15:45:58 +02:00
Gregoire Parant
364c1d3e98 Merge branch 'master' into develop 2021-04-24 10:39:49 +02:00
Gregoire Parant
0c72378001 Fix style message displaying
#926
2021-04-24 10:36:53 +02:00
grégoire parant
d9620c373f
Merge pull request #918 from thecodingmachine/newStartMobileScene
Mobile started scene
2021-04-23 19:51:45 +02:00
Gregoire Parant
b934d3404f Fix feedback WorkAdventure team 2021-04-23 19:29:43 +02:00
DESKTOP-FMM8UI0\CLV
b79d76fc2e parameter soundConfig is now optionnal
if user call mySound.play() the sound will be played with the base SoundConfig
2021-04-23 17:03:17 +02:00
DESKTOP-FMM8UI0\CLV
f03f8076f3 Sound in Script Done
Fom script user can load, play and stop sound
2021-04-23 15:35:34 +02:00
David Négrier
4f4f499d47 Making alone mode more robust
This fixes a number of issues where the game was attempting to access a non existing connection (in alone mode)
2021-04-23 13:44:04 +02:00
Gregoire Parant
f11e936143 Refactoring & fix feedback WorkAdventure 2021-04-23 03:59:14 +02:00
Gregoire Parant
8e52b8597c Merge branch 'develop' into newStartMobileScene
# Conflicts:
#	front/src/Phaser/Login/EnableCameraScene.ts
#	front/src/Phaser/Login/LoginScene.ts
#	front/src/Phaser/Login/SelectCharacterScene.ts
#	front/src/Phaser/Login/SelectCompanionScene.ts
2021-04-22 23:36:21 +02:00
Gregoire Parant
d7f00b505a Update Companion Scene for mobile 2021-04-22 13:10:23 +02:00
Gregoire Parant
3697ddabfa Fix responsive Camera Settings 2021-04-22 11:47:59 +02:00
Gregoire Parant
3df32de83b Update camera and adapte for mobile 2021-04-22 11:26:35 +02:00
Gregoire Parant
0a04f5d631 Finish select character scene and custom character scene 2021-04-22 02:29:13 +02:00
kharhamel
c8ba3d8ab9 FIX: use phaser Zones instead of rectangles objects to create tap zones 2021-04-21 18:27:33 +02:00
kharhamel
6a2326c4b3 WIP: testing new resolution config 2021-04-21 18:04:00 +02:00
DESKTOP-FMM8UI0\CLV
517c0e86cb Can play Sound from a map script
add sound in the TutoMap
2021-04-21 16:47:19 +02:00
David Négrier
f9f6abe7b3 Switching setTimeout to false 2021-04-21 10:37:20 +02:00
David Négrier
84bd5eff50 Bump Phaser version
This reverts commit f2c3d6f158.
Also, updates all dependencies to their latest allowed version.

# Conflicts:
#	front/package.json
#	front/yarn.lock
2021-04-21 10:35:38 +02:00
Gregoire Parant
78d888ffaf Update menu mobile
- Add mobile style share modal
- Add mobile style settings modal
- Add menu mobile style
2021-04-21 00:53:45 +02:00
Gregoire Parant
20e0a2553e Update cowebsite mobile style 2021-04-20 21:11:05 +02:00
Gregoire Parant
30c1825abd Update syle mobile
- update my video side
- update user video side
- update button video cam and microphone side
2021-04-20 19:54:37 +02:00
Gregoire Parant
09d5e0b689 Fix center select name modal 2021-04-20 18:58:19 +02:00
Gregoire Parant
2c862fe7e7 Refactor Login Scene 2021-04-20 18:49:42 +02:00
Kharhamel
5dc2f0ac47
Merge pull request #898 from thecodingmachine/touchZoom
FEATURE: add the ability to zoom in and out using touch screen
2021-04-20 14:51:08 +02:00
kharhamel
341b048d6c improved the visuals of the joystick 2021-04-20 14:26:52 +02:00
kharhamel
415d8f9466 the joystick is now visible only when pointer is down 2021-04-20 10:52:06 +02:00
Gregoire Parant
5e8951fdaa Merge branch 'master' into develop 2021-04-19 21:19:35 +02:00
Gregoire Parant
e7b5bb261d HotFix performance
- Change forceSetTimeOut to false and permit to freeze the scene.
 - Fix style sending audio message
 - Fix banned message from admin console
2021-04-19 20:19:40 +02:00
kharhamel
56287a2958 put the virtual joystick into the userInputManager and restricted it to touchscreens 2021-04-19 18:10:33 +02:00
David Négrier
06f6b3153c
Merge pull request #913 from ClementVieilly75/FTUEPopup
Ftue popup
2021-04-19 16:24:02 +02:00
DESKTOP-FMM8UI0\CLV
7e6a8b477d Debug state of share Screen button 2021-04-19 15:16:56 +02:00
DESKTOP-FMM8UI0\CLV
b9d9a78868 Link changed in Tutov3
Change position of cam and buttons share/cam/Mic
2021-04-19 14:42:49 +02:00
DESKTOP-FMM8UI0\CLV
d31021c02d Replace share screen logo 2021-04-19 14:19:16 +02:00
David Négrier
cb1dcb5786
Merge pull request #908 from ClementVieilly75/FTUEPopup
Unsubscribe to iframeEvents in CleanUpClosingScene
2021-04-19 11:24:43 +02:00
DESKTOP-FMM8UI0\CLV
5028a54422 Unsubscribe to iframeEvents in CleanUpClosingScene 2021-04-19 10:19:30 +02:00
David Négrier
110511461a Fixing WorkWrap 2021-04-17 18:55:39 +02:00
David Négrier
16daf7332a Adding the ability to display "Text" objects from Tiled
I honestly don't believe text objects look good on map, and in real maps, I think text should be written on tiles.

However, for a variety of use cases (like in test maps in the /maps/test directory, it can be useful to be
able to display some text easily on a map.

This PR adds the ability to display this text.

Note: the "font" support cannot work correctly, as Tiled is listing fonts from the local
system, and those fonts are not available in a browser.
2021-04-17 12:05:54 +02:00
Kharhamel
afd2ea2d03
Merge pull request #897 from thecodingmachine/maxPerGroup
FEATURE: added the env variable MAX_PER_GROUP
2021-04-16 17:19:01 +02:00
kharhamel
d7a74baa9d FEATURE: add the ability to zoom in and out using touch screen 2021-04-15 16:37:58 +02:00
kharhamel
ce2c5e0cb5 FEATURE: added the env variable MAX_PER_GROUP 2021-04-15 15:50:51 +02:00
Gregoire Parant
a42e873f64 Merge branch 'master' into develop 2021-04-14 20:11:41 +02:00
David Négrier
1a4f178728
Update front/src/Phaser/Menu/MenuScene.ts 2021-04-14 15:57:57 +02:00
Kharhamel
3874b2bc2b
Merge pull request #688 from tabascoeye/patch-2
disable automatic gain control on microphone
2021-04-13 18:20:56 +02:00
Kharhamel
faade46400
Merge pull request #894 from thecodingmachine/topVerticalMode
FIX: in vertical mode, the coWebSite now open from the top
2021-04-13 15:16:06 +02:00
Kharhamel
4bbfd4f12f
Merge pull request #893 from workadventure-xce/fix/first_login
Fix first login with empty local storage
2021-04-13 15:15:32 +02:00
Gregoire Parant
ba8d3020eb Merge branch 'master' into HotFixForm 2021-04-13 12:33:04 +02:00
Gregoire Parant
4119f69879 HotFix
- Key up m when user write message
 - Size game share
2021-04-13 12:30:15 +02:00
kharhamel
f82551016a FIX: in vertical mode, the coWebSite now open from the top 2021-04-13 11:34:14 +02:00
PizZaKatZe
633bdfcaff Always enable virtual joystick
Keeps 'toggle fullscreen' as a separate game setting.
2021-04-13 02:00:06 +02:00
PizZaKatZe
340caaff32 Make virtual joystick transparent 2021-04-13 02:00:05 +02:00
PizZaKatZe
9c9d262782 Make movement speed depend on joystick force 2021-04-13 02:00:05 +02:00
PizZaKatZe
e713120434 Reposition joystick (thx @TabascoEye) 2021-04-13 02:00:04 +02:00
PizZaKatZe
c3230bc2b3 Integrate virtual joystick 2021-04-13 02:00:03 +02:00
PizZaKatZe
e75fb9a6a9 Add touch support to companion selection scene 2021-04-13 02:00:02 +02:00
PizZaKatZe
5462af0dc7 Fix first login with empty local storage
During first login on a new domain the local storage is empty. This led
to a TypeError and hence blank black screen.
2021-04-13 01:58:32 +02:00
PizZaKatZe
edd4e9e95d Add touch support for Jitsi and website triggers 2021-04-13 00:23:40 +02:00
¯\_(ツ)_/¯
aab65298aa Add touch support to character customization screen 2021-04-13 00:23:40 +02:00
PizZaKatZe
e807350279 Add touch input support to login scenes (thx @TabscoEye) 2021-04-13 00:23:37 +02:00
PizZaKatZe
c7dcaec940 Make login text input field touch capable (thx @TabscoEye) 2021-04-13 00:19:06 +02:00
Gregoire Parant
270cdb5c82 Button "CREATE MAP" must redirect user on production server 2021-04-12 20:44:29 +02:00
Gregoire Parant
1693819b6a HotFix Share Form height 2021-04-12 20:23:00 +02:00
Gregoire Parant
6a08ca656f Add TODO 2021-04-12 18:26:36 +02:00
Gregoire Parant
4fc9a12b95 HotFix style WorkAdventure 2021-04-12 18:17:04 +02:00
Kharhamel
8cdf572685
Merge pull request #870 from joberthel/feature/player-companion
Added companion (pet) to player
2021-04-12 18:11:07 +02:00
Kharhamel
29d43d7776
Merge pull request #878 from thecodingmachine/localStorageGhost
FIX: improved the validation from localstorage for username and characterLayers
2021-04-12 14:56:51 +02:00
kharhamel
8e467f3e10 FIX: improved the validation from localstorage for username and characterLayers 2021-04-12 14:48:00 +02:00
David Négrier
3dd2a634a0 Allowing loading HTTP local resources from a HTTPS endpoint.
By default, maps are loaded in HTTPS if WorkAdventure is running in HTTPS, and in HTTP is WorkAdventure is running in HTTP.
Also, if WorkAdventure is running in HTTP and map loading fails, we try map loading in HTTPS (useful when we are working on WorkAdventure locally and want to load a map on a secure domain).

This commit adds the last combination: If WorkAdventure is running in HTTPS, and map loading fails in HTTPS **AND** if the map URL is targetting "localhost", "*.localhost" or "127.0.0.1", then we attempt to load the resource in HTTP.

Why?

"localhost" is considered secure context by modern browsers. So even if a page is loaded in HTTPS, it can load resources from any secure context (including localhost in HTTP).

This means that from "https://play.workadventu.re", I can now test a map running locally on my machine (served by a classic webserver without any certificate).
This change should make map testing easier, since map developers will not have to install the whole WorkAdventure project to test their map locally.
2021-04-11 14:56:03 +02:00
David Négrier
728fd4779c Dynamically fetching correct version and generating declarations only for npm lib 2021-04-11 11:32:56 +02:00
David Négrier
0f7ac7ba8b Added empty .npmignore to override .gitignore 2021-04-10 19:14:36 +02:00
David Négrier
6acf0ff047 Creating a dedicated package for iframe API typings
If users are willing to use Typescript to develop scripts for maps, they will need typings for the `WA` object.
This commit creates a new package (@workadventure/iframe-api-typings) that contains only the `iframe_api.d.ts` file.

The file is generated from the build of the front and isolated in this package.
This is necessary because the iframe_api.js file is supposed to always be loaded from WorkAdventure directly (and there is no @workadventure/iframe-api package and there will never be one)
2021-04-10 18:50:46 +02:00
Johannes Berthel
8d4e0c3e88 added companion compatibility with phaser 3.54.0 2021-04-09 18:30:30 +02:00
David Négrier
d80681c40b
Merge branch 'develop' into FTUEPopup 2021-04-09 17:40:26 +02:00
DESKTOP-FMM8UI0\CLV
2c84d9a07d position of popups changed
clear log in gameScene
2021-04-09 16:34:01 +02:00
DESKTOP-FMM8UI0\CLV
46cc7b3b3b add pannels 2021-04-09 14:35:15 +02:00
Johannes Berthel
32784d6775 Merge branch 'develop' into feature/player-companion 2021-04-08 23:37:36 +02:00
Johannes Berthel
73e515c236 don't show companion scene after first refresh 2021-04-08 18:42:05 +02:00
Johannes Berthel
2438470088 fixed rectangle resize issue 2021-04-06 20:31:08 +02:00
Johannes Berthel
fb90111cdf refactored companion selection scene 2021-04-06 20:12:10 +02:00
Johannes Berthel
187e21eed9 load texture inside game scene instead inside of inside companion class 2021-04-06 19:10:18 +02:00
Johannes Berthel
e5a196a42b implemented feedback 2021-04-06 18:54:45 +02:00
Johannes Berthel
7c6b73efdb don't show companion selection during first connexion flow 2021-04-06 18:36:46 +02:00
grégoire parant
575c1a9f23
Merge pull request #861 from joberthel/fix/use-selected-video-quality
Use selected video quality during webcam initialization
2021-04-06 15:08:03 +02:00
Johannes Berthel
6c512fb7cd fixed linting 2021-04-03 00:18:08 +02:00
Johannes Berthel
8c35860f2a show select companion scene after customize scene 2021-04-02 23:49:25 +02:00
Johannes Berthel
4aa082d83b Merge branch 'develop' into feature/player-companion 2021-04-02 23:40:30 +02:00
Johannes Berthel
3187520e7b companion behaviour fine tuning 2021-04-02 23:36:06 +02:00
Johannes Berthel
38c06ce8ff navigate from select character scene to select companion scene 2021-04-02 23:17:04 +02:00
Johannes Berthel
6ee4889773 added change companion button to menu 2021-04-02 23:13:03 +02:00
Johannes Berthel
52303c0bd6 added select companion scene 2021-04-02 23:00:51 +02:00
Johannes Berthel
4cfce15695 only remove listener if scene was not already destroyed 2021-04-02 21:29:45 +02:00
Johannes Berthel
e4d324e5fa removed unused import 2021-04-02 21:26:42 +02:00
Johannes Berthel
fc3a503bcf don't fail if companion texture is not found 2021-04-02 21:26:24 +02:00
Johannes Berthel
c07079051a transmit companion to remote players 2021-04-02 21:21:11 +02:00
Johannes Berthel
2ad712807b add companion only on local player 2021-04-02 17:14:34 +02:00
kharhamel
88cc15cd02 FEATURE: editing a room in the admin trigger a refresh system 2021-04-02 15:22:02 +02:00
Johannes Berthel
5a91e15580 add companion to remote player 2021-04-01 18:51:51 +02:00
David Négrier
8529037493
Merge pull request #864 from thecodingmachine/singledomain
Adding support for single domain deployments
2021-04-01 09:04:26 +02:00
Johannes Berthel
80a5d2e30e added random companion to player 2021-04-01 00:33:05 +02:00
kharhamel
a30923ceae FEATURE: improved the fullscreen and close buttons to be in the aside element 2021-03-31 18:39:51 +02:00
David Négrier
adf2e60d54 Fixing issue with double slash in websocket URL 2021-03-31 17:50:27 +02:00
David Négrier
e166c69b58 Fixing reading of the relative URL in RommConnection 2021-03-31 16:38:51 +02:00
David Négrier
11a1428c89 Fixing broken live-reload 2021-03-31 16:20:21 +02:00
David Négrier
f2e64c8763 Fixing missing API_URL warning 2021-03-31 16:20:11 +02:00
David Négrier
3ef1f0dc7b [Breaking change] UPLOADER_URL and ADMIN_URL are now true URLs (and not only host name) and API_URL is replaced by PUSHER_URL
API_URL is still accepted for BC compatibility of the self-hosted deployments.

This will allow deploying on a single domain, using a reverse proxy that acts on the path.
This however means that the config needs to be changed for all WorkAdventure deployments.
2021-03-31 16:00:14 +02:00
David Négrier
cd7a332b4c Improving error throwing and handling in pusher/admin/front 2021-03-31 15:49:01 +02:00
David Négrier
c2398efdc4
Merge pull request #860 from thecodingmachine/dependabot/npm_and_yarn/front/y18n-4.0.1
Bump y18n from 4.0.0 to 4.0.1 in /front
2021-03-31 09:25:14 +02:00