Quick Modding/Hacking Answers Thread

Jan 27, 2011 at 12:32 AM
I don't anymore.
"I'm sorry Mario, but your princess is in another castle."
Join Date: Aug 9, 2010
Location: Greener Pastures
Posts: 1188
Age: 30
WoodenRat said:
Alright assholes, whenever I add <CLR it clears the text normally but when the new text appears it doesn't appear near the top of the text box but in the middle. Any idea how to solve this one so that it would appear near top?

Well asshole, I'm assuming that whenever you use clear you also press enter. The game thinks that the line where the <CLR is is just a blank line. You need to either move the text so it's to the right of <CLR or move <CLR so it's to the left of your text.
 
Jan 27, 2011 at 12:35 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
WoodenRat said:
Alright assholes, whenever I add <CLR it clears the text normally but when the new text appears it doesn't appear near the top of the text box but in the middle. Any idea how to solve this one so that it would appear near top?

luv you too :heartrefill:

Anyway, instead of
Code:
TEXT TEXT TEXT<NOD<CLR
TEXT TEXT WHORES TEXT<NOD<END
you should do
Code:
TEXT TEXT TEXT<NOD
<CLRTEXT TEXT WHORES TEXT<NOD<END
or possibly
Code:
TEXT TEXT TEXT<NOD<CLRTEXT TEXT WHORES TEXT<NOD<END

And that will fix your line problem.
 
Jan 27, 2011 at 8:53 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Oct 30, 2010
Location: New Zealand
Posts: 112
Age: 28
What are the ways to pause the Nikamaru Counter?
 
Jan 27, 2011 at 11:46 AM
Pirate Member
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Dec 26, 2007
Location: Lithuania
Posts: 1946
Thanks mates it works now!
 
Jan 28, 2011 at 8:20 AM
Senior Member
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jan 21, 2011
Location:
Posts: 249
Q: What is the address range limitation for skip flags? From what to what?

Q: Is there any way to redefine the NPC tileset list? Many addresses are either null, unknown or just never used. I would *really* like to be able to utilize some of these addresses for more flexible mob placement!

Q: Why are the spikes in 'Egg Corridor?' a bullet, and not a projectile npc?

TY~ :D
 
Jan 28, 2011 at 8:31 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
1) I believe it is the 128 bits before regular flag data, so let's see, that's 16 bytes, or 0x10, which means it would go from 499D90 to 499DA0

2) I'm not sure what you mean by this. At first I thought by NPC tileset list you meant tile interactions for entities, but the latter part of the question makes that not make so much sense.
EDIT: Oh, I think I see what you mean now. The NPC Tileset value in the NPC.tbl editor? I wouldn't mess with that if I were you; it has an important and (now) well-understood meaning. The graphical memory of the game is split up into a number of different bitmap objects with an array of pointers at a certain spot in the memory. The npc tileset value tells which bitmap object to grab the rect from when rendering the entity. I thought he included this with the updated CE, but here's the complete list:
Code:
Bitmap object slots: * indicates re-loadable slot (maybe)
0 = title image 
1 = "2004.12 Studio Pixel"
2 = current map tileset*
3 = null
4 = null
5 = null
6 = bg fade sheet
7 = null
8 = itemimage.pbm *
9 = Map System something
0A = Screenshot (for Map System, Pause)
0B = arms.pbm*
0C = armsimage.pbm
0D = The text that appears from <MNA
0E = stageimage.pbm
0F = "Loading" image from title screen [behaves oddly]
10 = mychar.pbm*
11 = bullet.pbm*
12 = null
13 = caret.pbm
14 = npcsym.pbm*
15 = Map NPC tileset 1*
16 = Map NPC tileset 2*
17 = npcregu.pbm*
18 = null
19 = null
1A = textbox.pbm
1B = face.pbm
1C = Map BG
1D = something to do with the text for weapon names in menu; changes the gfx depending on last weapon viewed
1E = TextBox Line 1
1F = TextBox Line 2
20 = TextBox Line 3
21 = ????
22 = Null
23 = Credits Text Bitmap?
24 = For Credits
25 = For Credits
26 = Null
27 = Null
It's global, meaning the same list is used for all graphic functions in the entire game.

3) There is no entity-entity collision mechanism whatsoever, so the spike entity generates a short-lived bullet ahead of itself as it falls so that it can deal damage to the dragons or whatever else might happen to be underneath it.
 
Jan 29, 2011 at 2:26 PM
Senior Member
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jan 21, 2011
Location:
Posts: 249
Thanks. So are the null address ranges of the list assigned for in-game memory usage? Or am I misunderstanding that... Would there be any way to consolidate existing mob bitmaps into a set of larger files, and have the npc.tbl reconfigured to read them properly? Or is there some size limit for the bitmaps that would prevent this...
 
Jan 29, 2011 at 4:50 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
Pronouns: he/him
Well, for one, enemy display rect data is hardcoded into the AI, so you'd need to modify every single display rect if you wanted to change the layout of the NPC spritesheets at all, and that would be a pain. Anyway, it's a bad idea to load overly large bitmaps because well, that just uses a ton of memory! Pixel split them up for a reason. Also you'd need to modify some things to load anything over 320x240.

The "Null" values in the list are basically slots in the array that are never used, for some reason or another. Each is four bytes long, and I wouldn't use them for anything other than holding a few additional pointers to bitmaps since that would be possibly confusing to use it as regular ram, and dangerous too I'm sure. The array itself is located at 49D388, so you can fiddle with that if you want to crash your game. Anyway, I'm not sure what you want to use that value for - in npc.tbl it's just a single number (I'm not even sure how big - an int? a byte?) so there's not a whole lot you can really do with it.
 
Jan 29, 2011 at 9:19 PM
I don't anymore.
"I'm sorry Mario, but your princess is in another castle."
Join Date: Aug 9, 2010
Location: Greener Pastures
Posts: 1188
Age: 30
Does anyone know the offset that controls the speed of the level 3 nemesis?
 
Jan 30, 2011 at 8:01 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Oct 30, 2010
Location: New Zealand
Posts: 112
Age: 28
Would there be a guide on the flag details for weapons? I don't understand most of them...
Also, for some reason on my mod, whenever I kill an entity, it doesn't have a death noise. Why is this?
 
Jan 30, 2011 at 11:48 AM
Been here way too long...
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Sep 16, 2009
Location:
Posts: 519
You've probably broken the npc.tbl due to using cave editor. There is some guide on the forums about this.
 
Jan 30, 2011 at 3:30 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
Pronouns: he/him
HyMyNameIsMatt said:
Does anyone know the offset that controls the speed of the level 3 nemesis?

Code:
004082C3  |> \8B55 08       MOV EDX,[EBP+8]
004082C6  |.  C742 18 00F0F>MOV DWORD PTR [EDX+18],-1000
004082CD  |.  EB 22         JMP SHORT 004082F1
004082CF  |>  8B45 08       MOV EAX,[EBP+8]
004082D2  |.  C740 1C 00F0F>MOV DWORD PTR [EAX+1C],-1000
004082D9  |.  EB 16         JMP SHORT 004082F1
004082DB  |>  8B4D 08       MOV ECX,[EBP+8]
004082DE  |.  C741 18 00100>MOV DWORD PTR [ECX+18],1000
004082E5  |.  EB 0A         JMP SHORT 004082F1
004082E7  |>  8B55 08       MOV EDX,[EBP+8]
004082EA  |.  C742 1C 00100>MOV DWORD PTR [EDX+1C],1000
004082F1  |>  8B45 0C       MOV EAX,[EBP+C]
004082F4  |.  8985 78FFFFFF MOV [EBP-88],EAX
004082FA  |.  83BD 78FFFFFF>CMP DWORD PTR [EBP-88],3
00408301  |.  74 02         JE SHORT 00408305
00408303  |.  EB 28         JMP SHORT 0040832D
00408305  |>  8B4D 08       MOV ECX,[EBP+8]
00408308  |.  8B41 18       MOV EAX,[ECX+18]
0040830B  |.  99            CDQ
0040830C  |.  B9 03000000   MOV ECX,3
00408311  |.  F7F9          IDIV ECX
00408313  |.  8B55 08       MOV EDX,[EBP+8]
00408316  |.  8942 18       MOV [EDX+18],EAX
00408319  |.  8B45 08       MOV EAX,[EBP+8]
0040831C  |.  8B40 1C       MOV EAX,[EAX+1C]
0040831F  |.  99            CDQ
00408320  |.  B9 03000000   MOV ECX,3
00408325  |.  F7F9          IDIV ECX
00408327  |.  8B55 08       MOV EDX,[EBP+8]
0040832A  |.  8942 1C       MOV [EDX+1C],EAX
0040832D  |>  E9 5E010000   JMP 00408490

Speed = 1000
If level == 3, the speed is divided by 3
 
Jan 30, 2011 at 4:11 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
Yeah, what noxid said. If you can't find the numbers in that mess, here are the spots you need to change. Remember that 2000 is one pixel, * 50 steps per second to get the pixels per second. I.e, the level one and two nemmies go at 25 pixels per second, and the level three goes at 8.

Code:
[B]0x4082C6[/B]     mov [edx+18],-1000
[B]0x4082D2[/B]     mov [eax+1C],-1000
[B]0x4082DE[/B]     mov [ecx+18],1000
[B]0x4082EA[/B]     mov [edx+1C],1000
[B]0x40830C[/B]     mov ecx,3
[B]0x408320[/B]     mov ecx,3

Those last two are the divisors.
 
Jan 30, 2011 at 5:34 PM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
That was just uncalled for

Dubby said:
0050 is "walk forwards, hovering" for Quote.
*Glare*
Very uncalled for bump, sir.
Specially since this is already documented in other animation lists, this one is rather out of date. {This is like 4 or 5 years old}
ANP.txt said:
Quote [0150] -By J.T.E.
0000 Stand around.
0002 Look up.
0010 Splat on the floor.
0011 Splat on the floor, no poofs or noise.
0020 Get teleported out
(from Misery teleports you to Labyrinth cutscene)
0021 Invisible
0050 Walk forward
(No gravity)

0051 Walk forward
(first 3 frames glitch: Step, look up, then splat. Otherwise same as 0050)
0060 Slowly fall, shaking and upside down (from normal ending)
0061 Invisible
0070 Walk in place
0071 Walk in place
(Same glitch as 0051)
0080 Back turned
(Checking an NPC)
0100 Walk in place
(Gravity, from credits)
0101 Walk in place
(Gravity, same glitch as 0051)
0102 Walk in place
(No gravity, same glitch as 0051)
You must search the forums more next time, though I'd be happy to upload the file if you cannot find the up-to-date version.
 
Jan 30, 2011 at 5:40 PM
Pirate Member
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jun 29, 2010
Location: Hills of Amber, Amh Araeng, Norvrandt, The First
Posts: 512
Pronouns: she/her
Re: That was just uncalled for

i'm sure it would be on the main site, brb get link
EDIT: Or maybe not. lol
 
Jan 30, 2011 at 8:16 PM
I don't anymore.
"I'm sorry Mario, but your princess is in another castle."
Join Date: Aug 9, 2010
Location: Greener Pastures
Posts: 1188
Age: 30
So I basicly need to change the numbers to 1. That waould have taken for ever to figure out. Thanks again Noxid... and also Lace for making it more clear.
 
Jan 31, 2011 at 4:35 AM
Senior Member
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jan 21, 2011
Location:
Posts: 249
Malpercio said:
i'm sure it would be on the main site, brb get link
EDIT: Or maybe not. lol

VoidMage_Lowell said:
You must search the forums more next time, though I'd be happy to upload the file if you cannot find the up-to-date version.

Well, I can't find it either. And for some reason, the forum doesn't want to allow searches including <, or three letter words (ANP). 'Animate', of course brings up a lot of garbage that has nothing to do with ANP. So yes, would you kindly upload the up-to-date list for me pretty please?
 
Jan 31, 2011 at 1:21 PM
Bonds that separate us
Forum Administrator
"Life begins and ends with Nu."
Join Date: Aug 20, 2006
Location:
Posts: 2857
Age: 34
Pronouns: he/him
Move'd.

Dubby said:
And for some reason, the forum doesn't want to allow searches including <, or three letter words (ANP).
Thanks for bringing this up; minimum search length has now been reduced to 3 characters. Hopefully that doesn't end up breaking the database :pignon2:

EDIT: Although it doesn't seem to be making much difference :/
 
Back
Top