• Hey everyone happy Christmas Eve we're aware of what's happened with the source code so to keep this simple absolutely don't post it on the site or use it to make mods with (it's not particularly preferable toward this end anyway) and tread lightly in general until we see how this settles, thanks to all and have a great holiday season -DT

Quick Modding/Hacking Answers Thread

Nov 7, 2015 at 4:32 PM
Veteran Member
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Sep 21, 2014
Location:
Posts: 341
Age: 23
Pronouns: he/him
I made a map with presses in it. When I enter the map, all of the presses fall at once without me going under them.
How can I fix this?
 
Nov 7, 2015 at 5:06 PM
Its dark in here
"Deaths: 4000"
Join Date: Nov 21, 2013
Location: farther
Posts: 922
Age: 28
Pronouns: he/him
I made a map with presses in it. When I enter the map, all of the presses fall at once without me going under them.
How can I fix this?
did you make sure to check to see that they have the normal flags they should have?
 
Nov 7, 2015 at 5:58 PM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Apr 29, 2015
Location:
Posts: 104
Age: 22
Pronouns: he/him
object 246 is what you're looking for
 
Nov 11, 2015 at 3:26 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Apr 29, 2015
Location:
Posts: 104
Age: 22
Pronouns: he/him
i can't figure out what the dog barking SFX's ID is. help?
 
Nov 11, 2015 at 7:32 AM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pronouns: he/him
from sfxlist.txt
105 - Puppy Bark
 
Nov 13, 2015 at 3:18 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Sep 4, 2014
Location: South Korea
Posts: 44
Pronouns: he/him
I do try making code but how add curly shot at up and down

Code:
offset NPC350

#define


shootvar             = [EBP-84]
localvar2            = [EBP-88]
localvar3            = [EBP-8C]
npc.groundtimer      = [ecx+18]
npc.groundvel        = [ecx+1C]

L_framerect_distance = 0
U_framerect_distance = 0

sprite_left         = 20
sprite_right        = 20
sprite_up        = 10
sprite_down        = 10

time_between_shots   = 30
jump_vel             = 800
jump_gravity         = 50
jump_distance        = 200
max_fall_speed       = 500
bullet_speed         = 300

walk_speed           = 500
dbl_walk_speed       = A00
walk_timer           = 100
#enddefine

push ebp                          ;This starts the code
mov ebp, esp 
sub esp, 70

mov dword [EBP-70],0     
mov dword [EBP-7C],0     
mov dword [EBP-78],0     
mov dword [EBP-74],0     

mov dword [EBP-70],0     
mov dword [EBP-6C],0     
mov dword [EBP-68],0     
mov dword [EBP-64],0     

mov dword [EBP-60],0     
mov dword [EBP-5C],0     
mov dword [EBP-58],0     
mov dword [EBP-54],0     

mov dword [EBP-50],0    
mov dword [EBP-4C],0     
mov dword [EBP-48],0     
mov dword [EBP-44],0     

mov dword [EBP-40],0     
mov dword [EBP-3C],0     
mov dword [EBP-38],0     
mov dword [EBP-34],0     

mov dword [EBP-30],0     
mov dword [EBP-2C],0     
mov dword [EBP-28],0     
mov dword [EBP-24],0     

mov dword [EBP-20],0     
mov dword [EBP-1C],0     
mov dword [EBP-18],0     
mov dword [EBP-14],0     

mov dword [EBP-10],0    
mov dword [EBP-C],0     
mov dword [EBP-8],0     
mov dword [EBP-4],0     

mov eax, npc.scriptstate
jmp [eax*4+:StateTable]

:stateldle

add npc.Y, 5FF
mov npc.framenum, 0
cmp npc.directive, 1
je :render
mov npc.directive, 1
add npc.X -1000
jmp :StateFight

:StateFight
add npc.Y 5FF     ;gravity
push 5FF          ;check to jump
push 0
call Random
add esp, 8
setpointer               
cmp eax, 20
je :StateFightJump


push 0
push 2
call random
add esp, 8
setpointer
cmp eax 1
;jl :StateFightShoot
je :StateFightWalk
;jg :StateFightRun

;----------------------------------------

:StateFightJump                   ;jumping vels here and scriptstate to fight air.
mov npc.moveY -jump_vel
mov npc.scriptstate, 9
mov eax, PlayerXpos               ;check direction to jump
cmp npc.x, eax
jl :player_is_left_jump
mov npc.direction, 0
mov npc.moveX -jump_distance
jmp :dir_jump_check_end
:player_is_left_jump
mov npc.direction, 2
mov npc.moveX jump_distance
:dir_jump_check_end
jmp :add_vels


;----------------------------------------

;moveX is never altered here in the chunk of code below, except when you hit a wall.
;moveX is handled in the jump prep (above)

:StateFightAir
mov npc.scriptstate, 9
mov edx, npc.collision       ;see if we are still in the air
and edx, 8
jne :hit_floor
mov edx, npc.collision       ;did we hit a wall?
and edx, 1
jne :hit_wall_air
mov edx, npc.collision       ;did we hit a wall?
and edx, 4
jne :hit_wall_air          
jmp :in_air_fight

:hit_wall_air
mov npc.moveX, 0
jmp :end_fight_air

:in_air_fight

:down_check_end
mov eax, PlayerXpos
cmp npc.x, eax
jl :player_is_left
mov npc.direction, 0
jmp :dir_air_end
:player_is_left
mov npc.direction, 2
:dir_air_end         
mov eax, npc.direction
mov shootvar, eax
inc npc.directive
cmp npc.directive, time_between_shots
jl :end_fight_air
mov npc.directive, 0
mov eax npc.direction
mov shootvar, eax
jmp :create_bullet


:end_fight_air
add npc.moveY jump_gravity
cmp npc.moveY, max_fall_speed
jl :fall_speed_ok
mov npc.moveY, max_fall_speed
:fall_speed_ok
mov eax, npc.moveY
add npc.Y, eax
mov eax, npc.moveX
add npc.X, eax
jmp :render


:hit_floor                ;reset everything and set scriptstate to state fight
xor eax, eax
mov npc.directive, eax
mov npc.framenum, 1
mov npc.moveY, eax
mov npc.moveX, eax
mov npc.scriptstate, 3
jmp :render

;----------------------------------------

:StateFightShoot

;----------------------------------------

:StateFightWalk 
inc npc.frametimer
cmp npc.frametimer, walk_timer
jl :Walk_end

mov npc.frametimer,1
cmp npc.framenum,2
je :1_to_0
jg :2_to_0

cmp npc.scriptstate, 5
je :0_to_1
jne :0_t0_2

:1_to_0
mov npc.framenum, 1
mov npc.scripttimer,3
jmp :Walk_end

:2_to_0
mov npc.framenum, 1
mov npc.scripttimer,2
jmp :Walk_end

:0_to_1
mov npc.framenum, 2
jmp :Walk_end

:0_t0_2
mov npc.framenum, 3
jmp :Walk_end

:Walk_end
mov edx, npc.collision  ;check collision stuff
and edx, 1
jne :hit_wall_walk_L
mov edx, npc.collision
and edx, 4
jne :hit_wall_walk_R
jmp :end_hit_wall_walk

:hit_wall_walk_R
mov npc.direction, 0
mov npc.moveX, 0
jmp :end_hit_wall_walk

:hit_wall_walk_L
mov npc.direction, 2
mov npc.moveX, 0

:end_hit_wall_walk
add npc.X walk_speed
cmp npc.direction, 2
je :add_vels
add npc.X -dbl_walk_speed
jmp :add_vels

;----------------------------------------

:StateFightRun ;???
jmp :render

;----------------------------------------

:create_bullet
push 0
push 0
mov eax, shootvar   ;direction shot
push eax

;-------
cmp eax, 0
je :left_fire
cmp eax, 1
je :up_fire
cmp eax, 2
je :right_fire
cmp eax, 3
je :down_fire

:left_fire
add eax, -bullet_speed
jmp :end_L_R
:up_fire
add edx, -bullet_speed
jmp :end_L_R
:right_fire
add eax, bullet_speed
jmp :end_L_R
:down_fire
add edx, bullet_speed
:end_L_R


;-------
push edx           ;Y vel
push eax           ;X vel
mov eax, npc.Y
mov edx, npc.X
push eax
push edx
push 7B            ;bullet
call 46efd0
add esp,20

cmp npc.scriptstate, 8
je :end_fight_air
jmp :render

;----------------------------------------

:StateDie
mov npc.framenum, 1
inc npc.objecttimer
cmp npc.objecttimer, 40
jne :exp_done

mov eax, npc.X
mov edx, npc.Y
push 1
push edx
push eax
call 0040EA70                 
add esp,0C
push 1
push 2C
call playsound
add esp, 8
setpointer
:exp_done
jmp :add_vels

;----------------------------------------

:add_vels
mov eax, npc.moveX
mov edx, npc.moveY
add npc.X eax
add npc.Y edx

:render
xor eax, eax                             
mov eax,npc.framenum                 
imul al, al, sprite_left
mov npc.DisplayL,eax                   
add eax, sprite_right                        
mov npc.displayR,eax  
mov eax, U_framerect_distance     
cmp npc.direction, 2                    
jne :render_left
add eax sprite_up
:render_left
mov npc.displayU,eax                  
add eax,sprite_down                         
mov npc.displayD,eax  

:end_of_code
mov esp, ebp
pop ebp
retn

:StateTable

print :StateIdle         ;<ANP0000
print :StateFight         ;<ANP0001
print :StateShoot         ;<ANP0002

use core by Curly +
 
Nov 15, 2015 at 4:41 AM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
I took a gander and it's fully able to shoot up and down, but it never actually runs a check to see if you're above/below it.

aha, right here:
Code:
:down_check_end
mov eax, PlayerXpos
cmp npc.x, eax
jl :player_is_left
mov npc.direction, 0
jmp :dir_air_end
:player_is_left
mov npc.direction, 2
:dir_air_end
mov eax, npc.direction
mov shootvar, eax

shootvar dictates the direction the shots are fired.
Just build a check to see if quote is so close and so high above the NPC and make shootvar 1 in that case.
Easy

(Good thing I think ahead in ever piece of code I write incase I want to go back and expand upon it)

E: also because you removed the fake death sequence, you're need to adjust some of the npc.scriptstate variables or else the game will crash...
E2: You'll have to also change around the render system/sprites to make it look up when you want it to...
 
Last edited:
Nov 18, 2015 at 5:28 PM
Junior Member
"Fresh from the Bakery"
Join Date: May 24, 2014
Location: Saint-Petersburg
Posts: 12
Pronouns: he/him
Uhm. Hi there. Can someone help me? How to increase shooting speed for first level Machine Gun? I know how to work with assembly, but i don't know adress for first level Machine Gun...
 
Nov 24, 2015 at 4:28 PM
Junior Member
"Fresh from the Bakery"
Join Date: Apr 14, 2015
Location: Inside my labtops hard drive!
Posts: 13
Pronouns: he/him
Hello. I need some help replacing the icon of Cave Story's .EXE file.
I keep trying with Resource Hacker, but to no avail. Could someone explain to me how I should do it?
 
Nov 24, 2015 at 4:36 PM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
So you've edited the icon files and saved it using resource hacker? That should do the trick. I've noticed that sometimes when I try and change an executable's icon it doesn't update properly, it just shows the original instead (I use WIndows 7, and it's also happened with Vista). I believe in that situation it's just on your side. I think you can confirm if the icon did change properly if you copy-paste the executable to a different location and see if the icon changed.
 
Nov 24, 2015 at 4:59 PM
Junior Member
"Fresh from the Bakery"
Join Date: Apr 14, 2015
Location: Inside my labtops hard drive!
Posts: 13
Pronouns: he/him
I keep trying, I even rebooted my system to see if it worked, but of course it didn't. Do you know a way around this? I tried what you suggested, but that didn't work either. Dang. Also, I'm using Windows 8.
 
Nov 24, 2015 at 5:28 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
Same problem with me, only solution I've found is to change the folder's name.
 
Nov 24, 2015 at 5:30 PM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
diph.php

I believe these are the resources you want to edit in order to change the icon of the executable. I just want to confirm that this is what you're editing, because that's all you need to do to change the icon, as far as I know.
 
Nov 24, 2015 at 5:32 PM
Deliverer of Sweets
Bobomb says: "I need a hug!"
Join Date: Jul 20, 2015
Location: Under sea level or something
Posts: 805
Age: 26
Pronouns: 菓子
How did you change the Icon? Did you just replace it or did you add a new icon?
If you replaced it, it might be a good idea to just wait it out for a while.
 
Nov 24, 2015 at 10:09 PM
Junior Member
"Fresh from the Bakery"
Join Date: Apr 14, 2015
Location: Inside my labtops hard drive!
Posts: 13
Pronouns: he/him
Ughh... This is difficult. The Icon Group folder only contains the icons themselves, not two folders in which contain their respective icon. I'm very confused. :confused:
 
Nov 25, 2015 at 6:27 AM
Deliverer of Sweets
Bobomb says: "I need a hug!"
Join Date: Jul 20, 2015
Location: Under sea level or something
Posts: 805
Age: 26
Pronouns: 菓子
How do I stop the Hermit Gunsmith from snoring?(AKA how to remove the Z's above him)
 
Back
Top