Mercurial > mm7
comparison Engine/Tables/FactionTable.cpp @ 2499:68cdef6879a0
engine folder
author | Ritor1 |
---|---|
date | Fri, 19 Sep 2014 02:57:42 +0600 |
parents | |
children | a902abdfc7f2 |
comparison
equal
deleted
inserted
replaced
2498:92eeeb5200f2 | 2499:68cdef6879a0 |
---|---|
1 #define _CRTDBG_MAP_ALLOC | |
2 #include <stdlib.h> | |
3 #include <crtdbg.h> | |
4 | |
5 #define _CRT_SECURE_NO_WARNINGS | |
6 #include "FactionTable.h" | |
7 #include "../mm7_data.h" | |
8 #include "../LOD.h" | |
9 | |
10 | |
11 | |
12 | |
13 //----- (004547E4) -------------------------------------------------------- | |
14 void FactionTable::Initialize() | |
15 { | |
16 int i; | |
17 char* test_string; | |
18 unsigned char c; | |
19 bool break_loop; | |
20 unsigned int temp_str_len; | |
21 char* tmp_pos; | |
22 int decode_step; | |
23 // int item_counter; | |
24 | |
25 free(pHostileTXT_Raw); | |
26 pHostileTXT_Raw = (char *)pEvents_LOD->LoadRaw("hostile.txt", 0); | |
27 strtok(pHostileTXT_Raw, "\r"); | |
28 for (i = 0; i < 89; ++i) | |
29 { | |
30 test_string = strtok(NULL, "\r") + 1; | |
31 break_loop = false; | |
32 decode_step = 0; | |
33 do | |
34 { | |
35 c = *(unsigned char*)test_string; | |
36 temp_str_len = 0; | |
37 while ((c != '\t') && (c > 0)) | |
38 { | |
39 ++temp_str_len; | |
40 c = test_string[temp_str_len]; | |
41 } | |
42 tmp_pos = test_string + temp_str_len; | |
43 if (*tmp_pos == 0) | |
44 break_loop = true; | |
45 *tmp_pos = 0; | |
46 if (temp_str_len) | |
47 { | |
48 if (decode_step >= 1 && decode_step < 90) | |
49 relations[decode_step - 1][i] = atoi(test_string); | |
50 } | |
51 else | |
52 break_loop = true; | |
53 ++decode_step; | |
54 test_string = tmp_pos + 1; | |
55 } while ((decode_step < 92) && !break_loop); | |
56 } | |
57 free(pHostileTXT_Raw); | |
58 pHostileTXT_Raw = nullptr; | |
59 } |