MeroMero |
Posted on 07-27-16, 05:11 pm in Level Previews
|
Death by cuteness
Karma: 6589 Posts: 491/598 Since: 05-01-13 |
Dammit… I may very well have lit the nuke that will cause my own end…
I'm really sorry in advance for the off-topic, skawo, I know full well that I might get mauled for this. To pinet and Luluca, even though there is no malicious intent behind my action it's very possible you might hate me after this, not counting the fact that I might very well be mistaken, but I have a serious question for both of you: _are you married with each other? This would allow me to answer this: Posted by cros107 ...When did pinet say it was a girls' thing? and this: Posted by Hiccup @Luluca Could you please stop getting offended at things that people didn't say? by saying that if indeed my assertion is correct, then Pinet did say that but most likely just to tease Luluca. As for why I reached this conclusion: Luluca and pinet behaviors toward each other, but I have also other good reasons that I won't communicate for now. |
MeroMero |
Posted on 08-18-16, 02:44 pm in New NSMB Editor Builds!
|
Death by cuteness
Karma: 6589 Posts: 548/598 Since: 05-01-13 |
Pull request done on GitHub with the following files/folders waiting for the update:
_Sprite Images _Resources.resx _NSMBSprite.cs Details: Sprite 21 (Mega Goomba):
Sprite 29 (Princess Peach):
Sprite 35 (Final Boss):
Sprite 41 (Bowser Switch):
Sprite 58 (Bowser):
Sprite 63 (Dry Bowser):
Sprite 65 (CheepSkipper):
Sprites 129 & 140 (Boss Key):
Sprite 229 (Petey Piranha):
Sprite 295 (MummiPokey):
T-Pose illustration implemented
Sprite 245 (Swollen Pipe):
Swollen Pipe implemented
Pump position calculated
Sprites 71, 72 & 297 (Stone Lift):
Height calculated
Sprite 296 (Lift):
Illustration implemented
Sprite 297 (Stone Lift):
Illustration implemented
Sprites 162 & 174 (Mushrooms):
Green mushroom implemented
Sprite 303 (Ball 'n' Chain):
Starting position calculated
Sprites 68 & 71:
Sprite 136 (Pokey):
Modulo taken into account when calculating size If you don't want to wait for the pull request to be accepted, here is a direct download link: nsmb-editor-380b.zip |
MeroMero |
Posted on 08-23-16, 02:48 pm in New NSMB Editor Builds!
|
Death by cuteness
Karma: 6589 Posts: 551/598 Since: 05-01-13 |
Pull request was updated with the following:
_Added support for Chinese NSMB Rom. _NSMBe can open .ids files now. _iQue protection byte will automatically be set to 0 for any NSMB ROM regardless of the region. _When drawing the sprites in the Level Editor, NSMBe now takes into account the Actor itself rather than the Sprite. Actor 28
Green Cheep Cheep implemented
Actor 30
Illustration implemented
Actor 43
Illustration implemented
Actor 60
Copied from actor 28
Actor 64
Illustration implemented
Direction highlighted
Actor 65
Rotation highlighted
Actor 69
Illustration implemented
Actor 79
Big sizes implemented
Actor 105
Copied from actor 190
Actor 108
Copied from actor 107
Actor 124
Horizontal position implemented
Actor 129
Illustration implemented
Actor 130
Rotation highlighted
Actor 134
Illustration implemented
Actors 150 and 157
T-Pose implemented
Actor 154
Copied from 148
Actor 173
Length calculation corrected
Actor 175
Long platforms taken into account
Rotation highlighted
Actor 177
Left and right taken into account
Actors 179, 180 and 181
Shifting 1/2 tile down taken into account
Rotation highlighted
Actor 184
Height calculation corrected
Actor 186
Rotation highlighted
Actor 189
Length modulo 8 taken into account
Actor 190
Length modulo 4 taken into account
Actor 195
Length modulo 8 taken into account
Actors 196 and 197
Height is capped
Actor 202
Pipe points in the right direction
Actor 209
Size calculation corrected
Actor 214
Illustration implemented
Actor 228
Amplitude highlighted
Starting position highlighted
Starting direction highlighted
Actor 230
Amplitude highlighted
Starting position highlighted
Actors 251 and 253
Copied from actor 252
Actors 255 and 256
Copied from actor 254
Actor 259
Brick Block head implemented
Actor 262
Height calculation corrected
Actor 264
Illustration implemented Preview: Enemy generator: Lakithunder: Monty Tank: Rotation: Draw Bridge: Pendulum: Download link: nsmb-editor-380b.zip Posted by LuigiXHero Now we can all hope for working decompress overlays button again. I can try to get it done by next update, but I'm not making any promises. |
MeroMero |
Posted on 08-27-16, 10:31 am in Nintendo's amazing level design (rev. 1 by MeroMero on 08-27-16, 10:32 am)
|
Death by cuteness
Karma: 6589 Posts: 560/598 Since: 05-01-13 |
MeroMero |
Posted on 08-27-16, 09:47 pm in New NSMB Editor Builds! (rev. 1 by MeroMero on 08-27-16, 09:56 pm)
|
Death by cuteness
Karma: 6589 Posts: 564/598 Since: 05-01-13 |
Pull request updated with the following:
_Conveyor Belts direction highlighted as per Hiccup request _Tileset, FG and BG names updated according to KingYoshi's list Conveyor belts only display their arrows when Tileset is either 1 (Castle) or 39 (Tower). The check is done on Tile Numbers rather than Tile Behaviors because the conveyor animations are tied to the former. Download link: nsmb-editor-380b.zip |
MeroMero |
Posted on 09-05-16, 03:18 pm in New NSMB Editor Builds!
|
Death by cuteness
Karma: 6589 Posts: 577/598 Since: 05-01-13 |
nsmb-editor-380b.zip
I finally completed my end of the bargain. On top of the previous changes, what this update brings to the table is something else entirely: _Sprites will take the ActorData from the Actor they are linked to; _Sprites' names on the level editor will now take into account their respective Actor rather than the Sprite itself; _Changes to Sprite<>Actor associations in the table located in overlay 0 will be reflected correctly on the Level Editor upon restarting the NSMBe; _spritedata.xml, while it keeps its name, now holds the data for the Actors themselves rather than the Sprites as it previously did; _the ids in the spritedata.xml field tags now take ids from 1 to 48 (bit), improved from the previous range of 0 to 11 (nybble). _last but not least, SpriteData.cs was modified to make the Level Editor capable of reading and writing SpriteData (or rather ActorData now) bit per bit as opposed to nybble per nybble, allowing for far more accurate parameters (as in taking into account modulos when data was read nybble-wise), or even new parameters that couldn't be previously specified, as shown in some examples below: NEW: Starting direction NEW: Direction NEW: Color NEW: Scrapped width The only thing left, modifying this page, is up to Dirbaio now. |
MeroMero |
Posted on 08-31-13, 09:51 pm in What i am doing wrong? activators
|
Death by cuteness
Karma: 6589 Posts: 26/598 Since: 05-01-13 |
I know what happened :
Your zone is actually taking into account the yellow arrow, which the sprite 168 considers an enemy ! To rectify that mistake just shorten the zone by 16 pixels like this : |
MeroMero |
Posted on 09-07-13, 09:46 am in tutorial Changing Challenge Mode values
|
Death by cuteness
Karma: 6589 Posts: 30/598 Since: 05-01-13 |
Challenge MOD
This is a simple tutorial about how to change which area will have Challenge Mode or not. When you make a level you don't necessarily think about Challenge Mode, but problems arise when it prevents you from finishing the level because it doesn't have the same template as the original level in that slot. This will come to an end now, here is a simple to understand (I hope) guide. How to change Challenge Mode values : Step 1 : Open the NSMB-Editor Step 2 : Go into Tools/Options Tab and click Decompress ARM9 binary Step 3 : Go to the Filebrowser and open arm9.bin with the Hex-Editor : Step 4 : Go to the following offset : 0×26AF8 (US)
0×263A8 (JP)
0×26B80 (EU)
0×26B08 (KS)
0×264E4 (CH) There are 177 (176 in US version) areas in total and each value points to 1 area only, those are in the same order as in the course folder. As a reminder here is the course folder pattern: World
Numbered levels
Letter levels
Ghost House levels
Towers levels
Castles levels
Cannon levels Step 5 : You may want to change a value, this is what each value does : 00 : nothing 01 : Blocks left scrolling 02 : Blocks bottom scrolling Step 6 : Save And that's all you have to do to change a Challenge Mode value to one who fits your needs. Some last minute tips : _If main area doesn't have Challenge Mode, neither should bonuses areas. _Bosses rooms and Cannons levels shouldn't have Challenge Mode enabled. |
MeroMero |
Posted on 10-17-13, 01:26 pm in Board changelog (rev. 1 by MeroMero on 10-17-13, 01:27 pm)
|
Death by cuteness
Karma: 6589 Posts: 49/598 Since: 05-01-13 |
Posted by hamza62240 ... Doh. I don't care about karma. There is just this feature added which is so annoying. I won't care about karma anyway. I don't really know how karma will do anything for you. BTW whatever, I'll try to improve. It's still plain boring. Says the guy who wrote this Posted by hamza62240 Aww Just 65 KARMA RIGHT NOW?!?!? This is bad! >;< and this Posted by hamza62240 uh now it's 60? Please someone vote me up Posted by hamza62240 But it's SO NOT COOL. Now we have to keep trying to get a million +1s to get upper than 0 karma. Plain boring. This is not cool. SO NOT COOL. Truth be told you had it coming, you can't bite the hand that feed you and expect to get away with it now do you ? And Dirbaio, nice update here, but there's a little wrench here, now the karma pretty much acts as your "score" kinda, which makes the real score feature seems kind of useless no ? |
MeroMero |
Posted on 07-27-14, 07:46 am in World 2 and 5 Castles alternate exits
|
Death by cuteness
Karma: 6589 Posts: 101/598 Since: 05-01-13 |
Yep. Those two levels do have an alternate exit (that lead to W4 and W7 respectively), but they're not secret exits in the strictest sense of the term.
How ? Instead of a boss battle, try to put a normal flagpole at the end of the level (like you would in a classic level) , it works and will take you to the next world, right ? Now try to put a red flagpole instead, technically it should lead you to W4 / W7 ? Not really, it will still take you to W3 / W6 ! That's because to trigger the alternate exits in those 2 levels, you have to finish the level while being mini. So no matter the color of the flagpole, if you finish the level while mini, the game will take you to the secret worlds (4 or 7), otherwise it will take you to the normal worlds (3 or 6). If you want to get rid of boss battles, keep this information in mind and design your level accordingly ; otherwise players can abuse this to take the alternate exit even though that wasn't the hacker's intent, like in the commemorative hack for the 3 years of NSMBHD where you can finish the level 5-Castle while being mini to gain access to World 7. |
MeroMero |
Posted on 09-07-14, 11:52 am in The thing with the sprite database
|
Death by cuteness
Karma: 6589 Posts: 125/598 Since: 05-01-13 |
If we want to overhaul the DB, we need to set up guidelines to follow.
First and foremost, should sprites be named by their official names or easier-to-understand names? example: Unagi or Eel. I admit that I'm a bit of an "official-policy" freak, but I can adapt if needed. (btw Freeze actually the sharks are called Hojiro in japanese, not Sushi but that's besides the point) Should the data be listed in the order they appear or should they be listed by category? example: for the Star Coin, should we list its attributes like this: _Number (the most important category first)
Number
_Placement in the scenery (the second most important category)
½ tile right
½ tile down
Behind fence (the least likely to be used parameter last)
_ID (the least likely to be used category last)
Output ID
Timer when ID set Or should we list them in order: _Output ID (nybbles 0-1)
_Timer when ID set (nybble 6)
_Behind fence (nybble 8)
_Number (nybble 9)
_½ tile right (nybble 10)
_½ tile down (nybble 11) Value of 0 for things like speed, size, etc. Speed should only have a default value of 0 only AND only if it means the sprite won't move at all. Think about it, you set up a sprite and you leave the speed at 0, it means the sprite will stay idle. In my head a speed of 0 means 0 km.h-1, it means 0 mph, it means 0 m.s-2, it means no acceleration, no momentum, no speed, NO MOVEMENT. If the sprite has even the faintest movement, then it's not idle thus its speed is not equal to 0. If that's the case, put a default value of 1 in the sprite DB. What I said for speed also goes for length, size, opacity, etc. I just can't count anymore the number of times I had to go to the sprite DB and put a value of 1 (or more sometimes) because of that technicality. Event controllers: Freeze, IIRC event controllers always had shitty parameters on the Database. I mean usage mode: unknown??? Jesus Christopher Christ, it should be "On while trigger ID is on". On that note: _Target Event ID should be Output ID (target) _Triggering Event ID should be Input ID (trigger) Controversial cases: Nybble 5 for Sprite 155 (Warp): as you know ticking this will disable sounds when you change area but it works only on emulators, if you try that on a real NDS the game will freeze the moment you go through the Warp. Should we leave the parameter, knowing it will break on a real NDS? I always thought that attribute shouldn't be there. Hiccup, on the other hand thinks the opposite. I would like more opinions on this. Modulos That's more like a current limitation of NSMBeditor, but I suggest there should be another column called modulo when you edit a sprite. For example the opacity setting gets applied a modulo 32, so if we type in the hypothetical cell called modulo to value 32, only the values between 0 and 31 can be selected. Sprites 83 and 84 There's simply too much subtle details for all of them to be taken into account without ending with a huge ass description for said sprites. Goal / Suggestions The idea I'm trying to convey is that we should get an idea of the formatting before attempting to update the database. I'm more than honored that you think highly of me MarioSunshine, but this not something I (or anyone else for that matter) should do as a lone wolf, that's something that should be decided as a team, for that we could elect a council with some of the most sensible users. 10 users seems good enough, give or take 2. That pretty much rules out members who mass-modified the sprites just to change ONE lower-case letter to a upper-case letter on the sprite's name *cough*. Of course ray and Freeze your input will definitely be useful here, after all you are the ones who came up with the thread. I say if a sprite has all its data documented (complete with the models it uses) then it should be locked to prevent any further modification (kinda like the wiki pages). We should have some people granted with the title of Database Keeper. It may seem elitist but really database used as mean for information is not something to be tampered with everyday. I mean once data is documented, usually it's here to stay, no to be changed left and right. If someone with made a discovery but has not the right to modify the database, it can still put in the modifications but they will saved in a queue instead, waiting for one of the database keeper to approve (or disprove) the modifications, the user will be "credited" for the modification if it get approved though. That should prevent noobs to modify the database on a whim. I probably have forgotten some things, feel free to add suggestions if you feel like it |
MeroMero |
Posted on 09-14-14, 05:15 pm in HGSS Teaser: Arceus ??? type (rev. 1 by MeroMero on 09-14-14, 05:16 pm)
|
Death by cuteness
Karma: 6589 Posts: 130/598 Since: 05-01-13 |
Self-explanatory video
|
MeroMero |
Posted on 11-28-14, 07:55 pm in download Zoom sprite helper (rev. 1 by MeroMero on 11-28-14, 07:58 pm)
|
Death by cuteness
Karma: 6589 Posts: 173/598 Since: 05-01-13 |
Download : Zoom.zip Nothing impressive, but it should cover the basics. The tile with the 84 inside is the tile where the sprite is positioned. Vertical / horizontal black line is the vertical / horizontal axis (duh). If width = 0, the leftmost and rightmost tiles will be colored (infinite width). If height = 0, the topmost and bottommost tiles will be colored (infinite height). Scrapped width is actually zoom right / 32 rounded down. Width and height accept values between 0 and 15 included. Both zoom accept values between 0 and 255 included. Modulo 32 is applied afterwards. Theoretically if height / width is set to infinite you should be able to activate the zoom from anywhere while you're in the red zone; in practice the zoom will activate only if you are close enough from the sprite (10 tiles max or so while you are in the red zone). So yes you may need to put multiple zoom sprites if your level layout demands it. Yes this is an .html file (shame on me), because I can't make a real program for shit |
MeroMero |
Posted on 02-26-15, 07:42 am in release Super Mario: Endless Earth (rev. 1 by MeroMero on 02-26-15, 07:51 am)
|
Death by cuteness
Karma: 6589 Posts: 232/598 Since: 05-01-13 |
Luckily for you, one of the best synonyms for endless is infinite, turns out that the infinity symbol (∞) is symmetrical in nature, albeit spreads out horizontally rather than vertically.
The lack of vertical spreading can be fixed by filling the remaining space with the planet Earth's symbol, so either the female/planet Venus symbol flipped vertically (♁), or the globe with the equator and a meridian (ⴲ). Good luck with your hack |
MeroMero |
Posted on 03-23-15, 07:44 pm in New Actor discoveries (and extra info on old ones) (rev. 4 by MeroMero on 03-24-15, 01:40 pm)
|
Death by cuteness
Karma: 6589 Posts: 255/598 Since: 05-01-13 |
Banzai Bill (Class ID 238) has the exact same sprite data as Bullet Bill (Class ID 27).
When SMW meets NSMB ! Thunder (Class ID 97) can only be heard once per view, no matter how many copies of the sprite there are in a single view. Oh and Classes ID 255 and 256 mean that sprites 169 and 171 are technically not defunct. In fact they are fully functional as long as their parent, the Spin-Block (sprite 95) is present in next to moderate vicinity. Hiccup, you want to fix those: Raining debris should have Class ID 121 instead of 122. Unknown camera actor should have Class ID 236 instead of 238. Also, here have a +1 (surprised the OP didn't get any more +1, you got a GOOD idea here). EDIT: |
MeroMero |
Posted on 04-28-15, 09:20 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 Posts: 311/598 Since: 05-01-13 |
Posted by Shadey21 Could you explain how you go about doing it? I've looked for a few tutorials on here and on google but no luck. An alternative would be to go and grab the NSMB IDA database from Dirbaio (who have my thanks BTW), this is how I figured and tested most of the data. ______________________ Tempo hacks: Time to activate the Fast Tempo: Overlay 0 Data type: Qword Relevant data: 64 (100) Full data: 64 00 50 E3 08 00 00 CA* Offsets: 0×A0BC (US) 0×99E8 (EU) Actual Fast Tempo value: Arm9 Data type: Word Default data: 66 01 (358) Offsets: 0×57474 (US) 0×473DC (EU) Secondary Fast Tempo value: Overlay 0 Data type: Word Default data: 66 01 (358) Offsets: 0×A4EC (US) 0×9E18 (EU) Fast Tempo check on Area load: Overlay 54 Data type: Word Default data: 66 01 (358) Offsets: 0×C644 (US) 0×B954 (EU) *If the Fast Tempo check is different from the Secondary Fast Tempo value, then the Hurry Up tune will play on level start if the timer is set on 100** or less, not unlike New Super Luigi U. This is the only reason you want to consider changing the Fast Tempo check at all. Be warned though that in doing so the Hurry Up tune will play every time the game needs to load an Area (merely changing the View is not enough thankfully). To circumvent a bit that problem change 64 00 50 E3 08 00 00 CA on Overlay 0 into 64 00 50 E3 08 00 00 1A; changing that lone nybble from C to 1 is enough to change the conditional branching from BGT to BNE. Now the Hurry Up tune will play only AND only if the timer is at 100 (not 99, 50, 101, 300, whatever… just 100). It doesn't resolve the problem completely since if you happen to change Areas when the timer is at 100, the Hurry Up tune will play again, but at the very least the problem is scaled down by quite a margin. **Assuming default settings. |
MeroMero |
Posted on 02-04-16, 08:22 pm in Misc. patches thread (rev. 1 by MeroMero on 02-04-16, 08:27 pm)
|
Death by cuteness
Karma: 6589 Posts: 344/598 Since: 05-01-13 |
Download link updated in the footer. Anyone is free to use this ROM Hack as a base. If somehow you were working on a non-European version of NSMB and still want to use all the modifications done on the code, know that NSMBeditor allows you to extract and replace whole folders, and if you click replace, every destination file within that folder whose name matches that of the source file will get replaced. This comes handy if you want to export all your work on a European version of NSMB. Next thing to come from me won't be an ASM Hack but a tutorial on how to learn and master the "Background Sharing Method". |
MeroMero |
Posted on 03-03-16, 10:03 am in tutorial Fix bottom background in slot 51
|
Death by cuteness
Karma: 6589 Posts: 369/598 Since: 05-01-13 |
d_2d_W_M_back_jungle2_ncg.bin
This tutorial looks a lot like the one I did for the Bottom Background 36, well this is because the modus operandi is mostly the same. Step 1 : Open the NSMB-Editor Step 2 : Go into "ROM File Browser" tab and look at overlay9_0.bin size: If it's over 200,000 bytes, proceed directly to step 6. Else if it's only around 120,000 bytes, then : Step 3 : Go into "Tilesets" tab and open Tileset 0 (Jyotyu) : Step 4 : Save without modifying anything and close the Tileset tab : What you just did here is decompressing the overlay9_0.bin so that it's over 200,000 bytes. For the Chinese version, decompress overlay 0 with an older version of NSMBe (revision b356 for example will do). Step 5 : Now you can go back to "ROM File Browser". Step 6 : Open overlay9_0.bin with the Hex editor : Step 7 : Go to the following offsets and change the values: US
0×30E40: E5 00 => E2 00
0×31300: 0B 02 => 07 02
0×31430: 87 01 => 84 01
JAP
0×30240: E5 00 => E2 00
0×30700: 0B 02 => 07 02
0×30830: 87 01 => 84 01
EUR
0×30654: 2E 01 => 2B 01
0×30B14: 54 02 => 50 02
0×30C44: D0 01 => CD 01
KOR
0×30300: E3 00 => E0 00
0×307C0: 09 02 => 05 02
0×308F0: 85 01 => 82 01
CH
0×30300: E3 00 => E0 00
0×307C0: 09 02 => 05 02
0×308F0: 85 01 => 82 01 The first value refers to the graphics (.ncg), the second to the design (.nsc) and the last one to the palette (.ncl). Step 8 : Save and Exit the Hex Editor. Step 9 : Close NSMB-Editor so that the changes are registered and open it again. Step 10 : Now go to "Backgrounds" tab and open BOTTOM 51 : By doing this little trick, you just gain one more background to use! |
MeroMero |
Posted on 03-04-16, 06:07 pm in guide Tilesets and textures (rev. 1 by MeroMero on 03-05-16, 02:36 pm)
|
Death by cuteness
Karma: 6589 Posts: 370/598 Since: 05-01-13 |
As you are aware, some tilesets load textures from the polygon_unit folder.
Here are listed all the tilesets (sans Jyotyu) along with their Map16 Tile Numbers who link to a texture: Sub Nohara
Castle Top 432: I_toride2_1 433: I_toride2_2 434: I_toride2_3 435: I_toride2_4 436: I_toride2_5 437: I_toride2_6 438: I_toride2_7 439: I_toride2_8 440: I_toride2_9 441: I_toride2_10 442: I_toride2_11 443: I_toride2_12 Castle Right 496: I_toride1 497: I_toride2 498: I_toride3 499: I_toride4 500: I_toride5 501: I_toride6 502: I_toride7 503: I_toride8 504: I_toride9 Tilesets 1, 39, 41, 49 & 58 Wire net 512: wire_netting2 513: wire_netting3 514: wire_netting4 515: wire_netting6 516: wire_netting7 517: wire_netting9 518: wire_netting10 519: wire_netting12 520: wire_netting13 521: wire_netting14 522: wire_netting15 523: wire_netting17 524: wire_netting1 Pillar 533: I_hashira_lu 534: I_hashira_cu 535: I_hashira_ru 536: I_hashira_l 537: I_hashira_c 538: I_hashira_r 539: I_hashira_ld 540: I_hashira_cd 541: I_hashira_rd Tilesets 2, 6, 20, 52 & 53 Quicksand 48: I_ryusa_1 (cycles from I_ryusa_1 to I_ryusa_4) 49: I_ryusa_ue1 (cycles from I_ryusa_ue1 to I_ryusa_ue4) Tileset 47 Quicksand 217: I_ryusa_1 (cycles from I_ryusa_1 to I_ryusa_4) 218: I_ryusa_ue1 (cycles from I_ryusa_ue1 to I_ryusa_ue4) Wire net 512: wire_netting2 513: wire_netting3 514: wire_netting4 515: wire_netting6 516: wire_netting7 517: wire_netting9 518: wire_netting10 519: wire_netting12 520: wire_netting13 521: wire_netting14 522: wire_netting15 523: wire_netting17 524: wire_netting1 Pillar 533: I_hashira_lu 534: I_hashira_cu 535: I_hashira_ru 536: I_hashira_l 537: I_hashira_c 538: I_hashira_r 539: I_hashira_ld 540: I_hashira_cd 541: I_hashira_rd Textures are drawn on a higher layer than the tilesets. This means that if an object is drawn on one of the Tile Numbers respective to one of the tilesets specified above, it will simply and purely get overwritten by the texture (also this is done behind the scenes, by that I mean that the texture is drawn before the area being loaded fades in). But this is not bad since that means we don't have to draw those textures in the tileset at all, this allow us to save space on the tileset. For example look at the vanilla Desert tileset: By erasing the quicksand from the tileset, you can use 8 more 8×8 tiles. Tip 1: you can optimize your tilesets (other than Jyotyu and Sub Nohara) by making them 256×144 pixels large instead of the usual 256×112 pixels, but keep in mind that Sub Nohara will be sacrificed in the process for any tileset above 256×112, so do that only if you are sure that you will never need Sub Nohara for the tileset you want to expand. Tip 2: This is already known but it doesn't hurt to remind everyone about this; use 4 palettes per tileset, there's no reason not to. As a teaser for the next tutorial, know that tilesets can be made up to 256×208 pixels large, but this requires overlapping into the foreground and into Sub Nohara. |
MeroMero |
Posted on 03-05-16, 02:31 pm in guide Tilesets and textures
|
Death by cuteness
Karma: 6589 Posts: 373/598 Since: 05-01-13 |
No tileset use 256×144 pixels (or more than 256×112 for that matter) and for good reason actually, you'll see why.
As for resizing the tilesets, then: _Go into the BG_ncg folder; _LZ Decompress the tileset you want; _The filesize should be brought to 28,672 bytes (0×7000); _Click on Hex Edit; _Select the last 8,192 bytes (0×2000), the best way to do that is to go to offset 0×5000 and begin the selection from there; _Copy/Paste until the filesize reaches 36,864 bytes (0×9000); _Save and exit the Hex Editor, now you can click on LZ Compress and you'll be able to import 256×144 images into the tileset that was modified. But don't do that until you're absolutely sure that the tileset you're using can afford to sacrifice the Sub Nohara tileset! This is something that completely escaped my notice until now because the one tileset on which I applied that modification was (of course) the one tileset I didn't need to Sub Nohara to begin with. But still if you want to try that method, tilesets used only for Castles or Towers for example are a good start since it's unlikely you'll need to use Sub Nohara in conjunction with the aforementioned tilesets. |