Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Castlevania: tile solidity issues
  
User name:
Password:
Reply:
 

UserPost
Setzer
Posts: 228/532
Thanks dan. That little bit of information is enough for me to make whatever tiles I want solid, for those who can't catch on, I'll give you some offsets for that.

0x01F9C9 [$60] this is where in the current loaded background CHR it starts to set if a tile is solid or not.

0x01F9CB [$0C] This sets how many tiles after [$60: where it starts to look] to be solid. $0C says 12 tiles are solid; you can change that to damn near anything.

credit, goes to dan much lub.
dan
Posts: 551/782
The solidity of the levels is dynamically loaded into RAM (in the $600 range). My advice, is to stick a write breakpoint there, and try and figure out how the solidity data is loaded in. I tried ages ago, but I sucked back then, and gave up. According to my notes though, everything before $60 isn't solid. There are also a few other tiles in the $70 to $8F tiles range that aren't solid either. The only thing that you need to beware of is overwriting the door animation graphic, and the stop clock graphic.

Hm, looking into it, I believe that this part of the code controls the solidity of the tiles:

$F7C6:B1 06     LDA ($06),Y @ $86F9 = #$68 A:68 X:B4 Y:04 P:nvUbdIzc
$F7C8:9D 00 07 STA $0700,X @ $07B4 = #$90 A:68 X:B4 Y:04 P:nvUbdIzc
$F7CB:20 D4 F9 JSR $F9D4 A:68 X:B4 Y:04 P:nvUbdIzc
$F9D4:A9 00 LDA #$00 A:68 X:B4 Y:04 P:nvUbdIzc
$F9D6:85 4C STA $4C = #$00 A:00 X:B4 Y:04 P:nvUbdIZc
$F9D8:BD 00 07 LDA $0700,X @ $07B4 = #$68 A:00 X:B4 Y:04 P:nvUbdIZc
$F9DB:38 SEC A:68 X:B4 Y:04 P:nvUbdIzc
$F9DC:E9 60 SBC #$60 A:68 X:B4 Y:04 P:nvUbdIzC
$F9DE:C9 0C CMP #$0C A:08 X:B4 Y:04 P:nvUbdIzC
$F9E0:B0 0F BCS $F9F1 A:08 X:B4 Y:04 P:NvUbdIzc


This code loads in the the 8x8 tile to be used for the 32x32, and checks what kind of solidity to give it, based on the value. The last three instructions are the key ones. The first solid tiles begin at $60, so the game subtract $60, and compares it with $0C. Any tiles that aren't within the $60 - $6C causes the code to branch off to $F9F1. (As subtracting $60 from a value less than $60 will cause the value to loop back through $FF)

So yeah, I hope that made a bit of sense. For clarification, the solid tiles are within the range $60 to $6C. (Unless I've interpreted that code wrong, but it seems to fit what I've observed also)
Setzer
Posts: 227/532
heh. I don't mind doing hexing. I <3 asm/technical shit. From my observations [playing abit of CV and watching the PPU viewer] it seems most of the solid tiles are on a single row. Although I just encountered another problem. Apparantly, simon can't walk on the 2nd row of a 16x16 tile? =X he just jumps up&down 8 pixels until he gets onto the first row/next block. The reason I have him set to walk on that 3rd block, is because that's the only way certain tiles will look good, such as my dead tree [as I link palletes quite often to make my graphics sexy.]

oh, and Dr. Mario, after some research, I see what you ment. It *does* look abit like the second part of level 1 in haunted castle. Which I found pretty odd, considering I never played the game o.o

redrum; I wouldn't mind hearing any secrets or whatever you have to share I *do* plan on making a few minor ASM changes to the game, but for the most part, I love the CV engine. Been a favorite series of mine forevar.
[and this is what I was talking about with the 3rd row gibberishness, and the dead tree. If I don't have the setup like that, the tree will be ugly. like in the second pic.
redrum
Posts: 5/12
Originally posted by EverdredReturns
It's best to just make good use of what the level's got.


basically thats correct, unless you plan to do some hexing. we did some screwing around with it in stake, and figured which tiles were solid & not. while we were doing this, bit bladed found a sort of glitch of how you could set them up to be able to jump through them. we used it quite extensively through our last hack.
Setzer
Posts: 226/532
Originally posted by Dr. Mario
I wiah I knew... because OH MY GOD! It's that Haunted Castle?


I wiah I knew wtf you ment.

Everdread: thanks for the tips and such, I don't particularly like having to arrange my tiles the way castlevania did [shittily] but looks like I will =x
EverdredReturns
Posts: 8/19
I don't think anyone's found out how to switch which tiles have solid properties to them. It's best to just make good use of what the level's got. So some tricks you can do:

- When making solid ground, only make the top tiles solid and Simon will be able to stand on them just fine. In this case, you can have only the very top row of tiles of the grass as solid and you'll be fine. You can do the same for the blocks as well.

- Make use of the less necessary solid tiles in some levels for other puposes. For example, some of the levels have solid stair tiles for stairs that have solid ground at their very tops (so that you can, say, go up on some right-facing steps and then go left once you reach the top). What I do is just use these tiles for other things that need solid tiles and design the levels around the lack of solid stairs.

- Same goes for door tiles. That's three extra solid tiles in each level if you don't mind having nonsolid doors.

Some of the levels will have plenty of solid tiles for you to use if you make use of the above tricks. I think level 1 has something like 12 solid tiles total, so that's usually more than enough. Just experiment a little bit and you'll be able to get by alright without having to actually change the solidity properties of any tiles.
Dr. Mario
Posts: 168/262
I wiah I knew... because OH MY GOD! It's that Haunted Castle?
iamhiro1112
Posts: 423/487
I don't know anything bout that, but that's a pretty sweet pic. Clean graphics ala Kid Dracula.
Setzer
Posts: 223/532
well, I'm somewhat unsure where to go to change this, but I've been doing a castlevania hack recently [Pixel Mario got canceled due to a HD wipe]. anyways. Since I have a habbit of doing graphic overhauls, I'd like to know how to set whether a 8x8 tiles is solid or not.

as you can see. it's looking pretty spiffy, but the character just falls straight through the ground. so if anyone has information on this [I'm clueless on how to find it] it would be greatly appreciated.
[edit: new pic]
Acmlm's Board - I2 Archive - Rom Hacking - Castlevania: tile solidity issues


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.003 seconds.