ok
[xonotic/netradiant.git] / setup / win32 / TODO
1 TODO list for 1.2 setup:
2
3 - do we need some DO_* variables for the plugins too..  
4 - does the nightly do some safe checks while installing?
5   (i.e. query the GUID of the existing full installation we expect to find)
6
7 short explanation / design doc:
8
9 ------------
10
11 Any setup is made from a core and some game packs
12 In the template -> buildable setup process, we give a few parameters to
13 customize things:
14
15 - Put only the binaries or put everything
16 - put / don't put the editor core
17 - put / don't put any game pack
18
19 To do this, we mostly rely on a search replace in the template code:
20
21 DO_* are variables telling wether are not a given component is INCLUDED into
22 the setup. We have currently:
23
24 DO_CORE: editor core content
25   (ex: the central editor binary)
26 DO_CORE_FULL: include the full setup content related to the code
27   (ex: the GtkRadiant manual)
28 DO_GAME_Q3: include binaries for Q3
29 DO_GAME_FULL_Q3: media for the Q3 game pack
30
31 we search and replace for '<<DO_CORE_BOOL>>' '<<DO_GAME_Q3_BOOL>>' etc.
32 more such variables will be .. DO_GAME_WOLF_BOOL, DO_GAME_Q1_BOOL etc.
33 the *_BOOL are meant to be replaced by '1' or '0'
34 we use equivalents *_BOOL_YESNO that are replaced by 'Yes' and 'No'
35 (those are used for 'include in build setting')
36
37 -------------
38
39 Installation paths:
40 the variables DIR_* are holding the install paths for core or game packs
41 DIR_CORE is the install path for the core
42 DIR_GAME_Q3 is the Q3 directory
43 DIR_GAMETOOLS_Q3 is the subdirectory path choosen below Q3 dir to install
44   game specific stuff
45   
46 When the setup executes, it must rely on the stuff included in the setup to
47 prompt the user with the right questions (where do I install the editor,
48 where do I install the Q3 game pack?). This should be tempered by prior
49 selection of what and whatnot to install if necessary. There should always
50 be a 'Default' path that allows installing quickly without answering any
51 difficult questions.
52
53 -------------
54
55 Nightly builds:
56
57 this was added afterwards. nightlies are intended to be an upgrade 
58 over an existing installation it only holds binaries
59
60 also adds some specific component and file groups for the media stuff 
61 that may have changed since the full setup
62
63 how does it work?
64 a matter of 'include in build' configuration again
65 if nightly is on, the *_FULL_* variables will be disabled
66 and the *_NIGHTLY_* ones will be enabled
67 Component Definitions/Default.cdf is the critical file in this operation
68 added the following:
69 DO_CORE_BOOL_FULL_YESNO
70 DO_GAME_Q3_BOOL_FULL_YESNO
71 DO_GAME_WOLF_BOOL_FULL_YESNO
72 those three are to disable the media we only put in full setup
73 DO_NIGHLY_BOOL_YESNO
74 this is for the specific additions of the nightly setup