Mar 2, 2014 at 5:31 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
ok, So i'm attempting to apply the WAV org hack and i'm experiencing some issues.



first of all I make a copy of my exe and place it in the folder of the hacking stuff.

orgwavhack1_zpsac0b593c.png


then I make the changes to the instruments that I please.

after that I atttempt to assemble the thing through the run me bat, but when I look in the "read me first"

it says this...

orgwavhack2_zps6925cae5.png



It says to apply the assembly binaries, but they weren't in the folder to begin with so I can't do it?
 
Mar 2, 2014 at 5:46 PM
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
have you tried looking in the hexdata folder
 
Mar 3, 2014 at 8:50 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
Noxid said:
have you tried looking in the hexdata folder
Yes, you apply those before you use the run me?


Now it's giving me these errors in the log file

[02 Mar 2014, 09:52:59]

[FileNames]
Exe=.\Doukutsu.exe
SaveAs=.\Doukutsu_Final.exe
Log=.\Log.txt

[Commands]
Error: ".\Doukutsu.exe" does not exist


And I'm extra sure that it's named doukustu.exe and not doukustu.exe.exe


E: WOW, I'm a wonderful speller.

-=-=-=-=-=-=-=-=-=-


How does the games graphic loading cycle work?

Where do I start to learn reverse engineering?
 
Mar 4, 2014 at 11:42 PM
Junior Member
"Fresh from the Bakery"
Join Date: Mar 4, 2014
Location: Gloucestershire, United Kingdom
Posts: 19
Age: 25
Yo, I'm having this problem with Booster's Lab:

diph.php


Every entity from #30 onwards shows up as "unnamed". As you can probably tell, this gives me a pretty limited selection.

What's the deal? I can't tell why this is happening.
 
Mar 4, 2014 at 11:44 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
NoNameForEvil said:
Yo, I'm having this problem with Booster's Lab:

diph.php


Every entity from #30 onwards shows up as "unnamed". As you can probably tell, this gives me a pretty limited selection.

What's the deal? I can't tell why this is happening.
It seems that your entityinfo.txt is corrupt.

Try re-downloading the program.
 
Mar 5, 2014 at 7:46 PM
Junior Member
"Fresh from the Bakery"
Join Date: Mar 4, 2014
Location: Gloucestershire, United Kingdom
Posts: 19
Age: 25
Bombchu Link said:
It seems that your entityinfo.txt is corrupt.

Try re-downloading the program.
Awright, that did the trick. Thanks a bundle, guy!

New question; is it possible to give the Polar Star the Machine Gun's ammo system? As in, regenerating instead of infinite?
 
Mar 5, 2014 at 8:38 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
Awright, that did the trick. Thanks a bundle, guy!



New question; is it possible to give the Polar Star the Machine Gun's ammo system? As in, regenerating instead of infinite?


If you mean limited ammo, then you can through TSC



<AM+0000:0000





But if you want it to regenerate, then No, it isn't possible without Assembly.



-=-=-==-=-=-=-=-=-=-=-=-=-=-







Now, I've got the WAV ORG hack up and running and it works until I attempt to throw in my custom WAV sounds.



The WAV I'm attempting to import is 108kb, it's signed 16-bit PCM and replaces the CAT drum.



Everytime the WAV is suppose to play, it just plays the wrong drum sound, or nothing at all, but when I open it with ResHacker, it plays just fine.



If it helps, I also have the <IMG and a custom title screen hack applied.
 
Mar 5, 2014 at 9:50 PM
Junior Member
"Fresh from the Bakery"
Join Date: Mar 4, 2014
Location: Gloucestershire, United Kingdom
Posts: 19
Age: 25
If you mean limited ammo, then you can through TSC



<AM+0000:0000





But if you want it to regenerate, then No, it isn't possible without Assembly.


I'm fine with doing ASM stuff, but I don't know where to start.
 
Mar 5, 2014 at 9:55 PM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2314
Age: 27
NoNameForEvil said:
I'm fine with doing that Assembly stuff, but I don't know where to start.
Start here. If that turns out to be too complicated for you, then you may need to see more of this before you're ready to tackle ASM.
 
Mar 7, 2014 at 3:02 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
Foe some reason my assembler is acting up on me...


noworkingassembler_zpsf1b45b7b.png


This happens when I try to run the game.
 
Mar 7, 2014 at 11:56 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
Goerge Bobicles said:
did you check task manager to see if the assembler is still running?

Of course it's still running.

It runs until I close the window. :critter:

(and is says that it properly assembled as well)


it refuses to work whatever doukutsu I assemble to and I even re-downloaded the program and it still won't work.

(I think it might be related to an idle disk)
 
Mar 9, 2014 at 5:55 AM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
E: figured it out, ti was a typo in the offset.


-=-=-==-=-=-=-=-=-

I'm just gonna post this here and see if I can figure it out.

#define
min_dive_speed_X = 100
min_dive_speed_Y = 500
max_dive_speed_X = 300
max_dive_speed_Y = 600
#enddefine



:Statefly
push 1
push 0
call RANDOM
add esp, 8
setpointer

cmp eax, 1
je :StatePreDive_R

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

:StatePreDive_L
mov npc.direction, 0
push -max_dive_speed_X
push -min_dive_speed_X
call random
add esp, 8
setpointer
mov npc.moveX, eax
jmp :end_pre_dives


:StatePreDive_R
mov npc.direction, 2
push max_dive_speed_X
push min_dive_speed_X
call random
add esp, 8
setpointer
mov npc.moveX, eax


:end_pre_dives
push max_dive_speed_Y
push min_dive_speed_Y
call random
add esp, 8
setpointer
mov npc.moveY, eax

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

mov npc.scriptstate, 8
jmp :render

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

:StateDive
mov npc.framenum, 3
cmp npc.direction, 2
jmp :dive_right

;dive left
add npc.moveX, 15
cmp npc.moveX, -min_dive_speed_X
jl :dive_X_L_ok
mov npc.moveX, -min_dive_speed_X
jmp :dive_X_L_ok

:dive_right
add npc.moveX, -15
cmp npc.moveX, min_dive_speed_X
jg :dive_X_R_ok
mov npc.moveX, min_dive_speed_X
:dive_X_R_ok
:dive_X_L_ok


add npc.moveY, -15
cmp npc.moveY, min_dive_speed_Y
jl :dive_Y_ok
mov npc.moveY, min_dive_speed_Y
:dive_Y_ok


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

mov edx, npc.collision
and edx, 2
jne :hit_cealing_dive

;mov edx, npc.collision
;and edx, 4
;jne :hit_right_wall_dive

;mov edx, npc.collision
;and edx, 1
;jne :hit_left_wall_dive


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


:hit_cealing_dive
mov npc.scriptstate,5
jmp :render

:hit_right_wall_dive
mov npc.direction, 0
jmp :add_vels

:hit_left_wall_dive
mov npc.direction, 2
jmp :add_vels

my NPC won't dive to the left.
 
Mar 9, 2014 at 5:59 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
You need to swap your min and max for the left dive, since a bigger number is less than a smaller number if both numbers are negative (ex. 500 > 100, but -500 < -100 )
 
Mar 9, 2014 at 7:01 PM
Junior Member
"Fresh from the Bakery"
Join Date: Jan 19, 2014
Location:
Posts: 16
alternatively keep the arguments positive and neg eax afterwards. think that's probably more efficient.
 
Mar 11, 2014 at 11:49 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
is there an easier way to do this?

cmp byte KeyHeld, 1
je :move_left
cmp byte KeyHeld, 5
je :move_left
cmp byte KeyHeld, 9
je :move_left
cmp byte KeyHeld, D
je :move_left
cmp byte KeyHeld, 11
je :move_left
cmp byte KeyHeld, 15
je :move_left
cmp byte KeyHeld, 19
je :move_left
cmp byte KeyHeld, 1D
je :move_left
cmp byte KeyHeld, 21
je :move_left
cmp byte KeyHeld, 25
je :move_left
cmp byte KeyHeld, 29
je :move_left
cmp byte KeyHeld, 2D
je :move_left
cmp byte KeyHeld, 41
je :move_left
cmp byte KeyHeld, 45
je :move_left
cmp byte KeyHeld, 49
je :move_left
cmp byte KeyHeld, 4D
je :move_left
cmp byte KeyHeld, 81
je :move_left
cmp byte KeyHeld, 85
je :move_left
cmp byte KeyHeld, 89
je :move_left
cmp byte KeyHeld, 8D
je :move_left

And for reference.

Code:
;    0x000001 Left Arrow
;    0x000002 Right Arrow
;    0x000004 Up Arrow
;    0x000008 Down Arrow
;    0x000010 Show Mini-Map
;    0x000020 Shoot
;    0x000040 Jump
;    0x000080 Next Weapon
;    0x000100 Previous Weapon
;    0x000200 Shift
;    0x000400 F1
;    0x000800 F2
;    0x001000 Status/Menu Screen
;    0x008000 Escape
;    0x010000 "," Comma
;    0x020000 "." Period
;    0x040000 "?" Question Mark
;    0x080000 "L" The Letter L
;    0x100000 "=" Equal
 
Mar 12, 2014 at 12:07 AM
Giving it my all and shooting for the moon.
Modding Community Discord Admin
"What're YOU lookin' at?"
Join Date: Apr 23, 2013
Location: In a cave above the surface.
Posts: 1069
Age: 26
Bombchu Link said:
cmp byte KeyHeld, 1
je :move_left
cmp byte KeyHeld, 5
je :move_left
cmp byte KeyHeld, 9
je :move_left
cmp byte KeyHeld, D
je :move_left
cmp byte KeyHeld, 11
je :move_left
cmp byte KeyHeld, 15
je :move_left
cmp byte KeyHeld, 19
je :move_left
cmp byte KeyHeld, 1D
je :move_left
cmp byte KeyHeld, 21
je :move_left
cmp byte KeyHeld, 25
je :move_left
cmp byte KeyHeld, 29
je :move_left
cmp byte KeyHeld, 2D
je :move_left
cmp byte KeyHeld, 41
je :move_left
cmp byte KeyHeld, 45
je :move_left
cmp byte KeyHeld, 49
je :move_left
cmp byte KeyHeld, 4D
je :move_left
cmp byte KeyHeld, 81
je :move_left
cmp byte KeyHeld, 85
je :move_left
cmp byte KeyHeld, 89
je :move_left
cmp byte KeyHeld, 8D
je :move_left
This isn't my department of expertise, but, can't you simply check if the first bit is active, instead of going up to the byte level?
 
Mar 12, 2014 at 12:47 AM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26
EnlightenedOne said:
This isn't my department of expertise, but, can't you simply check if the first bit is active, instead of going up to the byte level?
No, the least you can cmp is a byte.
 
Mar 12, 2014 at 4:20 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Ok this is simple binary logic and you really should know this but the equivalent of that big cmp group would be:

Code:
mov ecx, keyHeld
and ecx, 1
jnz :move_left
The jnz will jump if the result of the last binary logic or arithmetic operation resulted in something other than 0 (jump if not zero).
 
Mar 12, 2014 at 11:03 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 26

Of the things I can do with ASM, logic instructions I can't.



I totally forgot they exist.





That's now next on my list.



*mumbles pulling out study book*

Now, I've got the WAV ORG hack up and running and it works until I attempt to throw in my custom WAV sounds.



The WAV I'm attempting to import is 108kb, it's signed 16-bit PCM and replaces the CAT drum.



Everytime the WAV is suppose to play, it just plays the wrong drum sound, or nothing at all, but when I open it with ResHacker, it plays just fine.



If it helps, I also have the <IMG and a custom title screen hack applied.




Guys, I'm still having issues with the WAV playing in my custom orgs.



As before, when I open it with ResHacker, it plays just fine.



I've tired playing the drum on track 1, 7, and 8 but it keeps playing the first drum.



And I've tried replacing the CAT drum as well as TOM4.
 
Top