Dec 21, 2012 at 9:22 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Feb 2, 2012
Location: Grassland
Posts: 123
Age: 28
Oh, okay. Thank you.
I'll do that in the morning because it's 1 am (at least where I live) and I need to get to bed.

Oh and *ollieDbg

Night
 
Dec 21, 2012 at 10:38 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 31
The secret to editings .pbm's :

-change extension to "bmp" (ex. "mychar.pbm -> mychar.bmp")
-Edit new file
-change extension back to "pbm" (ex. "mychar.bmp -> mychar.pbm")
 
Dec 21, 2012 at 5:35 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Eh, I actually mean a hex editor or disassembler for Mac. I don't think OllyDbg will suffice because it only works on Windows.
 
Dec 21, 2012 at 6:37 PM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Feb 2, 2012
Location: Grassland
Posts: 123
Age: 28
GIRakaCHEEZER I must say your suggestions are so original, no I have never heard that before!
...All sarcasm aside, yes I know your supposed to do that.
 
Dec 25, 2012 at 12:33 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
Randolf said:
How many skipflags can be used in a mod?

How many ticks in code is one second?
64, although you can "un-set" them once they aren't relevant anymore if you are really pushing the limit.

50 ticks/s in vanilla, approximately. Assuming everything is running at maximum speed, at least..
60 in CS+
 
Dec 28, 2012 at 9:36 PM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2314
Age: 27
If an address has an NOP, then can it be immediately be used as a memory location? Or do I have to do some thing to make that address not even show up in Ollydbg, and it will only then be usable to store a number?
 
Dec 28, 2012 at 9:58 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 31
If an address has an NOP, then can it be immediately be used as a memory location? Or do I have to do some thing to make that address not even show up in Ollydbg, and it will only then be usable to store a number?
You'd have to make it so that the address is never reached in code. What you'd want to do is make it so the code jumped over the address you wanted to use for memory. I'd initialize to 00000000, instead of nops (90909090) to mark it or whatever.

If you try to use NOPs as memory, and then the code hits that address and tries to execute it, baaaad things will happen.
 
Dec 28, 2012 at 10:31 PM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2314
Age: 27
GIRakaCHEEZER said:
You'd have to make it so that the address is never reached in code. What you'd want to do is make it so the code jumped over the address you wanted to use for memory.
The NOPs I'm currently working with are already inaccessible to the rest of the istructions.
GIRakaCHEEZER said:
I'd initialize to 00000000, instead of nops (90909090) to mark it or whatever.
Sorry, I'm still a n00b at assembly hacking, so I probably did something horribly wrong. When I went to the hex dump and changed two of the "90"s to "00"s, the instructions for that changed address became: "ADD BYTE PTR DS:[EAX],AL". Not sure what's going on.

GIRakaCHEEZER said:
If you try to use NOPs as memory, and then the code hits that address and tries to execute it, baaaad things will happen.
But if I'm not in danger of that happening, then would it still be practical to use the addresses these NOPs as memory locations?
 
Dec 28, 2012 at 11:24 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 31
"The NOPs I'm currently working with are already inaccessible to the rest of the istructions.
Sorry, I'm still a n00b at assembly hacking, so I probably did something horribly wrong. When I went to the hex dump and changed two of the "90"s to "00"s, the instructions for that changed address became: "ADD BYTE PTR DS:[EAX],AL". Not sure what's going on.

But if I'm not in danger of that happening, then would it still be practical to use the addresses these NOPs as memory locations?"


That "ADD BYTE PTR...." is the instruction that corresponds to "00 00" so just ignore it.

And it should be practical to use those addresses as memory locations, but a bit unorthodox.
 
Dec 31, 2012 at 1:45 AM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Can someone tell me the rom offset that contains the number of the intro map?
I've seen those options in Cave Editor but it seems noone shared that offset and the link to the sourcecode is down. >_>
 
Dec 31, 2012 at 2:22 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
Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
0041D58F  |.  6A 08         push 8                                   ; /Arg4 = 8
0041D591  |.  6A 0A         push 0A                                  ; |Arg3 = 0A
0041D593  |.  68 C8000000   push 0C8                                 ; |Arg2 = 0C8
0041D598  |.  6A 0D         push 0D                                  ; |Arg1 = 0D
0041D59A  |.  E8 41360000   call 00420BE0                            ; \Doukutsu_-_Copy.00420BE0
in case you can't tell, the "PUSH 0D" is the one you want. I think. didn't test it, just looked at the asm.
 
Dec 31, 2012 at 2:28 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
I thought the Intro Map meant (u) Kings, not the Start Cave.

Or is that what he really meant? Just the Start Cave?
 
Dec 31, 2012 at 2:39 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
well if that's the case then just look for PUSH 48 CALL 420BE0
 
Dec 31, 2012 at 3:17 AM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Yeah, the intro map and not the starting map.
Thank you.

0040F75E 6A 03 push 03
0040F760 6A 03 push 03
0040F762 6A 64 push 64
0040F764 6A 48 push 48
0040F766 E8 75 14 01 00 call 00420BE0

$F75F and $F761 are the coordinates, $F763 is the event and $F765 is the map. All are single bytes.
Just in case someelse needs this too.

How did you know that it needs to call $00420BE0 afterwards though?
 
Dec 31, 2012 at 3:35 AM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32

Wtf, what a quite clever idea to search for this exact function.

However this function is called exactly 4 times in the entire code, one is the starting map, one is the intro, one should be the credits and what is the fourth for?



Edit: One is called when loading the game, so that's for the fourth. The other one is "0041D550 - Pushes reserved space into RAM [<INI]".
 
Top