remove the chain fix to see if thats the cause of lag

This commit is contained in:
bgkillas 2025-01-26 18:31:05 -05:00
parent 40edd907f4
commit 3756a9b1d8
9 changed files with 37 additions and 25 deletions

View file

@ -13,20 +13,20 @@ jobs:
targets: i686-pc-windows-gnu
- name: Install extra deps
run: sudo apt-get install -y gcc-mingw-w64-i686
- uses: Swatinem/rust-cache@v2
with:
workspaces: ewext -> target
- name: Build ewext
run: cargo build --release --target i686-pc-windows-gnu
working-directory: ./ewext
- name: Copy ewext
run: cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext0.dll
run: cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext1.dll
- name: Create archive
run: python scripts/ci_make_archives.py mod
- uses: actions/upload-artifact@v4
with:
name: quant.ew.zip
@ -42,23 +42,23 @@ jobs:
targets: x86_64-pc-windows-gnu
- name: Install extra deps
run: sudo apt-get install -y libclang-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev gcc-mingw-w64-i686 gcc-mingw-w64
- uses: Swatinem/rust-cache@v2
with:
workspaces: noita-proxy -> target
- name: Build Linux proxy release
run: cargo build --release
working-directory: ./noita-proxy
- name: Create archives
run: python scripts/ci_make_archives.py linux
- uses: actions/upload-artifact@v4
with:
name: noita-proxy-linux.zip
path: target/noita-proxy-linux.zip
build-proxy-windows:
name: Build proxy for windows
runs-on: ubuntu-22.04
@ -69,18 +69,18 @@ jobs:
targets: x86_64-pc-windows-gnu
- name: Install extra deps
run: sudo apt-get install -y libclang-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev gcc-mingw-w64-i686 gcc-mingw-w64
- uses: Swatinem/rust-cache@v2
with:
workspaces: noita-proxy -> target
- name: Build Windows proxy release
run: cargo build --release --target x86_64-pc-windows-gnu
working-directory: ./noita-proxy
- name: Create archives
run: python scripts/ci_make_archives.py windows
- uses: actions/upload-artifact@v4
with:
name: noita-proxy-win.zip
@ -106,5 +106,4 @@ jobs:
with:
#draft: true
artifacts: "*.zip"
bodyFile: last_release_notes.md
bodyFile: last_release_notes.md

1
.gitignore vendored
View file

@ -5,3 +5,4 @@ save_state
/quant.ew/files/system/player/tmp/
/quant.ew/ewext.dll
/quant.ew/ewext0.dll
/quant.ew/ewext1.dll

View file

@ -24,11 +24,11 @@ build_luajit:
# `rustup target add i686-pc-windows-gnu` first
build_ext:
cd ewext && cargo build --release --target=i686-pc-windows-gnu
cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext0.dll
cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext1.dll
build_ext_debug:
cd ewext && cargo build --target=i686-pc-windows-gnu
cp ewext/target/i686-pc-windows-gnu/debug/ewext.dll quant.ew/ewext0.dll
cp ewext/target/i686-pc-windows-gnu/debug/ewext.dll quant.ew/ewext1.dll
##
@ -45,7 +45,7 @@ run2: add_dylib_debug build_ext
cd noita-proxy && NP_SKIP_MOD_CHECK=1 cargo run -- --launch-cmd "wine noita.exe -gamemode 0"
run2-alt: add_dylib_debug build_ext
cd noita-proxy && NP_SKIP_MOD_CHECK=1 cargo run -- --launch-cmd "strace wine noita.exe -gamemode 0"
cd noita-proxy && NP_SKIP_MOD_CHECK=1 cargo run -- --launch-cmd "strace wine noita.exe -gamemode 0"
run3: add_dylib_debug build_ext
cd noita-proxy && NP_SKIP_MOD_CHECK=1 NP_NOITA_ADDR=127.0.0.1:21253 cargo run -- --launch-cmd "strace wine noita.exe -gamemode 0"
@ -59,5 +59,4 @@ release:
python scripts/check_pre_ci.py
make_release_assets:
python scripts/make_release_assets.py
python scripts/make_release_assets.py

View file

@ -129,7 +129,7 @@ impl EntityID {
let _ = raw::component_set_value(*com, "mState", 0);
}
}
if body_id.len()
/*if body_id.len()
!= self
.iter_all_components_of_type_including_disabled::<PhysicsBodyComponent>(None)
.iter()
@ -153,7 +153,7 @@ impl EntityID {
0.0,
);
}
}
}*/
}
let _ = raw::entity_kill(self);
}

View file

@ -46,7 +46,7 @@ thread_local! {
static NETMANAGER: LazyLock<Mutex<Option<NetManager>>> = LazyLock::new(Default::default);
static KEEP_SELF_LOADED: LazyLock<Result<libloading::Library, libloading::Error>> =
LazyLock::new(|| unsafe { libloading::Library::new("ewext0.dll") });
LazyLock::new(|| unsafe { libloading::Library::new("ewext1.dll") });
static MY_PEER_ID: OnceLock<PeerId> = OnceLock::new();
fn try_lock_netmanager() -> eyre::Result<MutexGuard<'static, Option<NetManager>>> {
@ -388,7 +388,7 @@ pub(crate) fn print_error(error: eyre::Report) -> eyre::Result<()> {
///
/// Only gets called by lua when loading a module.
#[no_mangle]
pub unsafe extern "C" fn luaopen_ewext0(lua: *mut lua_State) -> c_int {
pub unsafe extern "C" fn luaopen_ewext1(lua: *mut lua_State) -> c_int {
println!("Initializing ewext");
if let Err(e) = KEEP_SELF_LOADED.as_ref() {

View file

@ -1299,6 +1299,9 @@ impl RemoteDiffModel {
if let Some(cost) = entity.try_get_first_component::<ItemCostComponent>(None)? {
cost.set_cost(entity_info.cost)?;
if entity_info.cost == 0 {
entity.remove_component(*cost)?;
}
}
entity.set_game_effects(&entity_info.game_effects)?;

View file

@ -66,4 +66,4 @@ function mod.on_world_update_post()
chest = {}
end
return mod
return mod

View file

@ -589,6 +589,16 @@ function module.on_client_spawned(peer_id, playerdata)
ComponentSetValue2(damage_model, "wait_for_kill_flag_on_death", true)
end
function module.on_client_polymorphed(peer_id, playerdata)
EntityAddComponent2(
playerdata.entity,
"LuaComponent",
{ script_damage_received = "mods/quant.ew/files/system/damage/cbs/send_damage_to_client.lua" }
)
local damage_model = EntityGetFirstComponentIncludingDisabled(playerdata.entity, "DamageModelComponent")
ComponentSetValue2(damage_model, "wait_for_kill_flag_on_death", true)
end
--[[function module.health()
end

View file

@ -12,7 +12,7 @@ np.EnableGameSimulatePausing(false)
np.InstallDamageDetailsPatch()
np.SilenceLogs("Warning - streaming didn't find any chunks it could stream away...\n")
ewext = require("ewext0")
ewext = require("ewext1")
-- Make some stuff global, as it's way too annoying to import each time.
constants = dofile_once("mods/quant.ew/files/core/constants.lua")
@ -667,4 +667,4 @@ end
function OnPlayerDied(player_entity)
ctx.hook.on_player_died(player_entity)
print("player died")
end
end