diff options
Diffstat (limited to '')
-rw-r--r-- | TODO | 78 |
1 files changed, 78 insertions, 0 deletions
@@ -1,5 +1,83 @@ | |||
1 | FIXES - | 1 | FIXES - |
2 | 2 | ||
3 | Project paths | ||
4 | ------------- | ||
5 | |||
6 | CFLAGS = CFLAGS .. ' -DPACKAGE_BIN_DIR=\\"' .. baseDir .. '\\"' | ||
7 | CFLAGS = CFLAGS .. ' -DPACKAGE_LIB_DIR=\\"' .. baseDir .. '\\"' | ||
8 | CFLAGS = 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 | |||
31 | The executables currently live in ...../SledjHamr. | ||
32 | Test executables stay in the src directory. | ||
33 | Media and other data in SledjHamr/media (includes the test sim and Irrlicht examples). | ||
34 | Libraries 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 | |||
39 | Builders 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 | ||
43 | If 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 | |||
46 | User 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 | |||
55 | SOOOO ... | ||
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 | |||
3 | Irrlicht is flickering like crazy. Hmm, might be Irrlicht's fault, | 81 | Irrlicht is flickering like crazy. Hmm, might be Irrlicht's fault, |
4 | mostly it flickers to black, but I've seen it flicker to the first frame | 82 | mostly it flickers to black, but I've seen it flicker to the first frame |
5 | of the GL demo. On the other hand, it shows the Elm background usually. | 83 | of the GL demo. On the other hand, it shows the Elm background usually. |