Advertisement
Guest User

speedo

a guest
Sep 2nd, 2014
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.10 KB | None | 0 0
  1. /* 1.16 ---------- */
  2. #define HOOK 0x0002fbd8
  3. #define FLOAT_0_5 0x00013AC8
  4. #define FLOAT_0_0 0x00013C58
  5. #define FLOAT_1_0 0x00015FC8
  6. #define FLOAT_2_0 0x0009B384
  7. #define GET_ENTITY_SPEED 0x0039C6E0
  8. #define _SET_TEXT_ENTRY 0x003B6C40
  9. #define _DRAW_TEXT 0x003B6C60
  10. #define ADD_TEXT_COMPONENT_FLOAT 0x003B6EB8
  11. #define _ADD_TEXT_COMPONENT_STRING 0x003B6F1C
  12. #define SET_TEXT_SCALE 0x003B804C
  13. #define SET_TEXT_COLOUR 0x003B8060
  14. #define SET_TEXT_CENTRE 0x003B8098
  15. #define SET_TEXT_WRAP 0x003B80EC
  16. #define SET_TEXT_FONT 0x003B8114
  17. #define SET_TEXT_DROPSHADOW 0x003B8138
  18. #define GET_VEHICLE_PED_IS_USING 0x003FA0A8
  19. #define IS_PLAYER_PLAYING 0x0041FFA8
  20. #define PLAYER_ID 0x00421560
  21. #define PLAYER_PED_ID 0x004215A4
  22. #define SET_VEHICLE_ALARM 0x00440718
  23.  
  24. /* 1.16 ---------- */
  25. #define PATCHES 0x01b69600
  26.  
  27. /* ---------- */
  28. #define STRING1 "GEN_BIGM_NUM"
  29. #define STRING2 "Speedo: "
  30. #define STRING3 "-=SPEEDO=-"
  31. #define FLOAT1 0x3ec00000
  32. #define FLOAT2 0x3d000000
  33. #define FLOAT3 0x00000000
  34. /* ---------- */
  35.  
  36. #define PROLOG() \
  37. std 0, -0x100(1); \
  38. mflr 0; \
  39. std 1, -0xF8(1); \
  40. std 2, -0xF0(1); \
  41. std 3, -0xE8(1); \
  42. std 4, -0xE0(1); \
  43. std 5, -0xD8(1); \
  44. std 6, -0xD0(1); \
  45. std 7, -0xC8(1); \
  46. std 8, -0xC0(1); \
  47. std 9, -0xB8(1); \
  48. std 10, -0xB0(1); \
  49. std 11, -0xA8(1); \
  50. std 12, -0xA0(1); \
  51. std 13, -0x98(1); \
  52. std 14, -0x90(1); \
  53. std 15, -0x88(1); \
  54. std 16, -0x80(1); \
  55. std 17, -0x78(1); \
  56. std 18, -0x70(1); \
  57. std 19, -0x68(1); \
  58. std 20, -0x60(1); \
  59. std 21, -0x58(1); \
  60. std 22, -0x50(1); \
  61. std 23, -0x48(1); \
  62. std 24, -0x40(1); \
  63. std 25, -0x38(1); \
  64. std 26, -0x30(1); \
  65. std 27, -0x28(1); \
  66. std 28, -0x20(1); \
  67. std 29, -0x18(1); \
  68. std 30, -0x10(1); \
  69. std 31, -0x8(1); \
  70. std 0, 0x10(1); \
  71. stdu 1, -0x1d0(1); \
  72. std 0, 0x1e0(1); \
  73.  
  74. #define EPILOG() \
  75. addi 1, 1, 0x1d0; \
  76. ld 1, -0xF8(1); \
  77. ld 2, -0xF0(1); \
  78. ld 3, -0xE8(1); \
  79. ld 4, -0xE0(1); \
  80. ld 5, -0xD8(1); \
  81. ld 6, -0xD0(1); \
  82. ld 7, -0xC8(1); \
  83. ld 8, -0xC0(1); \
  84. ld 9, -0xB8(1); \
  85. ld 10, -0xB0(1); \
  86. ld 11, -0xA8(1); \
  87. ld 12, -0xA0(1); \
  88. ld 13, -0x98(1); \
  89. ld 14, -0x90(1); \
  90. ld 15, -0x88(1); \
  91. ld 16, -0x80(1); \
  92. ld 17, -0x78(1); \
  93. ld 18, -0x70(1); \
  94. ld 19, -0x68(1); \
  95. ld 20, -0x60(1); \
  96. ld 21, -0x58(1); \
  97. ld 22, -0x50(1); \
  98. ld 23, -0x48(1); \
  99. ld 24, -0x40(1); \
  100. ld 25, -0x38(1); \
  101. ld 26, -0x30(1); \
  102. ld 27, -0x28(1); \
  103. ld 28, -0x20(1); \
  104. ld 29, -0x18(1); \
  105. ld 30, -0x10(1); \
  106. ld 31, -0x8(1); \
  107. ld 0, 0x10(1); \
  108. mtlr 0; \
  109. ld 0, -0x100(1); \
  110.  
  111. /* ---------- */
  112. .org FLOAT_0_5
  113. float_0_5:
  114.  
  115. /* ---------- */
  116. .org FLOAT_0_0
  117. float_0_0:
  118.  
  119. /* ---------- */
  120. .org FLOAT_1_0
  121. float_1_0:
  122.  
  123. /* ---------- */
  124. .org HOOK
  125. hook:
  126. bl speedo
  127.  
  128. /* ---------- */
  129. .org FLOAT_2_0
  130. float_2_0:
  131.  
  132. /* ---------- */
  133. .org GET_ENTITY_SPEED
  134. get_entity_speed:
  135.  
  136. /* ---------- */
  137. .org _SET_TEXT_ENTRY
  138. set_text_entry:
  139.  
  140. /* ---------- */
  141. .org _DRAW_TEXT
  142. draw_text:
  143.  
  144. /* ---------- */
  145. .org ADD_TEXT_COMPONENT_FLOAT
  146. add_text_component_float:
  147.  
  148. /* ---------- */
  149. .org _ADD_TEXT_COMPONENT_STRING
  150. add_text_component_string:
  151.  
  152. /* ---------- */
  153. .org SET_TEXT_SCALE
  154. set_text_scale:
  155.  
  156. /* ---------- */
  157. .org SET_TEXT_COLOUR
  158. set_text_colour:
  159.  
  160. /* ---------- */
  161. .org SET_TEXT_CENTRE
  162. set_text_centre:
  163.  
  164. /* ---------- */
  165. .org SET_TEXT_WRAP
  166. set_text_wrap:
  167.  
  168. /* ---------- */
  169. .org SET_TEXT_FONT
  170. set_text_font:
  171.  
  172. /* ---------- */
  173. .org SET_TEXT_DROPSHADOW
  174. set_text_dropshadow:
  175.  
  176. /* ---------- */
  177. .org GET_VEHICLE_PED_IS_USING
  178. get_vehicle_ped_is_using:
  179.  
  180. /* ---------- */
  181. .org IS_PLAYER_PLAYING
  182. is_player_playing:
  183.  
  184. /* ---------- */
  185. .org PLAYER_ID
  186. player_id:
  187.  
  188. /* ---------- */
  189. .org PLAYER_PED_ID
  190. player_ped_id:
  191.  
  192. /* ---------- */
  193. .org SET_VEHICLE_ALARM
  194. set_vehicle_alarm:
  195.  
  196. /* ---------- */
  197. .org PATCHES
  198. speedo:
  199. PROLOG()
  200. bl player_id
  201. nop
  202. bl is_player_playing
  203. nop
  204. cmpwi 3, 1
  205. bne notplaying
  206. nop
  207. isplaying:
  208. li 3, 0
  209. bl set_text_font
  210. nop
  211. lis 3, float_0_5@h
  212. lfs 1, float_0_5@l(3) // 0.5
  213. fmr 2, 1
  214. bl set_text_scale
  215. nop
  216. li 3, 0x90 // r
  217. mr 4, 3 // g
  218. li 5, 0xA // b
  219. li 6, 0x20 // a
  220. bl set_text_colour
  221. nop
  222. lis 3, float_0_0@h
  223. lfs 1, float_0_0@l(3) // 0.0
  224. lfs 2, float_1_0@l(3) // 1.0
  225. bl set_text_wrap
  226. nop
  227. li 3, 0
  228. bl set_text_centre
  229. nop
  230. li 3, 0
  231. mr 4, 3
  232. mr 5, 4
  233. mr 6, 5
  234. mr 7, 6
  235. bl set_text_dropshadow
  236. nop
  237. lis 3, string1@h
  238. ori 3, 3, string1@l // "GEN_BIGM_NUM"
  239. bl set_text_entry
  240. nop
  241. speedometer:
  242. lis 3, string2@h
  243. ori 3, 3, string2@l // "Speed: "
  244. bl add_text_component_string
  245. nop
  246. bl player_ped_id
  247. nop
  248. bl get_vehicle_ped_is_using
  249. nop
  250. cmpwi 3, 0
  251. lis 4, float_0_0@h
  252. lfs 1, float_0_0@l(4) // 0.00
  253. beq novehicle
  254. nop
  255. get_speed:
  256. bl get_entity_speed
  257. nop
  258. lis 3, float_2_0@h
  259. lfs 2, float_2_0@l(3) // 2.00
  260. fmuls 1, 2, 1 // speed * 2.00
  261. novehicle:
  262. li 4, 1
  263. bl add_text_component_float
  264. nop
  265. lis 3, float1@h
  266. lfs 1, float1@l(3) // x 0.375
  267. lfs 2, float2@l(3) // y 0.03125
  268. bl draw_text
  269. nop
  270. notplaying:
  271. EPILOG()
  272. blr
  273. .long 0x0
  274.  
  275. string1:
  276. .string STRING1
  277. .align 4
  278. string2:
  279. .string STRING2
  280. .align 4
  281. string3:
  282. .string STRING3
  283. .align 4
  284. float1:
  285. .long FLOAT1
  286. float2:
  287. .long FLOAT2
  288. float3:
  289. .long FLOAT3
  290. .align 4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement