mirror of
https://github.com/ChronosX88/psyced.git
synced 2024-11-09 20:11:00 +00:00
ideas for better mood methods
This commit is contained in:
parent
ea815f871f
commit
cefc6ccad9
@ -100,14 +100,14 @@ volatile mapping share = ([
|
|||||||
0 : "", // unspecified mood
|
0 : "", // unspecified mood
|
||||||
// any suggestions on these?
|
// any suggestions on these?
|
||||||
1 : "_dead",
|
1 : "_dead",
|
||||||
2 : "_angry",
|
2 : "_angry", // tragic, enraged, sore, irate?
|
||||||
3 : "_sad",
|
3 : "_sad", // gloomy, miserable?
|
||||||
4 : "_moody",
|
4 : "_moody", // pensive?
|
||||||
5 : "_okay",
|
5 : "_okay",
|
||||||
6 : "_good",
|
6 : "_good",
|
||||||
7 : "_happy",
|
7 : "_happy",
|
||||||
8 : "_bright",
|
8 : "_bright", // blissful? blessed? joyous?
|
||||||
9 : "_nirvana",
|
9 : "_nirvana", // enlightened? paradisiacal?
|
||||||
]),
|
]),
|
||||||
#endif // _flag_disable_module_presence
|
#endif // _flag_disable_module_presence
|
||||||
#ifndef _flag_disable_module_friendship
|
#ifndef _flag_disable_module_friendship
|
||||||
|
@ -46,7 +46,7 @@ void dispatch(mixed header_vars, mixed varops, mixed method, mixed body) {
|
|||||||
if ((t = vars["_target"])) {
|
if ((t = vars["_target"])) {
|
||||||
array(mixed) u;
|
array(mixed) u;
|
||||||
unless (u = parse_uniform(t)) {
|
unless (u = parse_uniform(t)) {
|
||||||
DISPATCHERROR("target is not an uniform\n")
|
DISPATCHERROR("target is not a uniform\n")
|
||||||
}
|
}
|
||||||
// FIXME relaying support here?
|
// FIXME relaying support here?
|
||||||
if (!is_localhost(lower_case(u[UHost]))) {
|
if (!is_localhost(lower_case(u[UHost]))) {
|
||||||
|
@ -6,8 +6,46 @@
|
|||||||
#include <input_to.h>
|
#include <input_to.h>
|
||||||
|
|
||||||
private string buffer;
|
private string buffer;
|
||||||
private string body_buffer;
|
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
|
#if __EFUN_DEFINED__(psyc_parse)
|
||||||
|
# echo ___ using libpsyc!
|
||||||
|
|
||||||
|
void parser_init() {
|
||||||
|
if (state != PSYCPARSE_STATE_BLOCKED)
|
||||||
|
state = PSYCPARSE_STATE_HEADER;
|
||||||
|
buffer = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// called when a complete packet has arrived
|
||||||
|
void dispatch(mixed header_vars, mixed varops, mixed method, mixed body) {
|
||||||
|
parser_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
// input data to the buffer
|
||||||
|
void feed(string data) {
|
||||||
|
# ifdef _flag_log_sockets_SPYC
|
||||||
|
log_file("RAW_SPYC", "» %O\n%s\n", ME, data);
|
||||||
|
# endif
|
||||||
|
buffer += data;
|
||||||
|
|
||||||
|
if (data == "|\n") {
|
||||||
|
mixed p = psyc_parse(buffer);
|
||||||
|
if (pointerp(p) && sizeof(p) == 4)
|
||||||
|
dispatch(p[0], p[1], p[2], p[3]);
|
||||||
|
else {
|
||||||
|
P1(("psyc_parse(%O) returned %O\n", buffer, p))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mixed list_parse(string val) {
|
||||||
|
return 0; // TBD
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* !libpsyc */
|
||||||
|
|
||||||
|
private string body_buffer;
|
||||||
int body_len;
|
int body_len;
|
||||||
int may_parse_more;
|
int may_parse_more;
|
||||||
|
|
||||||
@ -51,16 +89,6 @@ void parser_init() {
|
|||||||
state = PSYCPARSE_STATE_GREET; // AFTER reset
|
state = PSYCPARSE_STATE_GREET; // AFTER reset
|
||||||
}
|
}
|
||||||
|
|
||||||
// it is sometimes useful to stop parsing
|
|
||||||
void interrupt_parse() {
|
|
||||||
state = PSYCPARSE_STATE_BLOCKED;
|
|
||||||
}
|
|
||||||
|
|
||||||
// and resume after some blocking operation is done
|
|
||||||
void resume_parse() {
|
|
||||||
state = PSYCPARSE_STATE_HEADER;
|
|
||||||
}
|
|
||||||
|
|
||||||
// input data to the buffer
|
// input data to the buffer
|
||||||
void feed(string data) {
|
void feed(string data) {
|
||||||
# ifdef _flag_log_sockets_SPYC
|
# ifdef _flag_log_sockets_SPYC
|
||||||
@ -408,3 +436,16 @@ test() {
|
|||||||
list_parse("5\tabcde|4\tabcd");
|
list_parse("5\tabcde|4\tabcd");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* !libpsyc */
|
||||||
|
|
||||||
|
// it is sometimes useful to stop parsing
|
||||||
|
void interrupt_parse() {
|
||||||
|
state = PSYCPARSE_STATE_BLOCKED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// and resume after some blocking operation is done
|
||||||
|
void resume_parse() {
|
||||||
|
state = PSYCPARSE_STATE_HEADER;
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user