]> git.lizzy.rs Git - dragonblocks_alpha.git/blob - build/debug.sh
4323a994ab09eb547ad343e168e5252b73ae8a33
[dragonblocks_alpha.git] / build / debug.sh
1 #!/bin/bash
2
3 if ! make -j$(nproc); then
4         exit 1
5 fi
6
7 DEBUG_DIR=/tmp/dragonblocks_alpha_debug_$$/
8 mkdir $DEBUG_DIR
9
10 echo "singleplayer" > $DEBUG_DIR/name
11
12 COMMON="set confirm off
13 handle SIGTERM nostop print pass
14 handle SIGPIPE nostop noprint pass
15 set height 0
16 set \$_exitcode=1
17 define hook-stop
18     if \$_exitcode == 0
19         quit
20     end
21 end
22 "
23
24 echo "$COMMON
25 break gl_error
26 run \"[::1]:4000\" < $DEBUG_DIR/name
27 " > $DEBUG_DIR/client_script
28
29 echo "$COMMON
30 set print thread-events off
31 run \"[::1]:4000\"
32 " > $DEBUG_DIR/server_script
33
34 alacritty -e bash -c "
35         echo \$\$ > $DEBUG_DIR/server_pid
36         exec gdb --command $DEBUG_DIR/server_script ./dragonblocks_server
37 " &
38 sleep 0.5
39
40 gdb --command $DEBUG_DIR/client_script ./dragonblocks_client
41
42 kill `cat $DEBUG_DIR/server_pid`
43
44 rm -rf $DEBUG_DIR