cmake .. -DCMAKE_BUILD_TYPE=Debug && make
then you can run it with gdb again and the gdb bt
command should show you details you can then report to fokkonaut here https://github.com/fokkonaut/F-DDrace/issues/{"response":"failure","message":"Order could not be created","data":"Failed"}
I love this shitty api{"response":"failure","message":"Order could not be created","data":"Failed"}
I love this shitty api {"response":"failure","message":"Order could not be created","data":"Failed"}
I love this shitty api "Order could not be created: Validation failed: Missing field 'currency'"
bans 1200
and will not print out that the page does not exist. Also doesn't print the number of available pages{"now":745002,"addresses":{"tw-0.7+udp://168.195.128.149:28000":{"kind":"mastersrv","ping_time":734248,"secret":"9c008119-bc08-4735-aa42-70af8c80fb34"}},"servers":{"9c008119-bc08-4735-aa42-70af8c80fb34":{"info_serial":0,"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483},"version":"0.6.4, 18.4","client_score_kind":"time","requires_login":false,"clients":[]}}}}
servers.json
{"servers":[{"addresses":["tw-0.7+udp://168.195.128.149:28000"],"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483},"version":"0.6.4, 18.4","client_score_kind":"time","requires_login":false,"clients":[{"name":"Joaquo","clan":"","country":-1,"score":-9999,"is_player":true,"skin":{"name":"hammie-chew"},"afk":false,"team":0}]}}]}
(edited)cmake -DDEV=OFF -DCMAKE_BUILD_TYPE=Release -DPREFER_BUNDLED_LIBS=OFF -DAUTOUPDATE=ON -DVIDEORECORDER=OFF -DDOWNLOAD_GTEST=ON -DUPNP=ON -DVULKAN=OFF -DCLIENT=OFF -DMYSQL=ON -DWEBSOCKETS=ON ..
2024-08-13 16:38:31 E register/6/ipv4: ERROR: the master server reports that clients can not connect to this server.
2024-08-13 16:38:31 E register/6/ipv4: ERROR: configure your firewall/nat to let through udp on port 28000.
Array2
field without matching it? im trying to reshape all physics layers from on dim to another, didn't find any other way (but there is, i guess?)Array2
field without matching it? im trying to reshape all physics layers from on dim to another, didn't find any other way (but there is, i guess?) fn clear_layer(layer: &mut impl TilemapLayer) {
layer.tiles_mut().unwrap_mut().fill(Default::default())
}
map.physics_group_mut().layers.iter_mut().map(|layer| clear_layer(layer));
since physics_group(_mut).layers
is just a vector of Layer
Array2
of any tilemap layer, and do stuff with generic programmingLayer
into Physics(PhycicsLayer) [which is another enum :/]
and Design(DesignLayer) [same here]
? another layer of abstraction and not quite useful (edited)TilemapLayer
xdPhysicsLayer
will implement TilemapLayer
TilemapLayer
, as it can't give a concrete type T
for which it will return Array2<T>
fn edit_tilemap<T: AnyTile, F: Fn(&mut Array2<T>)>(layer: &mut Layer, f: F) {
match layer {
Layer::Tiles(l) => f(l.tiles.unwrap_mut()),
Layer::Quads(l) => {},
Layer::Game(l) => f(l.tiles.unwrap_mut()),
etc
}
}
This doesn't actually use the TilemapLayer
trait. now you can just do a function like yours
fn clear_layer<T: AnyTile>(tiles: &mut Array2<T>) {
tiles.fill(Default::default())
}
and then use that function with
let mut layer: Layer = todo!();
edit_tilemap(&mut layer, clear_layer)
fn edit_tilemap<T: AnyTile, F: Fn(&mut Array2<T>)>(layer: &mut Layer, f: F) {
match layer {
Layer::Tiles(l) => f(l.tiles.unwrap_mut()),
Layer::Quads(l) => {},
Layer::Game(l) => f(l.tiles.unwrap_mut()),
etc
}
}
This doesn't actually use the TilemapLayer
trait. now you can just do a function like yours
fn clear_layer<T: AnyTile>(tiles: &mut Array2<T>) {
tiles.fill(Default::default())
}
and then use that function with
let mut layer: Layer = todo!();
edit_tilemap(&mut layer, clear_layer)
fn edit_tilemap<T: AnyTile, F: Fn(&mut Array2<T>)>(layer: &mut Layer, f: F) {
match layer {
Layer::Tiles(l) => f(l.tiles.unwrap_mut()),
Layer::Quads(l) => {},
Layer::Game(l) => f(l.tiles.unwrap_mut()),
etc
}
}
This doesn't actually use the TilemapLayer
trait. now you can just do a function like yours
fn clear_layer<T: AnyTile>(tiles: &mut Array2<T>) {
tiles.fill(Default::default())
}
and then use that function with
let mut layer: Layer = todo!();
edit_tilemap(&mut layer, clear_layer)
mismatched types
expected mutable reference `&mut ArrayBase<OwnedRepr<T>, _>`
found mutable reference `&mut ArrayBase<OwnedRepr<twmap::Tile>, _>`
edit_tilemap
itselfunwrap_mut()
fn edit_tilemap<T: AnyTile, F: Fn(&mut Array2<T>)>(layer: &mut Layer, f: F) {
match layer {
Layer::Game(l) => f(l.tiles.unwrap_mut()),
Layer::Front(l) => f(l.tiles.unwrap_mut()),
Layer::Tele(l) => f(l.tiles.unwrap_mut()),
Layer::Speedup(l) => f(l.tiles.unwrap_mut()),
Layer::Tune(l) => f(l.tiles.unwrap_mut()),
_ => {}
}
}
fn edit_tilemap<T: AnyTile, F: Fn(&mut Array2<T>)>(layer: &mut Layer, f: F) {
match layer {
Layer::Game(l) => f(l.tiles.unwrap_mut()),
Layer::Front(l) => f(l.tiles.unwrap_mut()),
Layer::Tele(l) => f(l.tiles.unwrap_mut()),
Layer::Speedup(l) => f(l.tiles.unwrap_mut()),
Layer::Tune(l) => f(l.tiles.unwrap_mut()),
_ => {}
}
}
T
is defined by caller, seems thats why it can't infer it from inside