Skip to content

Commit d38d92f

Browse files
committed
docs: restructure paths documentation and add save location recommendations
1 parent b8e8efe commit d38d92f

4 files changed

Lines changed: 123 additions & 231 deletions

File tree

README.md

Lines changed: 85 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Download Latest Version : [Version: 2.7.0](https://github.com/CynToolkit/constru
1616
- [Conditions](#conditions)
1717
- [Expressions](#expressions)
1818
- [Paths](#paths)
19+
- [Recommended Save Location](#recommended-save-location)
1920
---
2021
## Usage
2122
To build the addon, run the following commands:
@@ -603,7 +604,6 @@ When Download type is Around the user, the offsets are the amount of entries aro
603604
| ProjectFilesFolder | Return the folder of the project files. | string | |
604605
| ProjectFilesFolderURL | Return the URL of the folder of the project files. | string | |
605606
| ReadFile | Return the contents of the file. | string | |
606-
| UserFolder | Return the current User's folder | string | |
607607
| HomeFolder | Return the current Home folder | string | |
608608
| AppDataFolder | Return the current AppDataFolder folder | string | |
609609
| LocalAppDataFolder | Return the current AppDataFolder folder | string | |
@@ -648,109 +648,88 @@ When Download type is Around the user, the offsets are the amount of entries aro
648648
| SteamIsLookingToPlay | Return 1 if the provided steam state is Looking to Play (6). | number | State *(number)* <br> |
649649
| SteamIsInvisible | Return 1 if the provided steam state is Invisible (7). | number | State *(number)* <br> |
650650

651-
## Paths
652-
**ProjectFilesFolder**: Direct path to your games's content
653-
- Windows: `C:/Users/quent/AppData/Local/Temp/f0e3c24c1443adce014e5924d5f47e1b571c92e0f29d11d4/build/out/Pipelab-win32-x64/resources/app.asar/src/app`
654-
- Linux:
655-
- MacOS:
656-
657-
UserFolder:
658-
- Windows: ``
659-
- Linux:
660-
- MacOS:
661-
662-
HomeFolder:
663-
- Windows: C:/Users/quent
664-
- Linux:
665-
- MacOS:
666-
667-
AppDataFolder:
668-
- Windows: C:/Users/quent/AppData/Roaming
669-
- Linux:
670-
- MacOS:
671-
672-
LocalAppDataFolder:
673-
- Windows: ``
674-
- Linux:
675-
- MacOS:
676-
677-
UserDataFolder:
678-
- Windows: C:/Users/quent/AppData/Roaming/app
679-
- Linux:
680-
- MacOS:
681-
682-
LocalUserDataFolder:
683-
- Windows: ``
684-
- Linux:
685-
- MacOS:
686-
687-
SessionDataFolder:
688-
- Windows: ``
689-
- Linux:
690-
- MacOS:
691-
692-
TempFolder:
693-
- Windows: ``
694-
- Linux:
695-
- MacOS:
696-
697-
ExeFolder:
698-
- Windows: ``
699-
- Linux:
700-
- MacOS:
701-
702-
ModuleFolder:
703-
- Windows: ``
704-
- Linux:
705-
- MacOS:
706-
707-
DesktopFolder:
708-
- Windows: ``
709-
- Linux:
710-
- MacOS:
711-
712-
DocumentsFolder:
713-
- Windows: ``
714-
- Linux:
715-
- MacOS:
716-
717-
DownloadsFolder:
718-
- Windows: ``
719-
- Linux:
720-
- MacOS:
721-
722-
MusicFolder:
723-
- Windows: ``
724-
- Linux:
725-
- MacOS:
726-
727-
PicturesFolder:
728-
- Windows: ``
729-
- Linux:
730-
- MacOS:
731-
732-
VideosFolder:
733-
- Windows: ``
734-
- Linux:
735-
- MacOS:
736-
737-
RecentFolder:
738-
- Windows: ``
739-
- Linux:
740-
- MacOS:
741-
742-
LogsFolder:
743-
- Windows: ``
744-
- Linux:
745-
- MacOS:
746-
747-
CrashDumpsFolder:
748-
- Windows: C:/Users/quent/AppData/Roaming/app/Crashpad
749-
- Linux:
750-
- MacOS:
751-
752-
AppFolder:
753-
- Windows:
754-
- Linux:
755-
- MacOS:
756651

652+
---
653+
## Paths
654+
### HomeFolder
655+
User home directory
656+
- **Windows**: `C:/Users/user`
657+
- **Linux**: `/home/user`
658+
- **macOS**: `/Users/user`
659+
660+
### AppDataFolder
661+
Application configuration data
662+
- **Windows**: `C:/Users/user/AppData/Roaming`
663+
- **Linux**: `/home/user/.config`
664+
- **macOS**: `/Users/user/Library/Application Support`
665+
666+
### LocalAppDataFolder
667+
Local application data
668+
- **Windows**: `C:/Users/user/AppData/Local`
669+
- **Linux**: `/home/user/.local/share`
670+
- **macOS**: `/Users/user/Library/Application Support`
671+
672+
### UserDataFolder
673+
App-specific data (Roaming)
674+
- **Windows**: `C:/Users/user/AppData/Roaming/com.pipelab.app`
675+
- **Linux**: `/home/user/.config/com.pipelab.app`
676+
- **macOS**: `/Users/user/Library/Application Support/com.pipelab.app`
677+
678+
### LocalUserDataFolder
679+
App-specific data (Local)
680+
- **Windows**: `C:/Users/user/AppData/Local/com.pipelab.app`
681+
- **Linux**: `/home/user/.local/share/com.pipelab.app`
682+
- **macOS**: `/Users/user/Library/Application Support/com.pipelab.app`
683+
684+
### AppFolder
685+
Application installation directory
686+
- **Windows**: `C:/Program Files/Pipelab/resources/app`
687+
- **Linux**: `/tmp/pipelab/.../Pipelab-linux-x64/resources/app`
688+
- **macOS**: `/Applications/Pipelab.app/Contents/Resources/app`
689+
690+
### ProjectFilesFolder
691+
Direct path to your game's content
692+
- **Windows**: `.../resources/app.asar/src/app`
693+
- **Linux**: `/tmp/pipelab/.../resources/app/src/app`
694+
- **macOS**: `/Applications/Pipelab.app/Contents/Resources/app/src/app`
695+
696+
### CrashDumpsFolder
697+
Crash reports storage
698+
- **Windows**: `C:/Users/user/AppData/Roaming/com.pipelab.app/Crashpad`
699+
- **Linux**: `/home/user/.config/cache_com.pipelab.app/Crashpad`
700+
- **macOS**: `/Users/user/Library/Application Support/com.pipelab.app/Crashpad`
701+
702+
### DesktopFolder
703+
User desktop
704+
- **Windows**: `C:/Users/user/Desktop`
705+
- **Linux**: `/home/user/Desktop`
706+
- **macOS**: `/Users/user/Desktop`
707+
708+
### DocumentsFolder
709+
User documents
710+
- **Windows**: `C:/Users/user/Documents`
711+
- **Linux**: `/home/user/Documents`
712+
- **macOS**: `/Users/user/Documents`
713+
714+
### DownloadsFolder
715+
User downloads
716+
- **Windows**: `C:/Users/user/Downloads`
717+
- **Linux**: `/home/user/Downloads`
718+
- **macOS**: `/Users/user/Downloads`
719+
720+
### LogsFolder
721+
Application logs
722+
- **Windows**: `C:/Users/user/AppData/Roaming/com.pipelab.app/logs`
723+
- **Linux**: `/home/user/.config/com.pipelab.app/logs`
724+
- **macOS**: `/Users/user/Library/Logs/com.pipelab.app`
725+
726+
727+
## Recommended Save Location
728+
For game saves and persistent data, especially when considering **Steam Cloud Sync**, it is highly recommended to use the **LocalUserDataFolder**.
729+
730+
### Why?
731+
- **Standardization**: It follows the industry standard for each platform:
732+
- **Windows**: Uses `AppData/Local`, the correct place for large or frequent writes like game saves (unlike `Roaming`, which can slow down network logins).
733+
- **Linux**: Uses `~/.local/share`, adhering to the XDG Base Directory Specification for persistent data.
734+
- **macOS**: Uses `~/Library/Application Support`, the standard location for app-specific data.
735+
- **Cloud Sync Compatibility**: Steam Cloud and other services are easily configured to watch these standard directories.

doc.js

Lines changed: 37 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ readme.push(`- [Actions](#actions)`);
7474
readme.push(`- [Conditions](#conditions)`);
7575
readme.push(`- [Expressions](#expressions)`);
7676
readme.push(`- [Paths](#paths)`);
77+
readme.push(`- [Recommended Save Location](#recommended-save-location)`);
7778

7879
readme.push(`---`);
7980
readme.push(`## Usage`);
@@ -269,134 +270,45 @@ Object.keys(config.Exps).forEach((/** @type {keyof typeof config.Exps} */ key) =
269270
}
270271
});
271272
readme.push(``);
273+
readme.push(``);
274+
readme.push(`---`);
272275
readme.push(`## Paths`);
273276

274-
readme.push('**ProjectFilesFolder**: Direct path to your games\'s content')
275-
readme.push('- Windows: `C:/Users/quent/AppData/Local/Temp/f0e3c24c1443adce014e5924d5f47e1b571c92e0f29d11d4/build/out/Pipelab-win32-x64/resources/app.asar/src/app`')
276-
readme.push('- Linux: ')
277-
readme.push('- MacOS: ')
278-
readme.push('')
279-
280-
readme.push('UserFolder: ')
281-
readme.push('- Windows: ``')
282-
readme.push('- Linux: ')
283-
readme.push('- MacOS: ')
284-
readme.push('')
285-
286-
readme.push('HomeFolder: ')
287-
readme.push('- Windows: C:/Users/quent')
288-
readme.push('- Linux: ')
289-
readme.push('- MacOS: ')
290-
readme.push('')
291-
292-
readme.push('AppDataFolder: ')
293-
readme.push('- Windows: C:/Users/quent/AppData/Roaming')
294-
readme.push('- Linux: ')
295-
readme.push('- MacOS: ')
296-
readme.push('')
297-
298-
readme.push('LocalAppDataFolder: ')
299-
readme.push('- Windows: ``')
300-
readme.push('- Linux: ')
301-
readme.push('- MacOS: ')
302-
readme.push('')
303-
304-
readme.push('UserDataFolder: ')
305-
readme.push('- Windows: C:/Users/quent/AppData/Roaming/app')
306-
readme.push('- Linux: ')
307-
readme.push('- MacOS: ')
308-
readme.push('')
309-
310-
readme.push('LocalUserDataFolder: ')
311-
readme.push('- Windows: ``')
312-
readme.push('- Linux: ')
313-
readme.push('- MacOS: ')
314-
readme.push('')
315-
316-
readme.push('SessionDataFolder: ')
317-
readme.push('- Windows: ``')
318-
readme.push('- Linux: ')
319-
readme.push('- MacOS: ')
320-
readme.push('')
321-
322-
readme.push('TempFolder: ')
323-
readme.push('- Windows: ``')
324-
readme.push('- Linux: ')
325-
readme.push('- MacOS: ')
326-
readme.push('')
327-
328-
readme.push('ExeFolder: ')
329-
readme.push('- Windows: ``')
330-
readme.push('- Linux: ')
331-
readme.push('- MacOS: ')
332-
readme.push('')
333-
334-
readme.push('ModuleFolder: ')
335-
readme.push('- Windows: ``')
336-
readme.push('- Linux: ')
337-
readme.push('- MacOS: ')
338-
readme.push('')
339-
340-
readme.push('DesktopFolder: ')
341-
readme.push('- Windows: ``')
342-
readme.push('- Linux: ')
343-
readme.push('- MacOS: ')
344-
readme.push('')
345-
346-
readme.push('DocumentsFolder: ')
347-
readme.push('- Windows: ``')
348-
readme.push('- Linux: ')
349-
readme.push('- MacOS: ')
350-
readme.push('')
351-
352-
readme.push('DownloadsFolder: ')
353-
readme.push('- Windows: ``')
354-
readme.push('- Linux: ')
355-
readme.push('- MacOS: ')
356-
readme.push('')
357-
358-
readme.push('MusicFolder: ')
359-
readme.push('- Windows: ``')
360-
readme.push('- Linux: ')
361-
readme.push('- MacOS: ')
362-
readme.push('')
363-
364-
readme.push('PicturesFolder: ')
365-
readme.push('- Windows: ``')
366-
readme.push('- Linux: ')
367-
readme.push('- MacOS: ')
368-
readme.push('')
369-
370-
readme.push('VideosFolder: ')
371-
readme.push('- Windows: ``')
372-
readme.push('- Linux: ')
373-
readme.push('- MacOS: ')
374-
readme.push('')
375-
376-
readme.push('RecentFolder: ')
377-
readme.push('- Windows: ``')
378-
readme.push('- Linux: ')
379-
readme.push('- MacOS: ')
380-
readme.push('')
381-
382-
readme.push('LogsFolder: ')
383-
readme.push('- Windows: ``')
384-
readme.push('- Linux: ')
385-
readme.push('- MacOS: ')
386-
readme.push('')
387-
388-
readme.push('CrashDumpsFolder: ')
389-
readme.push('- Windows: C:/Users/quent/AppData/Roaming/app/Crashpad')
390-
readme.push('- Linux: ')
391-
readme.push('- MacOS: ')
392-
readme.push('')
393-
394-
readme.push('AppFolder: ')
395-
readme.push('- Windows: ')
396-
readme.push('- Linux: ')
397-
readme.push('- MacOS: ')
398-
readme.push('')
277+
const pathMappings = [
278+
{ name: "HomeFolder", desc: "User home directory", win: "C:/Users/user", linux: "/home/user", mac: "/Users/user" },
279+
{ name: "AppDataFolder", desc: "Application configuration data", win: "C:/Users/user/AppData/Roaming", linux: "/home/user/.config", mac: "/Users/user/Library/Application Support" },
280+
{ name: "LocalAppDataFolder", desc: "Local application data", win: "C:/Users/user/AppData/Local", linux: "/home/user/.local/share", mac: "/Users/user/Library/Application Support" },
281+
{ name: "UserDataFolder", desc: "App-specific data (Roaming)", win: "C:/Users/user/AppData/Roaming/com.pipelab.app", linux: "/home/user/.config/com.pipelab.app", mac: "/Users/user/Library/Application Support/com.pipelab.app" },
282+
{ name: "LocalUserDataFolder", desc: "App-specific data (Local)", win: "C:/Users/user/AppData/Local/com.pipelab.app", linux: "/home/user/.local/share/com.pipelab.app", mac: "/Users/user/Library/Application Support/com.pipelab.app" },
283+
{ name: "AppFolder", desc: "Application installation directory", win: "C:/Program Files/Pipelab/resources/app", linux: "/tmp/pipelab/.../Pipelab-linux-x64/resources/app", mac: "/Applications/Pipelab.app/Contents/Resources/app" },
284+
{ name: "ProjectFilesFolder", desc: "Direct path to your game's content", win: ".../resources/app.asar/src/app", linux: "/tmp/pipelab/.../resources/app/src/app", mac: "/Applications/Pipelab.app/Contents/Resources/app/src/app" },
285+
{ name: "CrashDumpsFolder", desc: "Crash reports storage", win: "C:/Users/user/AppData/Roaming/com.pipelab.app/Crashpad", linux: "/home/user/.config/cache_com.pipelab.app/Crashpad", mac: "/Users/user/Library/Application Support/com.pipelab.app/Crashpad" },
286+
{ name: "DesktopFolder", desc: "User desktop", win: "C:/Users/user/Desktop", linux: "/home/user/Desktop", mac: "/Users/user/Desktop" },
287+
{ name: "DocumentsFolder", desc: "User documents", win: "C:/Users/user/Documents", linux: "/home/user/Documents", mac: "/Users/user/Documents" },
288+
{ name: "DownloadsFolder", desc: "User downloads", win: "C:/Users/user/Downloads", linux: "/home/user/Downloads", mac: "/Users/user/Downloads" },
289+
{ name: "LogsFolder", desc: "Application logs", win: "C:/Users/user/AppData/Roaming/com.pipelab.app/logs", linux: "/home/user/.config/com.pipelab.app/logs", mac: "/Users/user/Library/Logs/com.pipelab.app" }
290+
];
291+
292+
pathMappings.forEach(p => {
293+
readme.push(`### ${p.name}`);
294+
readme.push(`${p.desc}`);
295+
readme.push(`- **Windows**: \`${p.win}\``);
296+
readme.push(`- **Linux**: \`${p.linux}\``);
297+
readme.push(`- **macOS**: \`${p.mac}\``);
298+
readme.push(``);
299+
});
300+
301+
readme.push(``);
399302

303+
readme.push(`## Recommended Save Location`);
304+
readme.push(`For game saves and persistent data, especially when considering **Steam Cloud Sync**, it is highly recommended to use the **LocalUserDataFolder**.`);
305+
readme.push(``);
306+
readme.push(`### Why?`);
307+
readme.push(`- **Standardization**: It follows the industry standard for each platform:`);
308+
readme.push(` - **Windows**: Uses \`AppData/Local\`, the correct place for large or frequent writes like game saves (unlike \`Roaming\`, which can slow down network logins).`);
309+
readme.push(` - **Linux**: Uses \`~/.local/share\`, adhering to the XDG Base Directory Specification for persistent data.`);
310+
readme.push(` - **macOS**: Uses \`~/Library/Application Support\`, the standard location for app-specific data.`);
311+
readme.push(`- **Cloud Sync Compatibility**: Steam Cloud and other services are easily configured to watch these standard directories.`);
400312
readme.push(``);
401313

402314
// Object.keys(config.Exps).forEach((key) => {

examples/example.c3p

5.74 KB
Binary file not shown.

src/pluginConfig.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2675,6 +2675,7 @@ const Config = /** @type {const} */({
26752675
forward: "_UserFolder",
26762676
highlight: false,
26772677
deprecated: true,
2678+
isDeprecated: true,
26782679
returnType: 'string',
26792680
isVariadicParameters: false,
26802681
description: "Return the current User's folder",

0 commit comments

Comments
 (0)