cluaupp 1.5.2 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +29 -41
  3. package/api/generated/bench-latest.json +43 -21
  4. package/api/generated/lsp-index.json +1 -1
  5. package/api/manifests/roblox-target.manifest.json +5 -5
  6. package/api/normalized/roblox-target.profile.json +8729 -267
  7. package/api/roblox/luau-builtins.d.luau +185 -0
  8. package/api/roblox/surface.json +1 -0
  9. package/api/roblox-api.lock.json +11 -2
  10. package/bin/cluaupp.js +38 -0
  11. package/editors/vscode/README.md +1 -1
  12. package/editors/vscode/package.json +50 -15
  13. package/editors/vscode/snippets/flare.json +1 -1
  14. package/editors/vscode/snippets/hive.json +1 -1
  15. package/editors/vscode/syntaxes/clpp.tmLanguage.json +211 -0
  16. package/examples/README.md +9 -9
  17. package/examples/game/cluaupp.config.json +2 -2
  18. package/examples/game/default.project.json +4 -15
  19. package/examples/game/out/ReplicatedStorage/Shared/GameInfo.luau +8 -0
  20. package/examples/game/out/ReplicatedStorage/Shared/GameInfo.luau.map.json +13 -0
  21. package/examples/game/out/ServerScriptService/Leaderstats.server.luau +26 -0
  22. package/examples/game/out/ServerScriptService/Leaderstats.server.luau.map.json +13 -0
  23. package/examples/game/out/ServerScriptService/Main.server.luau +15 -0
  24. package/examples/game/out/ServerScriptService/Main.server.luau.map.json +13 -0
  25. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Main.client.luau +10 -0
  26. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Main.client.luau.map.json +13 -0
  27. package/examples/game/src/ReplicatedStorage/Shared/GameInfo.clp +1 -0
  28. package/examples/game/src/ServerScriptService/Leaderstats.server.clp +18 -0
  29. package/examples/game/src/ServerScriptService/Main.server.clp +9 -0
  30. package/examples/game/src/StarterPlayer/StarterPlayerScripts/Main.client.clp +4 -0
  31. package/generated/api/build-profile.js +1 -1
  32. package/generated/api/loader.js +2 -2
  33. package/generated/api/surface/build.js +328 -0
  34. package/generated/api/surface/luau-defs.js +595 -0
  35. package/generated/api/surface/model.js +8 -0
  36. package/generated/api-cli.js +2 -2
  37. package/generated/cli.js +18 -17
  38. package/generated/clpp/contract.js +6 -3
  39. package/generated/clpp/handshake.js +36 -0
  40. package/generated/clpp/modules.js +20 -9
  41. package/generated/clpp/runner.js +62 -31
  42. package/generated/compile.js +18 -1
  43. package/generated/compiler/ast.js +3 -0
  44. package/generated/compiler/checker/calls.js +999 -0
  45. package/generated/compiler/checker/checker.js +1215 -0
  46. package/generated/compiler/checker/exprs.js +791 -0
  47. package/generated/compiler/checker/flow.js +168 -0
  48. package/generated/compiler/checker/members.js +763 -0
  49. package/generated/compiler/checker/statements.js +792 -0
  50. package/generated/compiler/checker/symbols.js +90 -0
  51. package/generated/compiler/checker/typeops.js +348 -0
  52. package/generated/compiler/checker/yields.js +115 -0
  53. package/generated/compiler/diagnostics.js +138 -0
  54. package/generated/compiler/emit/emitter.js +2356 -0
  55. package/generated/compiler/emit/luau-types.js +137 -0
  56. package/generated/compiler/emit/names.js +130 -0
  57. package/generated/compiler/emit/runtime.js +432 -0
  58. package/generated/compiler/lexer.js +403 -0
  59. package/generated/compiler/parser.js +1881 -0
  60. package/generated/compiler/project.js +332 -0
  61. package/generated/compiler/roblox/api.js +388 -0
  62. package/generated/compiler/roblox/context.js +100 -0
  63. package/generated/compiler/source.js +59 -0
  64. package/generated/compiler/stdlib.js +232 -0
  65. package/generated/compiler/types.js +250 -0
  66. package/generated/intellisense.js +1 -15
  67. package/generated/lsp.js +1 -1
  68. package/generated/target/build-cache.js +4 -4
  69. package/generated/target/datamodel-generate.js +12 -0
  70. package/generated/target/gen-rojo-tree.js +15 -0
  71. package/generated/target/source-map.js +61 -8
  72. package/generated/target/studio-bridge.js +1 -0
  73. package/generated/utils/project.js +104 -31
  74. package/include/README.md +5 -0
  75. package/native/bin/.gitkeep +1 -0
  76. package/package.json +17 -6
  77. package/plugins/CluauppNav/Plugin.luau +28 -4
  78. package/rust/cluaupp/Cargo.lock +795 -0
  79. package/rust/cluaupp/Cargo.toml +17 -0
  80. package/rust/cluaupp/src/main.rs +717 -0
  81. package/scripts/postinstall-native.js +56 -0
  82. package/skills/README.md +3 -3
  83. package/skills/clpp-hive-flare/SKILL.md +30 -26
  84. package/skills/clpp-language/SKILL.md +67 -74
  85. package/skills/clpp-language/compiler.md +24 -36
  86. package/skills/clpp-style/SKILL.md +31 -44
  87. package/src/api/build-profile.ts +1 -1
  88. package/src/api/loader.ts +2 -2
  89. package/src/api/surface/build.ts +374 -0
  90. package/src/api/surface/luau-defs.ts +635 -0
  91. package/src/api/surface/model.ts +96 -0
  92. package/src/api-cli.ts +2 -2
  93. package/src/cli.ts +19 -18
  94. package/src/clpp/contract.ts +20 -3
  95. package/src/clpp/handshake.ts +25 -0
  96. package/src/clpp/modules.ts +17 -10
  97. package/src/clpp/runner.ts +52 -34
  98. package/src/compile.ts +20 -2
  99. package/src/compiler/ast.ts +336 -0
  100. package/src/compiler/checker/calls.ts +1025 -0
  101. package/src/compiler/checker/checker.ts +1352 -0
  102. package/src/compiler/checker/exprs.ts +805 -0
  103. package/src/compiler/checker/flow.ts +174 -0
  104. package/src/compiler/checker/members.ts +793 -0
  105. package/src/compiler/checker/statements.ts +802 -0
  106. package/src/compiler/checker/symbols.ts +219 -0
  107. package/src/compiler/checker/typeops.ts +355 -0
  108. package/src/compiler/checker/yields.ts +120 -0
  109. package/src/compiler/diagnostics.ts +163 -0
  110. package/src/compiler/emit/emitter.ts +2486 -0
  111. package/src/compiler/emit/luau-types.ts +143 -0
  112. package/src/compiler/emit/names.ts +130 -0
  113. package/src/compiler/emit/runtime.ts +438 -0
  114. package/src/compiler/lexer.ts +444 -0
  115. package/src/compiler/parser.ts +1943 -0
  116. package/src/compiler/project.ts +354 -0
  117. package/src/compiler/roblox/api.ts +408 -0
  118. package/src/compiler/roblox/context.ts +108 -0
  119. package/src/compiler/source.ts +67 -0
  120. package/src/compiler/stdlib.ts +256 -0
  121. package/src/compiler/types.ts +313 -0
  122. package/src/intellisense.ts +1 -13
  123. package/src/lsp.ts +1 -1
  124. package/src/target/build-cache.ts +5 -8
  125. package/src/target/datamodel-generate.ts +12 -1
  126. package/src/target/gen-rojo-tree.ts +15 -0
  127. package/src/target/source-map.ts +65 -27
  128. package/src/target/studio-bridge.ts +3 -0
  129. package/src/types.ts +3 -0
  130. package/src/utils/project.ts +99 -37
  131. package/templates/README.md +7 -0
  132. package/templates/{game → game-modern}/cluaupp.config.json +2 -2
  133. package/templates/{game → game-modern}/package.json +1 -2
  134. package/templates/game-modern/rokit.toml +2 -0
  135. package/templates/game-modern/src/ReplicatedStorage/Shared/GameInfo.clp +1 -0
  136. package/templates/game-modern/src/ServerScriptService/Handlers/Guard.server.clp +4 -0
  137. package/templates/game-modern/src/ServerScriptService/Main.server.clp +8 -0
  138. package/templates/game-modern/src/StarterPlayer/StarterPlayerScripts/Main.client.clp +4 -0
  139. package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau +0 -29
  140. package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau.map.json +0 -13
  141. package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau +0 -83
  142. package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau.map.json +0 -13
  143. package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau +0 -18
  144. package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau.map.json +0 -13
  145. package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau +0 -14
  146. package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau.map.json +0 -13
  147. package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau +0 -15
  148. package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau.map.json +0 -13
  149. package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau +0 -50
  150. package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau.map.json +0 -13
  151. package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau +0 -12
  152. package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau.map.json +0 -13
  153. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau +0 -16
  154. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau.map.json +0 -13
  155. package/examples/game/src/Client/Controllers/DataController.client.clpp +0 -7
  156. package/examples/game/src/Client/Main.client.clpp +0 -4
  157. package/examples/game/src/Declarations/Net.flare +0 -5
  158. package/examples/game/src/Include/GameTypes.clh +0 -40
  159. package/examples/game/src/Modules/Core/Guard.server.clpp +0 -7
  160. package/examples/game/src/Modules/Core/PlayerHandler.server.clpp +0 -23
  161. package/examples/game/src/Server/Boot/DataBoot.server.clpp +0 -13
  162. package/examples/game/src/Server/Main.server.clpp +0 -4
  163. package/templates/game/.clangd +0 -25
  164. package/templates/game/.vscode/extensions.json +0 -8
  165. package/templates/game/.vscode/settings.json +0 -17
  166. package/templates/game/Packages/.gitkeep +0 -0
  167. package/templates/game/compile_flags.txt +0 -6
  168. package/templates/game/default.project.json +0 -41
  169. package/templates/game/include/clpp/datatypes.clh +0 -575
  170. package/templates/game/include/clpp/generated/enums.clh +0 -4920
  171. package/templates/game/include/clpp/generated/instances.clh +0 -87182
  172. package/templates/game/include/clpp/libs/arrayindexer.clh +0 -12
  173. package/templates/game/include/clpp/libs/axiom.clh +0 -154
  174. package/templates/game/include/clpp/libs/bloom.clh +0 -58
  175. package/templates/game/include/clpp/libs/coil.clh +0 -37
  176. package/templates/game/include/clpp/libs/crest.clh +0 -22
  177. package/templates/game/include/clpp/libs/echo.clh +0 -52
  178. package/templates/game/include/clpp/libs/ember.clh +0 -17
  179. package/templates/game/include/clpp/libs/flare.clh +0 -65
  180. package/templates/game/include/clpp/libs/gleam.clh +0 -111
  181. package/templates/game/include/clpp/libs/guide.clh +0 -42
  182. package/templates/game/include/clpp/libs/helm.clh +0 -31
  183. package/templates/game/include/clpp/libs/hive.clh +0 -20
  184. package/templates/game/include/clpp/libs/keep.clh +0 -158
  185. package/templates/game/include/clpp/libs/lens.clh +0 -24
  186. package/templates/game/include/clpp/libs/mint.clh +0 -28
  187. package/templates/game/include/clpp/libs/net.clh +0 -31
  188. package/templates/game/include/clpp/libs/occlude.clh +0 -15
  189. package/templates/game/include/clpp/libs/pin.clh +0 -28
  190. package/templates/game/include/clpp/libs/promise.clh +0 -24
  191. package/templates/game/include/clpp/libs/roster.clh +0 -123
  192. package/templates/game/include/clpp/libs/shift.clh +0 -22
  193. package/templates/game/include/clpp/libs/spark.clh +0 -28
  194. package/templates/game/include/clpp/libs/stage.clh +0 -23
  195. package/templates/game/include/clpp/libs/sweep.clh +0 -23
  196. package/templates/game/include/clpp/libs/trace.clh +0 -18
  197. package/templates/game/include/clpp/libs/ward.clh +0 -19
  198. package/templates/game/include/clpp/libs.clh +0 -31
  199. package/templates/game/include/clpp/roblox.clh +0 -41
  200. package/templates/game/rokit.toml +0 -5
  201. package/templates/game/src/Client/Controllers/DataController.client.clpp +0 -7
  202. package/templates/game/src/Client/Main.client.clpp +0 -4
  203. package/templates/game/src/Declarations/Net.flare +0 -5
  204. package/templates/game/src/Include/GameTypes.clh +0 -40
  205. package/templates/game/src/Modules/Core/Guard.server.clpp +0 -7
  206. package/templates/game/src/Modules/Core/PlayerHandler.server.clpp +0 -24
  207. package/templates/game/src/Server/Boot/DataBoot.server.clpp +0 -13
  208. package/templates/game/src/Server/Main.server.clpp +0 -4
  209. package/templates/game/stylua.toml +0 -9
  210. package/templates/game/wally.toml +0 -12
@@ -1,83 +0,0 @@
1
- --!native
2
- --!optimize 2
3
- --!strict
4
- -- cluaupp-source: ReplicatedStorage/Shared/Net/Net.flare
5
- -- Generated by Cluaupp Flare from ReplicatedStorage/Shared/Net/Net.flare
6
- -- Do not edit. Change the .flare schema and run cluaupp build.
7
-
8
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
9
-
10
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
11
- local Flare = require(ReplicatedStorage.CluauppLibs.Flare)
12
-
13
- local session = Flare.open(script)
14
-
15
- -- packet Ready (#1)
16
- local function writeReady(cursor)
17
- return cursor
18
- end
19
-
20
- local function readReady(cursor)
21
- return
22
- end
23
-
24
- local Ready = session.packet({
25
- id = 1,
26
- from = "client",
27
- reliable = true,
28
- write = writeReady,
29
- read = readReady,
30
- })
31
-
32
- -- packet Welcome (#2)
33
- local function writeWelcome(cursor, userId, clock)
34
- Flare.writei32(cursor, userId)
35
- Flare.writef64(cursor, clock)
36
- return cursor
37
- end
38
-
39
- local function readWelcome(cursor)
40
- local userId = Flare.readi32(cursor)
41
- local clock = Flare.readf64(cursor)
42
- return userId, clock
43
- end
44
-
45
- local Welcome = session.packet({
46
- id = 2,
47
- from = "server",
48
- reliable = true,
49
- write = writeWelcome,
50
- read = readWelcome,
51
- })
52
-
53
- -- query Session (#1)
54
- local function writeSessionReq(cursor)
55
- return cursor
56
- end
57
-
58
- local function readSessionReq(cursor)
59
- return
60
- end
61
-
62
- local function writeSessionRes(cursor, value)
63
- Flare.writei32(cursor, value)
64
- return cursor
65
- end
66
-
67
- local function readSessionRes(cursor)
68
- return Flare.readi32(cursor)
69
- end
70
-
71
- local Session = session.query({
72
- id = 1,
73
- writeReq = writeSessionReq,
74
- readReq = readSessionReq,
75
- writeRes = writeSessionRes,
76
- readRes = readSessionRes,
77
- })
78
-
79
- return {
80
- Ready = Ready,
81
- Welcome = Welcome,
82
- Session = Session,
83
- }
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "Net.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "ReplicatedStorage/Shared/Net/Net.flare"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "ReplicatedStorage/Shared/Net/Net.flare",
11
- "generated": "out/ReplicatedStorage/Shared/Net/Net.luau"
12
- }
13
- }
@@ -1,18 +0,0 @@
1
- --!nonstrict
2
- -- cluaupp-source: ServerScriptService/Boot/DataBoot.server.clpp
3
- -- Compiled by CL++ — C++ × Luau
4
-
5
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
6
-
7
- const ReplicatedStorage = game:GetService("ReplicatedStorage")
8
-
9
- const Keep = require(ReplicatedStorage.CluauppLibs.Keep)
10
- const TemplateData = require(ReplicatedStorage.Shared.Constants.Datas.TemplateData)
11
-
12
- -- DataBoot.server.clpp:6
13
- const function init()
14
- local playerData: PlayerTemplate = TemplateData()
15
- Keep.Server:Init({ Template = playerData, StoreName = "PlayerData", UseMock = true })
16
- end
17
-
18
- init()
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "DataBoot.server.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "ServerScriptService/Boot/DataBoot.server.clpp"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "ServerScriptService/Boot/DataBoot.server.clpp",
11
- "generated": "out/ServerScriptService/Boot/DataBoot.server.luau"
12
- }
13
- }
@@ -1,14 +0,0 @@
1
- --!nonstrict
2
- -- cluaupp-source: ServerScriptService/Configuration/ServerConfig.clp
3
- -- Compiled by CL++ — C++ × Luau
4
-
5
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
6
-
7
- const STORE_NAME: string = "PlayerData"
8
-
9
- const USE_MOCK_IN_STUDIO: boolean = true
10
-
11
- return {
12
- STORE_NAME = STORE_NAME,
13
- USE_MOCK_IN_STUDIO = USE_MOCK_IN_STUDIO,
14
- }
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "ServerConfig.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "ServerScriptService/Configuration/ServerConfig.clp"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "ServerScriptService/Configuration/ServerConfig.clp",
11
- "generated": "out/ServerScriptService/Configuration/ServerConfig.luau"
12
- }
13
- }
@@ -1,15 +0,0 @@
1
- --!nonstrict
2
- -- cluaupp-source: ServerScriptService/Handlers/Guard.server.clpp
3
- -- Compiled by CL++ — C++ × Luau
4
-
5
- const ReplicatedStorage = game:GetService("ReplicatedStorage")
6
- const Ward = require(ReplicatedStorage.CluauppLibs.Ward)
7
-
8
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
9
-
10
- -- Guard.server.clpp:5
11
- const function init()
12
- Ward.Start()
13
- end
14
-
15
- init()
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "Guard.server.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "ServerScriptService/Handlers/Guard.server.clpp"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "ServerScriptService/Handlers/Guard.server.clpp",
11
- "generated": "out/ServerScriptService/Handlers/Guard.server.luau"
12
- }
13
- }
@@ -1,50 +0,0 @@
1
- --!nonstrict
2
- -- cluaupp-source: ServerScriptService/Handlers/PlayerHandler.server.clpp
3
- -- Compiled by CL++ — C++ × Luau
4
-
5
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
6
-
7
- const ReplicatedStorage = game:GetService("ReplicatedStorage")
8
-
9
- const Janitor = require(ReplicatedStorage.CluauppLibs.Sweep)
10
- local __cluauppSweep = nil
11
- const Keep = require(ReplicatedStorage.CluauppLibs.Keep)
12
-
13
- -- PlayerHandler.server.clpp:5
14
- const function BindLeaderstats(player: Player)
15
- local data = Keep.Server:WaitFor(player)
16
-
17
- if player:FindFirstChild("leaderstats") ~= nil then
18
- return
19
- end
20
-
21
- local leaderstats: Folder = Instance.new("Folder")
22
- leaderstats.Parent = player
23
- leaderstats.Name = "leaderstats"
24
- local coins: IntValue = Instance.new("IntValue")
25
- coins.Parent = leaderstats
26
- coins.Name = "Coins"
27
- coins.Value = data:Get(Keep.Server.Paths.Currencies.Coins) -- initial value; not a Changed event
28
- end
29
-
30
- -- PlayerHandler.server.clpp:17
31
- const function init()
32
- if not __cluauppSweep then
33
- __cluauppSweep = Janitor.new()
34
- end
35
-
36
- local __janitor = __cluauppSweep
37
- local players: Players = game:GetService("Players")
38
-
39
- for _, player in players:GetPlayers() do
40
- BindLeaderstats(player)
41
- end
42
-
43
- __janitor:Add(players.PlayerAdded:Connect(BindLeaderstats), "Disconnect")
44
- game:BindToClose(function()
45
- __janitor:Cleanup()
46
- __janitor:Destroy()
47
- end)
48
- end
49
-
50
- init()
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "PlayerHandler.server.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "ServerScriptService/Handlers/PlayerHandler.server.clpp"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "ServerScriptService/Handlers/PlayerHandler.server.clpp",
11
- "generated": "out/ServerScriptService/Handlers/PlayerHandler.server.luau"
12
- }
13
- }
@@ -1,12 +0,0 @@
1
- --!nonstrict
2
- -- cluaupp-source: StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.clpp
3
- -- Compiled by CL++ — C++ × Luau
4
-
5
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
6
-
7
- -- CharacterReady.client.clpp:4
8
- const function init()
9
- print("character local ready")
10
- end
11
-
12
- init()
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "CharacterReady.client.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.clpp"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.clpp",
11
- "generated": "out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau"
12
- }
13
- }
@@ -1,16 +0,0 @@
1
- --!nonstrict
2
- -- cluaupp-source: StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.clpp
3
- -- Compiled by CL++ — C++ × Luau
4
-
5
- -- cluaupp: Roster.new / GetService ReplicatedStorage / self.janitor
6
-
7
- const ReplicatedStorage = game:GetService("ReplicatedStorage")
8
-
9
- const Keep = require(ReplicatedStorage.CluauppLibs.Keep)
10
-
11
- -- DataController.client.clpp:5
12
- const function init()
13
- Keep.Client:Init()
14
- end
15
-
16
- init()
@@ -1,13 +0,0 @@
1
- {
2
- "version": 1,
3
- "file": "DataController.client.luau",
4
- "sourceRoot": "C:/Users/gtofr/OneDrive/Documentos/GitHub/Cluaupp/examples/game",
5
- "sources": [
6
- "StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.clpp"
7
- ],
8
- "mappings": "AAAA",
9
- "cluaupp": {
10
- "source": "StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.clpp",
11
- "generated": "out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau"
12
- }
13
- }
@@ -1,7 +0,0 @@
1
- #pragma strict
2
- #include <clpp/roblox.clh>
3
- #include <clpp/libs/keep.clh>
4
-
5
- void init() {
6
- Keep.Client.Init();
7
- }
@@ -1,4 +0,0 @@
1
- #pragma strict
2
- #include <clpp/roblox.clh>
3
-
4
- void init() {}
@@ -1,5 +0,0 @@
1
- opt name = Net
2
-
3
- packet Ready() from Client
4
- packet Welcome(i32 userId, f64 clock) from Server
5
- query Session() -> i32
@@ -1,40 +0,0 @@
1
- #pragma once
2
-
3
- // Starter player save shape. Keep.Server.Init(.Template) copies this table.
4
- // Add fields here — Paths are generated from the template instance.
5
-
6
- struct Currencies {
7
- int Coins = 0;
8
- int Gems = 0;
9
- };
10
-
11
- struct PlayerInventory {
12
- int Slots = 20;
13
- };
14
-
15
- struct PlayerTrade {
16
- string DayKey;
17
- int TradesToday = 0;
18
- int LastTradeAt = 0;
19
- string ActiveTradeId;
20
- // Reserved + Receipts tables are created by Keep.Trade.Ensure at runtime.
21
- };
22
-
23
- struct PlayerSettings {
24
- int GameMusic = 100;
25
- int Effects = 100;
26
- };
27
-
28
- struct PlayerCodes {
29
- int RedeemedCount = 0;
30
- };
31
-
32
- struct PlayerTemplate {
33
- Currencies Currencies;
34
- int Rebirths = 0;
35
- int Rank = 0;
36
- PlayerInventory Inventory;
37
- PlayerTrade Trade;
38
- PlayerSettings Settings;
39
- PlayerCodes Codes;
40
- };
@@ -1,7 +0,0 @@
1
- #pragma strict
2
- #include <clpp/roblox.clh>
3
- #include <clpp/libs/ward.clh>
4
-
5
- void init() {
6
- Ward.Start();
7
- }
@@ -1,23 +0,0 @@
1
- #pragma strict
2
- #include <clpp/roblox.clh>
3
- #include <clpp/libs/keep.clh>
4
-
5
- void BindLeaderstats(Player player) {
6
- auto data = Keep.Server.WaitFor(player);
7
- if (player.FindFirstChild("leaderstats") != null) {
8
- return;
9
- }
10
- Folder leaderstats = new Folder(player);
11
- leaderstats.Name = "leaderstats";
12
- IntValue coins = new IntValue(leaderstats);
13
- coins.Name = "Coins";
14
- coins.Value = data.Get(Keep.Server.Paths.Currencies.Coins);
15
- }
16
-
17
- void init() {
18
- Players players = GetService<Players>();
19
- for (Player player in players.GetPlayers()) {
20
- BindLeaderstats(player);
21
- }
22
- players.PlayerAdded~>Connect(BindLeaderstats);
23
- }
@@ -1,13 +0,0 @@
1
- #pragma strict
2
- #include <clpp/roblox.clh>
3
- #include <clpp/libs/keep.clh>
4
- import { PlayerTemplate } from "../../Include/GameTypes.clh";
5
-
6
- void init() {
7
- PlayerTemplate playerData = PlayerTemplate();
8
- Keep.Server.Init(DataServiceOptions {
9
- .Template = playerData,
10
- .StoreName = "PlayerData",
11
- .UseMock = true,
12
- });
13
- }
@@ -1,4 +0,0 @@
1
- #pragma strict
2
- #include <clpp/roblox.clh>
3
-
4
- void init() {}
@@ -1,25 +0,0 @@
1
- CompileFlags:
2
- CompilationDatabase: .
3
- Add:
4
- - -xc++
5
- - -std=c++20
6
- - -ferror-limit=0
7
- - -Iinclude
8
- - -Isrc
9
- - -I../../include
10
-
11
- Diagnostics:
12
- Suppress: '*'
13
-
14
- ---
15
- If:
16
- PathMatch: .*\.(cpp|cc|cxx|c|h|hpp|hh)$
17
- CompileFlags:
18
- Add:
19
- - -xc++
20
-
21
- ---
22
- If:
23
- PathMatch: (out|libs)/.*
24
- Index:
25
- Background: Skip
@@ -1,8 +0,0 @@
1
- {
2
- "unwantedRecommendations": [
3
- "ms-vscode.cpptools"
4
- ],
5
- "recommendations": [
6
- "kartzdev.cluaupp-flare"
7
- ]
8
- }
@@ -1,17 +0,0 @@
1
- {
2
- "files.associations": {
3
- "*.clpp": "clpp",
4
- "*.clp": "clpp",
5
- "*.clh": "clpp",
6
- "*.server.clpp": "clpp",
7
- "*.client.clpp": "clpp",
8
- "*.plugin.clpp": "clpp",
9
- "*.flare": "flare",
10
- "*.hive": "hive",
11
- "*.mint": "mint",
12
- "*.bloom": "bloom",
13
- "*.helm": "helm",
14
- "*.shift": "shift",
15
- "*.axiom": "axiom"
16
- }
17
- }
File without changes
@@ -1,6 +0,0 @@
1
- -xc++
2
- -std=c++20
3
- -ferror-limit=0
4
- -Iinclude
5
- -Isrc
6
- -I../../include
@@ -1,41 +0,0 @@
1
- {
2
- "name": "cluaupp-game",
3
- "tree": {
4
- "$className": "DataModel",
5
- "ServerScriptService": {
6
- "$className": "ServerScriptService",
7
- "$path": "out/Server",
8
- "Parallel": {
9
- "$path": "out/Parallel"
10
- }
11
- },
12
- "ReplicatedStorage": {
13
- "$className": "ReplicatedStorage",
14
- "Declarations": {
15
- "$path": "out/Declarations"
16
- },
17
- "Include": {
18
- "$path": "out/Include"
19
- },
20
- "Modules": {
21
- "$path": "out/Modules"
22
- },
23
- "CluauppLibs": {
24
- "$path": "libs"
25
- }
26
- },
27
- "StarterPlayer": {
28
- "$className": "StarterPlayer",
29
- "StarterPlayerScripts": {
30
- "$className": "StarterPlayerScripts",
31
- "$path": "out/Client"
32
- }
33
- },
34
- "HttpService": {
35
- "$className": "HttpService",
36
- "$properties": {
37
- "HttpEnabled": true
38
- }
39
- }
40
- }
41
- }