逆向规范.html 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
  1. <!DOCTYPE html><html><head>
  2. <title>&#x9006;&#x5411;&#x89C4;&#x8303;</title>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5. <link rel="stylesheet" href="file:///c:\Users\Anderson\.vscode\extensions\shd101wyy.markdown-preview-enhanced-0.6.1\node_modules\@shd101wyy\mume\dependencies\katex\katex.min.css">
  6. <style>
  7. /**
  8. * prism.js Github theme based on GitHub's theme.
  9. * @author Sam Clarke
  10. */
  11. code[class*="language-"],
  12. pre[class*="language-"] {
  13. color: #333;
  14. background: none;
  15. font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  16. text-align: left;
  17. white-space: pre;
  18. word-spacing: normal;
  19. word-break: normal;
  20. word-wrap: normal;
  21. line-height: 1.4;
  22. -moz-tab-size: 8;
  23. -o-tab-size: 8;
  24. tab-size: 8;
  25. -webkit-hyphens: none;
  26. -moz-hyphens: none;
  27. -ms-hyphens: none;
  28. hyphens: none;
  29. }
  30. /* Code blocks */
  31. pre[class*="language-"] {
  32. padding: .8em;
  33. overflow: auto;
  34. /* border: 1px solid #ddd; */
  35. border-radius: 3px;
  36. /* background: #fff; */
  37. background: #f5f5f5;
  38. }
  39. /* Inline code */
  40. :not(pre) > code[class*="language-"] {
  41. padding: .1em;
  42. border-radius: .3em;
  43. white-space: normal;
  44. background: #f5f5f5;
  45. }
  46. .token.comment,
  47. .token.blockquote {
  48. color: #969896;
  49. }
  50. .token.cdata {
  51. color: #183691;
  52. }
  53. .token.doctype,
  54. .token.punctuation,
  55. .token.variable,
  56. .token.macro.property {
  57. color: #333;
  58. }
  59. .token.operator,
  60. .token.important,
  61. .token.keyword,
  62. .token.rule,
  63. .token.builtin {
  64. color: #a71d5d;
  65. }
  66. .token.string,
  67. .token.url,
  68. .token.regex,
  69. .token.attr-value {
  70. color: #183691;
  71. }
  72. .token.property,
  73. .token.number,
  74. .token.boolean,
  75. .token.entity,
  76. .token.atrule,
  77. .token.constant,
  78. .token.symbol,
  79. .token.command,
  80. .token.code {
  81. color: #0086b3;
  82. }
  83. .token.tag,
  84. .token.selector,
  85. .token.prolog {
  86. color: #63a35c;
  87. }
  88. .token.function,
  89. .token.namespace,
  90. .token.pseudo-element,
  91. .token.class,
  92. .token.class-name,
  93. .token.pseudo-class,
  94. .token.id,
  95. .token.url-reference .token.variable,
  96. .token.attr-name {
  97. color: #795da3;
  98. }
  99. .token.entity {
  100. cursor: help;
  101. }
  102. .token.title,
  103. .token.title .token.punctuation {
  104. font-weight: bold;
  105. color: #1d3e81;
  106. }
  107. .token.list {
  108. color: #ed6a43;
  109. }
  110. .token.inserted {
  111. background-color: #eaffea;
  112. color: #55a532;
  113. }
  114. .token.deleted {
  115. background-color: #ffecec;
  116. color: #bd2c00;
  117. }
  118. .token.bold {
  119. font-weight: bold;
  120. }
  121. .token.italic {
  122. font-style: italic;
  123. }
  124. /* JSON */
  125. .language-json .token.property {
  126. color: #183691;
  127. }
  128. .language-markup .token.tag .token.punctuation {
  129. color: #333;
  130. }
  131. /* CSS */
  132. code.language-css,
  133. .language-css .token.function {
  134. color: #0086b3;
  135. }
  136. /* YAML */
  137. .language-yaml .token.atrule {
  138. color: #63a35c;
  139. }
  140. code.language-yaml {
  141. color: #183691;
  142. }
  143. /* Ruby */
  144. .language-ruby .token.function {
  145. color: #333;
  146. }
  147. /* Markdown */
  148. .language-markdown .token.url {
  149. color: #795da3;
  150. }
  151. /* Makefile */
  152. .language-makefile .token.symbol {
  153. color: #795da3;
  154. }
  155. .language-makefile .token.variable {
  156. color: #183691;
  157. }
  158. .language-makefile .token.builtin {
  159. color: #0086b3;
  160. }
  161. /* Bash */
  162. .language-bash .token.keyword {
  163. color: #0086b3;
  164. }
  165. /* highlight */
  166. pre[data-line] {
  167. position: relative;
  168. padding: 1em 0 1em 3em;
  169. }
  170. pre[data-line] .line-highlight-wrapper {
  171. position: absolute;
  172. top: 0;
  173. left: 0;
  174. background-color: transparent;
  175. display: block;
  176. width: 100%;
  177. }
  178. pre[data-line] .line-highlight {
  179. position: absolute;
  180. left: 0;
  181. right: 0;
  182. padding: inherit 0;
  183. margin-top: 1em;
  184. background: hsla(24, 20%, 50%,.08);
  185. background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
  186. pointer-events: none;
  187. line-height: inherit;
  188. white-space: pre;
  189. }
  190. pre[data-line] .line-highlight:before,
  191. pre[data-line] .line-highlight[data-end]:after {
  192. content: attr(data-start);
  193. position: absolute;
  194. top: .4em;
  195. left: .6em;
  196. min-width: 1em;
  197. padding: 0 .5em;
  198. background-color: hsla(24, 20%, 50%,.4);
  199. color: hsl(24, 20%, 95%);
  200. font: bold 65%/1.5 sans-serif;
  201. text-align: center;
  202. vertical-align: .3em;
  203. border-radius: 999px;
  204. text-shadow: none;
  205. box-shadow: 0 1px white;
  206. }
  207. pre[data-line] .line-highlight[data-end]:after {
  208. content: attr(data-end);
  209. top: auto;
  210. bottom: .4em;
  211. }html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
  212. /* Please visit the URL below for more information: */
  213. /* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
  214. </style>
  215. </head>
  216. <body for="html-export">
  217. <div class="mume markdown-preview ">
  218. <h3 class="mume-header" id="%E9%80%86%E5%90%91%E8%A7%84%E8%8C%83-v20220113">&#x9006;&#x5411;&#x89C4;&#x8303; (v2022.01.13)</h3>
  219. <h4 class="mume-header" id="%E5%88%86%E6%9E%90%E8%A7%84%E8%8C%83-%E5%BC%BA%E5%88%B6%E8%A6%81%E6%B1%82">&#x5206;&#x6790;&#x89C4;&#x8303; [&#x5F3A;&#x5236;&#x8981;&#x6C42;]</h4>
  220. <ul>
  221. <li>&#x9605;&#x8BFB;&#x6BCF;&#x4E00;&#x884C;&#x7684;&#x6C47;&#x7F16;&#x5E76;&#x6DF1;&#x5165;&#x7406;&#x89E3;&#x5176;&#x542B;&#x4E49;&#x3002;</li>
  222. <li>&#x7814;&#x7A76;&#x6E05;&#x695A;&#x6BCF;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x7684;&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x7C7B;&#x578B;&#x3002;</li>
  223. <li>&#x7814;&#x7A76;&#x6E05;&#x695A;&#x51FD;&#x6570;&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x5982;&#x7C7B;&#x7684;&#x6210;&#x5458;&#x51FD;&#x6570;&#xFF0C;&#x7C7B;&#x7684;&#x9759;&#x6001;&#x51FD;&#x6570;&#xFF0C;&#x5168;&#x5C40;&#x51FD;&#x6570;&#x7B49;&#x3002;</li>
  224. <li>&#x7814;&#x7A76;&#x6E05;&#x695A;&#x53D8;&#x91CF;&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x5982;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#xFF0C;&#x7C7B;&#x7684;&#x9759;&#x6001;&#x53D8;&#x91CF;&#xFF0C;&#x8D4B;&#x521D;&#x503C;&#x7684;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#xFF0C;&#x65E0;&#x521D;&#x503C;&#x7684;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#x3002;</li>
  225. <li><strong>&#x4E25;&#x7981;&#x6284;&#x88AD;F5&#x7684;&#x4EE3;&#x7801;&#xFF0C;F5&#x4EE3;&#x7801;&#x4EC5;&#x4EC5;&#x4F5C;&#x4E3A;&#x4E00;&#x79CD;&#x53C2;&#x8003;&#xFF0C;&#x53D1;&#x73B0;&#x662F;F5&#x7684;&#x4EE3;&#x7801;&#x76F4;&#x63A5;&#x62D2;&#x7EDD;&#xFF08;&#x6284;&#x88AD;&#x662F;&#x53EF;&#x803B;&#x7684;&#xFF09;&#x3002;</strong></li>
  226. <li>&#x6240;&#x6709;&#x7684;&#x9006;&#x5411;C++&#x4EE3;&#x7801;&#xFF0C;&#x5FC5;&#x987B;&#x662F;&#x624B;&#x5DE5;&#x4E00;&#x884C;&#x884C;&#x6572;&#x51FA;&#x6765;&#x7684;&#x3002;</li>
  227. </ul>
  228. <hr>
  229. <h4 class="mume-header" id="%E5%87%BD%E6%95%B0%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83-%E5%BC%BA%E5%88%B6%E8%A6%81%E6%B1%82">&#x51FD;&#x6570;&#x547D;&#x540D;&#x89C4;&#x8303; [&#x5F3A;&#x5236;&#x8981;&#x6C42;]</h4>
  230. <ul>
  231. <li>
  232. <p>&#x51FD;&#x6570;&#x5982;&#x679C;&#x6709;&#x7B26;&#x53F7;&#xFF0C;&#x8981;&#x6C42;&#x5FC5;&#x987B;&#x4E0E;&#x7B26;&#x53F7;&#x4E00;&#x81F4;&#xFF0C;&#x4E0D;&#x6539;&#x53D8;&#x51FD;&#x6570;&#x540D;</p>
  233. </li>
  234. <li>
  235. <p>&#x51FD;&#x6570;&#x5934;&#x8981;&#x6709;&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x7684;&#x5730;&#x5740;&#xFF0C;&#x5982;001200A4&#xFF0C; &#x4E0D;&#x9700;&#x8981;&#x52A0;&#x4E0A;0x</p>
  236. </li>
  237. <li>
  238. <p>&#x51FD;&#x6570;&#x53C2;&#x6570;&#x7684;&#x547D;&#x540D;&#x4E0E;&#x5BC4;&#x5B58;&#x5668;&#x7F16;&#x53F7;&#x5BF9;&#x5E94;&#x4E0A;<br>
  239. &#x5982;&#xFF1A;int GetDataSize_OGLES(int i0, int i1, int i2, EFTTTexFormat eFormat3, int i4)<br>
  240. i0&#x662F;&#x901A;&#x8FC7;R0&#x5BC4;&#x5B58;&#x5668;&#x4F20;&#x5165;&#x7684;&#xFF0C;&#x53C8;&#x56E0;&#x4E3A;&#x662F;int&#x7C7B;&#x578B;&#xFF0C;&#x56E0;&#x6B64;&#x547D;&#x540D;&#x4E3A;i0&#xFF0C;&#x5176;&#x5B83;&#x7684;&#x4F9D;&#x6B21;&#x7C7B;&#x63A8;</p>
  241. <p>&#x7C7B;&#x7684;&#x6210;&#x5458;&#x51FD;&#x6570;&#x5982;&#xFF1A;<br>
  242. void CFTTTextureOGLES::MallocDataSpace(int i1, int i2, int i3, EFTTTexFormat eFormat4, int i5)<br>
  243. &#x56E0;&#x4E3A;this&#x6307;&#x9488;&#x662F;&#x901A;&#x8FC7;R0&#x4F20;&#x5165;&#x662F;&#xFF0C;&#x6240;&#x4EE5;&#x5176;&#x5B83;&#x7684;&#x53C2;&#x6570;&#x662F;&#x4ECE;R1&#x5F00;&#x59CB;&#x7684;&#xFF0C;&#x56E0;&#x6B64;i1&#x662F;&#x901A;&#x8FC7;R1&#x4F20;&#x5165;&#x7684;&#xFF0C;&#x5C06;&#x5B83;&#x547D;&#x540D;&#x6210;i1, &#x5176;&#x5B83;&#x7684;&#x4F9D;&#x6B21;&#x7C7B;&#x63A8;</p>
  244. </li>
  245. </ul>
  246. <hr>
  247. <h4 class="mume-header" id="%E5%8F%98%E9%87%8F%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83-%E5%BC%BA%E5%88%B6%E8%A6%81%E6%B1%82">&#x53D8;&#x91CF;&#x547D;&#x540D;&#x89C4;&#x8303; [&#x5F3A;&#x5236;&#x8981;&#x6C42;]</h4>
  248. <ul>
  249. <li>&#x53D8;&#x91CF;&#x5982;&#x679C;&#x6709;&#x7B26;&#x53F7;&#xFF0C;&#x8981;&#x6C42;&#x5FC5;&#x987B;&#x4E0E;&#x7B26;&#x53F7;&#x4E00;&#x81F4;&#xFF0C;&#x4E0D;&#x6539;&#x53D8;&#x53D8;&#x91CF;&#x540D;, &#x5728;&#x5B9A;&#x4E49;&#x53D8;&#x91CF;&#x7684;&#x4F4D;&#x7F6E;&#x540E;&#x52A0;&#x4E0A;&#x8BE5;&#x53D8;&#x91CF;&#x5728;IDA&#x4E2D;&#x7684;&#x5730;&#x5740;</li>
  250. <li>&#x7C7B;&#x6210;&#x5458;&#x53D8;&#x91CF;&#x547D;&#x540D;&#x5728;&#x53D8;&#x91CF;&#x540E;&#x4E00;&#x5B9A;&#x8981;&#x52A0;&#x4E0A; &quot;_XX&quot;, &#x5176;&#x4E2D;XX&#x662F;16&#x8FDB;&#x5236;&#x504F;&#x79FB;&#xFF0C;&#x53D8;&#x91CF;&#x5728;&#x7C7B;&#x4E2D;&#x7684;&#x504F;&#x79FB;&#x5730;&#x5740;<br>
  251. &#x5982;&#xFF1A;<br>
  252. uchar *pData_18;<br>
  253. GLuint textures_1C; <strong>&#x6CE8;&#x610F;1C&#x8981;&#x5927;&#x5199;</strong></li>
  254. <li>&#x5BC4;&#x5B58;&#x5668;&#x7684;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x547D;&#x540D;&#xFF0C;rx_xxxx, &#x5982;r1&#x5BC4;&#x5B58;&#x5668;&#xFF0C;r1_count;</li>
  255. <li>&#x6808;&#x4E0A;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x547D;&#x540D;, &#x53D8;&#x91CF;&#x540E;&#x4E00;&#x5B9A;&#x8981;&#x52A0;&#x4E0A; &quot;_XX&quot;, &#x5176;&#x4E2D;XX&#x662F;16&#x8FDB;&#x5236;&#x504F;&#x79FB;&#xFF0C;&#x8BE5;&#x53D8;&#x91CF;&#x5728;&#x6808;&#x4E2D;&#x7684;&#x504F;&#x79FB;&#x5730;&#x5740;&#xFF0C;&#x5982;internalFormat_98</li>
  256. <li>&#x53D8;&#x91CF;&#x7684;&#x547D;&#x540D;&#x8981;&#x6C42;&#x5C3D;&#x53EF;&#x80FD;&#x7684;&#x77ED;&#xFF0C;&#x5982;&#xFF1A;<br>
  257. bool b_1C; //&#x5C0F;&#x5199;b&#x8868;&#x793A;bool&#x7C7B;&#x578B;<br>
  258. int i_8 //&#x5C0F;&#x5199;i&#x8868;&#x793A;int&#x7C7B;&#x578B;<br>
  259. int* pi_8 //&#x5C0F;&#x5199;p&#x8868;&#x793A;&#x6307;&#x9488;&#x7C7B;&#x578B;<br>
  260. uint ui_C //&#x5C0F;&#x5199;ui&#x8868;&#x793A;&#x6307;&#x9488;&#x7C7B;&#x578B;<br>
  261. &#x5728;&#x672C;&#x6587;&#x6863;&#x6700;&#x540E;&#x6709;&#x8BE6;&#x7EC6;&#x7684;&#x547D;&#x540D;&#x89C4;&#x8303;</li>
  262. <li><strong>&#x5168;&#x5C40;&#x53D8;&#x91CF;&#x7EDF;&#x4E00;&#x5B9A;&#x4E49;&#x5728;CPP&#x7684;&#x5934;&#x90E8;</strong></li>
  263. </ul>
  264. <hr>
  265. <h4 class="mume-header" id="%E5%9C%B0%E5%9D%80%E8%A7%84%E8%8C%83-%E5%BC%BA%E5%88%B6%E8%A6%81%E6%B1%82">&#x5730;&#x5740;&#x89C4;&#x8303; [&#x5F3A;&#x5236;&#x8981;&#x6C42;]</h4>
  266. <ul>
  267. <li>
  268. <p>&#x51FD;&#x6570;&#x7684;&#x5B9A;&#x4E49;&#x548C;&#x5B9E;&#x73B0;&#x7684;&#x4F4D;&#x7F6E;&#x7684;&#x4E0A;&#x4E00;&#x884C;&#xFF0C;&#x9700;&#x8981;&#x6709;&#x5199;&#x4E0B;&#x51FD;&#x6570;&#x7684;&#x5730;&#x5740; //0018872C;</p>
  269. <ul>
  270. <li>&#x51FD;&#x6570;&#x7684;&#x5730;&#x5740;&#x5F3A;&#x5236;&#x8981;&#x6C42;&#x662F;16&#x8FDB;&#x5236;&#x5927;&#x5199;&#x5982;&#xFF0C;0018872C&#xFF0C;&#x6CE8;&#x610F;&#x4E00;&#x5B9A;&#x4E0D;&#x80FD;&#x52A0;0x</li>
  271. <li>// &#x4E0E; &#x540E;&#x9762;&#x7684;&#x5730;&#x5740;&#x4E2D;&#x95F4;&#x6CA1;&#x6709;&#x7A7A;&#x683C;&#x8FDE;&#x5728;&#x4E00;&#x8D77; //0018872C</li>
  272. <li>
  273. <pre data-role="codeBlock" data-info="c++" class="language-cpp"><span class="token comment">//001bf86C &lt;-- &#x5730;&#x5740;&#x5927;&#x5199;&#x4E14;//&#x4E0E;&#x5730;&#x5740;&#x95F4;&#x6CA1;&#x6709;&#x7A7A;&#x683C;&#xFF0C;&#x4E0D;&#x80FD;&#x52A0;0x</span>
  274. <span class="token keyword keyword-void">void</span> <span class="token class-name">CGfxPrecipitation</span><span class="token double-colon punctuation">::</span><span class="token function">Update</span><span class="token punctuation">(</span><span class="token keyword keyword-bool">bool</span> b1<span class="token punctuation">)</span>
  275. &#x8BF7;&#x4E25;&#x683C;&#x6309;&#x7167;&#x8FD9;&#x4E2A;&#x683C;&#x5F0F;&#x6765;&#x5199;
  276. </pre></li>
  277. </ul>
  278. </li>
  279. <li>
  280. <p>&#x51FD;&#x6570;&#x4E2D;&#x6BCF;&#x4E2A;&quot;{ &quot;}&quot; &#x90FD;&#x8981;&#x6709;&#x5BF9;&#x5E94;&#x7684;&#x5730;&#x5740;&#xFF0C;&#x5982;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x4F4D;&#x7F6E;&#xFF0C;if&#x4F53;&#x5F00;&#x59CB;&#x4F4D;&#x7F6E;&#xFF0C;else&#x4F53;&#x5F00;&#x59CB;&#x4F4D;&#x7F6E;&#xFF0C;if&#x7ED3;&#x675F;&#x4F4D;&#x7F6E;&#x90FD;&#x9700;&#x8981;&#x5199;&#x4E0A;&#x5730;&#x5740;<br>
  281. &#x5176;&#x5B83;&#x7684;&#x8BED;&#x53E5;&#x5982; for , while, switch&#x7B49;&#x90FD;&#x9700;&#x8981;&#x5199;&#x4E0A;&#x5730;&#x5740;</p>
  282. </li>
  283. <li>
  284. <p>&#x8C03;&#x7528;&#x5B50;&#x51FD;&#x6570;&#x7684;&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x52A0;&#x4E0A;&#x8C03;&#x7528;&#x7684;&#x5730;&#x5740;</p>
  285. </li>
  286. <li>
  287. <p>&#x8FD9;&#x4E48;&#x505A;&#x7684;&#x5FC5;&#x8981;&#x6027;&#x5728;&#x4E8E;&#xFF0C;&#x5C06;&#x9006;&#x5411;&#x4EBA;&#x5458;&#x5206;&#x6790;&#x7684;&#x7ED3;&#x679C;&#x4E00;&#x5B9A;&#x627F;&#x5EA6;&#x4E0A;&#x4FDD;&#x7559;&#x4E0B;&#x6765;&#xFF0C;&#x65B9;&#x4FBF;&#x81EA;&#x5DF1;&#x6216;&#x5176;&#x4ED6;&#x4EBA;&#x91CD;&#x65B0;&#x68C0;&#x67E5;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;</p>
  288. </li>
  289. </ul>
  290. <p><strong>&#x8BF7;&#x4ED4;&#x7EC6;&#x9605;&#x8BFB;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#xFF0C;&#x5E76;&#x4E25;&#x683C;&#x6309;&#x7167;&#x89C4;&#x8303;&#x6765;&#x4E66;&#x5199;&#x4EE3;&#x7801;&#xFF0C;&#x5426;&#x5219;&#x4EE3;&#x7801;&#x89C6;&#x4E3A;&#x65E0;&#x6548;&#xFF0C;&#x5C06;&#x88AB;&#x9000;&#x56DE;&#x91CD;&#x5199;</strong></p>
  291. <pre data-role="codeBlock" data-info="c++" class="language-cpp"><span class="token comment">//001F2060 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;&#x51FD;&#x6570;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  292. <span class="token keyword keyword-void">void</span> <span class="token function">FE_LoadLanguageText</span><span class="token punctuation">(</span><span class="token keyword keyword-int">int</span> i0<span class="token punctuation">,</span> <span class="token keyword keyword-bool">bool</span> b1<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">//i0 &#x5BF9;&#x5E94;&#x5BC4;&#x5B58;&#x5668;R0&#xFF0C;b1 &#x5BF9;&#x5E94;&#x5BC4;&#x5B58;&#x5668;R1</span>
  293. <span class="token function">LOGI</span><span class="token punctuation">(</span><span class="token string">&quot;FE_LoadLanguageText: Entry&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  294. <span class="token comment">//001F207C &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x6BD4;&#x8F83;&#x7684;&#x5730;&#x5740;**</span>
  295. <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>bLoadLanguageText_4B7E3C <span class="token operator">||</span> b1<span class="token punctuation">)</span> <span class="token punctuation">{</span>
  296. <span class="token comment">//001F2084 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  297. <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>g_pTextDbs <span class="token operator">!=</span> <span class="token keyword keyword-nullptr">nullptr</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  298. <span class="token comment">//001F2090 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  299. <span class="token keyword keyword-delete">delete</span><span class="token punctuation">[</span><span class="token punctuation">]</span> g_pTextDbs<span class="token punctuation">;</span>
  300. <span class="token punctuation">}</span>
  301. <span class="token comment">//loc_1F20B4 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x7ED3;&#x675F;&#x5730;&#x5740;**</span>
  302. g_pTextDbs <span class="token operator">=</span> <span class="token keyword keyword-nullptr">nullptr</span><span class="token punctuation">;</span> <span class="token comment">//001F20B8 STR R0, [R4]</span>
  303. g_pTextDbs <span class="token operator">=</span> <span class="token keyword keyword-new">new</span> CFTTLangDatabase<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">//001F20E4 STR R6, [R4]</span>
  304. <span class="token comment">//001F20F0 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  305. <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>STY_tConfig<span class="token punctuation">.</span>DownloadListAdText_63A4 <span class="token operator">&gt;=</span> <span class="token number">0x80D</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  306. <span class="token comment">//001F20F4 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  307. <span class="token keyword keyword-char">char</span> buf_A8<span class="token punctuation">[</span><span class="token number">128</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// &lt;- _A8 &#x8868;&#x793A;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x5728;&#x6808;&#x4E0A;&#x7684;&#x4F4D;&#x7F6E;</span>
  308. <span class="token function">snprintf</span><span class="token punctuation">(</span>buf_A8<span class="token punctuation">,</span> <span class="token number">128</span><span class="token punctuation">,</span> <span class="token string">&quot;scw_lang_%i.xlc&quot;</span><span class="token punctuation">,</span> STY_tConfig<span class="token punctuation">.</span>DownloadListAdText_63A4<span class="token punctuation">)</span><span class="token punctuation">;</span>
  309. <span class="token keyword keyword-char">char</span> buf_128<span class="token punctuation">[</span><span class="token number">128</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// &lt;- _128 &#x8868;&#x793A;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x5728;&#x6808;&#x4E0A;&#x7684;&#x4F4D;&#x7F6E;</span>
  310. <span class="token function">snprintf</span><span class="token punctuation">(</span>buf_128<span class="token punctuation">,</span> <span class="token number">128</span><span class="token punctuation">,</span> <span class="token string">&quot;SUPPORT:%s&quot;</span><span class="token punctuation">,</span> buf_A8<span class="token punctuation">)</span><span class="token punctuation">;</span>
  311. <span class="token comment">//001F2118 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  312. <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span><span class="token class-name">CFTTFileSystem</span><span class="token double-colon punctuation">::</span><span class="token function">FileExists</span><span class="token punctuation">(</span>buf_128<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  313. <span class="token comment">//001F211E &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x7684;&#x9996;&#x5730;&#x5740;**</span>
  314. g_pTextDbs<span class="token operator">-&gt;</span><span class="token function">Init</span><span class="token punctuation">(</span>buf_128<span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token keyword keyword-nullptr">nullptr</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  315. FTSTEXT_iTextDBVersion <span class="token operator">=</span> STY_tConfig<span class="token punctuation">.</span>DownloadListAdText_63A4<span class="token punctuation">;</span>
  316. <span class="token punctuation">}</span>
  317. <span class="token comment">//loc_1F2134 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x7ED3;&#x675F;&#x5730;&#x5740;**</span>
  318. <span class="token punctuation">}</span>
  319. <span class="token comment">//loc_1F2136 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;if&#x8BED;&#x53E5;&#x7ED3;&#x675F;&#x5730;&#x5740;**</span>
  320. g_pTextDbs<span class="token operator">-&gt;</span><span class="token function">Init</span><span class="token punctuation">(</span><span class="token string">&quot;PKG:/Data/Text/scw_lang.xlc&quot;</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token keyword keyword-nullptr">nullptr</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  321. FTSTEXT_iTextDBVersion <span class="token operator">=</span> <span class="token number">0x80C</span><span class="token punctuation">;</span>
  322. <span class="token comment">//001F2150 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;for&#x8BED;&#x53E5;&#x5F00;&#x59CB;&#x5730;&#x5740;**</span>
  323. <span class="token keyword keyword-for">for</span> <span class="token punctuation">(</span><span class="token keyword keyword-int">int</span> dr6 <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> dr6 <span class="token operator">!=</span> <span class="token number">3</span><span class="token punctuation">;</span> dr6<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// dr6 &#x8868;&#x793A;&#x662F;&#x4F7F;&#x7528;R6&#x5BC4;&#x5B58;&#x5668;&#x505A;&#x4E3A;&#x7D22;&#x5F15;</span>
  324. <span class="token comment">//001F215A &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;for&#x4E3B;&#x4F53;&#x9996;&#x5730;&#x5740;**</span>
  325. g_pTextDbs<span class="token punctuation">[</span>dr6<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">Init</span><span class="token punctuation">(</span>list_files_327CE4<span class="token punctuation">[</span>dr6<span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token keyword keyword-nullptr">nullptr</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  326. <span class="token punctuation">}</span>
  327. <span class="token comment">//001F2170 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;for&#x7ED3;&#x675F;&#x5730;&#x5740;**</span>
  328. bLoadLanguageText_4B7E3C <span class="token operator">=</span> <span class="token boolean">true</span><span class="token punctuation">;</span> <span class="token comment">//STRB.W R0, [R11]</span>
  329. <span class="token punctuation">}</span>
  330. <span class="token comment">//001F2174 &lt;- **&#x6B64;&#x5904;&#x5FC5;&#x987B;&#x8981;&#x6709;&#x51FD;&#x6570;&#x8C03;&#x7528;**</span>
  331. ELangType eType <span class="token operator">=</span> <span class="token function">GetFTTLangFromLang</span><span class="token punctuation">(</span>i0<span class="token punctuation">)</span><span class="token punctuation">;</span>
  332. g_pTextDbs<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">LoadLanguage</span><span class="token punctuation">(</span>eType<span class="token punctuation">)</span><span class="token punctuation">;</span>
  333. g_pTextDbs<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">LoadLanguage</span><span class="token punctuation">(</span>eType<span class="token punctuation">)</span><span class="token punctuation">;</span>
  334. g_pTextDbs<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">LoadLanguage</span><span class="token punctuation">(</span>eType<span class="token punctuation">)</span><span class="token punctuation">;</span>
  335. <span class="token function">LOGI</span><span class="token punctuation">(</span><span class="token string">&quot;FE_LoadLanguageText: End&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  336. <span class="token punctuation">}</span>
  337. </pre><hr>
  338. <h4 class="mume-header" id="%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83">&#x5F00;&#x53D1;&#x73AF;&#x5883;</h4>
  339. <ul>
  340. <li>&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;Nexus5 4.4.4&#x7248;&#x672C;&#x7684;Android&#x7CFB;&#x7EDF;</li>
  341. <li>&#x4F7F;&#x7528; VSCode &#x5F00;&#x53D1;</li>
  342. <li>NDK&#x7248;&#x672C;&#x5FC5;&#x987B;&#x662F;18b</li>
  343. <li>IDA&#x7248;&#x672C;&#x63A8;&#x8350;7.0&#x53CA;&#x4EE5;&#x4E0A;</li>
  344. <li>&#x76F8;&#x5173;&#x8D44;&#x6E90;&#x5206;&#x4EAB;&#x5305;&#x62EC;APK&#x5305;&#xFF0C;NDK18b, IDA&#x7B49;&#x5DE5;&#x5177;<br>
  345. &#x94FE;&#x63A5;&#xFF1A;<a href="https://pan.baidu.com/s/1e1pRKsoIEsXKu1obaexoFA">https://pan.baidu.com/s/1e1pRKsoIEsXKu1obaexoFA</a> &#x63D0;&#x53D6;&#x7801;&#xFF1A;shfi</li>
  346. </ul>
  347. <hr>
  348. <h4 class="mume-header" id="%E9%AA%8C%E6%94%B6%E6%A0%87%E5%87%86">&#x9A8C;&#x6536;&#x6807;&#x51C6;</h4>
  349. <ul>
  350. <li>
  351. <p>&#x9006;&#x5411;&#x51FA;&#x6765;&#x7684;C++&#x4EE3;&#x7801;&#x518D;&#x53CD;&#x7F16;&#x8BD1;&#x56DE;&#x53BB;&#xFF0C;&#x4E0E;&#x539F;&#x59CB;&#x7684;&#x6C47;&#x7F16;&#x4EE3;&#x7801;&#x4E00;&#x81F4;&#xFF0C;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;&#x7B11;&#x8138;&#xFF0C;&#x5728;&#x4EE3;&#x7801;&#x4E2D;&#x6807;&#x8BC6;&#x4E3A; ^_^</p>
  352. </li>
  353. <li>
  354. <p>&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x8981;&#x6309;&#x5982;&#x4E0B;&#x683C;&#x5F0F;&#x5199;&#x4E0A;&#x5B9E;&#x9645;&#x60C5;&#x51B5;<br>
  355. //&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7B49;&#x7EA7;: &#x76EE;&#x6D4B;&#x6E38;&#x620F;&#x8868;&#x73B0;<br>
  356. //&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x5185;&#x5BB9;: &#x542F;&#x52A8;&#x6E38;&#x620F;&#x5230;&#x7B2C;2&#x5173;&#xFF08;&#x5305;&#x62EC;&#x7B2C;2&#x5173;&#xFF09;<br>
  357. //&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;: &#x6B63;&#x5E38;<br>
  358. //&#x5DF2;&#x6D4B;&#x8BD5;&#x5206;&#x652F;:</p>
  359. </li>
  360. <li>
  361. <p>&#x5BF9;&#x4E8E;&#x6C47;&#x7F16;&#x4E00;&#x81F4;&#x51FD;&#x6570;&#x5199;&#x6CD5;&#x793A;&#x4F8B;</p>
  362. <pre data-role="codeBlock" data-info="c++" class="language-cpp"><span class="token comment">//001C5B48 //^_^ &#x5F00;&#x59CB;&#x7684;&#x4F4D;&#x7F6E;&#x5FC5;&#x987B;&#x8868;&#x660E;&#x51FD;&#x6570;&#x4F4D;&#x7F6E;(&#x4F4D;&#x7F6E;&#x4E0D;&#x53EF;&#x5E26;0x)&#xFF0C;&#x548C;&#x7B11;&#x8138;</span>
  363. <span class="token class-name">TShadowAABB</span><span class="token double-colon punctuation">::</span><span class="token function">TShadowAABB</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  364. &#x2026;&#x2026;<span class="token punctuation">.</span>&#x4E2D;&#x95F4;&#x7701;&#x7565;
  365. <span class="token punctuation">}</span>
  366. </pre></li>
  367. <li>
  368. <p>&#x5BF9;&#x4E8E;&#x6C47;&#x7F16;&#x4E0D;&#x4E00;&#x81F4;&#x51FD;&#x6570;&#x7684;&#x5199;&#x6CD5;&#x793A;&#x4F8B;:</p>
  369. <pre data-role="codeBlock" data-info="c++" class="language-cpp"><span class="token comment">//0012644C //^_-</span>
  370. <span class="token comment">//&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7B49;&#x7EA7;: &#x76EE;&#x6D4B;&#x6E38;&#x620F;&#x8868;&#x73B0;/&#x51FD;&#x6570;&#x8F93;&#x5165;&#x8F93;&#x51FA;&#x6570;&#x636E;&#x5BF9;&#x6BD4;</span>
  371. <span class="token comment">//&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x5185;&#x5BB9;: &#x542F;&#x52A8;&#x6E38;&#x620F;&#x5230;&#x7B2C;2&#x5173;&#xFF08;&#x5305;&#x62EC;&#x7B2C;2&#x5173;&#xFF09;</span>
  372. <span class="token comment">//&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;: &#x6B63;&#x5E38;/&#x51FD;&#x6570;&#x8F93;&#x51FA;&#x6570;&#x636E;&#x4E00;&#x81F4;,&#x6E38;&#x620F;&#x8FD0;&#x884C;&#x6B63;&#x5E38;.</span>
  373. <span class="token keyword keyword-void">void</span> <span class="token class-name">CFESChooseHero</span><span class="token double-colon punctuation">::</span><span class="token function">PreRender3D</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  374. <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>&#x4E2D;&#x95F4;&#x7701;&#x7565;
  375. <span class="token punctuation">}</span>
  376. TShadowAABB<span class="token operator">*</span> <span class="token class-name">TShadowAABB</span><span class="token double-colon punctuation">::</span><span class="token function">Block</span><span class="token punctuation">(</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  377. <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>&#x4E2D;&#x95F4;&#x7701;&#x7565;
  378. <span class="token comment">//&#x8BE5;&#x51FD;&#x6570;&#x662F;&#x6709;&#x8F93;&#x51FA;&#x7684;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5BF9;&#x5B83;&#x7684;&#x8FD4;&#x56DE;&#x503C;&#x548C;&#x539F;&#x59CB;&#x7A0B;&#x5E8F;&#x8F93;&#x51FA;&#x505A;&#x5BF9;&#x6BD4;</span>
  379. <span class="token punctuation">}</span>
  380. </pre></li>
  381. <li>
  382. <p>&#x5173;&#x4E8E;&#x6C47;&#x7F16;&#x4E0D;&#x4E00;&#x81F4;&#x51FD;&#x6570;&#xFF0C;&#x4E0D;&#x540C;&#x70B9;&#x7684;&#x6807;&#x6CE8;&#x793A;&#x4F8B;:</p>
  383. <pre data-role="codeBlock" data-info="c++" class="language-cpp">TShadowAABB<span class="token operator">*</span> <span class="token class-name">TShadowAABB</span><span class="token double-colon punctuation">::</span><span class="token function">Block</span><span class="token punctuation">(</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  384. <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>&#x4E2D;&#x95F4;&#x7701;&#x7565;
  385. <span class="token comment">//&#x5047;&#x8BBE;&#x4E0B;&#x9762;&#x7684;&#x5224;&#x65AD;&#x4E0D;&#x540C;</span>
  386. <span class="token comment">/*
  387. &#x63CF;&#x8FF0;: &#x6B64;&#x5904;&gt;=&#x8DF3;&#x8F6C;&#x539F;&#x6765;&#x662F;BGE, &#x4F46;&#x662F;&#x5B83;&#x4E3A;BPL(&#x63CF;&#x8FF0;&#x73B0;&#x8C61;)
  388. &#x539F;&#x59CB;&#x6C47;&#x7F16;: *****
  389. &#x81EA;&#x5DF1;&#x6C47;&#x7F16;: *****
  390. */</span>
  391. <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span> s0_float <span class="token operator">-</span> s6_float <span class="token operator">&lt;</span> <span class="token number">0.0f</span> <span class="token punctuation">)</span>
  392. <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>&#x4E2D;&#x95F4;&#x7701;&#x7565;
  393. <span class="token punctuation">}</span>
  394. </pre></li>
  395. <li>
  396. <p>&#x5BF9;&#x4E8E;&#x5DF2;&#x7ECF;&#x5728;&#x5934;&#x6587;&#x4EF6;&#x5E93;&#x4E2D;&#x7ED9;&#x51FA;&#x7684;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#xFF0C;&#x5FC5;&#x987B;&#x4F7F;&#x7528;&#x9879;&#x76EE;&#x5DF2;&#x7ECF;&#x6307;&#x5B9A;&#x7684;&#x5934;&#x6587;&#x4EF6;&#x5305;&#x542B;&#x8FDB;&#x6765;<br>
  397. &#x4E0D;&#x53EF;&#x4EE5;&#x5728;&#x81EA;&#x5DF1;&#x7684;&#x5934;&#x6587;&#x4EF6;&#x4E2D;&#x518D;&#x5355;&#x72EC;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x540C;&#x7C7B;&#x578B;&#xFF0C;&#x540C;&#x540D;&#x79F0;&#x7684;&#x53D8;&#x91CF;&#x3002;</p>
  398. </li>
  399. <li>
  400. <p>&#x5982;&#x679C;&#x4F60;&#x5B9E;&#x73B0;&#x7684;&#x51FD;&#x6570;&#x5206;&#x652F;&#x6D41;&#x7A0B;&#xFF0C;&#x548C;&#x539F;&#x59CB;&#x7684;&#x4E0D;&#x4E00;&#x81F4;&#x7684;&#xFF0C;<br>
  401. &#x8BF7;&#x4F60;&#x5728;&#x63D0;&#x4EA4;&#x51FD;&#x6570;&#x4F53;&#x5185;&#x8BE6;&#x7EC6;&#x8BF4;&#x660E;&#xFF0C; &#x8FDB;&#x800C;&#x8BC1;&#x660E;&#x4F60;&#x7684;&#x6D41;&#x7A0B;&#x4E5F;&#x662F;&#x6B63;&#x786E;&#x7684;&#x3002;<br>
  402. &#x5426;&#x5219;&#xFF0C; &#x7EDF;&#x4E00;&#x6309;&#x7167;&#x4E0D;&#x5408;&#x683C;&#x5904;&#x7406;&#x3002;</p>
  403. </li>
  404. </ul>
  405. <hr>
  406. <h4 class="mume-header" id="%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC-%E5%BB%BA%E8%AE%AE%E8%A6%81%E6%B1%82">&#x4EE3;&#x7801;&#x98CE;&#x683C; [&#x5EFA;&#x8BAE;&#x8981;&#x6C42;]</h4>
  407. <ul>
  408. <li>VSCode&#x4E0A;&#x8BBE;&#x7F6E;&#x4E3A;Google&#x4EE3;&#x7801;&#x98CE;&#x683C;</li>
  409. <li>&#x7F29;&#x8FDB;2&#x4E2A;&#x7A7A;&#x683C;</li>
  410. <li>&#x7F29;&#x5199;&#x7EDF;&#x4E00;
  411. <table>
  412. <thead>
  413. <tr>
  414. <th>&#x7C7B;&#x578B;</th>
  415. <th>&#x5B9A;&#x4E49;</th>
  416. <th>&#x7F29;&#x5199;</th>
  417. </tr>
  418. </thead>
  419. <tbody>
  420. <tr>
  421. <td>typedef char</td>
  422. <td>int8</td>
  423. <td>c</td>
  424. </tr>
  425. <tr>
  426. <td>typedef signed char</td>
  427. <td>sint8</td>
  428. <td>sc</td>
  429. </tr>
  430. <tr>
  431. <td>typedef unsigned char</td>
  432. <td>uint8</td>
  433. <td>uc</td>
  434. </tr>
  435. <tr>
  436. <td>typedef short</td>
  437. <td>int16</td>
  438. <td>s</td>
  439. </tr>
  440. <tr>
  441. <td>typedef signed short</td>
  442. <td>sint16</td>
  443. <td>ss</td>
  444. </tr>
  445. <tr>
  446. <td>typedef int</td>
  447. <td>int32</td>
  448. <td>i</td>
  449. </tr>
  450. <tr>
  451. <td>typedef signed int</td>
  452. <td>sint32</td>
  453. <td>si</td>
  454. </tr>
  455. <tr>
  456. <td>typedef unsigned int</td>
  457. <td>uint32</td>
  458. <td>ui</td>
  459. </tr>
  460. <tr>
  461. <td>typedef int64_t</td>
  462. <td>int64</td>
  463. <td>ll</td>
  464. </tr>
  465. <tr>
  466. <td>typedef uint64_t</td>
  467. <td>uint64</td>
  468. <td>ull</td>
  469. </tr>
  470. <tr>
  471. <td>typedef unsigned int</td>
  472. <td>uint</td>
  473. <td>ui</td>
  474. </tr>
  475. <tr>
  476. <td>typedef unsigned char</td>
  477. <td>uchar</td>
  478. <td>uc</td>
  479. </tr>
  480. <tr>
  481. <td>typedef unsigned short</td>
  482. <td>ushort</td>
  483. <td>us</td>
  484. </tr>
  485. <tr>
  486. <td>typedef unsigned long</td>
  487. <td>ulong</td>
  488. <td>ul</td>
  489. </tr>
  490. </tbody>
  491. </table>
  492. </li>
  493. </ul>
  494. <hr>
  495. <h4 class="mume-header" id="scorehero-%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83">Score!Hero &#x547D;&#x540D;&#x89C4;&#x8303;</h4>
  496. <table>
  497. <thead>
  498. <tr>
  499. <th>&#x7C7B;&#x578B;</th>
  500. <th>&#x7F29;&#x5199;</th>
  501. </tr>
  502. </thead>
  503. <tbody>
  504. <tr>
  505. <td>&#x7C7B;</td>
  506. <td>&#x5927;&#x5199; C &#x5F00;&#x5934;</td>
  507. </tr>
  508. <tr>
  509. <td>&#x7ED3;&#x6784;&#x4F53;</td>
  510. <td>&#x5927;&#x5199; T &#x5F00;&#x5934;</td>
  511. </tr>
  512. <tr>
  513. <td>&#x679A;&#x4E3E;&#x53D8;</td>
  514. <td>&#x5927;&#x5199; E &#x5F00;&#x5934;</td>
  515. </tr>
  516. <tr>
  517. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;&#x53D8;&#x91CF;</td>
  518. <td>&#x5C0F;&#x5199; ms_ &#x5F00;&#x5934;</td>
  519. </tr>
  520. <tr>
  521. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;bool&#x53D8;&#x91CF;</td>
  522. <td>&#x5C0F;&#x5199; ms_b &#x5F00;&#x5934;</td>
  523. </tr>
  524. <tr>
  525. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;float&#x53D8;&#x91CF;</td>
  526. <td>&#x5C0F;&#x5199; ms_f &#x5F00;&#x5934;</td>
  527. </tr>
  528. <tr>
  529. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;int&#x53D8;&#x91CF;</td>
  530. <td>&#x5C0F;&#x5199; ms_i &#x5F00;&#x5934;</td>
  531. </tr>
  532. <tr>
  533. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;unsigned int&#x53D8;&#x91CF;</td>
  534. <td>&#x5C0F;&#x5199; ms_u &#x5F00;&#x5934;</td>
  535. </tr>
  536. <tr>
  537. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;char*&#x53D8;&#x91CF;</td>
  538. <td>&#x5C0F;&#x5199; ms_s &#x5F00;&#x5934;</td>
  539. </tr>
  540. <tr>
  541. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;Matrix&#x53D8;&#x91CF;</td>
  542. <td>&#x5C0F;&#x5199; ms_m &#x5F00;&#x5934;</td>
  543. </tr>
  544. <tr>
  545. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;&#x679A;&#x4E3E;&#x53D8;&#x91CF;</td>
  546. <td>&#x5C0F;&#x5199; ms_e &#x5F00;&#x5934;</td>
  547. </tr>
  548. <tr>
  549. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;&#x6307;&#x91CF;&#x53D8;&#x91CF;</td>
  550. <td>&#x5C0F;&#x5199; ms_p &#x5F00;&#x5934;</td>
  551. </tr>
  552. <tr>
  553. <td>&#x7C7B;&#x7684;&#x9759;&#x6001;&#x7ED3;&#x6784;&#x4F53;&#x53D8;&#x91CF;</td>
  554. <td>&#x5C0F;&#x5199; ms_t &#x5F00;&#x5934;</td>
  555. </tr>
  556. <tr>
  557. <td>&#x5168;&#x5C40;&#x53D8;&#x91CF;</td>
  558. <td>&#x5C0F;&#x5199; g_ &#x5F00;&#x5934;</td>
  559. </tr>
  560. <tr>
  561. <td>&#x5168;&#x5C40;bool&#x53D8;&#x91CF;</td>
  562. <td>&#x5C0F;&#x5199; g_b &#x5F00;&#x5934;</td>
  563. </tr>
  564. <tr>
  565. <td>&#x5168;&#x5C40;int&#x53D8;&#x91CF;</td>
  566. <td>&#x5C0F;&#x5199; g_i &#x5F00;&#x5934;</td>
  567. </tr>
  568. <tr>
  569. <td>&#x5168;&#x5C40;unsigned int&#x53D8;&#x91CF;</td>
  570. <td>&#x5C0F;&#x5199; g_u &#x5F00;&#x5934;</td>
  571. </tr>
  572. <tr>
  573. <td>&#x5168;&#x5C40;float&#x53D8;&#x91CF;</td>
  574. <td>&#x5C0F;&#x5199; g_f &#x5F00;&#x5934;</td>
  575. </tr>
  576. <tr>
  577. <td>&#x5168;&#x5C40;char*&#x53D8;&#x91CF;</td>
  578. <td>&#x5C0F;&#x5199; g_s &#x5F00;&#x5934;</td>
  579. </tr>
  580. <tr>
  581. <td>&#x5168;&#x5C40;Matrix&#x53D8;&#x91CF;</td>
  582. <td>&#x5C0F;&#x5199; g_m &#x5F00;&#x5934;</td>
  583. </tr>
  584. <tr>
  585. <td>&#x5168;&#x5C40;&#x679A;&#x4E3E;&#x53D8;&#x91CF;</td>
  586. <td>&#x5C0F;&#x5199; g_e &#x5F00;&#x5934;</td>
  587. </tr>
  588. <tr>
  589. <td>&#x5168;&#x5C40;&#x6307;&#x91CF;&#x53D8;&#x91CF;</td>
  590. <td>&#x5C0F;&#x5199; g_p &#x5F00;&#x5934;</td>
  591. </tr>
  592. <tr>
  593. <td>&#x5168;&#x5C40;&#x7ED3;&#x6784;&#x4F53;&#x53D8;&#x91CF;</td>
  594. <td>&#x5C0F;&#x5199; g_t &#x5F00;&#x5934;</td>
  595. </tr>
  596. </tbody>
  597. </table>
  598. </div>
  599. </body></html>