Shop  •   Avatar  •   FAQ  •   Search  •   Memberlist  •   Usergroups  •   Profile  •   Log in to check private messages  •   Log in  •  Register 

Never Reload! (patch For V1.02) Cannons Info
Post new topic   Reply to topic     Forum Index -> Customization & Modding
View previous topic :: View next topic  
Author Message
corsair91
Sailing Master
Posts: 8201



206645 Gold -

PostPosted: Sun Oct 03, 2021 8:08 pm    Post subject: Never Reload! (patch For V1.02) Cannons Info Reply with quote

Never Reload! (patch For V1.02)

https://web.archive.org/web/20070905063825/http://www.addictedforums.com/index.php?showtopic=4137


x87bliss
Aug 25 2007,


"ARRR Fire the cannons!" "They not be loaded, Captain!" "ARRR They always be loaded!"

How to patch:
I'm only going to give instructions on how to apply the patch to Pirates!.exe, so it's a permanent cheat that does not require a trainer. Phalzyr's PHTrainer will hopefully include a feature to apply it in memory when he adds that feature. The main difference is that this method is permanent, and requires you to re-edit Pirates!.exe (which means having it closed) to disable it. Having it in Phalzyr's trainer will allow you to more easily enable/disable it at will.

1) Download XVI32 (or use your favorite hex-editor.
2) Copy Pirates!.exe to Pirates!.exe.bak (always keep a backup of the original exe file, in case you mess it up)
3) Open Pirates!.exe in XVI32
4) Goto Address 0x7E2C0 (Ctrl+G, select "Hexadecimal", type 7E2C0 in the edit box, and select "absolute", then hit ok)
5) Read three bytes from where it selected, they should be "75 07 48", if not make sure you're in the right place.
6) Change those three bytes from "75 07 48" to "31 C0 90"
7) Save

How to use:
When you're in battle, the number of cannons loaded will always be the number of cannons you have. However, only that number of cannon balls may be in the air at one point. So you can't just send out infinite shots. You need to wait til your balls hit or sink before you can shoot more.

Warning! Nerd Content:
What exactly did those numbers change?
They changed the code that gets sent to the CPU for calculating the number of cannons reloaded. As opposed to changing a value in memory, we slightly changed the actual program. The game uses a timer, that when it reaches 0, all the cannons are reloaded - the closer to 0, the more cannons are loaded.

Here is the assembly code:
Originally this is executed:
47E2C0 - 75 07 - jne 0047e2c9
(this is a jump that skips decreasing the timer if it is not ready for more cannons to be loaded yet)
47E2C2 - 48 - dec eax
(if more cannons are ready to be loaded, that jump is skipped, and this runs, which decreases EAX (the timer) by 1)

47E2C0 - 31 C0 - xor eax, eax
(we don't need that jump anymore, since we always want the cannons loaded. xor EAX, EAX effectively sets EAX to 0)
47E2C2 - 90 - nop
(nop does nothing at all. It is just a place-holder, since we went from 3 bytes of code to 2)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Customization & Modding All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group