1
2
3
4
5
6
7
8
9
10
11
12
13
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#ifdef HAVE_CONFIG_H
#include "config.h"
#else
//#define PACKAGE_EXAMPLES_DIR "."
#define __UNUSED__
#endif
#include <Eet.h>
#include <Ecore.h>
#include <Ecore_Con.h>
#include <Ecore_Evas.h>
#include <Ecore_File.h>
#include <Edje.h>
#include <stdio.h>
#include <ctype.h>
#include <lua.h>
#include <luajit.h>
#include <lualib.h>
#include <lauxlib.h>
typedef struct _script script; // Define this here, so LuaSL_threads.h can use it.
typedef struct _gameGlobals gameGlobals; // Define this here, so LuaSL_threads.h can use it.
#include "LuaSL_threads.h"
#include "LumbrJack.h"
#define WIDTH (512)
#define HEIGHT (384)
#define TABLE_WIDTH 7
#define TABLE_HEIGHT 42
struct _gameGlobals
{
Ecore_Evas *ee; // Our window.
Evas *canvas; // The canvas for drawing directly onto.
Evas_Object *bg; // Our background edje, also the game specific stuff.
Evas_Object *edje; // The edje of the background.
Ecore_Con_Server *server;
Eina_Hash *scripts, *names;
int logDom;
const char *address;
int port;
boolean ui; // Wether we actually start up the UI.
};
struct _script
{
Eina_Clist node;
gameGlobals *game;
char SID[PATH_MAX];
char fileName[PATH_MAX];
lua_State *L;
struct timeval startTime;
float compileTime, timerTime;
int bugs, warnings;
boolean running;
int status;
int args;
Eina_Clist messages;
Ecore_Con_Client *client;
Ecore_Timer *timer;
};
typedef struct
{
Eina_Clist node;
script *script;
const char message[PATH_MAX];
} scriptMessage;
void scriptSendBack(void * data);
void sendBack(gameGlobals *ourGlobals, Ecore_Con_Client *client, const char *SID, const char *message, ...);
void sendForth(gameGlobals *ourGlobals, const char *SID, const char *message, ...);
float timeDiff(struct timeval *now, struct timeval *then);
#include "LuaSL_LSL_tree.h"
|