FS#7704 - Talk support for plugins

Original patch by Mario Lang
Heavily updated by Igor Poretsky
Further updated by myself

  This patch breaks binary API compatibility by placing the new
  functions where they make the most logical sense. IMO this is
  the better approach to take given the scope of the changes needed
  for talk support.

  Since binary API is changing, the patch also moves some other
  functions around to more logical locations.

  As well as voice support in plugins, this patch voice-enables several
  simple plugins.  There will be follow-up patches for many plugins that
  build on this one.

Change-Id: I18070c06e77e8a3c016c2eb6b6c5dbe6633b9b54
This commit is contained in:
Solomon Peachy 2019-02-03 20:12:50 -05:00 • committed by William Wilgus
parent 9c17734394
commit 55eb1c54eb
12 changed files with 583 additions and 133 deletions

View file

@ -658,6 +658,20 @@ extern unsigned char *language_strings[];
/* this contains the concatenation of all strings, separated by \\0 chars */
extern const unsigned char core_language_builtin[];
#include "${prefix}_enum.h"
MOO
;
close(HFILE_CORE);
open(HFILE_CORE, ">${prefix}_enum.h") ||
die "couldn't create file ${prefix}_enum.h\n";
print HFILE_CORE <<MOO
/* This file was automatically generated using genlang */
#ifndef _LANG_ENUM_H_
#define _LANG_ENUM_H_
/* The enum below contains all available strings */
enum \{
MOO
@ -702,8 +716,13 @@ MOO
printf HFILE_CORE (" %s, /* 0x%x */\n", $name, $i);
}
# Output end of enum
print HFILE_CORE "\n};\n/* end of generated enum list */\n";
# Output end of lang_enum.h
print HFILE_CORE <<MOO
};
/* end of generated enum list */
#endif /* _LANG_ENUM_H_ */
MOO
;
# Output the target phrases for the source file
for $i (0 .. $idcount[$users{"core"}]-1) {