Register - Login
Views: 99793990
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 05:08:47 AM
Jul - General Game/ROM Hacking - Choco Island 2? New poll - New thread - New reply
Next newer thread | Next older thread
The Ultimate Koopa
Member
Level: 21


Posts: 48/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-01-09 02:58:42 PM (last edited by The Ultimate Koopa at 02-01-09 12:07 PM) Link | Quote
As you know this level is very weird, as depending on certain conditions, you'll end up in a different area. Is there a way in LM to edit where you go if you enter a pipe or door depending on conditions like this? According to someone on VGMaps.com, the level seems to go like this:

If you have 0-8 coins in Area 1, you go to Area 2
If you have 9-20 coins in Area 1, you go to Area 3
If you have 21 or more coins in Area 1, you go to Area 4.

If the timer is more than 250 when exiting 2, 3, or 4, you go to area 5.
If the timer is between 230-249, you go to area 6.
If the timer is less than 229, you go to Area 7.

If you have 0-3 Dragon Coins after exiting 5, 6, or 7, you go to Area 8.
If you have 4 Dragon Coins after exiting 5, 6, or 7, you go to Area 9.

Joe
Common spammer
🍬
Level: 111


Posts: 675/3392
EXP: 14501053
For next: 367307

Since: 08-02-07

From: Pororoca

Since last post: 12 days
Last activity: 6 hours

Posted on 02-01-09 06:41:48 PM Link | Quote
I actually looked into this once, and what you've posted is similar to what I figured out.

Lunar Magic does not have a way to edit where these levels go, and doing so requires that your replacement levels be inserted in specific areas of the ROM. It is easy to do, and I'd be glad to help you with it.

I might be able to change the conditions for you too, if you'd like.

____________________
キョン
Kyon
The Ultimate Koopa
Member
Level: 21


Posts: 49/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-01-09 09:19:35 PM Link | Quote
No that's alright. What I would like to know is, do you know the level addresses of the different rooms?
S.N.N.
750
Level: 58


Posts: 300/755
EXP: 1524423
For next: 53123

Since: 07-21-07

From: Ontario, Canada

Since last post: 8.4 years
Last activity: 5.6 years

Posted on 02-01-09 09:25:58 PM Link | Quote
Oh my god, Kattwah's layout works!
--------------------------------

Pulled from SMWC's ROM map:

36BFB $06:E9FB 181 bytes Level data Chocolate Island 2 - Level 1
36CB0 $06:EAB0 91 bytes Level data Chocolate Island 2 - Level 2
36D72 $06:EB72 76 bytes Level data Chocolate Island 2 - Level 3
36DBE $06:EBBE 102 bytes Level data Chocolate Island 2 - Level 4
36E7E $06:EC7E 75 bytes Level data Chocolate Island 2 - Level 5

And

36A97 $06:E897 238 bytes Level data Level 024 (Main)

Assuming this is what you're looking for of course. Excuse the disorganization - the first "column" is the ROM address, second is the SNES address, third is the length, fourth is the type, and fifth is the room.


____________________
The Ultimate Koopa
Member
Level: 21


Posts: 50/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-01-09 10:10:35 PM Link | Quote
By "address" I meant the Level Number in Lunar Magic... I know the first area is Area 24. And it says the screen exits to CF, and then from CF - CE, then to CD, but what about the other areas?
Joe
Common spammer
🍬
Level: 111


Posts: 677/3392
EXP: 14501053
For next: 367307

Since: 08-02-07

From: Pororoca

Since last post: 12 days
Last activity: 6 hours

Posted on 02-02-09 12:47:26 AM Link | Quote
The other areas "share" those level addresses. There is no way to use Lunar Magic to directly edit those levels without repointing a few things.

Repointing the levels is pretty easy, but if you're doing a good hack you should just make new levels and insert them into your hack manually.

If you'd like to give it a go, let me know when you've done all of this:

- Back up your ROM. You'll want this if you make a mistake or something doesn't work.

- Once you're sure your hack has been backed up, make a copy.

- Design your Chocolate Island 2 replacement in the copy. It doesn't matter what level numbers you save to, but make sure the level exits point to CF, CE, or CD.



____________________
キョン
Kyon
The Ultimate Koopa
Member
Level: 21


Posts: 51/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-02-09 12:54:26 AM Link | Quote
I'm not making a hack exactly, I just wanted to see what the areas looked like XD
Joe
Common spammer
🍬
Level: 111


Posts: 678/3392
EXP: 14501053
For next: 367307

Since: 08-02-07

From: Pororoca

Since last post: 12 days
Last activity: 6 hours

Posted on 02-02-09 01:08:28 AM Link | Quote
Oh. That's easy. Just edit the level pointer tables to point to the levels you want to look at. (Find them in the ROM map.)

The pointers for layer 1 and 2 are three bytes long. The pointers for sprites are two bytes long. Here are the addresses. These are all the first two bytes. For layer 1, the third byte is 06. For layer 2, the third byte is FF.

ChocIsld2Layer1: 24 EC .dw DATA_06EC24
7E EC .dw DATA_06EC7E
7E EC .dw DATA_06EC7E ; This offset is never used.
85 E9 .dw DATA_06E985
FB E9 .dw DATA_06E9FB
B0 EA .dw DATA_06EAB0
0B EB .dw DATA_06EB0B
72 EB .dw DATA_06EB72
BE EB .dw DATA_06EBBE

ChocIsld2Sprites: 99 D8 .dw DATA_07D899
A1 D8 .dw DATA_07D8A1
A1 D8 .dw DATA_07D8A1 ; This offset is never used.
E5 D7 .dw DATA_07D7E5
EA D7 .dw DATA_07D7EA
25 D8 .dw DATA_07D825
4B D8 .dw DATA_07D84B
6E D8 .dw DATA_07D86E
88 D8 .dw DATA_07D888

ChocIsld2Layer2: 59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59 ; This offset is never used.
59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59
59 DF .dw DATA_0CDF59


____________________
キョン
Kyon
The Ultimate Koopa
Member
Level: 21


Posts: 52/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-03-09 11:24:47 AM Link | Quote
All I really want is maybe screenshots? I'm not really that good at all that weird codey ASM stuff infact I know so much I call it weird codey ASM stuff. I ask because someone at VGMaps.com, (dbarrier54 is his name), says that the current CI2 map on that site doesn't display all the rooms, and I just wanted to see what they looked like. Not play the game, just maybe screenshots or something?
paulguy

Green Birdo
Level: 93


Posts: 118/2294
EXP: 8032307
For next: 20503

Since: 09-14-07

From: Buffalo, NY

Since last post: 9.7 years
Last activity: 9.7 years

Posted on 02-03-09 08:00:15 PM Link | Quote
You can open the level pointers in LM. File -> Open Level Address.
The Ultimate Koopa
Member
Level: 21


Posts: 53/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-03-09 11:12:33 PM Link | Quote
No you can't.
The Ultimate Koopa
Member
Level: 21


Posts: 54/77
EXP: 49354
For next: 589

Since: 09-23-07

From: England

Since last post: 10.3 years
Last activity: 9.7 years

Posted on 02-03-09 11:13:39 PM Link | Quote
Originally posted by The Ultimate Koopa
As you know this level is very weird, as depending on certain conditions, you'll end up in a different area. Is there a way in LM to edit where you go if you enter a pipe or door depending on conditions like this? According to someone on VGMaps.com, the level seems to go like this:

If you have 0-8 coins in Area 1, you go to Area 2
If you have 9-20 coins in Area 1, you go to Area 3
If you have 21 or more coins in Area 1, you go to Area 4.

If the timer is more than 250 when exiting 2, 3, or 4, you go to area 5.
If the timer is between 230-249, you go to area 6.
If the timer is less than 229, you go to Area 7.

If you have 0-3 Dragon Coins after exiting 5, 6, or 7, you go to Area 8.
If you have 4 Dragon Coins after exiting 5, 6, or 7, you go to Area 9.




Area 2, 3 and 4 share the same address but depending on the conditions, the area is different somehow.
Same with 5, 6 and 7 sharing the same address, and 8 & 9 sharing the same address.
Joe
Common spammer
🍬
Level: 111


Posts: 680/3392
EXP: 14501053
For next: 367307

Since: 08-02-07

From: Pororoca

Since last post: 12 days
Last activity: 6 hours

Posted on 02-04-09 12:50:27 AM Link | Quote
Do you know how to use a hex editor? If not, let me know and I'll create some IPS patches for you. If so, go to address 0x2E467 and look for this code:

24 EC 06 0B EB 06 85 E9 06
That's how Lunar Magic knows what level layout to show for level CD, CE, and CF. This is the "default" level data.

For the variations on those levels, replace it with one of these:

Variation A: 7E EC 06 72 EB 06 FB E9 06
Variation B: 7E EC 06 BE EB 06 B0 EA 06

If you open the ROM with those modifications, the enemies won't match the levels. To get the correct enemy data, go to address 0x2EF9A and look for this:

99 D8 4B D8 E5 D7
That's the enemy data for CD, CE, and CF. This is also the "default".

Replace that with the matching data here:

Variation A: A1 D8 6E D8 EA D7
Variation B: A1 D8 88 D8 25 D8

Open it in Lunar Magic (it will complain about a bad checksum, ignore that) and navigate to level CD, CE, or CF to see the changes. Level CD only has one variation, so I've made it the same for both A and B.

This is not the correct way to edit these levels.

____________________
キョン
Kyon
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - Choco Island 2? New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

28 database queries, 9 query cache hits.
Query execution time: 0.096180 seconds
Script execution time: 0.019851 seconds
Total render time: 0.116031 seconds