Banner
Views: 845,128,020
Time:
10 users online:  Atari2.0, Bensalot, Hayashi Neru, ImCos, Infinity, Katrina,  Lazy,  MarioFanGamer, Slash Chen, UTF - Guests: 41 - Bots: 96 Users: 46,476 (2,733 active)
Latest: jaiydin
Tip: Create a thread for your hack in the Works in Progress once you have enough screenshots/videos to show.Not logged in.
Posts by MovementThruPortals
MovementThruPortals' Profile - Posts by MovementThruPortals
Pages: « 1 »
Hi, im new here and i need help.

I hijacked some code in the game that's supposed to modify the ram adress $13E0 wich controls Mario's pose, but not to use the default poses of Super Mario World, I used values that weren't any pose, producing glitched graphics for mario, wich can be corrected to custom poses without overriding default poses by editing the table at $E00C (Mario's upper tile for each pose), the table at $E0CC (Mario's lower tile for each pose) and the table at $DFDA (Mario's 8x8 tiles for each pose). And I have a problem, I need 32(decimal) tiles for my new poses but i can't override any tile already present in the game. I have a few ideas but i don't know how to make them work. I could make the game load ExGFX80 instead of GFX32, put Mario's tiles in ExGFX80 and put the 32 tiles I need where the Yoshi tiles and animated stuff were, or i could make the game load Mario's tiles normally but when it needs to load one of the 32 new tiles, load from ExGFX80. Which routines do i need to hijack to solve this problem?

Thanks in advance!
That might be a little complicated, but i've got an idea: since it's too difficult to move Mario's tilemap to ExGFX, make the tiles used for animations under Mario's tiles move to ExGFX and make the actual animated tiles load from ExGFX, so we have free space for extra Mario tiles! But i need ExGFX that loads every level. What are pages 0xB until page 0x1A in the 8x8 editor in Lunar Magic, i could put the ExGFX there and make an Exanimation loading from there to replace the old animated tiles... I serioulsy need help here. I tried looking at the OAM in-game at the slots for Mario's upper and lower tiles. I was small Mario facing left. I got this:
Mario's upper tile: 23,a0,00,20
Mario's lower tile: 23,b0,02,20
The only thing i noticed is that Mario's upper tile's second byte is the number of the tile(small Mario's hat). Can someone explain me what does those bytes specify?
And by the way, I have no experience with VRAM, can someone explain that to me too?

Thanks in advance!
I think i found the solution, but there are few things missing though...
I discovered page 0xB is ExGFX60 and loads for all levels! ^^ To clear space in GFX33 to use for Mario's tiles, since GFX33 is used for animtions in page 0x0 but only some of them are global, I put the global ones in ExGFX60 which loads for all levels and is used for global Exanimation. Then I made global Exanimation with the copied tiles in ExGFX60 override the tiles in 0x0 with loaded from GFX33, now they load from ExGFX60, clearing space in GFX33. Pretty clever right? I only found in GFX33 22 tiles wich were used in global animation in page 0x0 wich could be overriden, the tiles not used for global animation could not be overriden, causing the game load the same Exanimation for all levels, so now I have 22 free tiles to use for Mario... I still need more... Are there any unused tiles in GFX32 and GFX33 wich i can use? What are tiles A8E and 586?

Thanks!
In addition to what I did, I could make Yoshi load his tiles from ExGFX60. But is that possible? If it is, where do i need to hijack?
OffTopic: In the ROM map i found these debug adresses: $CC85 and $CC86 wich if changed to F0 00 activate Free-Roaming mode. I tested and the only difference is that when Mario jumps he uses the speed jump frame and that he achieves max speed faster. What do they do aside that?

Thanks again!
So, I coded two custom blocks, one that's supposed to be exactly like the upper half of the yoshi and the other that's suppeosed to be like the bottom half of the yoshi coin. The only difference is that it modifies some RAM adresses on being collected. I tried searching for Yoshi coin upper and lower half disassemblies to modify and insert with Block Tool Super Deluxe, but I found none. So i coded those blocks. and set them to act like upper and lower halves of the yoshi coin. It works, but upon being collected they still are solid, but they dissapear though. I tried inserting some code to manually make it dissapear upon being collected but it wont collect the coin, the half you touch dissapears without deleting the rest... So I ask: what is wrong? it should dissapear since it's set to act like yoshi coin, but it doesn't.
Also, if someone could please give me the yoshi coin upper and lower halves disassemblies ready to be reinserted or at least show me where is the yoshi coin code in the rom I would be very grateful!

Thanks in advance!
Yes, that worked! ^^
I did not expect such a fast response nor such an easy and clever solution, Thanks!
Yep, that's right. P-Switch and Starman both last the same number of seconds.
This happened to me when I inserted ExGFX without extracting and reinserting normal GFX. To fix the garbled graphics do the following:
-Open your rom in Lunar Magic.
-Click "File" in the upper left of the screen.
-Click "Restore".
-Click "Restore ROM to previous state".
-Find the line that says "Insert all ExGFX to ROM."
-Click the line right above it.
-Click OK.
-A warning should appear, if you click Yes, Lunar Magic will restore your ROM to the state before you inserted ExGFX, meaning that it will fix the garbled graphics, but you MIGHT lose some of your work. If you press No, that wont do anything and you will still have garbled graphics, it's up to you.
Supposing you pressed Yes, you fixed the garbled graphics but your ExGFX isn't inserted yet. Do the following to insert ExGFX without glitching your graphics:
-Click the Red mushroom at the top of the screen.
-Click the Green mushroom at the top of the screen
-Now click the Yellow mushroom to insert your ExGFX without glitching your graphics.
Hope that helped!
You might wanna transfer your levels, patches and graphics to another, clean ROM, there's a chance that it will fix your problems.
Nice tutorial! It really explains well how to make Graphics, and not just for SMW, for any game, in a kind of 'retro' style! I know well how to make graphics in this kind of 'retro' style, and I feel i should mention some stuff:

The Shape:
Sometimes while making graphics you need to make some more complex shapes, with more curves, like a bird for example. Compare these two variations of a bird:

The right bird is the same as the left, but with one, crucial difference: instead of making curves that are a rought transition beetween vertical and diagonal lines or diagonal to horizontal lines and vice-versa, the transitions are smooth, look:

In a rough transition, the diagonal line is clearly distinguishable, while in a smooth transition, the vertical line, keeps getting shorter and to the right, progressively getting less like a vertical line and more like a diagonal, and the same way as before, switches to horizontal, progressively transforming, instead doing it all at once.
while making small graphics pixel by pixel, getting the right shape to fit in such small space can be a problem sometimes, look:

No matter how I modify the shape, it doesn't look like part of a circle while still fitting in that small space. The solution is: Use antialiasing, doesn't matter if it's inside or outside, as long as your shape looks good and matches the graphics style you want. It acts like the intermediary beetween "Looks like an octagon" and "Too diagonal" and doesn't make the line look too thick.
Pages: « 1 »
MovementThruPortals' Profile - Posts by MovementThruPortals

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy