ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/Daodan_BSL.c
(Generate patch)

Comparing Daodan/src/Daodan_BSL.c (file contents):
Revision 441 by gumby, Sat Jul 18 00:55:15 2009 UTC vs.
Revision 442 by gumby, Sat Jul 18 06:20:32 2009 UTC

# Line 19 | Line 19 | uint16_t ONICALL bsl_int32mul(void* dont
19   uint16_t ONICALL bsl_getkills(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret)
20   {
21  
22 <        //void* GS = (short int**)(ONgGameState);
22 >        int index;
23 >        if (numargs == 0) index = 0;
24 >        else index = args[0].value_int32;
25 >        int* killcount = ONgGameState + index * 0x16A0 +  0x1260 + 0x1670;
26 >        ret->value_int32 = *killcount;
27 >        ret->type = sl_int32;
28 >        return 0;
29  
30 <        //if (numargs < 2)
25 <        //      return 1;
26 <        
27 <        //fix the AC struct :(
28 <        //ret->value_int32 = ((ActiveCharacter *)(ONgGameState+0xB6268))->NumberOfKills;
29 <        //short int index =;
30 <        //char temp_bitset[2];
31 <        int index2;
32 <        if (numargs == 0) index2 = 0;
33 <        else index2 = args[0].value_int32;
34 <        char* active_index = ONgGameState + index2 * 0x16A0 +  0x1260 + 2;
35 <        //index = *(*()+ 0x1260 +2);
36 <        //ret->value_int32 = *((signed int*)(ONgGameState)) +0xB6268+(*(((signed int*)(ONgGameState)) + 0xAC)+2)*0x2838+0x1670;
37 <        //ret->value_int32 = *(int*)(ONgGameState +0xB6268 + index2 * 0x2838 + 0x1670);
38 <        
39 <        //TODO: Clean up this mess...
40 < //      ret->value_int32 = *active_index;
41 <        
42 <        ret->value_int32 = ((uint32_t*)(ONgGameState +0xB6268+(int)(*active_index)*0x2838+0x1670));
30 > }
31  
32 + uint16_t ONICALL bsl_getdamage(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret)
33 + {
34 +
35 +        int index;
36 +        if (numargs == 0) index = 0;
37 +        else index = args[0].value_int32;
38 +        int* killcount = ONgGameState + index * 0x16A0 +  0x1260 + 0x1674;
39 +        ret->value_int32 = *killcount;
40          ret->type = sl_int32;
41          return 0;
46 }
42  
43 + }
44  
45   uint16_t ONICALL bsl_mul(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret)
46   {
# Line 105 | Line 101 | uint16_t ONICALL bsl_sprintf(void* dontu
101          if (numargs < 2)
102                  return 1;
103          
108
109 <<<<<<< .mine
104          char output[255];
105          char temp[255];
106          int i = 1;
# Line 165 | Line 159 | void SLrDaodan_Initalize()
159          
160          SLrScript_Command_Register_ReturnType("sprintf", "sprintf", "str1:format str2:value [str3:...]", sl_str32, bsl_sprintf);
161  
162 <        SLrScript_Command_Register_ReturnType("getkills","Gets the number of kills", "[n1:int]", sl_int32, bsl_getkills);
163 <
162 >        SLrScript_Command_Register_ReturnType("chr_getkills","Gets the number of kills a character has", "[chrindex:int]", sl_int32, bsl_getkills);
163 >        SLrScript_Command_Register_ReturnType("chr_getdamage","Gets the amount of damage a character has caused", "[chrindex:int]", sl_int32, bsl_getdamage);
164          
165          dsfmt_gv_init_gen_rand((uint32_t)time(NULL));
166          SLrScript_Command_Register_ReturnType("int32rand", "Returns a pseudo-random number between two numbers (inclusive).", "start:int end:int", sl_int32, bsl_int32rand);
167 < >>>>>>> .r440
167 >
168   }

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)