• Please stop embedding files/images from Discord. Discord has anti-hotlinking logic in place that breaks links to Discord hosted files and images when linked to from anywhere outside of Discord. There are a multitude of file/image hosting sites you can use instead.

    (more info here)

Noobish question

Jan 30, 2009 at 1:55 AM
Neophyte Member
"Fresh from the Bakery"
Join Date: Jan 29, 2009
Location: Texas
Posts: 4
Well, I'm new to modding, so I'm gonna sound really noobish.

First question: How do I make Booster 2.0 unlimited juice?

Second question: How do I make the weapon ranges longer and shorter?
 
Jan 30, 2009 at 3:03 AM
Neophyte Member
"Fresh from the Bakery"
Join Date: Jan 29, 2009
Location: Texas
Posts: 4
Ah, saw how to change weapon ranges... Seems easier than I thought it would be...

I'll go look around for how to put no limit to Booster juice...
 
Jan 30, 2009 at 4:51 AM
Administrator
Forum Administrator
"Life begins and ends with Nu."
Join Date: Jul 15, 2007
Location: Australia
Posts: 6247
Age: 39
Pronouns: he/him
Hint: Look for a thread by Runelancer.
 
Jan 30, 2009 at 12:20 PM
graters gonna grate
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jul 2, 2008
Location: &
Posts: 1886
Age: 32
Pronouns: he/him
Feb 1, 2009 at 1:03 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Jan 3, 2009
Location:
Posts: 36
My notes say it's an unsigned char at 49e6e8.

They also say that normally it's reset when (49e650 & 1) != 0 and (49e63c & 8) != 0.

49e650 is a "player equipped" byte, so I assume bit 0 is the bit for the Booster.

49e63c is the player block state mask. Doukutsu uses a LEFT, RIGHT, UP, DOWN system, so we go 1, 2, 4, and 8 is DOWN-- (49e63c & 8) means it's set when you're on the ground.

I would try setting a memory breakpoint on 49e6e8, find the place I'm talking about above (sorry I don't have the offset), and nop something out so that (49e63c & 8) always evaluates to true.
 
Feb 1, 2009 at 1:22 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Jan 3, 2009
Location:
Posts: 36
Ok, that stuff was actually for the Booster v0.8. But 2.0 is simple enough:

The booster fuel is stored in 49e6e8 same as v0.8. The first thing I tried was to just NOP over the SUB instruction at 415c62 which decrements your fuel while you're in the air.

The problem with that though is that the smoke and sound effects depend on the timer to be decrementing in order to function (they execute every time ((booster_fuel % 3)==0), so you have thrust but it looks very odd because you're just flying through the air for no apparent reason.

Probably the easiest way to get "unlimited" fuel and keep everything else working normally is to just increase your fuel reserves to some ungodly high value. The normal fuel quantity is 50 (0x00000032) but you can change it to anything up to 0x7FFFFFFF. I tried putting it to 0xFFFF and it seems "unlimited" enough to me.

Anyway if you want to do that, it is a single MOV instruction you will need to change:

4157a1 - for Booster v0.8.
4157b7 - for Booster v2.0.

I used a debugger but if you'd prefer to use a hex editor, try searching for this string of values:

83E0 20 74 0C C705 E8E64900 32000000 EB 0A

It's the "32000000" you want to change. To something like "FFFF0000".
 
Feb 1, 2009 at 2:29 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
I think what rune did was make it so that the booster fuel stopped decreasing at one, rather than zero, which is far simpler. Useful stuff, though, glad to see somebody adding to the community. :p

Another way to do it, of course would be to make it so that it didn't check for (49e63c & 8) != 0 before refueling, so it would just keep refueling itself, but that might still be buggy, so it could reset when the sound and graphics show.

Oh, heh, for a while, I've been wondering why runes way makes the effects and sounds flip out, but you just answered that for me. since they execute when (booster_fuel % 3)==0 if it stops at one, it is meeting that requirement every step.

Cool!
Afreet
 
Feb 1, 2009 at 7:40 PM
Neophyte Member
"Fresh from the Bakery"
Join Date: Jan 29, 2009
Location: Texas
Posts: 4
Thanks a whole lot guys! :p

I'll get to work now :rolleyes:
 
Feb 1, 2009 at 9:27 PM
Been here way too long...
"..."
Join Date: Jan 21, 2006
Location:
Posts: 369
sshsigi said:
49e63c is the player block state mask. Doukutsu uses a LEFT, RIGHT, UP, DOWN system, so we go 1, 2, 4, and 8 is DOWN-- (49e63c & 8) means it's set when you're on the ground.
Does ammo regeneration like with the machine gun and bubbler work at all like this? I'm specifically wondering if it's possible to have the machine gun only replenish ammo while you are on the ground.
 
Feb 1, 2009 at 9:46 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
No, I don't think so, but you could probably implement it fairly easily.
 
Feb 2, 2009 at 12:13 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
pseudocodezes:
if (49e6e8 & 8) != 0 {
add ammo,01
}

or:

cmp [49e6e8+8],0 ;compares [49e6e8+8] to 0
je A ;if they are equal (not on ground) skip ammo adding
add ammo,1 ;add ammo. This is ungodly fast, so there is probably a unction to do this.
A: ... ;rest of code

Yeh, simple as I can say it. Dunno what the ammo offset is, still looking for it.
=D
 
Feb 2, 2009 at 1:34 AM
Junior Member
"It's dangerous to go alone!"
Join Date: Jan 3, 2009
Location:
Posts: 36
SeriousFace said:
Does ammo regeneration like with the machine gun and bubbler work at all like this? I'm specifically wondering if it's possible to have the machine gun only replenish ammo while you are on the ground.
Well of course it's possible silly! I don't know per se where you should go to do it though. Here's my suggestion: use a cheat-finding program like GameShock to determine the memory address of the remaining ammo. Then set a memory breakpoint on that address. You're going to need extra code space to add the check with the ground, so when you find the place where the increment is done, have it CALL to the start of the string at the beginning of the executable, that says "This program cannot be run in DOS mode." (bear with me). Then go to that string, and write over it with assembly code. Change it to a comparison with the ground, followed by the original incrementation code, followed by a RETN.
 
Feb 2, 2009 at 2:12 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
Smart use of space.
I think it's just ret though.
 
Back
Top