Free Hero Mesh

Check-in [ad65a30a4b]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Fix documentation of CLASS_DATA function
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ad65a30a4b668c619e91bf837ec2c54ac09d33bf
User & Date: user on 2021-05-22 23:10:17.037
Other Links: manifest | tags
Context
2021-05-23
02:22
Implement a key binding command to record the solution even if auto recording solutions is not enabled. check-in: 1a2fee8a44 user: user tags: trunk
2021-05-22
23:10
Fix documentation of CLASS_DATA function check-in: ad65a30a4b user: user tags: trunk
2021-05-20
00:47
Change Four and Eight to Rook and Queen; also add Bishop check-in: e3c2fc3bcb user: user tags: trunk
Changes
Modified TODO from [9feb084340] to [f6f521f828].
12
13
14
15
16
17
18

19
20
21
22
23
24
25
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26







+







  * A ,PopUp command to use a popup with arguments starting from a mark
  * "Goto message" instruction (?)
  * Returning a class from COLLIDE/COLLIDEBY to transform
* Editor
  * Mouse dragging
  * Level index editor
  * Bizarro world
  * Selection rectangles
* Table of contents for levels
  * Can define your own columns
  * User can write SQL queries on them
* Deal better with allowing to skip past corrupted levels
* Picture editor/loading
  * Allowing more altimages
* Puzzle set catalog format (using with internet; a separate program)
33
34
35
36
37
38
39

34
35
36
37
38
39
40
41







+
* VCR mode
* Portable mode, not needing installing files in home directory
  * Maybe not needed? You can override the HOME environment variable
  * An alternative is to check argv[0]; if it contains / then don't use HOME
* Command-line switch for batch import/export levels
* SQL
  * Implement the GROUP column in the CLASSES table
  * Allow multiple SQL statements in one binding
46
47
48
49
50
51
52
53

54
55
56
57
58
59
60
46
47
48
49
50
51
52

53
54
55
56
57
58
59
60







-
+







    if(classes[a] && !(classes[a]->cflags&CF_NOCLASS2) && !strcmp(s,classes[a]->name)) goto found;
  }
  return;
  found: sqlite3_result_int(cxt,a);
}

static void fn_class_data(sqlite3_context*cxt,int argc,sqlite3_value**argv) {
  int id=sqlite3_value_int(argv[0]);
  int id=sqlite3_value_int(argv[0])&0xFFFF;
  Class*cl;
  if(id<0 || id>=0x4000 || !classes[id]) return;
  cl=classes[id];
  switch(sqlite3_value_int(argv[1])&255) {
    case 0: sqlite3_result_int(cxt,id); break;
    case 1: sqlite3_result_int64(cxt,cl->temperature); break;
    case 2: sqlite3_result_int(cxt,cl->shape); break;
Modified sql.doc from [dcec016e62] to [05f8679276].
14
15
16
17
18
19
20
























21
22
23
24
25
26
27
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







CL(text)
  Returns the class number, given the class name. If there is no such
  class, then the result is null. (This may be useful as a shortcut when
  used with the "OBJECTS" or "CLASSES" table.)

CLASS_DATA(id,info)
  Returns data about a class.
   0 = ID
   1 = Temperature
   2 = Shape
   7 = First usable image
   12 = Misc4
   13 = Misc5
   14 = Misc6
   15 = Misc7
   18 = Arrivals
   19 = Departures
   33 = Invisible
   35 = UserState
   37 = Player
   39 = Stealthy
   40 = VisualOnly
   64 = Density
   65 = Volume
   66 = Strength
   67 = Weight
   69 = Height
   70 = Climb
   128 = Volume fraction
   130 = CollisionLayers
   132 = Compatible

CVALUE(number)
  Makes a game value of type 'class', given the class number. You can also
  specify the class name instead of the number.

HEROMESH_ESCAPE(blob)
  Converts blob representation of a game string into escaped format.