How to Mod any game...
 
Notifications
Clear all

How to Mod any game by yourself!

Page 27 / 34

Cyb3r
Posts: 1598
Topic starter
(@cyb3r)
Noble Member
Joined: 10 years ago

The only problem with searching unknown values with netcheat (not that there are many other options) is you have to have an incredible amount of fortitude lol. Because if your search ranges are too large and netcheat returns more than about 2000000 results, it will crash. So you have to break down your search ranges to like 50000 increments to find anything, so it definitely helps if you know some of the ranges before hand (I realize that's not always possible). Also, your unknown values can be floats or ints, so that increases the search time hahaha. I have found that you usually need to look for a floating value when your dealing with non numerical things like heath/stamina bars etc. I know this is super vague, but I am not a pro, only commenting on my experience.

Usually when I want to search for unknown value I start searching for value > zero if the value is bigger than zero.

Reply
FloDoc
Posts: 62
(@flodoc)
Trusted Member
Joined: 8 years ago

More useful advise! do you try both int and float values? What do you find more of, floats or ints?

Reply
Cyb3r
Posts: 1598
Topic starter
(@cyb3r)
Noble Member
Joined: 10 years ago

More useful advise! do you try both int and float values? What do you find more of, floats or ints?

Just focus on finding the changed value then compare it with the original. When you find it you can figure out which type it's.

Reply
Posts: 0
(@EvilWiffles)
New Member
Joined: 8 years ago

Hello, really great tutorial!
I don't know PPC myself but I was learning how to use Netcheat and finding pointers till I found out most of these pointers are always dynamic.

Games I'm focusing on are Demon's Souls and Dark Souls 1. Can easily grab stamina or HP but it's a shame since I'd like for these things to stick, when I die or warp. Using both BLUS versions if anyone is interested in maybe helping me out, and hopefully show me where I'd need to go.

Anyways, I've gotten the dynamic pointer (in this case 326DACD4) for stamina in DeS and in Debugger.
Can't post links it seems, oh well.

00286858 F9210090 std        r9,0x90(r1)
	0028685C C9810090 lfd        f12,0x90(r1)                  50 (00286858) PIPE LHS[01]
	00286860 2F8BFFCE cmpwi      cr7,r11,-0x32
	00286864 FD80669C fcfid      f12,f12
	00286868 9161007C stw        r11,0x7C(r1)
	0028686C FC006018 frsp       f0,f12                        08 (00286864) REG PIPE
	00286870 EDAD0028 fsubs      f13,f13,f0                    09 (0028686C) REG
	00286874 D1BF0134 stfs       f13,0x134(r31)                10 (00286870) REG
	00286878 419C0020 blt        cr7,0x00286898
	0028687C 393D03D8 addi       r9,r29,0x3D8
	00286880 792A0020 clrldi     r10,r9,32                     01 (0028687C) REG
	00286884 800A0000 lwz        r0,0x0(r10)                   04 (00286880) REG LSU
	00286888 7F805800 cmpw       cr7,r0,r11                    01 (00286884) REG
	0028688C 419C000C blt        cr7,0x00286898                01 (00286888) REG
	00286890 3921007C addi       r9,r1,0x7C
	00286894 792A0020 clrldi     r10,r9,32                     01 (00286890) REG PIPE
	00286898 800A0000 lwz        r0,0x0(r10)                   03 (00286894) REG LSU
	0028689C 811F0020 lwz        r8,0x20(r31)                   PIPE
	002868A0 901F03D4 stw        r0,0x3D4(r31)
	002868A4 4BFFF89C b          0x00286140                    08
	002868A8 811F0020 lwz        r8,0x20(r31)
	002868AC 4BFFFABC b          0x00286368                    08
	002868B0 38000000 li         r0,0x0
	002868B4 901F02F4 stw        r0,0x2F4(r31)                 03 (002868B0) REG PIPE LSU
	002868B8 4BFFFE8C b          0x00286744                    08
	002868BC C1BF02F0 lfs        f13,0x2F0(r31)                 PIPE
	002868C0 4BFFFA58 b          0x00286318                    08
	002868C4 60000000 nop                                       PIPE
	002868C8 2B840078 cmplwi     cr7,r4,0x78
	002868CC 7C0802A6 mfspr      r0,lr                         02
	002868D0 F821FF51 stdu       r1,-0xB0(r1)
	002868D4 FBC100A0 std        r30,0xA0(r1)                  03 (002868D0) REG PIPE LSU
	002868D8 FBE100A8 std        r31,0xA8(r1)
	002868DC FBA10098 std        r29,0x98(r1)                   PIPE
	002868E0 F80100C0 std        r0,0xC0(r1)
	002868E4 83C28518 lwz        r30,-0x7AE8(r2)                PIPE
	002868E8 7C7F1B78 mr         r31,r3
	002868EC 419D0284 bgt        cr7,0x00286B70
	002868F0 817E8360 lwz        r11,-0x7CA0(r30)
	002868F4 78891788 clrlsldi   r9,r4,32,2
	002868F8 7C09582E lwzx       r0,r9,r11                     03 (002868F4) REG LSU
	002868FC 7C0007B4 extsw      r0,r0                         02 (002868F8) REG
	00286900 7C005A14 add        r0,r0,r11                     01 (002868FC) REG
	00286904 7C0903A6 mtspr      ctr,r0                        02 (00286900) REG
	00286908 4E800420 bctr                                     08

I'm just wanting to lock stamina to constant max, which in my case is 88.

Also, would you have a copy of the CodeWizard version 1.2.6? I compiled mine from Github but it would've been easier if there was a place that was already compiled

Reply
Cain532
Posts: 1280
(@cain532)
Noble Member
Joined: 10 years ago

Hello, really great tutorial!
I don't know PPC myself but I was learning how to use Netcheat and finding pointers till I found out most of these pointers are always dynamic.

Games I'm focusing on are Demon's Souls and Dark Souls 1. Can easily grab stamina or HP but it's a shame since I'd like for these things to stick, when I die or warp. Using both BLUS versions if anyone is interested in maybe helping me out, and hopefully show me where I'd need to go.

Anyways, I've gotten the dynamic pointer (in this case 326DACD4) for stamina in DeS and in Debugger.
Can't post links it seems, oh well.

00286858 F9210090 std        r9,0x90(r1)
	0028685C C9810090 lfd        f12,0x90(r1)                  50 (00286858) PIPE LHS[01]
	00286860 2F8BFFCE cmpwi      cr7,r11,-0x32
	00286864 FD80669C fcfid      f12,f12
	00286868 9161007C stw        r11,0x7C(r1)
	0028686C FC006018 frsp       f0,f12                        08 (00286864) REG PIPE
	00286870 EDAD0028 fsubs      f13,f13,f0                    09 (0028686C) REG
	00286874 D1BF0134 stfs       f13,0x134(r31)                10 (00286870) REG
	00286878 419C0020 blt        cr7,0x00286898
	0028687C 393D03D8 addi       r9,r29,0x3D8
	00286880 792A0020 clrldi     r10,r9,32                     01 (0028687C) REG
	00286884 800A0000 lwz        r0,0x0(r10)                   04 (00286880) REG LSU
	00286888 7F805800 cmpw       cr7,r0,r11                    01 (00286884) REG
	0028688C 419C000C blt        cr7,0x00286898                01 (00286888) REG
	00286890 3921007C addi       r9,r1,0x7C
	00286894 792A0020 clrldi     r10,r9,32                     01 (00286890) REG PIPE
	00286898 800A0000 lwz        r0,0x0(r10)                   03 (00286894) REG LSU
	0028689C 811F0020 lwz        r8,0x20(r31)                   PIPE
	002868A0 901F03D4 stw        r0,0x3D4(r31)
	002868A4 4BFFF89C b          0x00286140                    08
	002868A8 811F0020 lwz        r8,0x20(r31)
	002868AC 4BFFFABC b          0x00286368                    08
	002868B0 38000000 li         r0,0x0
	002868B4 901F02F4 stw        r0,0x2F4(r31)                 03 (002868B0) REG PIPE LSU
	002868B8 4BFFFE8C b          0x00286744                    08
	002868BC C1BF02F0 lfs        f13,0x2F0(r31)                 PIPE
	002868C0 4BFFFA58 b          0x00286318                    08
	002868C4 60000000 nop                                       PIPE
	002868C8 2B840078 cmplwi     cr7,r4,0x78
	002868CC 7C0802A6 mfspr      r0,lr                         02
	002868D0 F821FF51 stdu       r1,-0xB0(r1)
	002868D4 FBC100A0 std        r30,0xA0(r1)                  03 (002868D0) REG PIPE LSU
	002868D8 FBE100A8 std        r31,0xA8(r1)
	002868DC FBA10098 std        r29,0x98(r1)                   PIPE
	002868E0 F80100C0 std        r0,0xC0(r1)
	002868E4 83C28518 lwz        r30,-0x7AE8(r2)                PIPE
	002868E8 7C7F1B78 mr         r31,r3
	002868EC 419D0284 bgt        cr7,0x00286B70
	002868F0 817E8360 lwz        r11,-0x7CA0(r30)
	002868F4 78891788 clrlsldi   r9,r4,32,2
	002868F8 7C09582E lwzx       r0,r9,r11                     03 (002868F4) REG LSU
	002868FC 7C0007B4 extsw      r0,r0                         02 (002868F8) REG
	00286900 7C005A14 add        r0,r0,r11                     01 (002868FC) REG
	00286904 7C0903A6 mtspr      ctr,r0                        02 (00286900) REG
	00286908 4E800420 bctr                                     08

I'm just wanting to lock stamina to constant max, which in my case is 88.

Also, would you have a copy of the CodeWizard version 1.2.6? I compiled mine from Github but it would've been easier if there was a place that was already compiled

Awesome work buddy 🙂 so can you tell me exactly which of these addresses it's stopping on when it breaks? It'd be defined with a small yellow arrow in ProDG when the breakpoint hits.

Reply
Page 27 / 34