130 Commits

Author SHA1 Message Date
87d89c9885 more remakes 2025-12-20 11:38:27 -05:00
3cec532fcd new jet sound 2025-12-19 17:00:04 -05:00
b4db8eea0e Merge branch 'master' into use-remade-sfx
# Conflicts:
#	crates/client/src/main.rs
2025-12-19 16:48:23 -05:00
7086338255 better loops 2025-12-19 16:47:02 -05:00
a4488cc072 allow gamepad to open/nav pause menu 2025-12-19 14:49:40 -05:00
14a307f29a generalize cooldown 2025-12-19 14:47:05 -05:00
5278bc9d1f volume change sound
and simplify volume change logic
2025-12-19 14:31:14 -05:00
c34fe0c90c make debounce functionality into a reusable ting 2025-12-19 14:09:36 -05:00
extrawurst
8132203653 Pause menu functionality (#89)
* make menu use actual soundsettings values
* allow changing volume in pause menu
* persist saving settings
2025-12-19 13:49:41 -05:00
7b233f2220 allow controlling volume for sound/music 2025-12-19 09:08:02 -05:00
1eb88cc1a6 cleanup 2025-12-18 21:18:36 -05:00
83729e2699 cleanup since we allow this now on workspace level 2025-12-18 16:54:03 -05:00
51596bd331 fix happy_feet debug rendering 2025-12-18 16:41:43 -05:00
extrawurst
7cfae285ed Crate unification (#88)
* move client/server/config into shared

* move platforms into shared

* move head drops into shared

* move tb_entities to shared

* reduce server to just a call into shared

* get solo play working

* fix server opening window

* fix fmt

* extracted a few more modules from client

* near completely migrated client

* fixed duplicate CharacterInputEnabled definition

* simplify a few things related to builds

* more simplifications

* fix warnings/check

* ci update

* address comments

* try fixing macos steam build

* address comments

* address comments

* CI tweaks with default client feature

---------

Co-authored-by: PROMETHIA-27 <electriccobras@gmail.com>
2025-12-18 12:31:22 -05:00
c80129dac1 cleanup global_observers 2025-12-18 08:24:49 -05:00
380bf896ea add troll 2025-12-16 17:06:50 -05:00
b7414f146a more matching jet speed 2025-12-16 16:52:43 -05:00
e4c8df8a57 cleanup 2025-12-16 16:52:21 -05:00
7088d863dd some more level 2025-12-15 20:00:53 -05:00
extrawurst
d93b38d1c8 replication for client side projectiles (#87) 2025-12-14 13:41:45 -05:00
extrawurst
e7ebff2029 Run trigger logic client side (#86) 2025-12-11 22:36:29 -05:00
e044558a93 fix duplicate heads collecting
turns out we did not consider the ActiveHeads just duplicates in the backpack
2025-12-10 19:32:32 -05:00
abf037baa3 fix steam-alpha discord message 2025-12-10 19:01:58 -05:00
PROMETHIA-27
65663f682f Clientside Backpack UI (#84) 2025-12-10 18:31:42 -05:00
PROMETHIA-27
668ed93475 Simpler + Better Inputs (#82)
* switch to events for instantaneous inputs

* input simplification + improvements

* fix trail crash

* fix clippy warnings

* qualify `Trail` in fn signature
2025-12-10 14:41:21 -05:00
extrawurst
b177c880e3 fix steam-alpha pipeline (#83)
use custom discord action instead of broken one
2025-12-10 06:47:10 -05:00
29db17e11a make geisha curver, add fan
fix CurverProjectile replcation
2025-12-09 20:08:35 -05:00
da5fd201b1 optional head drop impulse 2025-12-09 16:21:26 -05:00
extrawurst
4e169c1506 fix missile trails (#81)
added replicated `SpawnTrail` that acts as a marker and gets picked up by the client to create the visuals.
2025-12-09 16:16:09 -05:00
5c0e78cb8a fix impulse of head/key drops 2025-12-09 08:23:59 -05:00
456d6ec92a replicate Npc marker component
this fixes the broken target_ui
2025-12-09 06:44:04 -05:00
0a3b5253d1 fix rotation 2025-12-08 21:31:30 -05:00
10702d46b4 lower vol for music 2025-12-08 21:24:06 -05:00
a647edfa13 more sounds 2025-12-08 21:04:18 -05:00
da0d335c09 wip 2025-12-08 21:04:18 -05:00
845cae4389 make player and client bound together
this cleansup and allows rejoining a running server
2025-12-08 20:51:46 -05:00
PROMETHIA-27
ff52258ad2 Switch to replicon (#80) 2025-12-08 19:22:17 -05:00
7a5d2e6914 cleanup ci script 2025-12-06 10:31:41 -03:00
extrawurst
432f245140 fix ci (#79) 2025-12-05 23:39:37 -03:00
extrawurst
0649a3e5b9 try fixing ci (#78) 2025-12-05 22:35:28 -03:00
072badcc14 new export of geisha 2025-12-05 16:28:06 -03:00
434184f872 new char 2025-12-02 23:07:08 -03:00
18a799b151 fix npc aiming and shooting 2025-11-17 16:10:10 -03:00
f24736ed73 remove old fix for rotated entites from BTB 2025-11-17 15:51:08 -03:00
19b4dcc73f add new character 2025-11-17 15:47:02 -03:00
PROMETHIA-27
b83e506a4d Bevy 0.17 Migration Final PR (#76)
* Get bevy 0.17 compiling and running (#72)

* get bevy 0.17 compiling and running

* try to fix CI breaking from const assertion for client/server features

* fix `bin` -> `lib` for `shared` in CI

* typo

* fix some collider issues (#73)

* Physics/controller improvements (#74)

* trying to fix physics prediction

* fixed prediction desync

* substantial controller improvements

* Finish off main bevy 0.17 migration (#75)

* fix lookdir issues
- airplane moving backwards
- player model facing backwards
- camera was technically backwards the whole time, and player models were facing the right way; camera is now facing forwards
- firing without a target now respects lookdir

* fix aim targeting

* migrate to bevy_trenchbroom 0.10 crates release

* fixed colliders not being adjusted out of worldspace

* predict platforms to stop constant rollbacks while riding them

* fix key/head drop visuals not working

* Fix key/head drop random initial force

* fixed static head drops duplicating

* fix platform velocity inheritance

* fix thrown projectiles not autorotating

* fix inconsistent explosion animations

* update avian3d to 0.4.1

* fix controller snapping to fixed angle upon switching heads

* clean up commented code

* fix broken physics positions

* Clean comments, fix warnings (#77)

* clean comments, fix warnings

* fix missing import

* steamworks 162 libs

* fix mouselook

---------

Co-authored-by: extrawurst <mail@rusticorn.com>
2025-11-15 09:16:38 -05:00
ad1b7446e1 add new character 2025-11-14 11:31:29 -03:00
7cc215ebd8 add new character 2025-11-11 11:36:24 +01:00
PROMETHIA-27
f8540b01e0 Fix tab looking/general input consistency improvement (#71)
* fix tab looking/general input consistency improvement

* fix input drops from consecutive FixedUpdates
2025-10-21 06:01:33 +01:00
5d2ac11ebd add chicago gangster model 2025-10-20 13:08:02 +01:00
PROMETHIA-27
11684b80a9 move clientside gated parts of control to the client (#70) 2025-10-08 19:54:39 -03:00
PROMETHIA-27
8f24f4e03a Fix input drops/repetitions (#69) 2025-10-07 16:31:17 -03:00
adaa9cab30 new model 2025-10-02 11:42:15 -03:00
f24cab34b4 for now no ability on nanny 2025-09-30 13:19:51 -03:00
cf11f4c191 cleanup 2025-09-30 13:00:40 -03:00
90d5b874ca add nanny model 2025-09-30 13:00:35 -03:00
00455bf212 new models 2025-09-30 11:55:33 -03:00
541875d70c some small model fixes 2025-09-30 10:13:27 -03:00
fcdfdf07ae new models 2025-09-29 18:31:36 -03:00
8bc3e5a056 simplify debugging missing markers 2025-09-29 17:10:42 -03:00
PROMETHIA-27
a16ee231cc Replicate Sounds (#68) 2025-09-29 15:46:38 -03:00
PROMETHIA-27
a07dfb3840 update lightyear + fix aiming crash (#67) 2025-09-28 12:55:46 -04:00
PROMETHIA-27
fb4c6f501c Sync reloading and cash (#66) 2025-09-27 17:04:19 -03:00
PROMETHIA-27
83c59519e5 Synchronize Trenchbroom map entities (#65) 2025-09-27 16:17:09 -03:00
PROMETHIA-27
d582313013 Cutscene + Items + Target sync (#64) 2025-09-27 08:58:05 -03:00
PROMETHIA-27
2f5d154d26 Client/Server Feature Split (#63) 2025-09-26 22:59:08 -03:00
PROMETHIA-27
7f6c00b5d6 Input replication (#62) 2025-08-25 11:41:28 +04:00
PROMETHIA-27
c650924d68 Animation sync (#60) 2025-07-29 13:32:54 +02:00
PROMETHIA-27
0bd3fb0e80 fix character model swapping (#61) 2025-07-26 19:12:37 +02:00
d55f651a12 fix particle 2025-07-22 23:20:50 +02:00
84c3efc6c2 new medic animations 2025-07-22 22:50:05 +02:00
PROMETHIA-27
fc81e0ad21 Update Lightyear to 0.22.4 (#59) 2025-07-22 09:36:37 +02:00
PROMETHIA-27
fdee4cf37c Controller Replication (#57) 2025-07-20 15:43:10 +02:00
PROMETHIA-27
4c23288511 update happy_feet (#58) 2025-07-19 23:35:15 +02:00
PROMETHIA-27
0e8b0bb677 Replicate explosion effects (#56) 2025-07-14 00:24:34 +02:00
d4bea5a7ac new goblin character 2025-07-11 12:04:55 +02:00
013eb9e6b1 fresh legionaire export 2025-07-11 10:58:59 +02:00
16052fc61d new projectile models 2025-07-11 00:41:38 +02:00
extrawurst
78b09b33d6 Lightyear setup (#55) 2025-07-10 23:21:11 +02:00
691b9eed33 startup steam on server aswell 2025-07-05 19:38:15 +01:00
f993c6f7de code sharing for steam setup
+ strip server a bit more
2025-07-05 17:53:54 +01:00
132db8dbe8 set animation flags independant of controller 2025-07-03 17:16:07 +02:00
6bfdcf37fc new mig pilot 2025-07-03 16:57:55 +02:00
extrawurst
7cb9a33f79 Pause menu dummy (#54) 2025-06-29 22:53:27 +02:00
extrawurst
7996d632f7 Split crate into shared logic library and binary crate (#52) (#53) 2025-06-29 12:45:25 +02:00
5d4c7630ef Revert "clippy fixes"
This reverts commit f6e94cfd32.
2025-06-29 10:54:59 +02:00
f6e94cfd32 clippy fixes 2025-06-28 23:22:24 +02:00
9aed0e9381 rename client back to hedz_reloaded 2025-06-28 23:21:46 +02:00
PROMETHIA-27
b93c0e4d96 Split crate into shared logic library and binary crate (#52) 2025-06-28 22:53:40 +02:00
extrawurst
5d00cede94 Sync projectiles animations (#51) 2025-06-25 17:17:21 +02:00
63dea78c4f better projectile origin 2025-06-25 15:52:35 +02:00
9a1d4648c0 new models 2025-06-25 14:32:35 +02:00
f45a0bdc1b new models 2025-06-24 18:53:46 +02:00
894f4b1214 new models 2025-06-24 18:52:35 +02:00
05d32c943d fix camera angles to prevent char from disappearing 2025-06-24 17:42:36 +02:00
PROMETHIA-27
6e23d12655 Constant interpolated animation transitions (#50)
* Set transition duration to 0s

* use Duration::ZERO
2025-06-23 23:46:45 +02:00
2add5f627b fix switching controller on NPC spawning 2025-06-23 22:23:05 +02:00
c1bf090247 new fixed animation interpolation 2025-06-23 18:49:37 +02:00
d04c5eb84f hammer thrower can also not be interrupted 2025-06-23 18:13:25 +02:00
PROMETHIA-27
376ae8c770 Uninterruptible shooting animations (#49) 2025-06-23 14:06:36 +02:00
b5d15187dd fmt 2025-06-23 13:37:10 +02:00
PROMETHIA-27
8cb7e46d97 commit rustfmt.toml (#48) 2025-06-23 12:29:55 +02:00
4cb7167e09 cleanup warningd 2025-06-23 12:27:49 +02:00
PROMETHIA-27
3997beee03 Wiring up animations (#47) 2025-06-23 12:02:26 +02:00
1aa83320b6 cleanup 2025-06-23 00:08:32 +02:00
7700d4bef9 beaming in characters 2025-06-23 00:05:24 +02:00
241b96fcc7 spawn npcs in order 2025-06-21 12:06:56 +02:00
extrawurst
28ad53fd68 Player can loose head (#46) 2025-06-20 17:35:00 +02:00
a8f2116804 support empty head slots 2025-06-20 17:19:28 +02:00
66cbff654f add test character line up 2025-06-20 12:42:13 +02:00
extrawurst
ae18353163 New animations (#45) 2025-06-20 01:48:28 +02:00
99eb0bf9c8 use observable collision events
to simplify key/head_drop collecting
2025-06-20 00:39:33 +02:00
PROMETHIA-27
71d43767bd tune flying controls (#44) 2025-06-19 09:38:25 +02:00
PROMETHIA-27
e1abb02cb8 Fix character controller jitter (#43)
* fix jitter while moving character controller

* added transform interpolation to character controller
2025-06-19 09:27:59 +02:00
extrawurst
a2ea917c1e use happy_feet as kinematic character controller (#42) 2025-06-17 21:27:20 +02:00
580419e823 all head_drop icons 2025-06-12 20:04:25 +02:00
4116c4a939 all abilities for level 1 2025-06-09 22:12:55 +02:00
80725e0e84 more head_drops 2025-06-09 22:08:15 +02:00
59c5b1f808 unify explosion handling 2025-06-09 22:02:17 +02:00
69e112082a remove hack 2025-06-09 00:09:55 +02:00
703600060b clippy 2025-06-08 23:59:19 +02:00
00c2c08f06 curver ability 2025-06-08 23:58:03 +02:00
8da601e557 more head types 2025-06-06 14:29:27 +02:00
e9f78f25ff some more head drops 2025-06-06 10:36:26 +02:00
6e8e995da5 use different head drop meshes 2025-06-06 10:15:45 +02:00
67320b3be4 new static props 2025-06-06 09:31:19 +02:00
fb1c004f8c use remade soundtrack 2025-06-05 13:10:36 +02:00
b661844107 btb update 2025-05-26 00:47:29 +02:00
bdb0cdd04a update trenchbroom 2025-05-26 00:44:38 +02:00
15059cc6ce update to origin dep again 2025-05-24 22:24:06 +02:00
251 changed files with 9991 additions and 5634 deletions

2
.cargo/config.toml Normal file
View File

@@ -0,0 +1,2 @@
[env]
BEVY_ASSET_ROOT = { value = "", relative = true }

View File

@@ -0,0 +1,59 @@
name: "Discord Webhook"
description: "Send a message to Discord via webhook using curl"
inputs:
webhook_url:
description: "Discord webhook URL"
required: true
message:
description: "Message to send"
required: true
username:
description: "Override the default username of the webhook"
required: false
default: ""
avatar_url:
description: "Override the default avatar of the webhook"
required: false
default: ""
color:
description: "Embed color (decimal number)"
required: false
default: ""
runs:
using: "composite"
steps:
- name: Send Discord notification
shell: bash
run: |
MESSAGE='${{ inputs.message }}'
if [ -n "${{ inputs.color }}" ]; then
# Send as embed with color
PAYLOAD=$(jq -n \
--arg content "$MESSAGE" \
--arg username "${{ inputs.username }}" \
--arg avatar "${{ inputs.avatar_url }}" \
--arg color "${{ inputs.color }}" \
'{
content: (if $content != "" then $content else null end),
username: (if $username != "" then $username else null end),
avatar_url: (if $avatar != "" then $avatar else null end),
embeds: (if $color != "" then [{description: $content, color: ($color | tonumber)}] else null end)
} | with_entries(select(.value != null))')
else
# Send as simple message
PAYLOAD=$(jq -n \
--arg content "$MESSAGE" \
--arg username "${{ inputs.username }}" \
--arg avatar "${{ inputs.avatar_url }}" \
'{
content: $content,
username: (if $username != "" then $username else null end),
avatar_url: (if $avatar != "" then $avatar else null end)
} | with_entries(select(.value != null))')
fi
curl -H "Content-Type: application/json" \
-d "$PAYLOAD" \
"${{ inputs.webhook_url }}"

View File

@@ -15,19 +15,19 @@ jobs:
toolchain: stable
components: clippy, rustfmt
- name: "Install and cache dependencies (Linux)"
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
version: 1.0
- name: install linux dependencies
if: runner.os == 'linux'
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
- name: Build
run: |
cargo build --release --locked --target=x86_64-unknown-linux-gnu
cargo build --release --locked --target=x86_64-unknown-linux-gnu --bin hedz_reloaded
- name: Archive
run: |
cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded hedz_reloaded
cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded ./
tar -czf steamos.tar.gz hedz_reloaded
- uses: actions/upload-artifact@v4

View File

@@ -20,20 +20,19 @@ jobs:
run: |
which cargo-xwin || cargo install --locked cargo-xwin
- name: "Install and cache dependencies (Windows)"
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: lld clang cmake ninja-build
version: 1.0
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y lld clang cmake ninja-build
- name: Build binaries (Windows)
run: |
cargo xwin build --locked --release --target=x86_64-pc-windows-msvc
cargo xwin build --locked --release --target=x86_64-pc-windows-msvc --bin hedz_reloaded
- name: Archive
run: |
ls -lisa target/x86_64-pc-windows-msvc/release/
cp target/x86_64-pc-windows-msvc/release/hedz_reloaded.exe hedz_reloaded.exe
cp target/x86_64-pc-windows-msvc/release/hedz_reloaded.exe ./
tar -czf win.tar.gz hedz_reloaded.exe
- uses: actions/upload-artifact@v4

View File

@@ -22,12 +22,11 @@ jobs:
toolchain: stable
components: clippy, rustfmt
- name: "Install and cache dependencies (Linux)"
- name: install linux dependencies
if: runner.os == 'linux'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
version: 1.0
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
- name: Formatting
run: |
@@ -39,8 +38,10 @@ jobs:
- name: Build
run: |
cargo build
cargo build --bin hedz_reloaded
cargo build --bin hedz_reloaded_server --no-default-features
- name: Tests
run: |
cargo test
cargo test --lib hedz_reloaded
cargo test --lib hedz_reloaded --no-default-features

View File

@@ -15,15 +15,19 @@ jobs:
toolchain: stable
components: clippy, rustfmt
- name: "Install and cache dependencies (Linux)"
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
version: 1.0
- name: Build
- name: install linux dependencies
if: runner.os == 'linux'
run: |
cargo build --locked --target=x86_64-unknown-linux-gnu
sudo apt-get update
sudo apt-get install -y libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
- name: Build client
run: |
cargo build --locked --target=x86_64-unknown-linux-gnu --bin hedz_reloaded
- name: Build server
run: |
cargo build --locked --target=x86_64-unknown-linux-gnu --bin hedz_reloaded_server --no-default-features
- name: Lints
run: |
@@ -31,8 +35,8 @@ jobs:
- name: Archive
run: |
cp target/x86_64-unknown-linux-gnu/debug/hedz_reloaded hedz_reloaded
tar -czf steamos-debug.tar.gz hedz_reloaded
cp target/x86_64-unknown-linux-gnu/debug/hedz_reloaded target/x86_64-unknown-linux-gnu/debug/hedz_reloaded_server ./
tar -czf steamos-debug.tar.gz hedz_reloaded hedz_reloaded_server
- uses: actions/upload-artifact@v4
with:

View File

@@ -22,13 +22,13 @@ jobs:
- name: Build (lipo)
run: |
cargo build --release --target=x86_64-apple-darwin
cargo build --release --target=aarch64-apple-darwin
cargo build --release --target=x86_64-apple-darwin --bin hedz_reloaded
cargo build --release --target=aarch64-apple-darwin --bin hedz_reloaded
lipo -create -output target/release/hedz_reloaded target/aarch64-apple-darwin/release/hedz_reloaded target/x86_64-apple-darwin/release/hedz_reloaded
- name: Archive
run: |
cp target/release/hedz_reloaded ./hedz_reloaded
cp target/release/hedz_reloaded ./
tar -czf hedz-macos.tar.gz hedz_reloaded
ls -lisah hedz-macos.tar.gz
@@ -80,10 +80,10 @@ jobs:
id: vars
run: |
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
echo "branch=$(git branch --show-current)" >> $GITHUB_OUTPUT
- name: Discord notification
uses: appleboy/discord-action@v1.2.0
uses: ./.github/actions/discord-webhook
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
message: New macos release (`${{ steps.vars.outputs.branch }}`) [`${{ steps.vars.outputs.sha_short }}`]
@@ -103,7 +103,7 @@ jobs:
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
version: 1.0
version: 2
- uses: leafwing-studios/cargo-cache@v2
with:
@@ -111,11 +111,11 @@ jobs:
- name: Build
run: |
cargo build --locked --release --target=x86_64-unknown-linux-gnu
cargo build --locked --release --target=x86_64-unknown-linux-gnu --bin hedz_reloaded
- name: Archive
run: |
cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded hedz_reloaded
cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded ./
tar -czf steamos.tar.gz hedz_reloaded
- uses: actions/upload-artifact@v4
@@ -126,7 +126,7 @@ jobs:
- name: Copy Binary for SteamOS
run: |
mkdir -p build/steamos/content
cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded build/steamos/content/hedz_reloaded
cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded build/steamos/content/
- name: Install SteamCMD
run: |
@@ -161,10 +161,10 @@ jobs:
id: vars
run: |
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
echo "branch=$(git branch --show-current)" >> $GITHUB_OUTPUT
- name: Discord notification
uses: appleboy/discord-action@v1.2.0
uses: ./.github/actions/discord-webhook
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
message: New steamos release (`${{ steps.vars.outputs.branch }}`) [`${{ steps.vars.outputs.sha_short }}`]
@@ -185,20 +185,19 @@ jobs:
run: |
which cargo-xwin || cargo install --locked cargo-xwin
- name: "Install and cache dependencies (Windows)"
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: lld clang cmake ninja-build
version: 1.0
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y lld clang cmake ninja-build
- name: Build binaries (Windows)
run: |
cargo xwin build --locked --release --target=x86_64-pc-windows-msvc
cargo xwin build --locked --release --target=x86_64-pc-windows-msvc --bin hedz_reloaded
- name: Move binary
run: |
ls -lisa target/x86_64-pc-windows-msvc/release/
cp target/x86_64-pc-windows-msvc/release/hedz_reloaded.exe build/win/hedz_reloaded.exe
cp target/x86_64-pc-windows-msvc/release/hedz_reloaded.exe build/win/
- uses: ./.github/actions/steamcmd
with:
@@ -217,10 +216,10 @@ jobs:
id: vars
run: |
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
echo "branch=$(git branch --show-current)" >> $GITHUB_OUTPUT
- name: Discord notification
uses: appleboy/discord-action@v1.2.0
uses: ./.github/actions/discord-webhook
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
message: New windows release (`${{ steps.vars.outputs.branch }}`) [`${{ steps.vars.outputs.sha_short }}`]

1
.gitignore vendored
View File

@@ -5,3 +5,4 @@ build/steamos/hedz_reloaded
build/steamos/.env
build/macos/src/HEDZReloaded.app/Contents/MacOS
build/macos/src/Applications
server.log

2
.rustfmt.toml Normal file
View File

@@ -0,0 +1,2 @@
imports_granularity = "Crate"
group_imports = "One"

4077
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,9 @@
[package]
name = "hedz_reloaded"
version = "0.1.0"
edition = "2024"
build = "build.rs"
[workspace]
resolver = "3"
members = ["crates/*"]
[profile.dev.package."*"]
opt-level = 3
[features]
dbg = ["avian3d/debug-plugin", "dep:bevy-inspector-egui"]
[dependencies]
avian3d = { version = "0.3", default-features = false, features = [
[workspace.dependencies]
avian3d = { version = "0.4.0", default-features = false, features = [
"3d",
"f32",
"parry-f32",
@@ -19,29 +11,72 @@ avian3d = { version = "0.3", default-features = false, features = [
"bevy_scene",
"bevy_picking", # todo: Consider if this one is necessary
"parallel",
"serialize",
] }
bevy = { version = "0.17.0", default-features = false, features = [
"animation",
"async_executor",
"bevy_asset",
"bevy_color",
"bevy_core_pipeline",
"bevy_gilrs",
"bevy_gizmos",
"bevy_gltf",
"bevy_input_focus",
"bevy_log",
"bevy_mesh_picking_backend",
"bevy_pbr",
"bevy_picking",
"bevy_render",
"bevy_scene",
"bevy_sprite",
"bevy_sprite_picking_backend",
"bevy_state",
"bevy_text",
"bevy_ui",
"bevy_ui_render",
"bevy_ui_picking_backend",
"default_font",
"hdr",
"multi_threaded",
"png",
"reflect_auto_register",
"smaa_luts",
"std",
"sysinfo_plugin",
"tonemapping_luts",
"vorbis",
"webgl2",
"zstd_rust",
"track_location",
] }
bevy-inspector-egui = "0.34"
bevy-steamworks = "0.15.0"
bevy_asset_loader = "=0.24.0-rc.1"
bevy_ballistic = { git = "https://github.com/rustunit/bevy_ballistic.git", rev = "b08ffec" }
bevy_common_assets = { version = "0.14.0", features = ["ron"] }
bevy_debug_log = { git = "https://github.com/rustunit/bevy_debug_log.git", rev = "86051a0" }
bevy_pkv = { version = "0.14", default-features = false, features = [
"bevy",
"redb",
] }
bevy_replicon = "0.37.1"
bevy_replicon_renet = "0.13.0"
bevy_sprite3d = "7.0.0"
bevy_trenchbroom = { version = "0.10", default-features = false, features = [
"physics-integration",
] }
bevy_trenchbroom_avian = "0.10"
clap = { version = "=4.5.47", features = ["derive"] }
happy_feet = { git = "https://github.com/rustunit/happy_feet.git", rev = "919657fa", features = [
"serde",
] }
bevy = { version = "0.16.0", features = ["track_location"] }
bevy_trenchbroom = { version = "0.8.0", features = ["avian"] }
nil = "0.14.0"
bevy_asset_loader = "0.23.0-rc.3"
bevy_sprite3d = "5.0.0"
rand = "=0.8.5"
bevy-inspector-egui = { version = "0.31", optional = true }
bevy-steamworks = "0.13.0"
steamworks = "0.11"
bevy_ballistic = "0.4.0"
bevy-ui-gradients = "0.4.0"
bevy_debug_log = "0.6.0"
bevy_common_assets = { version = "0.13.0", features = ["ron"] }
serde = { version = "1.0.219", features = ["derive"] }
ron = "0.8"
serde = { version = "1.0.219", features = ["derive"] }
shared = { path = "crates/shared" }
steamworks = "0.12"
[build-dependencies]
vergen-gitcl = "1.0"
[lints.clippy]
too_many_arguments = "allow"
type_complexity = "allow"
[patch.crates-io]
bevy-steamworks = { git = "https://github.com/extrawurst/bevy_steamworks.git", branch = "derive-debug-event" }
[profile.dev.package."*"]
opt-level = 3

View File

@@ -1,20 +1,20 @@
([
/*00*/(key:"angry demonstrator", ability:Thrown, aps:2, ammo:10, range:90, damage:25, projectile:"molotov"),
/*01*/(key:"carnival knife thrower", range:60, ammo:5),
/*02*/(key:"chicago gangster", ability:Gun, ammo:25, range:60),
/*00*/(key:"angry demonstrator", ability:Thrown, aps:2, ammo:10, range:90, damage:25, projectile:"molotov", interrupt_shoot:false),
/*01*/(key:"carnival knife thrower", ability:Arrow, range:60, ammo:5),
/*02*/(key:"chicago gangster", ability:Gun, aps:7.4, ammo:25, range:60, damage:12),
/*03*/(key:"commando", ability:Gun, aps:7.4, ammo:26, range:60, damage:12),
/*04*/(key:"field medic", ability:Medic, aps:20),
/*05*/(key:"geisha"),
/*05*/(key:"geisha", ability:Curver, range:60, ammo:10, damage:25, projectile:"fan"),
/*06*/(key:"goblin", ability:Arrow, aps:2, ammo:5, range:90, damage:50),
/*07*/(key:"green grocer", range:60, ammo:10, damage:25),
/*08*/(key:"highland hammer thrower", ability:Thrown, aps:2, ammo:10, damage:25, range:80, projectile:"hammer"),
/*09*/(key:"legionnaire", ability:Gun, aps:1.5, ammo:25, range:60, damage:13),
/*10*/(key:"mig pilot", ability:Missile, ammo:5, range:60, damage:100, controls:Plane),
/*11*/(key:"nanny", ability:Thrown, range:60),
/*12*/(key:"panic attack"),
/*13*/(key:"salty sea dog"),
/*14*/(key:"snow plough operator"),
/*15*/(key:"soldier ant"),
/*07*/(key:"green grocer", ability:Curver, range:60, ammo:10, damage:25, projectile:"carrot"),
/*08*/(key:"highland hammer thrower", ability:Thrown, aps:2, ammo:10, damage:25, range:80, projectile:"hammer", interrupt_shoot:false),
/*09*/(key:"legionnaire", ability:Gun, aps:2, ammo:25, range:60, damage:13, shoot_offset:0.1667),
/*10*/(key:"mig pilot", ability:Missile, ammo:5, range:60, damage:100, controls:Plane, interrupt_shoot:false),
/*11*/(key:"nanny", ability:None, ammo:5, range:60, projectile:"handbag"),
/*12*/(key:"panic attack", ability:Turbo),
/*13*/(key:"salty sea dog", ability:None),
/*14*/(key:"snow plough operator", ability:None),
/*15*/(key:"soldier ant", ability:None),
/*16*/(key:"super market shopper", ability:Thrown, ammo:10, range:80, damage:17, projectile:"handbag"),
/*17*/(key:"troll", ability:Thrown, ammo:10, range:80, damage:17),
/*17*/(key:"troll", ability:Thrown, ammo:10, range:80, damage:17, projectile:"club"),
])

View File

@@ -16,12 +16,12 @@
}
// brush 1
{
( -256 -832 2320 ) ( -256 -768 272 ) ( -256 -768 2320 ) TinyTexPack2/Brick/Brick_20_window [ 0 -1 0 0 ] [ 0 0 -1 16 ] 270 1 1
( 768 -832 2320 ) ( -256 -832 272 ) ( -256 -832 2320 ) TinyTexPack2/Brick/Brick_20_window [ 1 0 0 0 ] [ 0 0 -1 16 ] 270 1 1
( 768 -768 272 ) ( -256 -832 272 ) ( 768 -832 272 ) TinyTexPack2/Brick/Brick_20_window [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( 768 -768 2320 ) ( -256 -832 2320 ) ( -256 -768 2320 ) TinyTexPack2/Brick/Brick_20_window [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( 768 -768 2320 ) ( -256 -768 272 ) ( 768 -768 272 ) TinyTexPack2/Brick/Brick_20_window [ -1 0 0 0 ] [ 0 0 -1 16 ] 270 1 1
( 768 -768 2320 ) ( 768 -832 272 ) ( 768 -832 2320 ) TinyTexPack2/Brick/Brick_20_window [ 0 1 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -256 -832 2320 ) ( -256 -768 272 ) ( -256 -768 2320 ) TinyTexPack2/Brick/Brick_20_window [ 0 -1 0 0 ] [ 0 0 -1 16 ] 90 1 1
( 768 -832 2320 ) ( -256 -832 272 ) ( -256 -832 2320 ) TinyTexPack2/Brick/Brick_20_window [ 1 0 0 0 ] [ 0 0 -1 16 ] 90 1 1
( 768 -768 272 ) ( -256 -832 272 ) ( 768 -832 272 ) TinyTexPack2/Brick/Brick_20_window [ -1 0 0 0 ] [ 0 -1 0 0 ] 90 1 1
( 768 -768 2320 ) ( -256 -832 2320 ) ( -256 -768 2320 ) TinyTexPack2/Brick/Brick_20_window [ 1 0 0 0 ] [ 0 -1 0 0 ] 90 1 1
( 768 -768 2320 ) ( -256 -768 272 ) ( 768 -768 272 ) TinyTexPack2/Brick/Brick_20_window [ -1 0 0 0 ] [ 0 0 -1 16 ] 90 1 1
( 768 -768 2320 ) ( 768 -832 272 ) ( 768 -832 2320 ) TinyTexPack2/Brick/Brick_20_window [ 0 1 0 0 ] [ 0 0 -1 16 ] 90 1 1
}
// brush 2
{
@@ -1074,7 +1074,7 @@
// brush 119
{
( -5376 3584 -1440 ) ( -5376 3584 -1439 ) ( -5376 3583 -1440 ) airlock/airlock-wall-outside [ -1.9967346175427393e-16 -1 0 64 ] [ 0 0 -1 -64 ] 180 1 1
( -5376 3515.4285714285716 -1440 ) ( -5377 3515.4285714285716 -1440 ) ( -5376 3515.4285714285716 -1439 ) airlock/airlock-wall [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5376 3392 -1440 ) ( -5377 3392 -1440 ) ( -5376 3392 -1439 ) airlock/airlock-wall [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5344 3968 -1472 ) ( -5345 3968 -1472 ) ( -5344 3967 -1472 ) airlock/airlock-wall [ -1 0 0 0 ] [ 0 -1 0 64 ] 180 1 1
( -5312 3584 -1248 ) ( -5376 3680 -1472 ) ( -5312 3680 -1472 ) airlock/airlock-wall-outside [ -1 0 0 0 ] [ 0 0.39391929857916613 -0.9191450300180586 33.614258 ] 180 1 1
( -5312 3968 -1472 ) ( -5312 3967 -1472 ) ( -5312 3968 -1471 ) airlock/airlock-wall [ 1.9967346175427393e-16 1 0 -64 ] [ 0 0 -1 -64 ] 180 1 1
@@ -1082,8 +1082,8 @@
// brush 120
{
( -5376 3584 -1440 ) ( -5376 3584 -1439 ) ( -5376 3583 -1440 ) airlock/airlock-wall-outside [ -1.9967346175427393e-16 -1 0 64 ] [ 0 0 -1 -64 ] 180 1 1
( -5376 3515.4285714285716 -1440 ) ( -5377 3515.4285714285716 -1440 ) ( -5376 3515.4285714285716 -1439 ) airlock/airlock-wall [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3872 -1024 ) ( -5312 3680 -1024 ) ( -5440 3680 -1024 ) airlock/airlock-wall [ 1 0 0 0 ] [ 0 -1 0 64 ] 180 1 1
( -5376 3392 -1440 ) ( -5377 3392 -1440 ) ( -5376 3392 -1439 ) airlock/airlock-wall [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3872 -704 ) ( -5312 3680 -704 ) ( -5440 3680 -704 ) airlock/airlock-wall [ 1 0 0 0 ] [ 0 -1 0 64 ] 180 1 1
( -5312 3680 -1024 ) ( -5376 3584 -1248 ) ( -5312 3584 -1248 ) airlock/airlock-wall-outside [ -1 7.105427357601002e-15 0 0 ] [ -2.7989649608114045e-15 -0.39391929857916613 -0.9191450300180586 84.0361 ] 180 1 1
( -5312 3968 -1472 ) ( -5312 3967 -1472 ) ( -5312 3968 -1471 ) airlock/airlock-wall [ 1.9967346175427393e-16 1 0 -64 ] [ 0 0 -1 -64 ] 180 1 1
}
@@ -1091,8 +1091,8 @@
{
( -5376 3584 -1440 ) ( -5376 3584 -1439 ) ( -5376 3583 -1440 ) airlock/airlock-wall-outside [ -1.9967346175427393e-16 -1 0 64 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3968 -1248 ) ( -5440 3872 -1024 ) ( -5312 3872 -1024 ) airlock/airlock-wall-outside [ 1 0 0 0 ] [ 0 0.3939192985791677 -0.9191450300180579 33.614502 ] 180 1 1
( -5312 3872 -1024 ) ( -5312 3680 -1024 ) ( -5440 3680 -1024 ) airlock/airlock-wall [ 1 0 0 0 ] [ 0 -1 0 64 ] 180 1 1
( -5344 4032 -1472 ) ( -5344 4032 -1471 ) ( -5345 4032 -1472 ) airlock/airlock-wall [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3872 -704 ) ( -5312 3680 -704 ) ( -5440 3680 -704 ) airlock/airlock-wall [ 1 0 0 0 ] [ 0 -1 0 64 ] 180 1 1
( -5344 4096 -1472 ) ( -5344 4096 -1471 ) ( -5345 4096 -1472 ) airlock/airlock-wall [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3968 -1472 ) ( -5312 3967 -1472 ) ( -5312 3968 -1471 ) airlock/airlock-wall [ 1.9967346175427393e-16 1 0 -64 ] [ 0 0 -1 -64 ] 180 1 1
}
// brush 122
@@ -1100,9 +1100,125 @@
( -5376 3584 -1440 ) ( -5376 3584 -1439 ) ( -5376 3583 -1440 ) airlock/airlock-wall-outside [ -1.9967346175427393e-16 -1 0 64 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3872 -1472 ) ( -5376 3968 -1248 ) ( -5312 3968 -1248 ) airlock/airlock-wall-outside [ 1 0 0 0 ] [ 0 -0.3939192985791677 -0.9191450300180579 84.03613 ] 180 1 1
( -5344 3968 -1472 ) ( -5345 3968 -1472 ) ( -5344 3967 -1472 ) airlock/airlock-wall [ -1 0 0 0 ] [ 0 -1 0 64 ] 180 1 1
( -5344 4032 -1472 ) ( -5344 4032 -1471 ) ( -5345 4032 -1472 ) airlock/airlock-wall [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5344 4096 -1472 ) ( -5344 4096 -1471 ) ( -5345 4096 -1472 ) airlock/airlock-wall [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 -64 ] 180 1 1
( -5312 3968 -1472 ) ( -5312 3967 -1472 ) ( -5312 3968 -1471 ) airlock/airlock-wall [ 1.9967346175427393e-16 1 0 -64 ] [ 0 0 -1 -64 ] 180 1 1
}
// brush 123
{
( -5376 3392 -1472 ) ( -5568 3392 -1600 ) ( -5568 4096 -1600 ) canals [ -0.7071067811865474 0 -0.7071067811865477 0 ] [ 0 -1 0 0 ] 0 1 1
( -5376 3392 -1600 ) ( -5568 3392 -1600 ) ( -5376 3392 -1472 ) canals [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5568 4096 -1600 ) ( -5568 3392 -1600 ) ( -5376 3392 -1600 ) canals [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -5376 4096 -1472 ) ( -5568 4096 -1600 ) ( -5376 4096 -1600 ) canals [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5376 3392 -1472 ) ( -5376 4096 -1472 ) ( -5376 4096 -1600 ) canals [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 124
{
( -7168 3392 -1600 ) ( -7168 3392 -1599 ) ( -7168 3391 -1600 ) canals [ 1.9967346175427393e-16 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -4416 3328 -1536 ) ( -4416 3328 -1535 ) ( -4415 3328 -1536 ) canals [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -4480 3392 -1600 ) ( -4480 3391 -1600 ) ( -4479 3392 -1600 ) canals [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -4416 3328 -768 ) ( -4415 3328 -768 ) ( -4416 3327 -768 ) canals [ 1 0 0 0 ] [ 0 -1 0 0 ] 90 1 1
( -4480 3392 -1600 ) ( -4479 3392 -1600 ) ( -4480 3392 -1599 ) canals [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5376 3328 -1536 ) ( -5376 3327 -1536 ) ( -5376 3328 -1535 ) canals [ -1.9967346175427393e-16 -1 0 0 ] [ 0 0 -1 0 ] 180 1 1
}
// brush 125
{
( -7168 4160 -1600 ) ( -7168 4160 -1599 ) ( -7168 4159 -1600 ) canals [ 1.9967346175427393e-16 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -4416 4096 -1536 ) ( -4416 4096 -1535 ) ( -4415 4096 -1536 ) canals [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -4480 4160 -1600 ) ( -4480 4159 -1600 ) ( -4479 4160 -1600 ) canals [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -4416 4096 -768 ) ( -4415 4096 -768 ) ( -4416 4095 -768 ) canals [ 1 0 0 0 ] [ 0 -1 0 0 ] 90 1 1
( -4480 4160 -1600 ) ( -4479 4160 -1600 ) ( -4480 4160 -1599 ) canals [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5376 4096 -1536 ) ( -5376 4095 -1536 ) ( -5376 4096 -1535 ) canals [ -1.9967346175427393e-16 -1 0 0 ] [ 0 0 -1 0 ] 180 1 1
}
// brush 126
{
( -7136 3392 -1664 ) ( -7136 3393 -1664 ) ( -7136 3392 -1663 ) canals [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5696 3392 -1664 ) ( -5696 3392 -1663 ) ( -5695 3392 -1664 ) canals [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5696 3392 -1664 ) ( -5695 3392 -1664 ) ( -5696 3393 -1664 ) canals [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -5568 4096 -1600 ) ( -5568 4097 -1600 ) ( -5567 4096 -1600 ) canals [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -5568 4096 -1600 ) ( -5567 4096 -1600 ) ( -5568 4096 -1599 ) canals [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5568 4096 -1600 ) ( -5568 4096 -1599 ) ( -5568 4097 -1600 ) canals [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 127
{
( -6496 3392 -768 ) ( -6496 3393 -768 ) ( -6496 3392 -767 ) canals [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5504 3392 -768 ) ( -5504 3392 -767 ) ( -5503 3392 -768 ) canals [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5504 3392 -768 ) ( -5503 3392 -768 ) ( -5504 3393 -768 ) canals [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -5376 4096 -704 ) ( -5376 4097 -704 ) ( -5375 4096 -704 ) canals [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -5376 4096 -704 ) ( -5375 4096 -704 ) ( -5376 4096 -703 ) canals [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -5376 4096 -704 ) ( -5376 4096 -703 ) ( -5376 4097 -704 ) canals [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 128
{
( -6560 4096 -304 ) ( -6560 4097 -304 ) ( -6560 4096 -303 ) canals [ 4.812271809458903e-16 -0.9999999999999999 0 64 ] [ 0 0 -1 16 ] 270 1 1
( -6496 3392 -368 ) ( -6497 3392 -368 ) ( -6496 3392 -367 ) canals [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] [ 0 0 -1 16 ] 180 1 1
( -6496 3648 -768 ) ( -6496 3649 -768 ) ( -6497 3648 -768 ) canals [ 4.812271809458903e-16 -0.9999999999999999 0 64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 180 1 1
( -6688 4096 -304 ) ( -6689 4096 -304 ) ( -6688 4097 -304 ) canals [ -4.812271809458903e-16 0.9999999999999999 0 -64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 270 1 1
( -6688 4096 -304 ) ( -6688 4096 -303 ) ( -6689 4096 -304 ) canals [ -1.0000000000000007 5.456456664689579e-16 0 -128 ] [ 0 0 -1 16 ] 0 1 1
( -6496 3648 -368 ) ( -6496 3648 -367 ) ( -6496 3649 -368 ) canals [ -4.812271809458903e-16 0.9999999999999999 0 -64 ] [ 0 0 -1 16 ] 0 1 1
}
// brush 129
{
( -7296 4096 -304 ) ( -7296 4097 -304 ) ( -7296 4096 -303 ) tile [ 0 -1 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -8544 4096 -304 ) ( -8544 4096 -303 ) ( -8543 4096 -304 ) tile [ 1 0 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -8544 4096 -304 ) ( -8543 4096 -304 ) ( -8544 4097 -304 ) tile [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -7648 4544 -240 ) ( -7648 4545 -240 ) ( -7647 4544 -240 ) tile [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -7648 4224 -240 ) ( -7647 4224 -240 ) ( -7648 4224 -239 ) tile [ -1 0 0 0 ] [ 0 0 -1 16 ] 180 1 1
( -6432 4544 -240 ) ( -6432 4544 -239 ) ( -6432 4545 -240 ) tile [ 0 1 0 0 ] [ 0 0 -1 16 ] 270 1 1
}
// brush 130
{
( -7232 4096 -304 ) ( -7232 4097 -304 ) ( -7232 4096 -303 ) canals [ 4.812271809458903e-16 -0.9999999999999999 0 64 ] [ 0 0 -1 16 ] 270 1 1
( -7168 3392 -368 ) ( -7169 3392 -368 ) ( -7168 3392 -367 ) canals [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] [ 0 0 -1 16 ] 180 1 1
( -7168 3648 -1600 ) ( -7168 3649 -1600 ) ( -7169 3648 -1600 ) canals [ 4.812271809458903e-16 -0.9999999999999999 0 64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 180 1 1
( -7360 4096 -304 ) ( -7361 4096 -304 ) ( -7360 4097 -304 ) canals [ -4.812271809458903e-16 0.9999999999999999 0 -64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 270 1 1
( -7360 4096 -304 ) ( -7360 4096 -303 ) ( -7361 4096 -304 ) canals [ -1.0000000000000007 5.456456664689579e-16 0 -128 ] [ 0 0 -1 16 ] 0 1 1
( -7168 3648 -368 ) ( -7168 3648 -367 ) ( -7168 3649 -368 ) canals [ -4.812271809458903e-16 0.9999999999999999 0 -64 ] [ 0 0 -1 16 ] 0 1 1
}
// brush 131
{
( -7296 3264 -304 ) ( -7296 3265 -304 ) ( -7296 3264 -303 ) tile [ 0 -1 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -8544 3136 -304 ) ( -8544 3136 -303 ) ( -8543 3136 -304 ) tile [ 1 0 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -8544 3264 -304 ) ( -8543 3264 -304 ) ( -8544 3265 -304 ) tile [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -7648 3712 -240 ) ( -7648 3713 -240 ) ( -7647 3712 -240 ) tile [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -7648 3392 -240 ) ( -7647 3392 -240 ) ( -7648 3392 -239 ) tile [ -1 0 0 0 ] [ 0 0 -1 16 ] 180 1 1
( -6304 3712 -240 ) ( -6304 3712 -239 ) ( -6304 3713 -240 ) tile [ 0 1 0 0 ] [ 0 0 -1 16 ] 270 1 1
}
// brush 132
{
( -6560 5344 -304 ) ( -6560 5344 -303 ) ( -6560 5343 -304 ) tile [ 1.9967346175427393e-16 1 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -6112 3392 -240 ) ( -6112 3392 -239 ) ( -6111 3392 -240 ) tile [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -6560 5344 -304 ) ( -6560 5343 -304 ) ( -6559 5344 -304 ) tile [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -6112 4448 -240 ) ( -6111 4448 -240 ) ( -6112 4447 -240 ) tile [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -6560 4096 -304 ) ( -6559 4096 -304 ) ( -6560 4096 -303 ) tile [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -6304 4448 -240 ) ( -6304 4447 -240 ) ( -6304 4448 -239 ) tile [ -1.9967346175427393e-16 -1 0 0 ] [ 0 0 -1 16 ] 180 1 1
}
// brush 133
{
( -7296 5344 -304 ) ( -7296 5344 -303 ) ( -7296 5343 -304 ) tile [ 1.9967346175427393e-16 1 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -6848 3392 -240 ) ( -6848 3392 -239 ) ( -6847 3392 -240 ) tile [ -1 1.9967346175427393e-16 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -7296 5344 -304 ) ( -7296 5343 -304 ) ( -7295 5344 -304 ) tile [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -6848 4448 -240 ) ( -6847 4448 -240 ) ( -6848 4447 -240 ) tile [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -7296 4096 -304 ) ( -7295 4096 -304 ) ( -7296 4096 -303 ) tile [ 1 -1.9967346175427393e-16 0 0 ] [ 0 0 -1 16 ] 270 1 1
( -7168 4448 -240 ) ( -7168 4447 -240 ) ( -7168 4448 -239 ) tile [ -1.9967346175427393e-16 -1 0 0 ] [ 0 0 -1 16 ] 180 1 1
}
// brush 134
{
( -7168 3328 -368 ) ( -7168 3329 -368 ) ( -7168 3328 -367 ) canals [ 6.762803511326634e-16 1.0000000000000007 0 128 ] [ 0 0 -1 16 ] 180 1 1
( -7008 3328 -368 ) ( -7008 3328 -367 ) ( -7007 3328 -368 ) canals [ -0.9999999999999998 -2.9040269150165053e-16 0 -64 ] [ 0 0 -1 16 ] 0 1 1
( -7008 3328 -768 ) ( -7007 3328 -768 ) ( -7008 3329 -768 ) canals [ 4.812271809458903e-16 -0.9999999999999999 0 64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 180 1 1
( -6560 3520 -304 ) ( -6560 3521 -304 ) ( -6559 3520 -304 ) canals [ -4.812271809458903e-16 0.9999999999999999 0 -64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 270 1 1
( -6560 3392 -304 ) ( -6559 3392 -304 ) ( -6560 3392 -303 ) canals [ 0.9999999999999998 2.9040269150165053e-16 0 64 ] [ 0 0 -1 16 ] 270 1 1
( -6560 3520 -304 ) ( -6560 3520 -303 ) ( -6560 3521 -304 ) canals [ -6.762803511326634e-16 -1.0000000000000007 0 -128 ] [ 0 0 -1 16 ] 0 1 1
}
// brush 135
{
( -7168 4096 -368 ) ( -7168 4097 -368 ) ( -7168 4096 -367 ) canals [ 6.762803511326634e-16 1.0000000000000007 0 128 ] [ 0 0 -1 16 ] 180 1 1
( -7008 4096 -368 ) ( -7008 4096 -367 ) ( -7007 4096 -368 ) canals [ -0.9999999999999998 -2.9040269150165053e-16 0 -64 ] [ 0 0 -1 16 ] 0 1 1
( -7008 4096 -768 ) ( -7007 4096 -768 ) ( -7008 4097 -768 ) canals [ 4.812271809458903e-16 -0.9999999999999999 0 64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 180 1 1
( -6560 4288 -304 ) ( -6560 4289 -304 ) ( -6559 4288 -304 ) canals [ -4.812271809458903e-16 0.9999999999999999 0 -64 ] [ 1.0000000000000007 -5.456456664689579e-16 0 128 ] 270 1 1
( -6560 4160 -304 ) ( -6559 4160 -304 ) ( -6560 4160 -303 ) canals [ 0.9999999999999998 2.9040269150165053e-16 0 64 ] [ 0 0 -1 16 ] 270 1 1
( -6560 4288 -304 ) ( -6560 4288 -303 ) ( -6560 4289 -304 ) canals [ -6.762803511326634e-16 -1.0000000000000007 0 -128 ] [ 0 0 -1 16 ] 0 1 1
}
}
// entity 1
{
@@ -1113,10 +1229,11 @@
{
"classname" "enemy_spawn"
"origin" "648 -680 -232"
"angles" "0 -90 0"
"angles" "0 90 0"
"head" "field medic"
"key" "fence_gate"
"disable_ai" "true"
"spawn_order" "0"
}
// entity 3
{
@@ -1128,8 +1245,9 @@
"classname" "enemy_spawn"
"origin" "3256 248 -232"
"head" "field medic"
"angles" "0 0 0"
"angles" "0 180 0"
"disable_ai" "true"
"spawn_order" "1"
}
// entity 5
{
@@ -1384,16 +1502,18 @@
{
"classname" "enemy_spawn"
"origin" "2568 4504 -232"
"angles" "0 180 0"
"angles" "0 0 0"
"head" "super market shopper"
"spawn_order" "2"
}
// entity 24
{
"classname" "enemy_spawn"
"origin" "648 6760 -232"
"angles" "0 90 0"
"angles" "0 -90 0"
"head" "green grocer"
"key" "fence_shaft"
"spawn_order" "3"
}
// entity 25
{
@@ -1597,3 +1717,189 @@
"origin" "2712 5240 792"
"head_id" "13"
}
// entity 45
{
"classname" "enemy_spawn"
"origin" "-184 -584 -232"
"angles" "0 0 0"
"head" "commando"
"key" ""
"disable_ai" "true"
}
// entity 46
{
"classname" "enemy_spawn"
"origin" "-184 -504 -232"
"angles" "0 0 0"
"head" "angry demonstrator"
"key" ""
"disable_ai" "true"
}
// entity 47
{
"classname" "enemy_spawn"
"origin" "-184 -440 -232"
"angles" "0 0 0"
"head" "goblin"
"key" ""
"disable_ai" "true"
}
// entity 48
{
"classname" "enemy_spawn"
"origin" "-184 -360 -232"
"angles" "0 0 0"
"head" "green grocer"
"key" ""
"disable_ai" "true"
}
// entity 49
{
"classname" "enemy_spawn"
"origin" "-184 -280 -232"
"angles" "0 0 0"
"head" "highland hammer thrower"
"key" ""
"disable_ai" "true"
}
// entity 50
{
"classname" "enemy_spawn"
"origin" "-184 -184 -232"
"angles" "0 0 0"
"head" "legionnaire"
"key" ""
"disable_ai" "true"
}
// entity 51
{
"classname" "enemy_spawn"
"origin" "-184 -104 -232"
"angles" "0 0 0"
"head" "mig pilot"
"key" ""
"disable_ai" "true"
}
// entity 52
{
"classname" "enemy_spawn"
"origin" "-184 -8 -232"
"angles" "0 0 0"
"head" "soldier ant"
"key" ""
"disable_ai" "true"
}
// entity 53
{
"classname" "enemy_spawn"
"origin" "-184 -680 -232"
"angles" "0 0 0"
"head" "super market shopper"
"key" ""
"disable_ai" "true"
}
// entity 54
{
"classname" "enemy_spawn"
"origin" "-184 88 -232"
"angles" "0 0 0"
"head" "nanny"
"key" ""
"disable_ai" "true"
}
// entity 55
{
"classname" "enemy_spawn"
"origin" "-184 184 -232"
"angles" "0 0 0"
"head" "chicago gangster"
"key" ""
"disable_ai" "true"
}
// entity 56
{
"classname" "enemy_spawn"
"origin" "-184 264 -232"
"angles" "0 0 0"
"head" "carnival knife thrower"
"key" ""
"disable_ai" "true"
}
// entity 57
{
"classname" "enemy_spawn"
"origin" "-184 344 -232"
"angles" "0 0 0"
"head" "snow plough operator"
"key" ""
"disable_ai" "true"
}
// entity 58
{
"classname" "enemy_spawn"
"origin" "-184 424 -232"
"angles" "0 0 0"
"head" "salty sea dog"
"key" ""
"disable_ai" "true"
}
// entity 59
{
"classname" "enemy_spawn"
"origin" "-184 504 -232"
"angles" "0 0 0"
"head" "geisha"
"key" ""
"disable_ai" "true"
}
// entity 60
{
"classname" "platform"
"target" "elevator_02_target"
// brush 0
{
( -7168 3840 -2720 ) ( -7168 3841 -2720 ) ( -7168 3840 -2719 ) canals [ 0 -1 0 0 ] [ 0 0 -1 -96 ] 90 1 1
( -7136 3392 -2720 ) ( -7136 3392 -2719 ) ( -7135 3392 -2720 ) canals [ 1 0 0 0 ] [ 0 0 -1 -96 ] 90 1 1
( -7136 3840 -2720 ) ( -7135 3840 -2720 ) ( -7136 3841 -2720 ) canals [ -1 0 0 0 ] [ 0 -1 0 0 ] 90 1 1
( -6496 4032 -1408 ) ( -6496 4033 -1408 ) ( -6495 4032 -1408 ) canals [ 1 0 0 0 ] [ 0 -1 0 0 ] 90 1 1
( -6496 4096 -2656 ) ( -6495 4096 -2656 ) ( -6496 4096 -2655 ) canals [ -1 0 0 0 ] [ 0 0 -1 -96 ] 90 1 1
( -6560 4032 -2656 ) ( -6560 4032 -2655 ) ( -6560 4033 -2656 ) canals [ 0 1 0 0 ] [ 0 0 -1 -96 ] 90 1 1
}
// brush 1
{
( -6848 3712 -1408 ) ( -6848 3713 -1408 ) ( -6848 3712 -1407 ) origin [ 0 -1 0 0 ] [ 0 0 -1 0 ] 270 1 1
( -6848 3712 -1408 ) ( -6848 3712 -1407 ) ( -6847 3712 -1408 ) origin [ 1 0 0 0 ] [ 0 0 -1 0 ] 270 1 1
( -6848 3712 -1408 ) ( -6847 3712 -1408 ) ( -6848 3713 -1408 ) origin [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -6784 3776 -1376 ) ( -6784 3777 -1376 ) ( -6783 3776 -1376 ) origin [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -6784 3776 -1376 ) ( -6783 3776 -1376 ) ( -6784 3776 -1375 ) origin [ -1 0 0 0 ] [ 0 0 -1 0 ] 270 1 1
( -6784 3776 -1376 ) ( -6784 3776 -1375 ) ( -6784 3777 -1376 ) origin [ 0 1 0 0 ] [ 0 0 -1 0 ] 270 1 1
}
}
// entity 61
{
"classname" "platform_target"
"origin" "-6824 3736 -264"
"targetname" "elevator_02_target"
}
// entity 62
{
"classname" "water"
// brush 0
{
( -7296 6976 -1632 ) ( -7296 6977 -1632 ) ( -7296 6976 -1631 ) water [ 0 -1 0 0 ] [ 0 0 -1 -32 ] 180 1 1
( -6080 3264 -1632 ) ( -6080 3264 -1631 ) ( -6079 3264 -1632 ) water [ 1 0 0 0 ] [ 0 0 -1 -32 ] 90 1 1
( -6080 6976 -1632 ) ( -6079 6976 -1632 ) ( -6080 6977 -1632 ) water [ -1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -5568 7360 -1568 ) ( -5568 7361 -1568 ) ( -5567 7360 -1568 ) water [ 1 0 0 0 ] [ 0 -1 0 0 ] 270 1 1
( -5568 4224 -1568 ) ( -5567 4224 -1568 ) ( -5568 4224 -1567 ) water [ -1 0 0 0 ] [ 0 0 -1 -32 ] 270 1 1
( -5504 7360 -1568 ) ( -5504 7360 -1567 ) ( -5504 7361 -1568 ) water [ 0 1 0 0 ] [ 0 0 -1 -32 ] 270 1 1
}
}
// entity 63
{
"classname" "enemy_spawn"
"origin" "-184 584 -232"
"angles" "0 0 0"
"head" "troll"
"key" ""
"disable_ai" "true"
}

BIN
assets/models/beaming.glb Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More