Cube  Check-in [9093e4cf6a]

Overview
Comment:Port to newer enet, remove vendored enet
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256: 9093e4cf6a8a8ca396478a71c557dd75362a80164eb3e97cc1843cea13c299c4
User & Date: js on 2025-04-19 22:30:13
Other Links: manifest | tags
Context
2025-04-19
22:30
Port to newer enet, remove vendored enet Leaf check-in: 9093e4cf6a user: js tags: trunk
20:17
Fix SDL includes check-in: c39abceb9b user: js tags: trunk
Changes

Deleted enet/Doxyfile version [db94936782].

Deleted enet/LICENSE version [1aa0c9e955].

Deleted enet/README version [d3ae11d48f].

Deleted enet/api.txt version [88da762bae].

Deleted enet/callbacks.c version [0e6473ae6b].

Deleted enet/design.txt version [e93c6b64fc].

Deleted enet/docs/FAQ.dox version [a3dfaf7cf8].

Deleted enet/docs/design.dox version [4f8f7f186c].

Deleted enet/docs/install.dox version [a021ed0cf4].

Deleted enet/docs/license.dox version [7024150f80].

Deleted enet/docs/mainpage.dox version [1ce3fc2cf4].

Deleted enet/docs/tutorial.dox version [2628cc3553].

Deleted enet/enet.txt version [87cc6e7265].

Deleted enet/host.c version [d09ce5d37b].

Deleted enet/include/enet/callbacks.h version [c6d1b13865].

Deleted enet/include/enet/enet.h version [1984b68050].

Deleted enet/include/enet/list.h version [7a8a024a55].

Deleted enet/include/enet/memory.h version [395dd4586f].

Deleted enet/include/enet/protocol.h version [b1bcb9a602].

Deleted enet/include/enet/time.h version [b8a4c3ee8d].

Deleted enet/include/enet/types.h version [d05e9c7a64].

Deleted enet/include/enet/unix.h version [25feb775ff].

Deleted enet/include/enet/utility.h version [07f3630b26].

Deleted enet/include/enet/win32.h version [35c74b1459].

Deleted enet/list.c version [591d59cb7c].

Deleted enet/memory.c version [a7ffc6f8bf].

Deleted enet/meson.build version [4ef18161bf].

Deleted enet/packet.c version [85db170ac0].

Deleted enet/peer.c version [1fb6b564cb].

Deleted enet/protocol.c version [4bf65a8b43].

Deleted enet/tutorial.txt version [c7698b7edd].

Deleted enet/unix.c version [3a19083186].

Deleted enet/win32.c version [470e3220ea].

Modified meson.build from [09e98c7860] to [b91f8efdba].

12
13
14
15
16
17
18

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

36







+
















-

  language: 'objc')

objfw_dep = dependency('objfw')
sdl_dep = dependency('SDL2')
sdlimage_dep = dependency('SDL2_image')
sdlmixer_dep = dependency('SDL2_mixer')
zlib_dep = dependency('zlib')
enet_dep = dependency('libenet')

client_link_args = []
server_link_args = []
extra_deps = []

if host_machine.system() == 'windows'
  client_link_args += ['-lopengl32', '-lglu32', '-lwinmm']
  server_link_args += ['-lwinmm']
elif host_machine.system() == 'darwin'
  extra_deps += dependency('OpenGL', method: 'extraframework')
else
  extra_deps += dependency('gl')
  extra_deps += dependency('glu')
  extra_deps += dependency('x11')
endif

subdir('enet')
subdir('src')

Modified src/clients.m from [6f1a324e2b] to [d4363a4bcc].

125
126
127
128
129
130
131
132

133
134
135

136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

151
152
153
154
155
156
157
125
126
127
128
129
130
131

132
133
134

135
136
137
138
139
140
141
142
143
144
145
146
147
148
149

150
151
152
153
154
155
156
157







-
+


-
+














-
+







	conoutf(@"attempting to connect to %@", servername);
	ENetAddress address = { ENET_HOST_ANY, CUBE_SERVER_PORT };
	if (enet_address_set_host(&address, servername.UTF8String) < 0) {
		conoutf(@"could not resolve server %@", servername);
		return;
	}

	clienthost = enet_host_create(NULL, 1, rate, rate);
	clienthost = enet_host_create(NULL, 1, 0, rate, rate);

	if (clienthost) {
		enet_host_connect(clienthost, &address, 1);
		enet_host_connect(clienthost, &address, 0, 1);
		enet_host_flush(clienthost);
		connecting = lastmillis;
		connattempts = 0;
	} else {
		conoutf(@"could not connect to server");
		disconnect(false, false);
	}
}

void
disconnect(bool onlyclean, bool async)
{
	if (clienthost) {
		if (!connecting && !disconnecting) {
			enet_peer_disconnect(clienthost->peers);
			enet_peer_disconnect(clienthost->peers, 0);
			enet_host_flush(clienthost);
			disconnecting = lastmillis;
		}
		if (clienthost->peers->state != ENET_PEER_STATE_DISCONNECTED) {
			if (async)
				return;
			enet_peer_reset(clienthost->peers);

Modified src/meson.build from [1a1922a166] to [74dc653a37].

57
58
59
60
61
62
63

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84


85
86
87
88
89
57
58
59
60
61
62
63
64
65
66

67

68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

83
84
85

86

87







+


-

-















-
+
+

-

-

  ],
  dependencies: [
    objfw_dep,
    sdl_dep,
    sdlimage_dep,
    sdlmixer_dep,
    zlib_dep,
    enet_dep,
    extra_deps
  ],
  include_directories: [enet_includes],
  link_args: client_link_args,
  link_with: [enet],
  win_subsystem: 'windows')

executable('server',
  [
    'Client.m',
    'Entity.m',
    'ServerEntity.m',
    'server.m',
    'serverms.m',
    'serverutil.m',
    'tools.m',
  ],
  objc_args: ['-DSTANDALONE'],
  dependencies: [
    objfw_dep,
    sdl_dep
    sdl_dep,
    enet_dep
  ],
  include_directories: [enet_includes],
  link_args: server_link_args,
  link_with: [enet],
  win_subsystem: 'console')

Modified src/server.m from [043bbacb23] to [bbc6daa995].

99
100
101
102
103
104
105
106

107
108
109
110
111
112
113
99
100
101
102
103
104
105

106
107
108
109
110
111
112
113







-
+







}

void
disconnect_client(int n, OFString *reason)
{
	[OFStdOut writeFormat: @"disconnecting client (%@) [%@]\n",
			       clients[n].hostname, reason];
	enet_peer_disconnect(clients[n].peer);
	enet_peer_disconnect(clients[n].peer, 0);
	clients[n].type = ST_EMPTY;
	send2(true, -1, SV_CDIS, n);
}

void
resetitems()
{
542
543
544
545
546
547
548
549


550
551
552
553
554
555
556
542
543
544
545
546
547
548

549
550
551
552
553
554
555
556
557







-
+
+







	    sdesc, dedicated);

	if ((isdedicated = dedicated)) {
		ENetAddress address = { ENET_HOST_ANY, CUBE_SERVER_PORT };
		if (ip.length > 0 &&
		    enet_address_set_host(&address, ip.UTF8String) < 0)
			printf("WARNING: server ip not resolved");
		serverhost = enet_host_create(&address, MAXCLIENTS, 0, uprate);
		serverhost = enet_host_create(&address, MAXCLIENTS, 0, 0,
		    uprate);
		if (!serverhost)
			fatal(@"could not create server host\n");
		for (int i = 0; i < MAXCLIENTS; i++)
			serverhost->peers[i].data = (void *)-1;
	}

	resetserverifempty();

Modified src/serverbrowser.m from [8678daf863] to [f2851be8f4].

247
248
249
250
251
252
253
254

255
256
257
258
259
260
261
247
248
249
250
251
252
253

254
255
256
257
258
259
260
261







-
+







	}];
}

static void
servermenu()
{
	if (pingsock == ENET_SOCKET_NULL) {
		pingsock = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM, NULL);
		pingsock = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM);
		resolverinit(1, 1000);
	}

	resolverclear();

	for (ServerInfo *si in servers)
		resolverquery(si.name);

Modified src/serverms.m from [86b7b53d7e] to [ed37cc442a].

12
13
14
15
16
17
18
19

20
21
22
23
24
25
26
12
13
14
15
16
17
18

19
20
21
22
23
24
25
26







-
+







		[OFStdOut writeFormat: @"looking up %@...\n", hostname];
		enet_address_set_host(ad, hostname.UTF8String);
		if (ad->host == ENET_HOST_ANY)
			return;
	}
	if (mssock != ENET_SOCKET_NULL)
		enet_socket_destroy(mssock);
	mssock = enet_socket_create(ENET_SOCKET_TYPE_STREAM, NULL);
	mssock = enet_socket_create(ENET_SOCKET_TYPE_STREAM);
	if (mssock == ENET_SOCKET_NULL) {
		printf("could not open socket\n");
		return;
	}
	if (enet_socket_connect(mssock, ad) < 0) {
		printf("could not connect\n");
		return;
159
160
161
162
163
164
165
166
167
168
169


170

171
172








159
160
161
162
163
164
165




166
167
168
169


170
171
172
173
174
175
176
177







-
-
-
-
+
+

+
-
-
+
+
+
+
+
+
+
+
		mid = master;
	masterpath = @(mid);
	masterbase = [OFString stringWithUTF8String: master
					     length: mid - master];
	serverdesc = sdesc;

	if (listen) {
		ENetAddress address = { ENET_HOST_ANY, CUBE_SERVINFO_PORT };
		pongsock =
		    enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM, &address);
		if (pongsock == ENET_SOCKET_NULL)
		pongsock = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM);
		if (pongsock == ENET_SOCKET_NULL) {
			fatal(@"could not create server info socket\n");
			return;
	}
}
		}
		ENetAddress address = { ENET_HOST_ANY, CUBE_SERVINFO_PORT };
		if (enet_socket_bind(pongsock, &address) != 0) {
			fatal(@"could not create server info socket\n");
			return;
		}
	}
}