Commit Graph

419 Commits

Author SHA1 Message Date
haslersn
1796c09ca1 common: Rework volume API
See the doc comments in `common/src/vol.rs` for more information on
the API itself.

The changes include:

* Consistent `Err`/`Error` naming.
  * Types are named `...Error`.
  * `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
  to an upcoming change where a “map” in the game related sense will
  be added.
* Add volume iterators. There are two types of them:
  * _Position_ iterators obtained from the trait `IntoPosIterator`
    using the method
    `fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `Vec3<i32>`.
  * _Volume_ iterators obtained from the trait `IntoVolIterator`
    using the method
    `fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
  Those traits will usually be implemented by references to volume
  types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
  type which usually implements several volume traits, such as `Chunk`).
  * _Position_ iterators iterate over the positions valid for that
    volume.
  * _Volume_ iterators do the same but return not only the position
    but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
  `Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
  * `RasterableVol` represents a volume that is compile-time sized and has
    its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
    because such a volume can be used with `VolGrid3d`.
  * `RectRasterableVol` represents a volume that is compile-time sized at
    least in x and y direction and has its lower bound at `(0, 0, z)`.
    There's no requirement on he lower bound or size in z direction.
    The name `RectRasterableVol` was chosen because such a volume can be
    used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
Christoffer Lantz
7dce9c4fb9 Added unwrap_or to obj_str_opt in handle_object in case we don't return early in the _ => match arm 2019-09-02 01:22:09 -04:00
Christoffer Lantz
c154a41c5c Changed Spawned object: to Spawned: in handle_object 2019-09-02 01:22:09 -04:00
Christoffer Lantz
8f68df2bd1 Tells the user which object was spawned 2019-09-02 01:22:08 -04:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00:00
timokoesters
9a832dd56b Move std::mem::discriminant into new method 2019-08-30 22:51:46 -04:00
timokoesters
77a48c61a1 Fix rolling for the player 2019-08-30 22:50:53 -04:00
timokoesters
e674424974 Allow non player entites to be removed again 2019-08-30 22:47:39 -04:00
timokoesters
a95893e43b
Remove inventory::swap and improve inventory::insert 2019-08-31 00:09:25 +02:00
timokoesters
bd8e71c5aa
Rename activate_inventory_slot to use_inventory_slot 2019-08-30 22:46:45 +02:00
timokoesters
082ccd7c46
Avoid right-ward shift 2019-08-30 22:32:47 +02:00
timokoesters
952ec35857
Remove warnings 2019-08-29 19:54:53 +02:00
timokoesters
6e1c78e5d5
Add debug mode item giving speed boost in look_dir on click 2019-08-29 19:44:28 +02:00
timokoesters
155605841b
Use comp::Stats to store Equipment, make char weapon selection work 2019-08-29 19:44:28 +02:00
yashaslokesh
be71aea20b Changed exp type from f64 to u32 and altered exp calculations and function signatures to adhere to the new types
Signed-off-by: Yashas Lokesh <yashas.lokesh@gmail.com>
2019-08-27 22:33:14 +00:00
timokoesters
c4879307af
Update to github vek repo 2019-08-26 13:12:45 +02:00
timokoesters
05f2f168fd
Make falldamage local, don't use force update for local, cleanup 2019-08-26 13:12:43 +02:00
timokoesters
eb34e5bb27
fmt 2019-08-26 13:12:43 +02:00
timokoesters
3258fa3a3c
Add basis for projectiles
But we have no controller action to spawn them yet
2019-08-26 13:12:41 +02:00
Songtronix
814e858720
Split Events in ServerEvent and LocalEvent 2019-08-26 13:12:41 +02:00
timokoesters
e8ccbe75fa
Clean up entity spawning code 2019-08-26 13:12:39 +02:00
timokoesters
4d6a32e00f
Allow non player entites to be removed again 2019-08-26 13:12:35 +02:00
timokoesters
5d5ccd7b99
Move from state components to single CharaterState struct
This makes split animations easy and improves overall code quality
2019-08-26 13:12:34 +02:00
Joshua Yanovski
c02f2a7f9e Fixes to worldgen and adding a debug command.
Humidity and temperature are now indexed to uniform altitude *over land
chunks* (and water chunks adjacent to land) rather than over the whole
range of altitude.  This is necessary in order to satisfy the uniformity
conditions of the formula for weighted sum CDF.

Additionally, fixes the computation of whether a tree should be
generated or not.  Previously, it was using a source of randomness
scaled to use much less than the full 0-1 range; this has been resolved.
This makes for much nicer and more gradual transitions between densities
and reduces the amount of completely barren landscapes, while also
making forests larger.

Finally, this commit adds a server command, debug_column, which returns
some useful debug information about a column given an x and y
coordinate.  This is useful for debugging worldgen.
2019-08-26 11:52:25 +02:00
Acrimon
a41cf1a83d Disabled unsafe using lint level. 2019-08-19 14:39:23 +02:00
Monty Marz
29f6186139 hotbar changes
completely switched to. vox files

easier to see design

gradient and numbers on the health/mana bar
2019-08-18 18:07:21 +00:00
Piotr Korgól
586bf5faff Add adminify command to temporarily give admin perms 2019-08-17 23:35:01 +02:00
Acrimon
593deb828b [Server] Switched mpsc for crossbeam::channel. 2019-08-16 00:10:46 +02:00
Piotr Korgól
a777b67b2d Add needs_admin bool to check if the commands needs admin perms 2019-08-15 16:33:40 +02:00
Piotr Korgól
0221de484e Give singleplayer its own server settings 2019-08-14 17:51:59 +02:00
Piotr Korgól
8ec0a06bbe Fix spawn command, properly search for admins 2019-08-14 17:30:36 +02:00
Piotr Korgól
6882170d6f Add Admins field to the settings file 2019-08-14 17:30:36 +02:00
Piotr Korgól
98c0692260 Add AdminPerms component, make some commands require it 2019-08-14 17:30:36 +02:00
Acrimon
4f3b49ef8b Switched over the last std hashset. 2019-08-11 22:39:41 +02:00
Acrimon
b4a46f3e6e Finished switch to hashbrown. 2019-08-11 22:38:28 +02:00
Acrimon
4f2d99f809 Switch to hashbrown in server. 2019-08-11 21:48:02 +02:00
Acrimon
1c22f380b0 Adjusted default spawn height for now 2019-08-11 13:37:04 +02:00
Joshua Barretto
d5aee13c91 Merge branch 'zesterer/small-fixes' into 'master'
Added entity event system, fixed fall damage

See merge request veloren/veloren!418
2019-08-09 23:56:49 +00:00
Songtronix
612a3df528 fix time overflow crash 2019-08-09 09:13:28 +00:00
Joshua Barretto
2191921721 Merge branch 'telastrus/auth' into 'master'
Server-side authentication

See merge request veloren/veloren!419
2019-08-09 01:37:44 +00:00
telastrus
79b5c177cd swapped if for entry 2019-08-08 21:28:25 -04:00
telastrus
eadf3a7671 created basic AuthProvider which we can change to suit our needs 2019-08-08 18:24:14 -04:00
telastrus
35a3f67e19 ran cargo fmt 2019-08-08 12:05:38 -04:00
telastrus
58e8bd4af9 removed println statements 2019-08-08 12:03:12 -04:00
telastrus
f2ed2870c6 90% there 2019-08-08 11:23:58 -04:00
Piotr Korgól
9f2d66b025 Add a lantern strength limit to prevent shader overflows 2019-08-08 14:44:58 +02:00
telastrus
6d94d43021 still compiles 2019-08-07 23:56:02 -04:00
Joshua Barretto
e6f384fc11 Added default explosion radius 2019-08-07 18:18:32 +01:00
Joshua Barretto
5b62531da3 Added /explosion command 2019-08-07 18:17:04 +01:00
Joshua Barretto
192f5d355f Switched to EventBus system 2019-08-07 16:39:16 +01:00
Piotr Korgól
d3f2ca69a4 Change the version number to 0.3 2019-08-04 13:53:59 +02:00
Joshua Barretto
767ced8fe7 Limited entity spawning to 10 2019-08-04 11:30:05 +01:00
Joshua Barretto
ff114a83b5 Made bosses slightly more powerful 2019-08-04 10:32:50 +01:00
timokoesters
86e10c914c Adjust xp gains 2019-08-03 22:27:48 +02:00
timokoesters
74b7613cd9 Get rid of unwraps 2019-08-03 22:08:19 +02:00
timokoesters
7365dbe9e6 Give xp depending on max hp and lvl of entity killed 2019-08-03 21:30:01 +02:00
Piotr Korgól
8f86f5c483 Allow normal enemies to spawn as humanoids 2019-08-03 12:35:16 +02:00
Joshua Barretto
6ba5cf3224 More interesting enemy spawning 2019-08-02 21:31:22 +01:00
Joshua Barretto
23cfe50455 Better health accessors methods 2019-08-02 20:49:48 +01:00
Joshua Barretto
677c5781ba Added bosses, improved secret object spawn rates 2019-08-02 20:10:52 +01:00
Joshua Barretto
6ff75dcf0b Removed NPCs that are outside the VD 2019-08-02 20:10:52 +01:00
Joshua Barretto
b5d10bfb3e Added worldgen npcs 2019-08-02 20:10:52 +01:00
Dominik Broński
f644b6ab89 Revert "Merge branch 'imbris/upgrade_specs' into 'master'"
This reverts merge request !375
2019-08-01 23:32:33 +00:00
Imbris
5f56657f6c Upgrade specs to 0.15 2019-08-01 18:09:13 -04:00
Monty Marz
a5926eb40a 0.3. login bg 2019-08-01 17:53:34 +00:00
Piotr Korgól
ec550620ad Add a health bonus for level ups, fix pets 2019-08-01 18:56:08 +02:00
Joshua Barretto
2d0569c3d9 Better item throwing 2019-08-01 09:12:00 +01:00
Joshua Barretto
39fc1d6b71 Added entity pickup, changed item model 2019-08-01 09:12:00 +01:00
Joshua Barretto
331b6c8b3a Altered Item structure 2019-08-01 09:12:00 +01:00
Joshua Barretto
995090d2d4 Added item drops 2019-08-01 09:12:00 +01:00
Joshua Barretto
b3cae2f3dd Added better item manipulation 2019-08-01 09:09:26 +01:00
Joshua Barretto
31f8794c39 Started work on inventory manipulation 2019-08-01 09:09:26 +01:00
Joshua Barretto
123a78552a Fixed block-hopping on edges, added correct inventory slots 2019-08-01 09:09:26 +01:00
Joshua Barretto
5bb7998d5a Added inventory sync messages and InventoryUpdate component 2019-08-01 09:09:26 +01:00
timokoesters
040aa897c1 Fix needing all components to update physics at all 2019-07-31 20:10:52 +02:00
timokoesters
b695a63e98 Send different physics components individually 2019-07-30 13:35:16 +02:00
timokoesters
16b445c828 Fix bugs with Last<T> 2019-07-30 10:49:41 +02:00
timokoesters
03a82030ec Fix commands 2019-07-30 10:10:58 +02:00
timokoesters
c6034bf450 Use Last<C> to check if a physics component changed 2019-07-30 08:32:03 +02:00
Monty Marz
5cfc60da50 Small chat fixes 2019-07-29 14:40:46 +00:00
Acrimon
ee49ebe807 Update rand, log and scan_fmt 2019-07-29 13:42:26 +00:00
Piotr Korgól
88db83c92a Instantly level up after reaching the required exp amount 2019-07-29 14:30:38 +02:00
Joshua Barretto
4a198ca626 Numerous minor lighting fixes 2019-07-29 13:01:39 +01:00
Timo Koesters
dcb34385fd Merge branch 'update-dependencies' into 'master'
Update most dependencies

See merge request veloren/veloren!372
2019-07-28 20:52:42 +00:00
timokoesters
5aa864ee58
Update most dependencies 2019-07-28 22:47:23 +02:00
neronim66@gmail.com
2c5dc0c3ff after review 2019-07-28 16:24:47 +02:00
kacper
999b6709a3 formatting 2019-07-28 16:00:14 +02:00
kacper
fd0df4177f lantern strength and clamp values 2019-07-28 13:36:35 +02:00
Christoffer Lans
633b8a1701 Command: '/time' without any arguments; gives the client the current time 2019-07-28 11:12:17 +00:00
Monty Marz
31d9e73a52 change server startup time to 32400.0 / 9:00 AM 2019-07-28 10:46:03 +00:00
Monty Marz
33565b9480 added comment about object rotation, changed lantern spawning command, changed /tell output when you /tell yourself 2019-07-28 09:21:17 +00:00
Piotr Korgól
5c84508015 Get EXP for killing NPCs and Players, properly show EXP bar 2019-07-26 20:51:40 +02:00
Christoffer Lantz
14bee47e58 Applied cargo fmt 2019-07-26 16:38:31 +02:00
Christoffer Lantz
71347b5d11 match arms in handle_time now returns a NaiveTime object instead of f64 2019-07-26 16:16:35 +02:00
Christoffer Lantz
9d245e5edd Now tells the client what the time was changed to 2019-07-26 16:03:05 +02:00
Christoffer Lantz
dbe9c5d696 Adds the ability to change time with /time with HH:MM format. e.g. 12:43 2019-07-26 15:43:39 +02:00
tommy
75792d374b Fix chat calls 2019-07-26 07:42:10 -04:00
tommy
95b5f4acfb Added private, broadcast, and game_state messages 2019-07-26 07:29:37 -04:00
tommy
ea0bbe7e47 Rebase fixes 2019-07-26 07:29:37 -04:00
tommy
8bac6e1e72 Correct tells 2019-07-26 07:29:37 -04:00
tommy
cc6aa6f33d Adds colour to tells in chat box #194 2019-07-26 07:29:37 -04:00
Nero
53086cb3b2 Nero/light offsets 2019-07-25 20:51:20 +00:00
Pfauenauge90
7a141ad111 More objects 2019-07-24 02:50:19 +02:00
Pfauenauge90
9fd2849c6c chat warning for unknown objects 2019-07-24 02:50:19 +02:00
Pfauenauge90
85281e7e54 spawn objects by name 2019-07-24 02:50:19 +02:00
Pfauenauge90
f6e24d8161 Comand for specific model spawning part I 2019-07-24 02:50:19 +02:00
Joshua Barretto
5cdfb26e0d Added LightEmitter component 2019-07-21 19:22:49 +01:00
Joshua Barretto
16c8ecec66 Fixed light cap 2019-07-21 19:22:49 +01:00
Joshua Barretto
1dc654dde7 Added object entities 2019-07-21 19:22:49 +01:00
Jessie Mancer
4893ab5c2a fix spawn command placement to be random to improve AI responsivity and not spawn directly on player 2019-07-21 18:22:13 +00:00
Songtronix
de2dbcef45 add global git hash constant 2019-07-21 17:45:31 +00:00
Joshua Barretto
58a41d4bec Merge branch 'tell_fix' into 'master'
Fix tell command, rename to /tell

See merge request veloren/veloren!343
2019-07-20 16:10:16 +00:00
Joshua Barretto
ce327445a7 Send block diffs instead of entire chunks on block change 2019-07-20 16:41:03 +01:00
Marcel Märtens
98b0a40a22 Change default port of veloren from 59003 to 14004
TCP and UDP Ports for applications should lie in a range between 1024-49151
the ports below are used for privileged services
the ports above should be dynamicly assigned.
Port 14004 seems to be used by no other service and i like it personally, so we choose it.

Also deactivate the workaround for the secondary veloren server again
2019-07-20 13:59:35 +02:00
Tom Watson
025e0712be Update cmd.rs 2019-07-19 18:26:10 +00:00
tommy
a442371a1f Fix tell command, rename to /tell 2019-07-18 11:19:44 -04:00
tommy
e60881079f Add "You tell {}" message to sending player 2019-07-17 15:01:04 -04:00
tommy
8bb4993a79 rustfmt issue 2019-07-17 14:04:07 -04:00
tommy
3c6fb7a3ec Merge branch 'master' into 191_player_to_player_dm 2019-07-17 13:53:10 -04:00
Forest Anderson
b8993f568f Merge branch '183_add_killnpcs_command' into 'master'
/killnpcs command, closes #183

Closes #183

See merge request veloren/veloren!329
2019-07-17 17:34:36 +00:00
Songtronix
5b31c7c1f9 little cleanup 2019-07-17 19:03:37 +02:00
Songtronix
bfa6a2e2a2 add configurable TimeOfDay 2019-07-17 18:32:02 +02:00
Songtronix
bf82f5925d maybe improved setting file handling 2019-07-17 18:32:01 +02:00
Songtronix
b41508f025 generalise errors based on zests suggestion 2019-07-17 18:32:01 +02:00
Songtronix
b6c8bdc223 add configurable max player count 2019-07-17 18:32:01 +02:00
Songtronix
bbb024224d add configureable server info 2019-07-17 18:32:01 +02:00
Songtronix
1213d9844b add customizable port and worldseed 2019-07-17 18:32:00 +02:00
tommy
732eb9a0e8 Code review updates 2019-07-15 13:10:24 -04:00
tommy
bfa42dd33b Incorporated changes from Imbris 2019-07-14 16:35:22 -04:00
tommy
6d8eea5085 rustfmt issues 2019-07-14 13:39:27 -04:00
tommy
52b65d5938 Stopped 'spammy' output 2019-07-14 13:30:02 -04:00
tommy
5dee589107 Player to player DM #191 2019-07-13 00:25:44 -04:00
tommy
3c9046c5d0 rustfmt updates 2019-07-12 17:43:20 -04:00
tommy
42861541cf Updates based on code review #183 2019-07-12 17:16:07 -04:00
Acrimon
b4f2cd1547 Resolve discussion from Timo. 2019-07-12 19:56:40 +02:00
Acrimon
ccc7cb2976 Ran rustfmt 2019-07-12 21:29:16 +02:00
Acrimon
69537f7dd9 Switched threadpool impl for veloren/server. 2019-07-12 18:30:15 +02:00
Joshua Barretto
c2a11ed6b2 Improved worldgen performance with more precise z bound checks 2019-07-08 15:51:38 +01:00
timokoesters
0236e2e8f2
Show join message after selecting a character 2019-07-05 22:16:06 +02:00
Piotr Korgól
1f381cd99b Even more cleanups 2019-07-03 22:46:43 +02:00
Piotr Korgól
42a4cc8095 Add block breaking 2019-07-03 21:56:54 +02:00
Piotr Korgól
7f08377001 Sync CanBuild component, fix /build messages 2019-07-03 21:28:07 +02:00
Piotr Korgól
bf748ae742 Add CanBuild component, Block placing client messages and build mode command 2019-07-03 21:28:07 +02:00
timokoesters
f5da167ce5
Fix warnings and clippy recommendations in common 2019-07-02 15:48:25 +02:00
Piotr Korgól
a66dc9a24f Add /health command 2019-07-01 20:07:30 +00:00
Songtronix
ea340ddac7 fix warnings from server 2019-07-01 18:49:42 +00:00
Songtronix
1ee65a66cf Clean server and server-cli 2019-07-01 16:38:19 +00:00
Joshua Barretto
631df59083 Merge branch 'zesterer/small-fixes' into 'master'
Fixed chonk memory usage bug, added block manipulation

See merge request veloren/veloren!278
2019-07-01 15:22:04 +00:00
Joshua Barretto
a55bbca6e3 Only create one block with /solid 2019-07-01 15:38:40 +01:00
Joshua Barretto
489f5f6b2a fmt 2019-07-01 14:38:45 +01:00