Skip to content

Commit a3b080b

Browse files
committed
comments and starting docs overhaul
1 parent 4f4c092 commit a3b080b

14 files changed

Lines changed: 97 additions & 32 deletions

File tree

dev/shared/testPackets.luau

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ local ReplicatedStorage = game:GetService("ReplicatedStorage")
33
local ByteNet = require(ReplicatedStorage.Packages.ByteNet)
44
--
55
return ByteNet.defineNamespace("game", function()
6+
local myStruct = ByteNet.struct({
7+
a = ByteNet.uint8,
8+
b = ByteNet.uint16,
9+
c = ByteNet.string,
10+
d = ByteNet.float32,
11+
})
12+
613
return {
714
myPacket = ByteNet.definePacket({
8-
value = ByteNet.array(ByteNet.struct({
9-
a = ByteNet.uint8,
10-
b = ByteNet.uint16,
11-
c = ByteNet.string,
12-
d = ByteNet.float32,
13-
})),
15+
value = ByteNet.array(myStruct),
1416
}),
1517
}
1618
end)

docs/css/code.css

Whitespace-only changes.

docs/css/colors.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
:root {
2+
--docs-black: #04080f;
3+
--docs-blue: #456990;
4+
--docs-lightblue: #b9d6f2;
5+
--docs-pink: #f4a5ae;
6+
--docs-pastelpink: #d999b9;
7+
--docs-white: #f5f5f5;
8+
}

docs/css/homepage.css

Whitespace-only changes.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ theme:
3838
extra_css:
3939
- assets/colors.css
4040
- assets/home.css
41+
- css/colors.css
4142

4243
markdown_extensions:
4344
- pymdownx.highlight:

sourcemap.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"name":"bytenet-dev","className":"DataModel","filePaths":["dev.project.json"],"children":[{"name":"ReplicatedStorage","className":"ReplicatedStorage","children":[{"name":"Packages","className":"Folder","children":[{"name":"ByteNet","className":"ModuleScript","filePaths":["src\\init.luau"],"children":[{"name":"dataTypes","className":"Folder","children":[{"name":"array","className":"ModuleScript","filePaths":["src\\dataTypes\\array.luau"]},{"name":"bool","className":"ModuleScript","filePaths":["src\\dataTypes\\bool.luau"]},{"name":"buff","className":"ModuleScript","filePaths":["src\\dataTypes\\buff.luau"]},{"name":"cframe","className":"ModuleScript","filePaths":["src\\dataTypes\\cframe.luau"]},{"name":"float32","className":"ModuleScript","filePaths":["src\\dataTypes\\float32.luau"]},{"name":"float64","className":"ModuleScript","filePaths":["src\\dataTypes\\float64.luau"]},{"name":"int16","className":"ModuleScript","filePaths":["src\\dataTypes\\int16.luau"]},{"name":"int32","className":"ModuleScript","filePaths":["src\\dataTypes\\int32.luau"]},{"name":"int8","className":"ModuleScript","filePaths":["src\\dataTypes\\int8.luau"]},{"name":"map","className":"ModuleScript","filePaths":["src\\dataTypes\\map.luau"]},{"name":"optional","className":"ModuleScript","filePaths":["src\\dataTypes\\optional.luau"]},{"name":"string","className":"ModuleScript","filePaths":["src\\dataTypes\\string.luau"]},{"name":"struct","className":"ModuleScript","filePaths":["src\\dataTypes\\struct.luau"]},{"name":"uint16","className":"ModuleScript","filePaths":["src\\dataTypes\\uint16.luau"]},{"name":"uint32","className":"ModuleScript","filePaths":["src\\dataTypes\\uint32.luau"]},{"name":"uint8","className":"ModuleScript","filePaths":["src\\dataTypes\\uint8.luau"]},{"name":"vec2","className":"ModuleScript","filePaths":["src\\dataTypes\\vec2.luau"]},{"name":"vec3","className":"ModuleScript","filePaths":["src\\dataTypes\\vec3.luau"]}]},{"name":"namespaces","className":"Folder","children":[{"name":"namespace","className":"ModuleScript","filePaths":["src\\namespaces\\namespace.luau"]},{"name":"namespacesDependencies","className":"ModuleScript","filePaths":["src\\namespaces\\namespacesDependencies.luau"]},{"name":"packetIDs","className":"ModuleScript","filePaths":["src\\namespaces\\packetIDs.luau"]}]},{"name":"packets","className":"Folder","children":[{"name":"packet","className":"ModuleScript","filePaths":["src\\packets\\packet.luau"]},{"name":"definePacket","className":"ModuleScript","filePaths":["src\\packets\\definePacket.luau"]}]},{"name":"process","className":"Folder","children":[{"name":"bufferWriter","className":"ModuleScript","filePaths":["src\\process\\bufferWriter.luau"]},{"name":"client","className":"ModuleScript","filePaths":["src\\process\\client.luau"]},{"name":"read","className":"ModuleScript","filePaths":["src\\process\\read.luau"]},{"name":"server","className":"ModuleScript","filePaths":["src\\process\\server.luau"]}]},{"name":"replicated","className":"Folder","children":[{"name":"replicatedValue","className":"ModuleScript","filePaths":["src\\replicated\\replicatedValue.luau"]},{"name":"values","className":"ModuleScript","filePaths":["src\\replicated\\values.luau"]}]},{"name":"types","className":"ModuleScript","filePaths":["src\\types.luau"]}]}]},{"name":"shared","className":"Folder","children":[{"name":"testPackets","className":"ModuleScript","filePaths":["dev/shared\\testPackets.luau"]}]}]},{"name":"ServerScriptService","className":"ServerScriptService","children":[{"name":"server","className":"Folder","children":[{"name":"serverTests","className":"Script","filePaths":["dev/server\\serverTests.server.luau"]}]}]},{"name":"StarterPlayer","className":"StarterPlayer","children":[{"name":"StarterPlayerScripts","className":"StarterPlayerScripts","children":[{"name":"clientTests","className":"LocalScript","filePaths":["dev/client\\clientTests.client.luau"]}]}]}]}
1+
{"name":"bytenet-dev","className":"DataModel","filePaths":["dev.project.json"],"children":[{"name":"ReplicatedStorage","className":"ReplicatedStorage","children":[{"name":"Packages","className":"Folder","children":[{"name":"ByteNet","className":"ModuleScript","filePaths":["src\\init.luau"],"children":[{"name":"dataTypes","className":"Folder","children":[{"name":"array","className":"ModuleScript","filePaths":["src\\dataTypes\\array.luau"]},{"name":"bool","className":"ModuleScript","filePaths":["src\\dataTypes\\bool.luau"]},{"name":"buff","className":"ModuleScript","filePaths":["src\\dataTypes\\buff.luau"]},{"name":"cframe","className":"ModuleScript","filePaths":["src\\dataTypes\\cframe.luau"]},{"name":"float32","className":"ModuleScript","filePaths":["src\\dataTypes\\float32.luau"]},{"name":"float64","className":"ModuleScript","filePaths":["src\\dataTypes\\float64.luau"]},{"name":"int16","className":"ModuleScript","filePaths":["src\\dataTypes\\int16.luau"]},{"name":"int32","className":"ModuleScript","filePaths":["src\\dataTypes\\int32.luau"]},{"name":"int8","className":"ModuleScript","filePaths":["src\\dataTypes\\int8.luau"]},{"name":"map","className":"ModuleScript","filePaths":["src\\dataTypes\\map.luau"]},{"name":"optional","className":"ModuleScript","filePaths":["src\\dataTypes\\optional.luau"]},{"name":"string","className":"ModuleScript","filePaths":["src\\dataTypes\\string.luau"]},{"name":"struct","className":"ModuleScript","filePaths":["src\\dataTypes\\struct.luau"]},{"name":"uint16","className":"ModuleScript","filePaths":["src\\dataTypes\\uint16.luau"]},{"name":"uint32","className":"ModuleScript","filePaths":["src\\dataTypes\\uint32.luau"]},{"name":"uint8","className":"ModuleScript","filePaths":["src\\dataTypes\\uint8.luau"]},{"name":"vec2","className":"ModuleScript","filePaths":["src\\dataTypes\\vec2.luau"]},{"name":"vec3","className":"ModuleScript","filePaths":["src\\dataTypes\\vec3.luau"]}]},{"name":"namespaces","className":"Folder","children":[{"name":"namespace","className":"ModuleScript","filePaths":["src\\namespaces\\namespace.luau"]},{"name":"namespacesDependencies","className":"ModuleScript","filePaths":["src\\namespaces\\namespacesDependencies.luau"]},{"name":"packetIDs","className":"ModuleScript","filePaths":["src\\namespaces\\packetIDs.luau"]}]},{"name":"packets","className":"Folder","children":[{"name":"definePacket","className":"ModuleScript","filePaths":["src\\packets\\definePacket.luau"]},{"name":"packet","className":"ModuleScript","filePaths":["src\\packets\\packet.luau"]}]},{"name":"process","className":"Folder","children":[{"name":"bufferWriter","className":"ModuleScript","filePaths":["src\\process\\bufferWriter.luau"]},{"name":"client","className":"ModuleScript","filePaths":["src\\process\\client.luau"]},{"name":"read","className":"ModuleScript","filePaths":["src\\process\\read.luau"]},{"name":"server","className":"ModuleScript","filePaths":["src\\process\\server.luau"]}]},{"name":"replicated","className":"Folder","children":[{"name":"replicatedValue","className":"ModuleScript","filePaths":["src\\replicated\\replicatedValue.luau"]},{"name":"values","className":"ModuleScript","filePaths":["src\\replicated\\values.luau"]}]},{"name":"types","className":"ModuleScript","filePaths":["src\\types.luau"]}]}]},{"name":"shared","className":"Folder","children":[{"name":"testPackets","className":"ModuleScript","filePaths":["dev/shared\\testPackets.luau"]}]}]},{"name":"ServerScriptService","className":"ServerScriptService","children":[{"name":"server","className":"Folder","children":[{"name":"serverTests","className":"Script","filePaths":["dev/server\\serverTests.server.luau"]}]}]},{"name":"StarterPlayer","className":"StarterPlayer","children":[{"name":"StarterPlayerScripts","className":"StarterPlayerScripts","children":[{"name":"clientTests","className":"LocalScript","filePaths":["dev/client\\clientTests.client.luau"]}]}]}]}

src/dataTypes/struct.luau

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,44 @@ type structData = {
1313
return function(input: {
1414
[string]: types.dataTypeInterface<any>,
1515
}): types.dataTypeInterface<any>
16+
-- This is used in the reading/writing parts, and isn't used in the initialization code
17+
-- It's used to store the index-value pairs and the index-key pairs
18+
-- Index being the position of the value in the array, and the key being the key in the struct dictionary
1619
local indexValueTypePairs: {
1720
[number]: types.dataTypeInterface<any>,
1821
} = {}
1922
local indexKeyPairs: { [number]: string } = {}
2023

24+
--[[
25+
Array should look like {
26+
[index (1)] = value
27+
[index (2)] = value
28+
}
29+
30+
Index value type is {
31+
[index (1)] = int32
32+
}
33+
34+
Index key is {
35+
[index (1)] = "structField"
36+
}
37+
]]
38+
2139
if runContext == "server" then
2240
local serializedStruct = {}
2341

42+
-- Convert the struct to an array
2443
local count = 0
2544
for key in input do
2645
count += 1
2746
serializedStruct[key] = count
2847

48+
-- Store the index-value pairs and the index-key pairs as a shortcut for serializing n all that
2949
indexValueTypePairs[count] = input[key]
3050
indexKeyPairs[count] = key
3151
end
3252

53+
-- replicate
3354
namespacesDependencies.add(serializedStruct)
3455
elseif runContext == "client" then
3556
-- There's a layer of complexity added here because we have to access the namespace data
@@ -40,8 +61,10 @@ return function(input: {
4061
local namespaceReplicator = values.access(name)
4162
local namespaceData = namespaceReplicator:read() :: types.namespaceData
4263

64+
-- struct id is just based on the order of creation in the namespace function
4365
local structData = namespaceData.structs[namespacesDependencies.currentLength()]
4466

67+
-- Fetch the data from the server and store it in the index-value pairs and the index-key pairs
4568
for key, index in structData do
4669
indexValueTypePairs[index] = input[key]
4770
indexKeyPairs[index] = key

src/namespaces/namespace.luau

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ return function(
4545

4646
namespaceReplicator:write(constructedNamespace)
4747
elseif runContext == "client" then
48+
-- yes, this means that packets technically don't need to be defined on the client
49+
-- we do it anyway for typechecking and perf shortcuts
4850
local namespaceData = namespaceReplicator:read() :: types.namespaceData
4951

5052
for key, packet in packets do

src/namespaces/namespacesDependencies.luau

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
--[[
2+
Basic dependency graph for structs created within a namespace
3+
]]
4+
15
local current: { [number]: any }?
26
local currentName: string
37

src/namespaces/packetIDs.luau

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
--[[
2+
Exists solely to get a packet instance from an ID in the reader file
3+
]]
14
local dict = {}
25

36
local packetIDs = {}

0 commit comments

Comments
 (0)