Changeset 440 for Daodan/src
- Timestamp:
- Jul 17, 2009, 11:44:17 AM (16 years ago)
- Location:
- Daodan/src
- Files:
-
- 57 added
- 2 edited
-
BFW_ScriptingLanguage.h (modified) (2 diffs)
-
Daodan_BSL.c (modified) (3 diffs)
-
dSFMT (added)
-
dSFMT/CHANGE-LOG.txt (added)
-
dSFMT/FILES.txt (added)
-
dSFMT/LICENSE.txt (added)
-
dSFMT/Makefile (added)
-
dSFMT/README.jp.txt (added)
-
dSFMT/README.txt (added)
-
dSFMT/check.sh (added)
-
dSFMT/dSFMT-params.h (added)
-
dSFMT/dSFMT-params11213.h (added)
-
dSFMT/dSFMT-params1279.h (added)
-
dSFMT/dSFMT-params132049.h (added)
-
dSFMT/dSFMT-params19937.h (added)
-
dSFMT/dSFMT-params216091.h (added)
-
dSFMT/dSFMT-params2203.h (added)
-
dSFMT/dSFMT-params4253.h (added)
-
dSFMT/dSFMT-params44497.h (added)
-
dSFMT/dSFMT-params521.h (added)
-
dSFMT/dSFMT-params86243.h (added)
-
dSFMT/dSFMT.11213.out.txt (added)
-
dSFMT/dSFMT.1279.out.txt (added)
-
dSFMT/dSFMT.132049.out.txt (added)
-
dSFMT/dSFMT.19937.out.txt (added)
-
dSFMT/dSFMT.216091.out.txt (added)
-
dSFMT/dSFMT.2203.out.txt (added)
-
dSFMT/dSFMT.4253.out.txt (added)
-
dSFMT/dSFMT.44497.out.txt (added)
-
dSFMT/dSFMT.521.out.txt (added)
-
dSFMT/dSFMT.86243.out.txt (added)
-
dSFMT/dSFMT.c (added)
-
dSFMT/dSFMT.h (added)
-
dSFMT/html (added)
-
dSFMT/html/annotated.html (added)
-
dSFMT/html/d_s_f_m_t_8c.html (added)
-
dSFMT/html/d_s_f_m_t_8h-source.html (added)
-
dSFMT/html/d_s_f_m_t_8h.html (added)
-
dSFMT/html/doxygen.css (added)
-
dSFMT/html/doxygen.png (added)
-
dSFMT/html/files.html (added)
-
dSFMT/html/functions.html (added)
-
dSFMT/html/functions_vars.html (added)
-
dSFMT/html/globals.html (added)
-
dSFMT/html/globals_defs.html (added)
-
dSFMT/html/globals_func.html (added)
-
dSFMT/html/globals_type.html (added)
-
dSFMT/html/globals_vars.html (added)
-
dSFMT/html/howto-compile.html (added)
-
dSFMT/html/index.html (added)
-
dSFMT/html/mainpage_8txt.html (added)
-
dSFMT/html/struct_d_s_f_m_t___t.html (added)
-
dSFMT/html/tab_b.gif (added)
-
dSFMT/html/tab_l.gif (added)
-
dSFMT/html/tab_r.gif (added)
-
dSFMT/html/tabs.css (added)
-
dSFMT/html/union_w128___t.html (added)
-
dSFMT/test-std-M19937.exe (added)
-
dSFMT/test.c (added)
Legend:
- Unmodified
- Added
- Removed
-
Daodan/src/BFW_ScriptingLanguage.h
r439 r440 19 19 sl_type type; 20 20 union { 21 void* value;22 uint32_t value_int32;23 char* value_str32;24 float value_float;25 bool value_bool;21 void* value; 22 int32_t value_int32; 23 char* value_str32; 24 float value_float; 25 bool value_bool; 26 26 }; 27 27 } sl_arg; … … 31 31 uint16_t ONICALL SLrScript_Command_Register_ReturnType(char* name, char* desc, char* argfmt, sl_type type, sl_func callback); 32 32 uint16_t ONICALL SLrScript_Command_Register_Void(char* name, char* desc, char* argfmt, sl_func callback); 33 uint16_t ONICALL SLrGlobalVariable_Register_Int32(char* name, char* desc, uint32_t* data);33 uint16_t ONICALL SLrGlobalVariable_Register_Int32(char* name, char* desc, int32_t* data); 34 34 uint16_t ONICALL SLrGlobalVariable_Register_Float(char* name, char* desc, float* data); 35 35 uint16_t ONICALL SLrGlobalVariable_Register_Bool(char* name, char* desc, uint32_t* data); -
Daodan/src/Daodan_BSL.c
r439 r440 1 #include <time.h> 2 1 3 #include "Daodan_BSL.h" 2 4 #include "BFW_ScriptingLanguage.h" 5 6 #include "dSFMT\dSFMT.h" 3 7 4 8 uint16_t ONICALL bsl_int32mul(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret) … … 66 70 } 67 71 72 uint16_t ONICALL bsl_int32rand(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret) 73 { 74 if (numargs < 2) 75 return 1; 76 77 int32_t start = 0; 78 int32_t end = 0; 79 80 if (args[0].value_int32 == args[1].value_int32) 81 return 1; 82 else if (args[0].value_int32 > args[1].value_int32) 83 { 84 start = args[1].value_int32; 85 end = args[0].value_int32; 86 } 87 else 88 { 89 start = args[0].value_int32; 90 end = args[1].value_int32; 91 } 92 93 ret->value_int32 = start + (dsfmt_gv_genrand_uint32() % (uint32_t)(end - start + 1)); 94 ret->type = sl_int32; 95 return 0; 96 } 97 68 98 void SLrDaodan_Initalize() 69 99 { … … 73 103 SLrScript_Command_Register_ReturnType("int32div", "Divides two numbers", "n1:int n2:int", sl_int32, bsl_int32div); 74 104 SLrScript_Command_Register_ReturnType("div", "Divides two numbers", "[int1:int|float1:float] [int2:int|float2:float]", sl_float, bsl_div); 105 106 dsfmt_gv_init_gen_rand((uint32_t)time(NULL)); 107 SLrScript_Command_Register_ReturnType("int32rand", "Returns a pseudo-random number between two numbers (inclusive).", "start:int end:int", sl_int32, bsl_int32rand); 75 108 }
Note:
See TracChangeset
for help on using the changeset viewer.
