summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2012-05-09 22:42:22 +0200
committerBardur Arantsson <bardur@scientician.net>2012-05-09 22:52:19 +0200
commit656d66ee0e61c74f2730e2fffbea0304129d319b (patch)
tree7c6bf56ccd77f1afb73029df90f3df32e662e720 /src
parenta5b78e910344f4277c110941145e9412a03039ef (diff)
Lua: Remove Lua compat bits of timer_type
Diffstat (limited to 'src')
-rw-r--r--src/dungeon.c12
-rw-r--r--src/externs.h2
-rw-r--r--src/init2.c8
-rw-r--r--src/loadsave.c9
-rw-r--r--src/types.h3
-rw-r--r--src/util.c16
-rw-r--r--src/util.pkg37
7 files changed, 17 insertions, 70 deletions
diff --git a/src/dungeon.c b/src/dungeon.c
index fcca8a21..fd2cc546 100644
--- a/src/dungeon.c
+++ b/src/dungeon.c
@@ -13,6 +13,8 @@
#include "angband.h"
#include "lua/lua.h"
#include "tolua.h"
+#include <assert.h>
+
extern lua_State* L;
#define TY_CURSE_CHANCE 100
@@ -1345,14 +1347,8 @@ static void process_world(void)
if (!t_ptr->countdown)
{
t_ptr->countdown = t_ptr->delay;
- if (t_ptr->callback_c)
- {
- t_ptr->callback_c();
- }
- if (t_ptr->callback)
- {
- call_lua(t_ptr->callback, "()", "");
- }
+ assert(t_ptr->callback != NULL);
+ t_ptr->callback();
}
}
diff --git a/src/externs.h b/src/externs.h
index e281437e..fa50cac8 100644
--- a/src/externs.h
+++ b/src/externs.h
@@ -1737,7 +1737,7 @@ extern int test_monster_name(cptr name);
extern int test_mego_name(cptr name);
extern int test_item_name(cptr name);
extern char msg_box(cptr text, int y, int x);
-extern timer_type *new_timer_c(void (*callback)(), s32b delay);
+extern timer_type *new_timer(void (*callback)(), s32b delay);
extern void del_timer(timer_type *t_ptr);
extern int get_keymap_mode();
diff --git a/src/init2.c b/src/init2.c
index b30764f9..9e9911f8 100644
--- a/src/init2.c
+++ b/src/init2.c
@@ -1976,11 +1976,11 @@ static errr init_misc(void)
/* Initialize timers */
TIMER_INERTIA_CONTROL =
- new_timer_c(meta_inertia_control_timer_callback,
- 10);
+ new_timer(meta_inertia_control_timer_callback,
+ 10);
TIMER_AGGRAVATE_EVIL =
- new_timer_c(timer_aggravate_evil_callback,
- 10);
+ new_timer(timer_aggravate_evil_callback,
+ 10);
return 0;
}
diff --git a/src/loadsave.c b/src/loadsave.c
index 033aa3a0..ad982e8d 100644
--- a/src/loadsave.c
+++ b/src/loadsave.c
@@ -2519,12 +2519,9 @@ static void do_timers(int flag)
for (t_ptr = gl_timers; t_ptr != NULL; t_ptr = t_ptr->next)
{
- if (t_ptr->callback_c)
- {
- do_bool(&t_ptr->enabled, flag);
- do_s32b(&t_ptr->delay, flag);
- do_s32b(&t_ptr->countdown, flag);
- }
+ do_bool(&t_ptr->enabled, flag);
+ do_s32b(&t_ptr->delay, flag);
+ do_s32b(&t_ptr->countdown, flag);
}
}
diff --git a/src/types.h b/src/types.h
index 8e06c4fd..6066e215 100644
--- a/src/types.h
+++ b/src/types.h
@@ -2490,8 +2490,7 @@ struct timer_type
s32b delay; /* Delay between activations */
s32b countdown; /* The current number of turns passed, when it reaches delay it fires */
- cptr callback; /* The lua function to call upon firing (if any) */
- void (*callback_c)(); /* The C function to call upon firing */
+ void (*callback)(); /* The C function to call upon firing */
};
/*
diff --git a/src/util.c b/src/util.c
index ac060d5e..019ec6da 100644
--- a/src/util.c
+++ b/src/util.c
@@ -4417,16 +4417,15 @@ void scansubdir(cptr dir)
/*
* Timers
*/
-static timer_type *new_timer_init(s32b delay)
+timer_type *new_timer(void (*callback)(), s32b delay)
{
- timer_type *t_ptr;
+ timer_type *t_ptr = NULL;
MAKE(t_ptr, timer_type);
t_ptr->next = gl_timers;
gl_timers = t_ptr;
- t_ptr->callback_c = NULL;
- t_ptr->callback = NULL;
+ t_ptr->callback = callback;
t_ptr->delay = delay;
t_ptr->countdown = delay;
t_ptr->enabled = FALSE;
@@ -4434,13 +4433,6 @@ static timer_type *new_timer_init(s32b delay)
return t_ptr;
}
-timer_type *new_timer_c(void (*callback)(), s32b delay)
-{
- timer_type *t_ptr = new_timer_init(delay);
- t_ptr->callback_c = callback;
- return t_ptr;
-}
-
void del_timer(timer_type *t_ptr)
{
timer_type *i, *old;
@@ -4454,7 +4446,7 @@ void del_timer(timer_type *t_ptr)
gl_timers = t_ptr->next;
else
old->next = t_ptr->next;
- string_free(t_ptr->callback);
+
FREE(t_ptr, timer_type);
}
else
diff --git a/src/util.pkg b/src/util.pkg
index 2c6f0d87..e6f0294f 100644
--- a/src/util.pkg
+++ b/src/util.pkg
@@ -2289,43 +2289,6 @@ extern cptr game_module;
extern int get_keymap_dir(char ch);
/*
- * Timers
- */
-/** @struct timer_type
- */
-struct timer_type
-{
- /** @structvar *next
- * @brief timer_type
- * @note The next timer in the list
- */
- timer_type *next;
-
- /** @structvar enabled
- * @brief Boolean
- * @note Is it currently counting?
- */
- bool enabled;
-
- /** @structvar delay
- * @brief Number
- * @note Delay between activations
- */
- s32b delay;
- /** @structvar countdown
- * @brief Number
- * @note The current number of turns passed, when it reaches delay it fires
- */
- s32b countdown;
-
- /** @structvar callback
- * @brief String
- * @note The lua function to call upon firing(no C callback yet .. maybe)
- */
- cptr callback;
-};
-
-/*
* Lists
*/
/** @struct list_type