v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Editing User talk:0x517A5D

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.


The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 62: Line 62:
 
:::::::::I theoretically could dump data to a file.  The limit on how much code can be injected is so high that it will never actually be hit in real-world use.  However, I would have to (<b>a</b>) do all of the file operations myself using relocatable assembly code (which is even harder to write than normal assembly language), and (<b>b</b>) track down the operating system call addresses <i>from scratch</i>, the way viruses do.  (Have to do that because they can be at different addresses in different processes, so I can't just find them in the patcher process and copy them across.)  I estimate 1000-2000 lines of assembly, all carefully coded to not disrupt <b>DF</b> itself.  Using a custom-built debugger might actually be easier.  I am, frankly, not eager to do such a project for little <u>personal</u> gain.  <b>RP</b> suits my needs and tastes quite well.  Now, if you can find someone else willing to do the gruntwork, I can give info such as good patch locations, and critique their techniques.  Though I probably am not willing to debug crashes &mdash; and crashes <u>will</u> happen, and they can be weird and mysterious.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 02:37, 1 January 2008 (EST)
 
:::::::::I theoretically could dump data to a file.  The limit on how much code can be injected is so high that it will never actually be hit in real-world use.  However, I would have to (<b>a</b>) do all of the file operations myself using relocatable assembly code (which is even harder to write than normal assembly language), and (<b>b</b>) track down the operating system call addresses <i>from scratch</i>, the way viruses do.  (Have to do that because they can be at different addresses in different processes, so I can't just find them in the patcher process and copy them across.)  I estimate 1000-2000 lines of assembly, all carefully coded to not disrupt <b>DF</b> itself.  Using a custom-built debugger might actually be easier.  I am, frankly, not eager to do such a project for little <u>personal</u> gain.  <b>RP</b> suits my needs and tastes quite well.  Now, if you can find someone else willing to do the gruntwork, I can give info such as good patch locations, and critique their techniques.  Though I probably am not willing to debug crashes &mdash; and crashes <u>will</u> happen, and they can be weird and mysterious.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 02:37, 1 January 2008 (EST)
 
::::::::::Why don't you let the patcher do the grunt work to find the system function addresses, all you'd have to do is read in the entire EXE image from the DF processes. The relocatable assembly is still definitely going to be a pain. I'd look into doing it myself, but I've already got my plate full just trying to make DFUF useful.<br/>-- [[User:Jifodus|Jifodus]] 15:09, 1 January 2008 (EST)
 
::::::::::Why don't you let the patcher do the grunt work to find the system function addresses, all you'd have to do is read in the entire EXE image from the DF processes. The relocatable assembly is still definitely going to be a pain. I'd look into doing it myself, but I've already got my plate full just trying to make DFUF useful.<br/>-- [[User:Jifodus|Jifodus]] 15:09, 1 January 2008 (EST)
:::::::::::That's a interesting thought.  Since the target is a single known executable, which almost certainly already imports the system calls I would need, I could indeed suck them out of the image.  So that counters point <b>b</b>.  I'll give it some thought.  However if I do take on this project, I am actually leaning toward the custom debugger route.  I could use C that way.  And I'd learn more skills and techniques, I'm sure.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 16:49, 1 January 2008 (EST)
 
 
Maybe it's only me, and I'm doing something extremely stupid, but I can't get it to apply the patch. When I run the .exe it says that it can't find the files that it needs to patch, and suggests that they perhaps already are patched, which, of course, they aren't. I'm probably doing something stupid, aren't I? I suspected that I had possibly put it in the wrong place or something, so I ended up running it from a whole bunch of different DF folders. Alas, there wasn't any sort of readme to help us simple people. Help would be appreciated though, it sounds like a fantastic utility. I'm tired of looking for underground pools with the random chance method. I'm using .33g--[[User:Yabbadabba|Yabbadabba]] 00:55, 1 January 2008 (EST)
 
Maybe it's only me, and I'm doing something extremely stupid, but I can't get it to apply the patch. When I run the .exe it says that it can't find the files that it needs to patch, and suggests that they perhaps already are patched, which, of course, they aren't. I'm probably doing something stupid, aren't I? I suspected that I had possibly put it in the wrong place or something, so I ended up running it from a whole bunch of different DF folders. Alas, there wasn't any sort of readme to help us simple people. Help would be appreciated though, it sounds like a fantastic utility. I'm tired of looking for underground pools with the random chance method. I'm using .33g--[[User:Yabbadabba|Yabbadabba]] 00:55, 1 January 2008 (EST)
 
:Okay, lets cover the misconception first: it doesn't patch files.  It grabs the running copy of <b>Dwarf Fortress</b> by the <strike>balls</strike> throat, and patches its memory.  But if <b>DF</b> isn't running, you will get a different error message.  So it was running.  So... try this: quit out of <b>DF</b>, then start it back up.  When <b>DF</b> is at the initial title screen, run the <b>RP</b> utility.  Only once.  It should not give an error message.  In fact, it should give no feedback at all.  Then go back to <b>DF</b> and choose the <i>Start Playing</i> menu choice.  When you're looking at the <i>Choose a Fortress Location</i> screen, you should automatically be looking at a region which has mountains.  At this point, you should notice extra symbols on the local map view on the left of the screen.  Report back if this doesn't work, and we can do some diagnostics.  I do agree, there should be a readme to explain stuff, as well as give a map key of the new symbols.  Soon.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 02:37, 1 January 2008 (EST)
 
:Okay, lets cover the misconception first: it doesn't patch files.  It grabs the running copy of <b>Dwarf Fortress</b> by the <strike>balls</strike> throat, and patches its memory.  But if <b>DF</b> isn't running, you will get a different error message.  So it was running.  So... try this: quit out of <b>DF</b>, then start it back up.  When <b>DF</b> is at the initial title screen, run the <b>RP</b> utility.  Only once.  It should not give an error message.  In fact, it should give no feedback at all.  Then go back to <b>DF</b> and choose the <i>Start Playing</i> menu choice.  When you're looking at the <i>Choose a Fortress Location</i> screen, you should automatically be looking at a region which has mountains.  At this point, you should notice extra symbols on the local map view on the left of the screen.  Report back if this doesn't work, and we can do some diagnostics.  I do agree, there should be a readme to explain stuff, as well as give a map key of the new symbols.  Soon.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 02:37, 1 January 2008 (EST)

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Please sign comments with ~~~~

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)