Free Hero Mesh

Check-in [c8c053656e]
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:Implement CONFIG_OMIT_SOUND
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c8c053656e506abaad79b391704893e0f7bf858f
User & Date: user on 2022-08-06 07:47:41
Other Links: manifest | tags
Context
2022-08-10
05:45
Implement CONFIG_NO_STATUS check-in: 89cc6486f6 user: user tags: trunk
2022-08-06
07:47
Implement CONFIG_OMIT_SOUND check-in: c8c053656e user: user tags: trunk
2022-08-05
08:52
Fix a mistake in picedit.c with freeing memory after saving a multidependent picture. check-in: 95af598a76 user: user tags: trunk
Changes

Modified TODO from [a0896e1a69] to [e46ba5f882].

35
36
37
38
39
40
41

42
43
44
45
46
47
48
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49







+







* Fonts/text
  * More code pages
  * Large fonts (possibly: width 8 or 16, height 8-32)
  * Multibyte encodings (e.g. EUC-JP)
* Branching replay recording
* Slow movement displaying state between triggers
* Warning if file changed when uncommited data exists in the cache database
* Cache database option to be keyed by hash
* Composite puzzle set format (implemented)
  * Optional hypertext help
  * Compressed class definitions (?)
* Option to auto display level titles
* Option to use a separate solution file
* Multiuser scoring within one computer system (optional capability)
* Testing

Modified comconfig.doc from [67db4df1f4] to [0c26897a26].

23
24
25
26
27
28
29




30
31
32
33
34
35
36
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40







+
+
+
+







  Size of local hash table when reading class definition file. This must
  be less than 65535.

CONFIG_NO_PORTABLE
  If defined, then portable mode by checking argv[0] is disabled. (It is
  still possible to use portable mode by HEROMESH_PREFIX)

CONFIG_OMIT_SOUND
  If defined, omit all sound capabilities (including music). (Even if it
  is not defined, it can still be disabled at runtime.)

CONFIG_USING_32BIT_TIMESTAMPS
  If defined, force use of 32-bit timestamps. (This is needed in order to
  avoid compiler warnings on some systems, such as some versions of the
  Raspberry Pi system. This option will be deprecated in year 2038, so
  you should upgrade your system before that if possible.)

CONFIG_WITH_STACK_PROTECTION
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
67
68
69
70
71
72
73




74
75
76
77
78
79
80







-
-
-
-







CONFIG_OMIT_EDITOR
  If defined, omit the level editor and picture editor.

CONFIG_OMIT_MUSIC
  If defined, omit background music playback capabilities. (Even if this
  is not defined, it can still be disabled at runtime.

CONFIG_OMIT_SOUND
  If defined, omit all sound capabilities (including music). (Even if it
  is not defined, it can still be disabled at runtime.)

CONFIG_PRIVATE_USERCACHE
  If defined as a octal number, set the default file permissions of the
  user cache database when creating it. (The user can still change them
  afterward by using chmod.)

CONFIG_RANDOM_SOURCE
  Device to read random numbers from instead of using the random number

Modified sound.c from [932918faf2] to [feb9ba4e2f].

10
11
12
13
14
15
16


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







+
+







#include <string.h>
#include "sqlite3.h"
#include "smallxrm.h"
#include "quarks.h"
#include "heromesh.h"
#include "cursorshapes.h"

#ifndef CONFIG_OMIT_SOUND

typedef struct {
  Uint8*data;
  Uint32 len; // length in bytes
} WaveSound;

static Uint8 sound_on;
static Sint16 mmlvolume=10000;
499
500
501
502
503
504
505









501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516







+
+
+
+
+
+
+
+
+
        }
        break;
      case SDL_VIDEOEXPOSE: goto redraw;
      case SDL_QUIT: SDL_PushEvent(&ev); return;
    }
  }
}

#else
// CONFIG_OMIT_SOUND is defined
void init_sound(void) {}
void set_sound_effect(Value v1,Value v2) {}
Uint16 find_user_sound(const char*name) { return 0x03FF; }
void set_sound_on(int on) {}
void sound_test(void) {}
#endif