dantarion

PW talks

Feb 24th, 2010
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.10 KB | None | 0 0
  1. 23:37:53 <Phantom_Wings>: You on?
  2. 23:38:01 <Phantom_Wings>: Dant?
  3. 23:38:22 <Dantarion>: yes
  4. 23:38:27 <[TSON]>: PW ;AAA;
  5. 23:38:44 <Dantarion>: We have been pushing forward without you :P
  6. 23:38:54 <Dantarion>: i can't talk now for too long
  7. 23:39:06 <Phantom_Wings>: 'kay
  8. 23:39:08 <Dantarion>: but im in here off and on almost all day
  9. 23:39:35 <shanus1>: hmm, off to drive home from work
  10. 23:39:36 <[TSON]>: yeah
  11. 23:39:42 <shanus1>: then time to put the final polish on HAD :D
  12. 23:39:47 <[TSON]>: we've accomplished a lot
  13. 23:39:47 <shanus1>: p.s. hi PW
  14. 23:39:55 <[TSON]>: and sweetsauce shanus :3
  15. 23:40:06 <Phantom_Wings>: You've been working on the HAD code?
  16. 23:40:10 <Phantom_Wings>: Cool.
  17. 23:40:14 <shanus1>: well, technically, its done
  18. 23:40:27 <shanus1>: injection straight into fighter.pac
  19. 23:41:00 <shanus1>: will match melee's movement distance exactly frame by frame :)
  20. 23:41:09 <Phantom_Wings>: IIRC, the patch code doesn't cover that yet does it?
  21. 23:41:18 <shanus1>: nope
  22. 23:41:19 <Dantarion>: Phantom_Wings: common3.pac
  23. 23:41:23 <Dantarion>: yes, it does shanus
  24. 23:41:35 <shanus1>: well, we don't have common3.pac editing yet :P
  25. 23:41:42 <shanus1>: in the way of line addition, etc
  26. 23:41:46 <Dantarion>: right
  27. 23:41:52 <Phantom_Wings>: Ah, speaking of which.
  28. 23:42:14 <Phantom_Wings>: I've been looking into removing the limits on the file sizes that are loaded.
  29. 23:42:19 <Dantarion>: OpenSA is almost ready to do inplace edits
  30. 23:42:22 <[TSON]>: o.o
  31. 23:42:28 <Phantom_Wings>: - not talking about the character .pacs
  32. 23:42:37 <[TSON]>: darn lmfao
  33. 23:42:44 <shanus1>: btw PW, your memory locations you sent me
  34. 23:42:48 <shanus1>: in the 9000's
  35. 23:42:51 <shanus1>: work well
  36. 23:43:03 <Dantarion>: they are hella empty XD
  37. 23:43:06 <Phantom_Wings>: Good to hear it.
  38. 23:43:13 <shanus1>: 13 new codes to dump in there
  39. 23:43:16 <shanus1>: this leaves 1 last code
  40. 23:43:23 <shanus1>: light trigger presses :D
  41. 23:43:42 <shanus1>: anyways, im off to drive home, back on in a bit
  42. 23:43:58 <Phantom_Wings>: Alright.
  43. 23:44:06 <[TSON]>: stay safe shanus :P
  44. 23:44:19 <Dantarion>: Phantom_Wings: So what were you saying about removing file size limits?
  45. 23:44:27 <Dantarion>: you mean like on texture files and such?
  46. 23:45:11 <Dantarion>: do you know anything about where http://pastie.org/pastes/404037 comes from?
  47. 23:45:22 <Phantom_Wings>: While most files are free to be any size.
  48. 23:45:36 <Phantom_Wings>: Certain files are limited to the size of the original file.
  49. 23:45:47 <Phantom_Wings>: Hello Leaf.
  50. 23:45:51 <Dantarion>: I know info.pac is
  51. 23:45:59 <leaf>: hi
  52. 23:46:03 <Phantom_Wings>: Same for some of the common files.
  53. 23:46:11 <Dantarion>: I had to null out strings in order to insert custom song titles
  54. 23:46:17 <Dantarion>: is it all compressed files?
  55. 23:46:26 <Phantom_Wings>: I'm not too sure.
  56. 23:46:36 <Phantom_Wings>: Textures which are compressed seem to work alright
  57. 23:46:36 <Dantarion>: or just certain ones that aren't loaded on demand
  58. 23:47:03 <Dantarion>: i.e. info.pac and the common.pacs are always loaded to the same location in memory
  59. 23:47:12 <Dantarion>: as far as i can tell
  60. 23:47:35 <Dantarion>: perhaps thats just because they are loaded in the same order at boot
  61. 23:48:13 <Phantom_Wings>: The men_select_char file was also one of those files.
  62. 23:48:26 <Phantom_Wings>: Encountered it when I tried to add a new stage icon.
  63. 23:48:42 <Dantarion>: hm..
  64. 23:48:57 <Phantom_Wings>: From what I've gathered.
  65. 23:49:02 <Phantom_Wings>: There's two types of loading.
  66. 23:49:13 <Dantarion>: ok
  67. 23:49:15 <Phantom_Wings>: Forward and backwards loading...
  68. 23:49:32 <Phantom_Wings>: I dunno' perhaps one is for the stack, while one is for hard memory.
  69. 23:49:46 <Phantom_Wings>: But forwards loading can hold any size.
  70. 23:49:52 <Phantom_Wings>: While backwards loading...
  71. 23:50:05 <Phantom_Wings>: It gets given a location.
  72. 23:50:13 <Dantarion>: oh
  73. 23:50:21 <Phantom_Wings>: Then it subtracts the file size from it.
  74. 23:50:50 <Dantarion>: thats weird
  75. 23:50:58 <Phantom_Wings>: And finally loads the file itself - if the file's too big, it will overflow.
  76. 23:51:29 <Phantom_Wings>: Ordinarily it would just be a matter of repointing the addresses.
  77. 23:51:34 <Dantarion>: how does it determine the location?
  78. 23:51:59 <Phantom_Wings>: The location is likely a space of heap allocated memory.
  79. 23:52:38 <Dantarion>: i mean, it has to know the size before it looks for a location to put the file though, right?
  80. 23:52:49 <Phantom_Wings>: Hmm. Yes.
  81. 23:52:53 <Dantarion>: or are these locations hardcoded per file or something
  82. 23:53:11 <Phantom_Wings>: 18 : Fighter1Resoruce : 5.33MB Used 4.07MB ( 76%) adr S 9151fa00 E 91a72e00 SIZE 00553400 perhaps?
  83. 23:54:09 <Dantarion>: hmmm
  84. 23:54:30 <Phantom_Wings>: But that brings us back around to the fact that character files aren't affected by this.
  85. 23:54:49 <Dantarion>: yeah
  86. 23:55:02 <Dantarion>: id have to take a look in IDA or something
  87. 23:55:18 <Phantom_Wings>: I've tried triggering the other loading routine - the forward routine instead.
  88. 23:55:27 <Dantarion>: what happens?
  89. 23:55:35 <Phantom_Wings>: But that didn't work out too well either - it crashed.
  90. 23:55:38 <Dantarion>: oh
  91. 23:55:53 <Dantarion>: im guessing it does something to keep track of what resources are loaded
  92. 23:55:58 <Dantarion>: and where they are in memory
  93. 23:56:11 <Phantom_Wings>: Yeah.
  94. 23:56:28 <Dantarion>: and probably keeps track of use count as well
  95. 23:56:46 <Dantarion>: i.e. two people pick marth, if one person deselects marth, it doesn't unload the marth .pac
  96. 23:57:18 <Phantom_Wings>: I've been looking into that actually.
  97. 23:57:29 <Phantom_Wings>: I'm having a hard time making heads or tales of it.
  98. 23:57:34 <Dantarion>: same
  99. 23:57:38 <Dantarion>: ive tried it too
  100. 23:58:34 <Dantarion>: what exactly did u find out about the modules
  101. 23:58:47 <Dantarion>: I looked at them in IDA and saw all the little routines
  102. 23:58:57 <Dantarion>: but I couldn't figure out what any of them did
  103. 23:59:23 <Phantom_Wings>: The modules appear to be the rawest form of the game's programming.
  104. 23:59:23 <Dantarion>: I know people figured out how to make modules load at different stage slots after u posted ur modified module
  105. 23:59:55 <Phantom_Wings>: Aside from their general structure, they are entirely handled by their own code.
  106. 00:00:22 <Dantarion>: hmm
  107. 00:00:31 <Dantarion>: oh yeah, have you tried OpenSA2?
  108. 00:00:42 <Dantarion>: it pulls out a lot of info that PSA doesn't now
  109. 00:00:47 <Phantom_Wings>: Not yet, I'm just looking into that now.
  110. 00:01:18 <Dantarion>: ok
  111. 00:01:28 <Dantarion>: no rush, i gotta get off the comp for a bit
  112. 00:01:47 <Dantarion>: http://svn.dantarion.com/opensa2/ - OpenSA2 source
  113. 00:01:56 <Dantarion>: needs to be refactored, but whatever, it works for now
  114. 00:03:27 <Phantom_Wings>: Yeah, I just grabbed it now from the link you sent me on SWF.
  115. 00:03:37 <Phantom_Wings>: So how'd you get articles working?
  116. 00:05:09 <Dantarion>: uh, its kinda complicated
  117. 00:05:21 <Phantom_Wings>: Lots of guess and check?
  118. 00:06:01 <Dantarion>: okay, you know the big array of offsets marked "data"?
  119. 00:06:12 <Phantom_Wings>: yeah?
  120. 00:06:29 <Dantarion>: the last few offsets in each characters file points to an array of data for each article
  121. 00:06:44 <Dantarion>: I haven't figured out ALL of the data
  122. 00:07:04 <Phantom_Wings>: From what I've seen in the modules, the offsets for the articles from Data is pretty much random.
  123. 00:07:11 <Dantarion>: yeah
  124. 00:07:20 <Phantom_Wings>: Seriously...
  125. 00:07:22 <Dantarion>: I can't figure out the size of the article attributes
  126. 00:07:28 <Dantarion>: like the floating points and stuff
  127. 00:07:32 <Dantarion>: I can find the OFFSET
  128. 00:07:38 <Dantarion>: but i can't find the end of the data yet
  129. 00:08:04 <Dantarion>: for right now i just read until i hit a 0 value
  130. 00:08:10 <Dantarion>: which gets me most of the articles data
  131. 00:08:28 <Phantom_Wings>: The version I've got can't access the attributes actually.
  132. 00:08:36 <Dantarion>: http://i46.tinypic.com/2h50kef.png
  133. 00:08:41 <Dantarion>: the version youve got?
  134. 00:09:01 <Dantarion>: oh
  135. 00:09:08 <Dantarion>: i haven't done character attributes yet
  136. 00:09:24 <Phantom_Wings>: k, I thought you were talking about that.
  137. 00:09:25 <Dantarion>: Im lazy and only worked on the fun stuff
  138. 00:09:38 <Phantom_Wings>: heh.
  139. 00:09:45 <Phantom_Wings>: I work that way too.
  140. 00:10:01 <Phantom_Wings>: Notice the long line of unfinished codes and programs that I've left in my wake?
  141. 00:10:07 <Dantarion>: yeah
  142. 00:10:18 <Dantarion>: in that screen shot i just posted, 0x1E408 is where the article data for mario's fludd starts
  143. 00:10:41 <Dantarion>: "Raw Article Offsets" displays the 0x38 bytes of article data
  144. 00:11:10 <Dantarion>: Raw Article Data attempts to find the article attributes
  145. 00:12:17 <Dantarion>: Also, i found the article for each characters Entry animation
  146. 00:12:56 <Phantom_Wings>: The Entry, Entry Left and Entry Right?
  147. 00:13:05 <Dantarion>: well
  148. 00:13:11 <Dantarion>: like Mario's pipe
  149. 00:13:26 <Phantom_Wings>: Yeah.
  150. 00:13:32 <Dantarion>: and the arwings
  151. 00:14:07 <Dantarion>: most of them don't have any data other than animation flags
  152. 00:14:24 <Phantom_Wings>: That's to be expected I guess.
  153. 00:14:31 <Dantarion>: You should try opening Fighter.pac
  154. 00:14:40 <Dantarion>: that is what we have been focusing on lately
  155. 00:14:53 <Phantom_Wings>: Sure, let me see if I've got it.
  156. 00:15:03 <Dantarion>: for ProjectM and Brawl+ making gameplay changes for all the character by injecting PSA commands
  157. 00:15:28 <Dantarion>: overwriting a command with a Goto to a free space of memory, writing a subroutine there and goto'ing back
  158. 00:15:49 <Dantarion>: lol, shanus says we should just use Subroutine command, im dumb and used Gotos
  159. 00:15:49 <Phantom_Wings>: Kind of like ASM injections huh?
  160. 00:15:53 <Dantarion>: yep
  161. 00:16:03 <Dantarion>: i guess thats what I was thinking
  162. 00:16:13 <Dantarion>: so I didn't think to use PSA Subroutine command
  163. 00:17:01 <Phantom_Wings>: The subroutine function should allow you to use Return instead of having to adjust the Goto to match the return address.
  164. 00:17:21 <Dantarion>: exactly
  165. 00:17:30 <Phantom_Wings>: Which should make relocating and moving things around easier
  166. 00:17:47 <Phantom_Wings>: - that's why it's almost impossible to move the File Patch code nowadays.
  167. 00:18:07 <Dantarion>: oh
  168. 00:18:16 <Dantarion>: did you hear about the /pfmenu2/ bug?
  169. 00:18:29 <Phantom_Wings>: Hmm?
  170. 00:18:50 <Dantarion>: FPC loads certain files from the wrong directory
  171. 00:18:58 <Phantom_Wings>: eh?
  172. 00:19:02 <Dantarion>: http://www.youtube.com/watch?v=90F6DJ1JFa8
  173. 00:19:19 <Dantarion>: mu_menumain.pac must be in /pfmenu2/ not /pf/menu2/ to be loaded from SD
  174. 00:19:45 <Dantarion>: i figured it out because i was reading the games logs with USBGecko and there were errors from trying to load it from the wrong place
  175. 00:19:59 <Phantom_Wings>: Weird...
  176. 00:20:21 <Dantarion>: i can't remember if there were any other files
  177. 00:20:26 <Phantom_Wings>: It basically does a string copy with the requested path onto the SD pf folder path.
  178. 00:20:43 <Phantom_Wings>: The '/' is usually included with the path that is copied.
  179. 00:20:51 <Dantarion>: maybe its an error in the game, where the slash isn't part of the requested path?
  180. 00:21:02 <Phantom_Wings>: That would seem to be the case.
  181. 00:22:03 <Dantarion>: oh, and i figured out dodge ai
  182. 00:22:15 <Phantom_Wings>: cpu AI?
  183. 00:22:18 <Dantarion>: http://www.youtube.com/watch?v=JfD12ckT1rU&feature=related
  184. 00:22:27 <Dantarion>: i figured out the files that the ai uses to time dodges
  185. 00:22:39 <Dantarion>: and how the ai decides where to move when they dodge
  186. 00:22:54 <Dantarion>: each attack has a bounding box that the ai tries to avoid
  187. 00:23:16 <Phantom_Wings>: Like how they would appear in SSBM's debug mode...
  188. 00:23:27 <Dantarion>: probably
  189. 00:23:44 <Dantarion>: also, MiscData[20] on stages in BrawlBox seems to be timers for certain events in the stage
  190. 00:23:45 <Dantarion>: http://www.youtube.com/watch?v=l_zjqn-LuNg&feature=related
  191. 00:23:54 <Phantom_Wings>: I wonder if they have opportunity boxes for attacking.
  192. 00:24:36 <Dantarion>: one interesting thing is that all the boxes are too damn big
  193. 00:24:39 <Dantarion>: by far
  194. 00:24:52 <Dantarion>: so the ai dodges when they are waaay out of range
  195. 00:25:09 <Phantom_Wings>: Yeah, I've had that happen a couple of times.
  196. 00:25:17 <Dantarion>: I am gonna make a asm code that divides the box sizes in half to see if it helps
  197. 00:25:46 <Phantom_Wings>: That should yield some interesting results.
  198. 00:26:02 <Dantarion>: better spacing enemies
  199. 00:26:43 <Phantom_Wings>: I notice that you haven't got editing up for OpenSA.
  200. 00:26:57 <Phantom_Wings>: Is that what you wanted to talk to me about?
  201. 00:27:59 <Dantarion>: uh
  202. 00:28:06 <Dantarion>: well, iduno
  203. 00:28:26 <Dantarion>: I need to get inplace editing working first
  204. 00:29:03 <Dantarion>: first, editing param values
  205. 00:29:18 <Dantarion>: then, editing events to ones with the same number of params or less
  206. 00:29:31 <Phantom_Wings>: Yeah, the whole thing with repointing the everything is annoying - especially when it doesn't fit
  207. 00:29:34 <Dantarion>: then, adding params, adding events, etc
  208. 00:29:53 <Dantarion>: I was hoping to be able to rebuild the file from stratch
  209. 00:29:56 <Dantarion>: but...
  210. 00:30:04 <Dantarion>: theres so much unknown data everywhere
  211. 00:30:25 <Phantom_Wings>: Yeah.
  212. 00:30:53 <Phantom_Wings>: It looks like they are devided up and then added according to when they're first referenced.
  213. 00:31:15 <Dantarion>: I want to write code that searches for "FADEFOOD" and tries to move things around to make things fit
  214. 00:31:21 <Dantarion>: but that sounds hard
  215. 00:32:33 <Dantarion>: i.e. if you find FADEFOOD, move the next set of data backwards, repeat until all the unused space is at the end
  216. 00:33:00 <Phantom_Wings>: But then you'd have to repoint everything in between...
  217. 00:33:09 <Dantarion>: yep
  218. 00:33:28 <Phantom_Wings>: So reconstruction does sound like the best option.
  219. 00:33:30 <Dantarion>: and Id have to check all offset variables to see if they match something being used
  220. 00:33:41 <Dantarion>: moved* not used'
  221. 00:34:23 <Phantom_Wings>: Something similar applies to the module files.
  222. 00:34:54 <Phantom_Wings>: Currently I can't add any lines of ASM because of the .rel script at the end.
  223. 00:35:21 <Dantarion>: oh
  224. 00:35:29 <Dantarion>: can you edit the script at the end?
  225. 00:36:07 <Phantom_Wings>: Yeah. But reformatting it is a pain.
  226. 00:36:43 <Dantarion>: lol
  227. 00:36:45 <Phantom_Wings>: ... On second thought, perhaps it's not so hard after all...
  228. 00:37:14 <Phantom_Wings>: It just hit me that it would only take a single value to be changed in order for it to be readjusted.
  229. 00:37:20 <Phantom_Wings>: *facepalm*
  230. 00:37:23 <Dantarion>: LOL
  231. 00:37:30 <Dantarion>: good job
  232. 00:38:03 <Phantom_Wings>: Of course, if it's a .rel file like the common2 .rel, then modifying it is entirely out of the question.
  233. 00:38:11 <`Guy>: Sup.
  234. 00:38:12 <Dantarion>: why?
  235. 00:38:20 <Dantarion>: whats the common2.rel do?
  236. 00:38:33 <Dantarion>: im interested in the character selection rel
  237. 00:38:34 <Phantom_Wings>: Almost every .rel file references the common2.rel
  238. 00:38:41 <Dantarion>: ohhh
  239. 00:39:07 <Phantom_Wings>: It holds everything from accessing the character .pacs to the pointers to which modules are loaded.
  240. 00:39:23 <Dantarion>: wowwww
  241. 00:39:32 <Dantarion>: i want your module view nowww XD
  242. 00:39:37 <Dantarion>: i want to poke some stuff
  243. 00:39:44 <Phantom_Wings>: Well, there's not much to see.
  244. 00:39:56 <Dantarion>: oh
  245. 00:40:32 <Dantarion>: looking at it combined with IDA will probably be fun though
  246. 00:41:01 <Phantom_Wings>: http://uploads.mibbit.com/aU2f91.exe
  247. 00:41:10 <Phantom_Wings>: It's barebones minimum at the moment.
  248. 00:41:31 <Dantarion>: exception on launch XD
  249. 00:42:03 <Phantom_Wings>: err...
  250. 00:42:41 <Phantom_Wings>: Just ignore it, it seems to work fine regardless :D
  251. 00:44:11 <Phantom_Wings>: Hold on a sec, I'll get you the common2 module.
  252. 00:44:20 <Phantom_Wings>: It's too big for here.
  253. 00:44:21 <Dantarion>: is it inside common2.pac?
  254. 00:44:33 <Phantom_Wings>: yeah... I forget which misc data it was.
  255. 00:45:07 <Dantarion>: Have you used BrawlLib before? i have been using it recently to open .pac's directly without exporting files
  256. 00:46:04 <Phantom_Wings>: It's in MiscData[11]. I've been trying to use it every now and again, but Kryal's methods are still a bit foreign to me.
  257. 00:48:01 <Dantarion>: every module has its own ID?
  258. 00:48:38 <Phantom_Wings>: Yeah, it's used for the relocations and also to identify which ones have been loaded.
  259. 00:49:49 <Phantom_Wings>: There's not much to see in that file itself, but if you open another character's .rel file while 1B is closed...
  260. 00:49:52 <Dantarion>: is there a module that doesn't depend on anything?
  261. 00:50:06 <Phantom_Wings>: The viewer will show you where it references another file.
  262. 00:50:29 <Phantom_Wings>: I'm not too sure about that. But it has to start somewhere I suppose.
  263. 00:51:00 <Dantarion>: Phantom_Wings: how do you change what is displayed on the right side?
  264. 00:51:06 <Dantarion>: i have two modules loaded
  265. 00:51:17 <Phantom_Wings>: XD I haven't done that yet...
  266. 00:51:22 <Dantarion>: lol
  267. 00:51:34 <Phantom_Wings>: Like I said, barebones minimum.
  268. 00:52:02 <Dantarion>: well, its still pretty cool
  269. 00:52:50 <Phantom_Wings>: The two images on SWF show what happens if you have a module that is referenced but not loaded.
  270. 00:53:25 <Phantom_Wings>: It's actually easier that way as you can find the offsets inside the referenced file.
  271. 00:54:09 <Dantarion>: cool
  272. 00:54:12 <Phantom_Wings>: For example, m1B[1] + 0x1257EC is the basic routine for setting up a character.
  273. 00:54:35 <Phantom_Wings>: m1B is module 1B while [1] is memblock 1 (the assembly)
  274. 00:55:11 <Dantarion>: hmmm
  275. 00:55:14 <Dantarion>: what is module 0?
  276. 00:55:17 <Phantom_Wings>: So +1257EC into module 1B's ASM is the character load function.
  277. 00:55:26 <Dantarion>: I get that part
  278. 00:55:30 <Phantom_Wings>: Good eye.
  279. 00:55:36 <Phantom_Wings>: Module 0 is no reference.
  280. 00:55:40 <Dantarion>: oh
  281. 00:55:44 <Dantarion>: how about module B?
  282. 00:56:02 <Phantom_Wings>: I don't know what module B is as there isn't really a way to search for them...
  283. 00:56:08 <Dantarion>: oh
  284. 00:56:31 <Dantarion>: gah, if I had the src I could batch generate a list of all the id's for the ones in /module/
  285. 00:56:35 <Dantarion>: how do you find the ID?
  286. 00:56:48 <Phantom_Wings>: The ID is the first word in the file.
  287. 00:56:53 <Dantarion>: okay XD
  288. 00:56:56 <Dantarion>: that makes it easy
  289. 00:57:11 <Phantom_Wings>: But if you change the ID, you'll also need to change the relocation for itself.
  290. 00:57:34 <Phantom_Wings>: It seems that files will often reference themselves during relocation, so that will need to be changed as well.
  291. 00:57:48 <Phantom_Wings>: - I found that out the hard way when I was trying to swap modules.
  292. 00:58:46 <Dantarion>: ooooo
  293. 00:59:00 <Dantarion>: is that the main reason why swapping modules doesn't work?
  294. 00:59:10 <Phantom_Wings>: That and a bunch of other things...
  295. 00:59:26 <Phantom_Wings>: Do you have Mario's .rel file?
  296. 00:59:36 <Phantom_Wings>: Actually, make that Link's.
  297. 01:03:20 <Dantarion>: http://mibpaste.com/Rj2WmY
  298. 01:03:38 <Dantarion>: http://opensa.dantarion.com/disc/module/
  299. 01:03:44 <Dantarion>: lemme sort that list XD
  300. 01:04:09 <Phantom_Wings>: Haha, alright, I was going to suggest a link to you but that should work fine.
  301. 01:05:06 <Dantarion>: http://mibpaste.com/hPi0Jn
  302. 01:05:08 <Dantarion>: there
  303. 01:05:11 <vampiregirl2010>: hi there
  304. 01:05:18 <Dantarion>: that should help somewhat
  305. 01:05:54 <vampiregirl2010>: any crowded channel y`ll know
  306. 01:05:58 <vampiregirl2010>: ???
  307. 01:06:04 <Phantom_Wings>: That should be helpful for searching for the Ids.
  308. 01:06:08 <Dantarion>: the common2 module you refer to is actually also in the module folder
  309. 01:06:20 <Phantom_Wings>: Oh, really?
  310. 01:06:30 <Phantom_Wings>: Anyways, open up the link.rel file.
  311. 01:06:40 <Phantom_Wings>: In the module viewer.
  312. 01:06:45 <vampiregirl2010>: hello:(
  313. 01:06:55 <Phantom_Wings>: Sorry vamp-girl, not meaning to ignore you here.
  314. 01:07:05 <Dantarion>: okay, got it open
  315. 01:07:20 <Phantom_Wings>: Alright, go into the constructors.
  316. 01:07:23 <vampiregirl2010>: okay thanks anyway
  317. 01:07:30 <Dantarion>: okay
  318. 01:07:42 <Phantom_Wings>: Head to the first address in the disassembler.
  319. 01:07:58 <vampiregirl2010>: where r u from phantom?
  320. 01:08:58 <vampiregirl2010>: am feeling lonely here????
  321. 01:09:08 <vampiregirl2010>: any one to talk to???
  322. 01:09:28 <Dantarion>: okay, found it
  323. 01:09:39 <Dantarion>: (please implement Scroll to)
  324. 01:09:49 <Phantom_Wings>: Heh, yeah I'll get to it.
  325. 01:10:02 <Phantom_Wings>: Look for the third brand link command.
  326. 01:10:09 <Phantom_Wings>: branch*
  327. 01:10:27 <Dantarion>: http://i46.tinypic.com/317bd6t.png
  328. 01:10:30 <Dantarion>: is this it?
  329. 01:10:41 <Phantom_Wings>: That's the one.
  330. 01:10:52 <Phantom_Wings>: Follow that to it's address.
  331. 01:11:23 <Dantarion>: ok
  332. 01:11:32 <Phantom_Wings>: See the li r4, 2?
  333. 01:12:07 <Dantarion>: yes
  334. 01:12:18 <Phantom_Wings>: That's one of nine magic numbers that I've found so far for link's .rel file that need to be changed to the id of whichever character you want to change it to.
  335. 01:12:55 <Phantom_Wings>: By magic numbers, I'm meaning numbers that are spontaneously taken from thin air and thrown into the code.
  336. 01:12:58 <Dantarion>: lol
  337. 01:13:05 <Phantom_Wings>: I rest my case...
  338. 01:13:06 <Dantarion>: hmm
  339. 01:13:18 <Dantarion>: are they all the same command?
  340. 01:13:35 <Dantarion>: i.e. li r4, 2
  341. 01:13:38 <Phantom_Wings>: I've found a li r30, 2 once or twice.
  342. 01:13:53 <Phantom_Wings>: I plan on allowing wild cards for the search engine.
  343. 01:14:17 <Phantom_Wings>: So if you searched for li r*, 2 you could find all of them.
  344. 01:14:31 <Dantarion>: that seems to be the easiest way
  345. 01:14:38 <Phantom_Wings>: And that's not even going into accessors.
  346. 01:14:41 <Dantarion>: im guessing there might be false positive?
  347. 01:14:43 <Dantarion>: accessors?
  348. 01:14:48 <Dantarion>: are those for the articles?
  349. 01:15:09 <Phantom_Wings>: The completely ridiculous functions used to access the character's files. -_-
  350. 01:15:14 <Dantarion>: oh
  351. 01:15:37 <Phantom_Wings>: I don't know any off the top of my head, but they are called from the common2 module (1B)
  352. 01:16:30 <Phantom_Wings>: Basically, they're the ones that load the addresses for the articles in the .pac file.
  353. 01:17:09 <Phantom_Wings>: They basically say something along the lines of "I think we should load from DATA + 0xBC" for no apparent reason.
  354. 01:17:50 <vampiregirl2010>: CAN I SHARE U GUYS
  355. 01:17:55 <vampiregirl2010>: ?????
  356. 01:18:27 <Phantom_Wings>: Sorry, were discussing SERIOUS BUSINESS... No malice intended.
  357. 01:18:39 <vampiregirl2010>: or if u`ll busy would u plz suggest any other good channel for me
  358. 01:18:54 <vampiregirl2010>: plzz
  359. 01:19:07 <Phantom_Wings>: Do you know any?
  360. 01:19:08 <BionicSonic>: dant, PM real quickly lol
  361. 01:19:25 <vampiregirl2010>: am new in mirc
  362. 01:19:50 <Phantom_Wings>: How about you Bionic Sonic, do you know any good channels for chating?
  363. 01:20:03 <BionicSonic>: dunno
  364. 01:20:27 <Phantom_Wings>: Well, I guess we can't help you then. I'm not all that familiar with irc myself.
  365. 01:21:08 <vampiregirl2010>: okay u r gentle... thanks... i will keep trying tough
  366. 01:21:30 <Phantom_Wings>: My batteries are dying Dant, so I guess I'll have to log off for now - send me a PM at SWF if you need to talk.
  367. 01:21:42 <Dantarion>: ok
  368. 01:21:46 <Dantarion>: i have to go anyways
  369. 01:21:48 <Dantarion>: wait
  370. 01:21:51 <Dantarion>: one last question
  371. 01:21:58 <Dantarion>: why do the accessors need to be modified
  372. 01:22:06 <Dantarion>: and how do you find them?
  373. 01:22:35 <Phantom_Wings>: They still try to access the file of the original - e.g. Link module over mario will try to access Link.pac instead of Mario.pac
  374. 01:22:54 <Phantom_Wings>: Causes a crash if Link.pac isn't loaded - which it likely isn't.
  375. 01:23:03 <Dantarion>: ohhh
  376. 01:23:12 <Dantarion>: how do they determine the DATA offset to use
  377. 01:23:22 <Phantom_Wings>: Magic :P
  378. 01:23:31 <Phantom_Wings>: Hence "Magic Numbers"
  379. 01:23:34 <Dantarion>: how do they know where the .pac is
  380. 01:23:51 <Dantarion>: I know how to find the article DATA inside the .pac
  381. 01:23:57 <Phantom_Wings>: There's a table inside the Common2 Module that it maintains with the current .pac files that are loaded.
  382. 01:24:16 <Dantarion>: how does it know which part of the table to access
  383. 01:24:32 <Phantom_Wings>: Magic :D
  384. 01:24:35 <Dantarion>: :(
  385. 01:24:49 <Phantom_Wings>: They didn't even use Id's so -_-
  386. 01:25:05 <Phantom_Wings>: that's what makes them so annoying.
  387. 01:25:28 <Phantom_Wings>: Alright, I'm in the red, so I gotta' go.
  388. 01:26:02 <Phantom_Wings>: Talk to ya' later.
  389. 01:29:28 <ChanServ>: This channel is now registered with ChanServ to BionicSonic. Please read over http://www.gamesurge.net/cms/Registration_Guidelines/ and http://www.gamesurge.net/aup/ for our rules. Also visit http://www.gamesurge.net/commands/ for a list of ChanServ's commands. Thank you for using GameSurge's web-based channel registration.
  390. 01:29:35 <[TSON]>: ...
  391. 01:29:47 <[TSON]>: fffFFFFFFFFFFFF
  392. 01:30:02 <[TSON]>: so...whos vampiregirl
  393. 01:30:23 <BionicSonic>: someone who rudely interrupted dant & PW's convo with "oh i'm new here wat do I do"
  394. 01:30:36 <[TSON]>: :(
  395. 02:16:14 <WindOwl>: was PW here?!
  396. 02:16:17 <WindOwl>: DID I MISS PW?!
  397. 02:25:43 <WindOwl>: for real?
  398. 02:25:48 <WindOwl>: do you have logs? ;_;
Add Comment
Please, Sign In to add comment