Image Edition: (C)Pixel doesn't work!

Jul 1, 2006 at 11:16 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Check out the relevant thread for the missing byte. The problem has been solved by Wistil.

I've gone ahead and created a map like the one you mentionned. I created a 035, which got corrupted. However, switching them around (Weed and 0, in that order) was fine. The order matters; only use 0 for the second spriteset. This was only tested on a custom existing map, not a brand new one, mind you.

The unshootable enemy thing, I already replied to. Try that. It works. I had that problem with Ravil (who is now a custom boss.)
 
Jul 2, 2006 at 12:25 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
Now I have to ask you if I got this right or not because I don't know so I will ask.... Now from what I read of Wistil's little fix to the boss problem. It seems to me hes saying we go to that part of the exe in the hex editor and find all the 00's in front of the boss captions and then put in the correct boss value byte according to the table so the bosses in the game will then be restored because the byte reads 0 at the moment so it loads an invisible boss and that's why Froggy and others won't show up...

Now because Sue Workshops keeps on deleting those bytes everytime and resetting them to 0 everytime we save or create a new map , I can see that making these changes to restore all the bosses in the game will have to be done last after all the custom maps are created first.

Is there a way to freeze those bytes to stop Sue overwriting them ?

The Unshootable enemy thing, sorry, I do not quite yet understand what I am actually to do, I have read under hacking NPC table, but still feel unsure, I think I am to somehow restore the enemy's boundry boxes around the sprites that somehow Sue wiped out.... But the unshootable enemies thing only affected just a few of my custom maps, has not affected all my custom maps, otherwise all the maps would have the same problem not detecting boundary boxes for the enemy sprites.
 
Jul 2, 2006 at 12:27 AM
Senior Member
"Huzzah!"
Join Date: Mar 24, 2006
Location:
Posts: 194
there is no corrolation between spritesheets & tilesets there all compatible with each other
 
Jul 2, 2006 at 3:02 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
technika said:
Is there a way to freeze those bytes to stop Sue overwriting them ?

The Unshootable enemy thing, sorry, I do not quite yet understand what I am actually to do, I have read under hacking NPC table, but still feel unsure, I think I am to somehow restore the enemy's boundry boxes around the sprites that somehow Sue wiped out.... But the unshootable enemies thing only affected just a few of my custom maps, has not affected all my custom maps, otherwise all the maps would have the same problem not detecting boundary boxes for the enemy sprites.
Yeah: get down an' dirty with some machine code and hammer in a patch in stone cold raw hexadecimal, just like poppa Rune likes it. Any hex editor, plenty of good-quality London Dry gin and extra dry Vermouth (serve in a cocktail glass and for god's sake stir, don't shake; James Bond is an idiot), and your own set of large, iron-cast balls are all you'll need. Welcome to the world of True Hacking.

'Course that's a bit much. I've been giving it a look in the highly-limited time I've had in the past few days (appartment crap, court, blah blah... busy Rune.) The fix isn't as simple as changing a MOV eax, 0x000000 into a MOV eax, [0x004blahblah] so maybe you'd be better off keeping notes of which offset in the exe to change and setting the bytes to the appropriate value whenever you make a release or have to test a boss fight...

Don't skimp out on the dry martini though. :) And either some jazz or oldschol metal. Hacking under other conditions just isn't right. :)

As for enemies, are you saying this occures on only certain maps, and the exact same enemy from the same spriteset will behave a different way from one map to the next? If so, that's really weird (enemies from two different spritesets are generally considered an entirely different enemy, as they have a different ID.)

If you're unsure which offset to mess around with in npc.tbl, just take the enemy ID and multiply it by 2. This will lead you straight to the source of your problems. Set 0x2000 and 0x0080, and you're set. If you're unsure how to do this, just post the enemy IDs and I'll get the ones from my npc.tbl for you.
 
Jul 2, 2006 at 3:18 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
Now I changed only a couple of the byte values, but the frog still not showing up ....So it looks like the whole lot needs to be all changed before any boss will show up.

What is the hex location for the Balrog Frog Boss? I thought you just look for the words frog or balfrog, but there are just too many copies of captions repeating themselves at $0937F0-$098030 (somewhere in that location) and I dunno which one is the right location here because most of the text boss captions ALL IN LOWERCASE which makes it harder to find and Wistil didn't show the byte location address for each boss, instead he showed just only a table of the byte offsets for each boss value instead, so the only way i can see how to try to find the byte location addresses for these bosses is to have to bring up two windows side by side in the hex editor, one at $0937B0 and the other one at $160000 and then scroll through looking for the missing byte values in $0937B0 area that way because I can't think of any other way to find the byte location addresses I need. I need to know where to fix the missing bytes unless I save myself an hour of editing and just wait till someone releases a patch to fix all these issues.

As for the enemy behavior, yes, very bizzare, dunno why this is happening, some enemies after a while become totally unshootable, I suspect maybe that the NPC tbl file is somehow becoming corrupted through this editor after so many saves.
 
Jul 2, 2006 at 7:09 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Why are you looking for boss info? Just change the byte at the offset Westil mentionned to Balfrog's and you'll be fine. Make sure you set the proper spriteset.

I'm a little surprised that Sue's Workshop would alter the NPC table file, seeing as nothing you do with it involves editing NPCs. It doesn't even load the proper NPC when you create an event; it just puts up a number. I do get that problem too, so... weird.
 
Jul 2, 2006 at 10:05 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
Made a big breakthrough and got the Ballos boss working in one of my custom levels. I had somehow overlooked hooking up the boss to a horozon/vert trigger. I also know Misery works, but not the core, Heavy Press, sisters, ect but will see if I can get them working now. Still unsure what is causing the unshootable enemies, sprite messes
 
Jul 2, 2006 at 11:07 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
technika said:
Still unsure what is causing the unshootable enemies, sprite messes
A solution for this has been posted already. What else seems to be the problem? >"<;
 
Jul 2, 2006 at 12:16 PM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
Please keep in mind that I'm NOT a programmer and this sort of thing takes a lot of time and paitence to try to work out where the pieces fit together so it's like doing a puzzle....It is a series of problems... Ballos was easy to set up once I realized the hort ver trigger was overlooked and that was one problem solved and I have about 5 or so problems left to solve.

But I thought Balrog would be easy to set up, but I'm not sure how to set him up to get his boss bar to show. I copied the script over from the bar map, but I don't know how to link up the npc's with the script for this looks a little different to the ballos setup.... So If its not linked right, the i know its not going to work. I'm only guessing by trial and error here and I was lucky to get Ballos to work.

How do I get the trigger to go off only once? At the moment the hort/vert trigger for Balrog is going off endlessly, repeating his boss fight diaglouge over and over everytime I walk within range of the trigger.
 
Jul 2, 2006 at 12:42 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
You can simply use a flag. Just set it at the end of the event, and make a <FLJ at the start of the event that'll branch to a blank event after it has triggered.

Give the original script a look - it's actually quite simple to set up once you know how. :)
 
Jul 2, 2006 at 6:44 PM
Senior Member
"Huzzah!"
Join Date: Mar 24, 2006
Location:
Posts: 194
technika said:
Now I changed only a couple of the byte values, but the frog still not showing up ....So it looks like the whole lot needs to be all changed before any boss will show up.

What is the hex location for the Balrog Frog Boss? I thought you just look for the words frog or balfrog, but there are just too many copies of captions repeating themselves at $0937F0-$098030 (somewhere in that location) and I dunno which one is the right location here because most of the text boss captions ALL IN LOWERCASE which makes it harder to find and Wistil didn't show the byte location address for each boss, instead he showed just only a table of the byte offsets for each boss value instead, so the only way i can see how to try to find the byte location addresses for these bosses is to have to bring up two windows side by side in the hex editor, one at $0937B0 and the other one at $160000 and then scroll through looking for the missing byte values in $0937B0 area that way because I can't think of any other way to find the byte location addresses I need. I need to know where to fix the missing bytes unless I save myself an hour of editing and just wait till someone releases a patch to fix all these issues.

all you have to do is use this formula to search the exe for the byte you need to change to fix the major bosses

1478836+(200 X Map # that glitched boss appears in) (ALL IN DECIMAL)

AND PUT THE FOLLOWING VALUES IN ACCORDINGLY

00 - no special boss
01 - Omega
02 - Balfrog
03 - Monster X (also in Jenka's house during credits 'e_Jenk')
04 - Core
05 - Iron Head
06 - Dragon Sisters
07 - Undead Core
08 - Heavy Press (also in Passage? 'Hell42')
09 - Ballos's 2nt & 3rd forms (also in Balrog escape from Ballos and Misery standing on balcony in credits)

& misery & and ballos's first form are not affected by the glitch so there's something else wrong with them
 
Jul 3, 2006 at 1:42 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
I tried it, the endless looping of the trigger has now stopped since I copied
the following from the bar map:

#0290
<FLJ0370:0291<END

But nothing else happens when I walk under the trigger, no diaglouge now, no boss fight. The boss fight starts in the script at #1000 So I'm back at square 1 again where I started.. I still cannot get the boss fight working for Balrog and really am starting to struggle here because I don't know how to set Balrog up for the boss fight because I don't know what I'm doing. And I'm not sure if the problem that's stopping the boss fight showing is in the NPC's set up or in the script, I am struggling with 'simple or easy things' because I don't have the background to this kind of stuff.
 
Jul 3, 2006 at 1:54 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
1478836+(200 X Map # that glitched boss appears in) (ALL IN DECIMAL)

You cannot explain it to me with mathmatic equations because
I was not good at maths so I won't understand what you're talking about.
I am a beginner at trying to understand this stuff, I'm not a programmer.
 
Jul 3, 2006 at 1:56 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Sounds to me like you need a primer on flags.

A flag is kind of like a switch. When it's on, the light goes on. But when it's off, the light doesn't go on. You can set a flag, unset it, or check if it's been set.

This translates to games terms as "Has the event been triggered already?" or "Has this boss been beaten already?" If you don't want an event to repeat itself, you'll have to create a flag specific to that event (don't reuse the same number - if two lights in your house are wired to the same switch and you want the light in the kitchen off, the people in the bedroom are going to be pissed!) and set it on after the event is done. At the start of that event, just check wether the flag was set or not and branch to an empty event if it is (FLJ.)

The best way to learn is by experience. Have a look at a few events in the regular game and make your own without copy-pasting. (You won't learn anything by copy-pasting; it's real easy anyhow.) The original events offer more than enough examples for anyone to learn how to work these things; you can then make your own and complete your learning. After an event or two, you shouldn't have a problem with flags anymore - it's really nothing more than an on/off, yes/no, true/false thing.
 
Jul 3, 2006 at 2:02 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
technika said:
You cannot explain it to me with mathmatic equations because I was not good at maths so I won't understand what you're talking about.
He's just giving you a simple multiplication you can do yourself with the Windows calculator...

1478836 + (200 x 25) <- The value for map 25. (1483836)
1478836 + (200 x 18) <- The value for map 18. (1482436)
etc...

Put those numbers in there and you can use any hex editor to change the maps to suit your purpose by changing the value listed at the resulting address (most hex editors allow you to jump directly to an address - you can just put it straight in there.) There really isn't any other way to explain it. Short of listing the address for every map one by one.

Try it before giving up. You might find yourself able to fix your maps without anyone else's help after all. You'll need a hex editor, the Windows calculator, and to experiment a little bit. The worse that can happen is your map being corrupt - just reload from a backup.
 
Jul 3, 2006 at 3:33 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
I only understand it more easier when its written out as a hex dump
not written out as a maths caulation to work out.


(Just an example)

Change

$097FF 6c 7C 82
$09815 00 7C 42
$0993B FF FF FF FF 9C 83 07 70 20

If the changes were written like that, I could understand what to
do, because the memory locations are all in front of me, so I know
where to change it, what bytes to change. just like what
you did with the Jetpack hack.

But if I'm left to guess, then I have a bigger chance
of screwing up the game.

But I tend to agree to disagree with you when you tell me that experience is
the best way to learn. I maintain that learning by experience is NOT THE
BEST WAY to learn. But Learning by CORRECT EXAMPLE is the best teacher.

For example, I can have all the experience that I want in tennis on how to hit a tennis ball, I can go down to the court and serve for years, BUT if I haven't been taught the correct technique on how to serve properly and been using poor technique, then no matter how many hours or how many years I practice the poor technique, I will not get very far. That's why you see so many people never getting very far at tennis and staying 'stuck'
because of bad technique.

Likewise with this game, it is the same, some things I can do, but there
are other things I can't do yet in it like setting Balrog up and it don't matter how much I try or how many hours I put in, if I don't know the correct way of editing the script or the NPC's, then I will not get very far in my efforts and will run into these kinds of difficulties until I'm shown the correct way on how to do things in that game.

I can't see why you can't teach us in full with our own individual problems just like what you done with your own hacks when you fully instructed us step by step on how to do those changes, that was wonderful instruction and it was fun applying the changes. You witheld nothing from us there and so the hack worked...

Why should you withold answers from us now when we have a problem of our
own that we cannot solve or have trouble with and leave us to all this guesswork and leave us at risk of screwing things up?

There is no room for elitism, I am under the top coach in my county and my coach does not do that to me or leave me to my own mistakes to screw up...If I don't know the answer to something or unsure about something or have a problem with something, then the Coach looks at the problem, and quickly tells me what is wrong and tells me how to make the correction...

I DO get answers handed to me on a silver platter
because that is necessary for me to know the
answers so I don't repeat the same mistakes
again and again and again as you do by
going by only your own experience and learning
the hard way...So I learn through CORRECTING
my mistakes, not by endlessly repeating them.

So why can't you and others in here
follow the same example when people need answers from
you to solve their little problems when trying to correctly
wire up this game to make everything in it work?
It's only a game, it's not life or death.

Someone should consider writing up some tutorials on how
to wire up things up in this game so we know how to
go about setting up all this stuff correctly.

You should consider this as well. Not all of us learn the same way or understands things on the same level either, some of us learn by visual, others learn by written, and others learn by needing to be shown by example (need to be coached, or tutored).
.
So what I'm saying to you is that you cannot be only one-dimensional
in your teaching, you need to be multi-dimensional because everybody
learns things a different way and are on different levels of understanding, so you can't just teach only one method and give theory without practical for answers, it won't work with everyone, for the theory is of no use if the practical side is not being done right then I aint going to get very far
until I get the practical side right.
 
Jul 3, 2006 at 4:21 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
You don't become an athlete just by having people tell you how to run, you need to run too, run out of breath because you can't manage your energy properly, and learn how to perform better through your mistakes.

(For that matter, why not have a look at the original Balrog script to see how to set it up? The answer IS there black on white and even ready to be copy-pasted. It takes 5 seconds of poking around with Sue's Workshop to get a script to do what you want, unless it's something that wasn't ever done in the original game. 'Course there's no harm in asking for help if you're stumped, but there's a difference between trying and not getting anywhere, and not trying at all.)

By the way... I'm not here to "teach." I'm not some old venerable chinese martials arts- er, hacking master (who will be killed by a rival hacking clan halfway through the movie and will be avenged by his least gifted disciple in a kick-ass hacking battle to the death.) Your post makes it sound like I'm only here to spread knowledge and educate other hackers. I'm here to get serious hacking done and to work on projects that go beyond point-and-click editing. So please don't have those kinds of expectations of me. :)

I'll be glad to help out with the basics but that's not why I'm here, and I'm especially not here to hold people's hands while they ask for the specific offset and value to write in it to make Quote's hat glow in the dark.
 
Jul 3, 2006 at 4:49 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
Yeah, I understand where you coming from and you spent a lot of hours doing these things to work em out and can see where great persistence is required cause I am persistent also and haven't given up just yet.

1478836 + (200 x 25) <- The value for map 25. (1483836)

Ok I did the calculation

1478836 PLUS 200 Muiltuply that by 25 EQUALS 36975900 in decimal.
(23451C) in hex.

hmmm..This dosen't look right.
The result I get is too high
it's outside the range of the file ! .

Oh well..

I think I need some more light on how to set Balrog up though...
 
Jul 3, 2006 at 5:23 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
When doing math, you have to solve what's inside the parentheses first.

10 + (5 x 2) =
10 + (10) =
20

I feel a little dumb about not noticing earlier, but the Windows calculator supports parentheses (seriously, I've been using this thing for ages and I just noticed it a week or so ago... D'oh.) If you're unsure which order things go in, you can type that in there with the parentheses and the calculator will take care of it for you. Or if this form is any easier...

(200 x MapID) + 1478836

As for Balrog, have a look at command <BSL. You need an event with flag 0200 set. So long as it has health, <BSL will transform whichever event/NPC you specify into a boss battle. A simple test script you could use would just call BSL on an enemy in the room. This will trigger the boss HP bar and once you've got that working you can alter the rest of the event to make it work for your own purpose (ie, pre-battle dialog and stuff like that.)

For instance, create a little hopping thing (forgot their names, they're sprite ID 203), give it an Event ID (any number not in use is fine), set the flag 0x0200, and call <BSL with its Event ID as the parameter. This should get you started.
 
Jul 3, 2006 at 7:49 AM
Senior Member
"Wahoo! Upgrade!"
Join Date: Apr 1, 2006
Location:
Posts: 52
These are my settings...

NPC Boss Balrog Running
Event 1001
Flags: 0200
Flag ID: 1001

H/V Trigger
Event: 290
Flags: 1100
FlagID: 0

SCRIPT:

#0290
<FLJ1000:0291<END

#1000
<MSGYa ready?<NOD<CLO
#1001
<FL+0361<CMU0004<CNP0400:0068:0002<BSL1000<END

Results:

* No boss bar shows up for fight
* Balrog shows up before I even hit the trigger,
* The trigger loops endlessly everytime I shoot at Balrog now.
* Balrog won't die anymore even though heaps of damage is taken off him

The setup is all wrong, because I don't know what the correct
set up is as this game is so HEAVY with relying on numbers...
I've tried over 100 times swapping the flags settings and numbers
around, I still cannot get it to work the way it should work....

You have been playing a mind game of hide and go seek with me,
instead of telling me what I really need to know to get
this quickly fixed which would've only taken just a few minutes
of my time instead of making me waste time spending hours
going around in circles :) Enough games.

What are the correct settings?
 
Top