aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--TODO78
1 files changed, 78 insertions, 0 deletions
diff --git a/TODO b/TODO
index 40dcdad..3fa0c8d 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,83 @@
1FIXES - 1FIXES -
2 2
3 Project paths
4 -------------
5
6CFLAGS = CFLAGS .. ' -DPACKAGE_BIN_DIR=\\"' .. baseDir .. '\\"'
7CFLAGS = CFLAGS .. ' -DPACKAGE_LIB_DIR=\\"' .. baseDir .. '\\"'
8CFLAGS = CFLAGS .. ' -DPACKAGE_DATA_DIR=\\"' .. baseDir .. '\\"'
9
10 // There is also a locale variety, but we are not dealing with locale stuff yet.
11 // There is a prefix variety, but you can't set it, only read it later.
12 // These set the fallbacks used by elm_app_info_set(), that are defined at compile time.
13 elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR);
14 elm_app_compile_data_dir_set(PACKAGE_DATA_DIR);
15 elm_app_compile_lib_dir_set(PACKAGE_LIB_DIR);
16 // Do this after the above calls, but before changing the working directory, or screwing with argv[0].
17 // It tries to set up the package paths depending on where the executable is, so things are relocatable.
18 // First argument is the elm_main() function that Elementary starts us from.
19 // Second argument should be a lower case string used as the "domain", which is different from the log domain.
20 // It's used lower case as part of the data directory path.
21 // So, if prefix is /usr/local, then the system data dir is /usr/local/share,
22 // and this apps data dir is /usr/local/share/"domain".
23 // It's used upper case as part of environment variables to override directory paths at run time.
24 // So "DOMAIN"_PREFIX, "DOMAIN"_BIN_DIR, "DOMAIN"_LIB_DIR, "DOMAIN"_DATA_DIR, and "DOMAIN"_LOCALE_DIR
25 // Third argument is the name of a file it can check for to make sure it found the correct path.
26 // This file is looked for in the data dir.
27 elm_app_info_set(elm_main, "GuiLua", "skang.lua");
28 // Once this is all setup, the code can do -
29 elm_app_prefix_dir_get(); // or bin, lib, data, locale.
30
31The executables currently live in ...../SledjHamr.
32 Test executables stay in the src directory.
33Media and other data in SledjHamr/media (includes the test sim and Irrlicht examples).
34Libraries are in SledjHamr/libraries (including Irrlicht, lemon, and some sources).
35 Should move LumbrJack and Runnr sources to src, and probably lemon to.
36 Irrlicht is statically linked, so except for it's media, we don't need it at run time.
37 We could probably move the Irrlicht examples we actually use (all test data anyway) to Test sim.
38
39Builders should be able to -
40 put binaries in /usr/local/bin
41 put libraries - /usr/local/lib/SledjHamr
42 put media in /usr/local/share/SledjHamr
43If they don't, those things should be in the build directory, where they are now.
44 And looked up locally to allow moving it as one thing.
45
46User should be able to -
47 Run sims from where ever they like.
48 Write GuiLua modules that reference media that is where ever it is.
49 Normally media would come along with the module.
50 So on disk modules would include media in the same directory as the module.
51 In world modules would be in some object, and the media should be in that object to.
52 Client side modules from the net ... dunno yet.
53 Write their own skins, using their own media.
54
55SOOOO ...
56 build.lua should set -
57 PACKAGE_BIN_DIR = SledjHamr
58 PACKAGE_LIB_DIR = SledjHamr/libraries (should rename this to lib)
59 PACKAGE_DATA_DIR = SledjHamr/media
60 PACKAGE_LOCALE_DIR = SledjHamr/locale (doesn't exist yet)
61
62 install.lua should - (doesn't exist yet)
63 SledjHamr binaries -> prefix .. '/bin'
64 SledjHamr/libraries -> prefix .. '/lib/SledjHamr'
65 SledjHamr/media -> prefix .. '/share/SledjHamr/media'
66 This should not include data that could be changable, so maybe the test sim should move elsewhere?
67 LuaSL at least puts compiled scripts in the test sim.
68 Nails will eventually make changes to the test sim during testing.
69 For now, we don't care, there's no actual installing going on.
70 SledjHamr/locale -> prefix .. '/share/SledjHamr/locale'
71
72 Some library function should call all the elm_app_compile_*_dir_set() functions.
73 They should be set as -D options only for that library.
74 elm_app_info_set() has to be called for each different elm_main(), so that might be tricky.
75 elm_app_*_dir_get() can then be called from anywhere, and will get the same results.
76 NOTE - this is Elm specific, so non GUI stuff like LuaSL can't use it.
77 Seems that non Elm examples all just use the PACKAGE_*_DIR type macros directly in strings.
78
79
80
3Irrlicht is flickering like crazy. Hmm, might be Irrlicht's fault, 81Irrlicht is flickering like crazy. Hmm, might be Irrlicht's fault,
4mostly it flickers to black, but I've seen it flicker to the first frame 82mostly it flickers to black, but I've seen it flicker to the first frame
5of the GL demo. On the other hand, it shows the Elm background usually. 83of the GL demo. On the other hand, it shows the Elm background usually.