









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/











1
{"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














2





true

Hacker News • 2024-08-08 02:10 















































































































































{"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 programming
Layer into Physics(PhycicsLayer) [which is another enum :/] and Design(DesignLayer) [same here]? another layer of abstraction and not quite useful (edited)TilemapLayer xd

PhysicsLayer 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)
1


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

