Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[bug solution] state 8000: wrong frames
#1
hey,

[off]
I just found something (I think I should have a report thread on the off-topic :P)
I was trying to put aeron in place of jan modifying the criminal.dat
and it uses state 8000.
[/off]

Have you tryied to make a char with less frames on a bmp than the default ones?
have you ever tryied to transform into him and even with frame 140 set it plays the wrong animation?

yes? then this tutorial is for you!

ok, lets pick an example: Aeron
Aeron has 60 positions in his sprite sheet
which is not enough to fulfill the 70 spaces the engine is used to handle.

so on aeron.dat you have under the <bmp> tag the line pointing to the sprite sheet:
file(0-59): sprite\sys\aeron_0.bmp w: 79 h: 79 row: 10 col: 6
notice the lack of numbers till we reach 139...

so first we put a line to fulfill that empty space:
file(60-139): sprite\template1\0.bmp w: 79 h: 79 row: 10 col: 7
this file has 7 rows so we will use col: 7, and it has 10 columns so we use row: 10 (yes they swaped the names XD)

next we will use this line:
file(140-199): sprite\sys\aeron_0b.bmp w: 79 h: 79 row: 10 col: 6

at this point if you get into the game and play stage and free him (if you swaped the 8000+ID by aeron's on criminal.dat) you will see he can fly with a light on his hand...

problem is, despite every tutorial saying the computer "adds 140 frames" it actually goes down 7 rows on the sprite sheet, so say you have 6 rows on aeron and you need image number 1 (second image on the first row)
computer will add 70 to that and skip from 59 to 140
so for 1 he will add 70, so 71, file has 60, so 11 will be picked instead of frame 1 on the second file

then you say "OMG! how am I supposed to fix that???"
see the 'col:' tags in the file entries?
file(0-59): sprite\sys\aeron_0.bmp w: 79 h: 79 row: 10 col: 7
it is healty for transformations to declare 7 rows, even when your bitmap doesn't have it, so frame 1, +70 ignoring files betwen the first and frame 140, 71, -7rows(70 images) you will get frame 1 on the second file and be happy.

[off]
yes, this is a bug...
and if you declare 6 rows on the 60-139 file you will get a even worse effect and make aeron fly with his belly up (frame 21)

Someday a good hex guy will concentrate in fixing bugs and making our life easier instead of adding features for their chars...
[/off]

I hope this helps somebody ;)
[Image: bilxvzqm0a6dmcc6c.png]
by firzenX's graphics shop

my spriting attempts | Char: Boomer
odBearBecauseHeIsVeryGoodSiuHungIsAGo
chishio: "The only limitations in life, are those imposed by yourself and the laws of physics." - learn parkour or join the matrix (either will set you free from physics).
Reply
Thanks given by:
#2
(03-23-2010, 11:12 AM)SparK Wrote:  hey,

[off]
I just found something (I think I should have a report thread on the off-topic :P)
I was trying to put aeron in place of jan modifying the criminal.dat
and it uses state 8000.
[/off]

Have you tryied to make a char with less frames on a bmp than the default ones?
have you ever tryied to transform into him and even with frame 140 set it plays the wrong animation?

yes? then this tutorial is for you!

ok, lets pick an example: Aeron
Aeron has 60 positions in his sprite sheet
which is not enough to fulfill the 70 spaces the engine is used to handle.

so on aeron.dat you have under the <bmp> tag the line pointing to the sprite sheet:
file(0-59): sprite\sys\aeron_0.bmp w: 79 h: 79 row: 10 col: 6
notice the lack of numbers till we reach 139...

so first we put a line to fulfill that empty space:
file(60-139): sprite\template1\0.bmp w: 79 h: 79 row: 10 col: 7
this file has 7 rows so we will use col: 7, and it has 10 columns so we use row: 10 (yes they swaped the names XD)

next we will use this line:
file(140-199): sprite\sys\aeron_0b.bmp w: 79 h: 79 row: 10 col: 6

at this point if you get into the game and play stage and free him (if you swaped the 8000+ID by aeron's on criminal.dat) you will see he can fly with a light on his hand...

problem is, despite every tutorial saying the computer "adds 140 frames" it actually goes down 7 rows on the sprite sheet, so say you have 6 rows on aeron and you need image number 1 (second image on the first row)
computer will add 70 to that and skip from 59 to 140
so for 1 he will add 70, so 71, file has 60, so 11 will be picked instead of frame 1 on the second file

then you say "OMG! how am I supposed to fix that???"
see the 'col:' tags in the file entries?
file(0-59): sprite\sys\aeron_0.bmp w: 79 h: 79 row: 10 col: 7
it is healty for transformations to declare 7 rows, even when your bitmap doesn't have it, so frame 1, +70 ignoring files betwen the first and frame 140, 71, -7rows(70 images) you will get frame 1 on the second file and be happy.

[off]
yes, this is a bug...
and if you declare 6 rows on the 60-139 file you will get a even worse effect and make aeron fly with his belly up (frame 21)

Someday a good hex guy will concentrate in fixing bugs and making our life easier instead of adding features for their chars...
[/off]

I hope this helps somebody ;)
1) really simple, no need for this unless you're a newcomer
2) seriously, no one needed help with this, you're wasting the space the forum has.
3) if someone started DC-ing, they would read a tutorial like >>>>>this<<<<<
before going to the forums(google!)
lastly, you can do this:
(0-59)xxxxxx_0.bmp w:79 h:79 row: 10 column: 6
(60-119)xxxxxx_1.bmp w:79 h:79 row: 10 column: 6
(120-179)xxxxxx_2.bmp w:79 h:79 row: 10 column: 6
i changed one of the characters(firen's) to
(0-59)xxxxxx_0.bmp w:79 h:79 row: 10 column: 6
(70-139)xxxxxx_1.bmp w:79 h:79 row: 10 column: 7
(140-209)xxxxxx_2.bmp w:79 h:79 row: 10 column: 7
AND some sprites were wrong, burning in the last frame he stands up.
no offence, SparK, this might be a good tutorial, but people new to DC-ing aren't stupid. i knew how to do this without any help from tutorials.
[Image: UB2.gif]
FrozenFiren|Devid|Sprites

News of the day 19th Sep 10: Someone's back on track
Reply
Thanks given by: Alblaka
#3
(03-23-2010, 12:11 PM)forgetlatios Wrote:  lastly, you can do this:
(0-59)xxxxxx_0.bmp w:79 h:79 row: 10 column: 6
(60-119)xxxxxx_1.bmp w:79 h:79 row: 10 column: 6
(120-179)xxxxxx_2.bmp w:79 h:79 row: 10 column: 6
i changed one of the characters(firen's) to
(0-59)xxxxxx_0.bmp w:79 h:79 row: 10 column: 6
(70-139)xxxxxx_1.bmp w:79 h:79 row: 10 column: 7
(140-209)xxxxxx_2.bmp w:79 h:79 row: 10 column: 7
AND some sprites were wrong, burning in the last frame he stand up.
no offence, SparK

exactly why you have to use 7 on all of them
also: what's with the first line numbers?
otherwise frames come wrong
[Image: bilxvzqm0a6dmcc6c.png]
by firzenX's graphics shop

my spriting attempts | Char: Boomer
odBearBecauseHeIsVeryGoodSiuHungIsAGo
chishio: "The only limitations in life, are those imposed by yourself and the laws of physics." - learn parkour or join the matrix (either will set you free from physics).
Reply
Thanks given by:
#4
uhh no... for my first char, i did row:5 and column: 5 nothing went wrong...
[Image: UB2.gif]
FrozenFiren|Devid|Sprites

News of the day 19th Sep 10: Someone's back on track
Reply
Thanks given by:
#5
(03-23-2010, 12:34 PM)forgetlatios Wrote:  uhh no... for my first char, i did row:5 and column: 5 nothing went wrong...

did you transform into him? you know... state 8000
[Image: bilxvzqm0a6dmcc6c.png]
by firzenX's graphics shop

my spriting attempts | Char: Boomer
odBearBecauseHeIsVeryGoodSiuHungIsAGo
chishio: "The only limitations in life, are those imposed by yourself and the laws of physics." - learn parkour or join the matrix (either will set you free from physics).
Reply
Thanks given by:
#6
no did not transfrom into him. btw firen's ok. actually, 70-79 become 60-69. its ok. btw can an admin delete this thread? we're offtopic xD. pm ok?
[Image: UB2.gif]
FrozenFiren|Devid|Sprites

News of the day 19th Sep 10: Someone's back on track
Reply
Thanks given by:
#7
so, i'm talking about the bug that happens exclusivelly when you transform into the char using state 8000 and it gets the wrong frames if you don't use col: 7


edit:
hey you are online!!! =D
[Image: bilxvzqm0a6dmcc6c.png]
by firzenX's graphics shop

my spriting attempts | Char: Boomer
odBearBecauseHeIsVeryGoodSiuHungIsAGo
chishio: "The only limitations in life, are those imposed by yourself and the laws of physics." - learn parkour or join the matrix (either will set you free from physics).
Reply
Thanks given by:
#8
ohhhh... in that case it's NOT a bug, just lazy people. and criminal=> aeron? too powerful... yes i am online, and can someone delete all the offtopic posts??
[Image: UB2.gif]
FrozenFiren|Devid|Sprites

News of the day 19th Sep 10: Someone's back on track
Reply
Thanks given by:
#9
(03-23-2010, 01:10 PM)forgetlatios Wrote:  ohhhh... in that case it's NOT a bug, just lazy people. and criminal=> aeron? too powerful... yes i am online, and can someone delete all the offtopic posts??

nah... we didn't go THAT offtopic
about doing a state 8000 to aeron on criminal.dat:
i replaced jan, so only 2 respawns and AI is dumb enough to not know how to use aeron and fall all the time...
[Image: bilxvzqm0a6dmcc6c.png]
by firzenX's graphics shop

my spriting attempts | Char: Boomer
odBearBecauseHeIsVeryGoodSiuHungIsAGo
chishio: "The only limitations in life, are those imposed by yourself and the laws of physics." - learn parkour or join the matrix (either will set you free from physics).
Reply
Thanks given by:
#10
[/endofsencelessdiscussionthatwillendinaflamewar]

First of all, some newcomers choose not to read the tutorials but start at the forums asking questions like "How do I data change?" or "I got a problem when transform, can you help me?".
And as I say (first time saying it actually):
Two tuts are better than one.

Second of all, the tutorial is just fine.
It has the info you need and will probably help some with solving their problems.

And yes this isnt a bug but a feature used for the criminals.
Also silva has made a CFG for the exe to add a new state: 4000, works like state: 8000 but doesnt have the +140 frames.
Age ratings for movies and games (and similar) have never been a good idea.
One can learn a lot from reinventing wheels.
An unsound argument is not the same as an invalid one.
volatile in C++ does not mean thread-safe.
Do not make APIs unnecessarily asynchronous.
Make C++ operator > again
Trump is an idiot.
Reply
Thanks given by:




Users browsing this thread: 2 Guest(s)