Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,538,944
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-05-24 10:58 AM
Guest: Register | Login

Main - Posts by justin3009

Pages: 1 2 3

justin3009
Posted on 02-19-14 08:01 PM, in My Castlevania 3j hack Link | Quote | ID: 155727


Tektite
Level: 18

Posts: 41/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
The notes themselves work but if you release it on a pay per basis, you will get slapped with a nice big fine. Be wary of what you do when it comes to legality issues like that.

justin3009
Posted on 03-26-14 11:48 PM, in How do I _________..? Link | Quote | ID: 156217


Tektite
Level: 18

Posts: 42/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
Expanding the box size shouldn't be a problem code wise, but there's really not much room on the screen. Many games try to avoid all the way to the edges as they can get 'cut off' on TV. Unless you can think of a way to shrink 'Special Item' down (If it's event related, maybe Key Items?)

Though the other bit of having 4 digit HP could be a hassle. You'd have to update each byte accordingly and add extra code to accommodate for each one.

justin3009
Posted on 04-12-14 05:04 PM, in How do I _________..? Link | Quote | ID: 156346


Tektite
Level: 18

Posts: 43/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
If that's the case, then it's just needed to shrink down that line of text, shove everything over and expand the PC boxes. That's not too difficult unless it's coded like Final Fantasy's mess at times.

For a fourth digit though, I'm sure you can literally copy and paste one of the other digits code and change specific values to match the fourth digit. Something similar was done with Chrono Trigger to add 3 digit MP. It's possible but requires a bit of work to get it.

justin3009
Posted on 04-22-14 01:27 AM, in The General Project Screenshot/Videos Thread... (rev. 2 of 04-22-14 01:30 AM) Link | Quote | ID: 156416


Tektite
Level: 18

Posts: 44/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days


Converting all the menu text into VWF format! Hopefully I'm able to pull through well with this when it comes to Artes/Items.

Edit: Oh right, also new menu look.

justin3009
Posted on 05-07-14 07:49 PM, in Is there a limitation of colors your sprites can have? (rev. 2 of 05-07-14 07:49 PM) Link | Quote | ID: 156498


Tektite
Level: 18

Posts: 45/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
Just a heads up as well for the general rule of thumb.

You can have 15 colors + transparency as said per sprite at most and only 8 sprite palettes on screen at once. (Unless your games like Star Ocean/Tales of Phantasia, then it's only 4 at max unless you drop reflections and such from water and mirrors in the game).

If you go above 8, it'll start overwriting the previous palettes.

justin3009
Posted on 08-01-14 01:50 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 157608


Tektite
Level: 18

Posts: 46/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days


Major update on the main menu! 6 PC's WITH scrolling now done!

justin3009
Posted on 09-02-14 11:27 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 158090


Tektite
Level: 18

Posts: 47/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
I completely agree! I'm honestly not much of an NES player but I have been following the updates on this project the entire time and I love how much you've done. This is an inspiration for other hackers and the like! Congratulations! You've truly done an amazing job

justin3009
Posted on 09-24-14 06:57 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 158514


Tektite
Level: 18

Posts: 48/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
Honestly, no one has any right to talk down to you and treat you like a criminal for this. You want to make your work feel authentic, that is NOT a big deal. If people find that to be a problem and somehow turn that into you wanting profit, then they are reading far too much into things and are just looking for a reason to fight.

You do what YOU want to do. If you have fun with it, continue to do so. If people dislike you for it, so be it. There are few and far between in that case and your work is incredible.

As long as you enjoy it, who cares what others think. It's your work, your time, your creativity and such.

justin3009
Posted on 09-30-14 01:21 AM, in What is a ROM Hack? (rev. 2 of 09-30-14 01:21 AM) Link | Quote | ID: 158582


Tektite
Level: 18

Posts: 49/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
Is there a real possibility of being in trouble via IPS patches, or patches in general?

The main reason, I think, would because you worked inside a game that was copyrighted, but the patch itself is strictly changes, code YOU wrote, which I would think bypass any legality issue.

justin3009
Posted on 10-03-14 07:06 PM, in I know I ask a lot. How do I remove save files? Link | Quote | ID: 158631


Tektite
Level: 18

Posts: 50/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
The savefiles are stored usually as SRM with any given emulator that I can think of. Just delete the .SRM file and your save files will be gone.

justin3009
Posted on 10-23-14 10:48 PM, in Changing Hair Link | Quote | ID: 158852


Tektite
Level: 18

Posts: 51/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
That's pretty possible I believe. You just have to modify the palette, which is very basic with the SNES.

I'd recommend using SNESPal to do so.. but I don't know if she shares colors with anyone, so it could cause a few problems if she does.

justin3009
Posted on 10-26-14 09:18 PM, in Changing Hair Link | Quote | ID: 158874


Tektite
Level: 18

Posts: 52/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
COMPLETELY forgot about the Secret of Mana Editor. That's even better!

justin3009
Posted on 04-11-15 03:56 PM, in Super Mario RPG: 6th Character (Daisy) Link | Quote | ID: 159858


Tektite
Level: 18

Posts: 53/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
(Posted originally on SMWCentral).

What this mini project thing is doing is allowing a 6th fully playable PC into the party, in my friend and I's case, Daisy.

Screenshot:


The menu was actually pretty difficult to add her in. I 'technically' have enough room for a 7th PC too but that won't happen until I can figure out all the assets of the 6th PC first.

What had to be done:

1. The menu had to have a lot of it's HDMA data shoved around due to adding Daisy. All PC stats seem to be covered by it so Daisy's would end up overwriting into Layer 1's area and screwing everything up. Had to shuffle the boxes data I believe to an area that's used in the item menu and ONLY the item menu, so they overwrite each other as needed.

2. Hand palette had to be moved to a new area as well along with the blinking arrows on various screens due to Daisy's overwriting it. I might see in the future soon if I can make them into Layer 3 bits instead to save another palette.

3. Item data was interesting. The game apparently already had 6 slots for item comparison. Daisy's value being '20'. Thanks to Lazyshell, that made it a quick process as a test to make her use all of Peach's items, which now work fully from what I can see. (Temporary item testing).

4. PC Level tables had to be completely shuffled around to add in Daisy and I had to alter their code just a 'tiny' bit to allow use for 6 PCs. I'm thinking I'll redo this code sometime later to make it easier to dictate areas for each PC stats to make it much easier to mess with.

5. PC Names of course had to be moved as well. There wasn't enough default room for Daisy.

6. Sprite data routines had to heavily be altered to an extent. The main code is the same but how it gathered each sprites Bank was redone completely to allow TOTAL bank usage in any area of the game now. This was one of 'the' biggest problems considering it seems the big graphics routine is actually in an area that no debugger can seemingly trace due to how the game is handled in each emulator. No$SNS seems to be able to view it properly but since I can't really trace log..didn't help me in the long run. I had to manually find it since it used the same bank code as the menu PC sprites, thankfully.

7. All in-game dialogue and spell descriptions has been shoved into the expanded area of the ROM and the bank swapping occurs automatically very quickly when each letter is loaded. There HAVE been a few issues with this and I'm incredibly uncertain if they're fixed at the moment. So far, I 'think' it's okay but that won't be known until a full playthrough of the game is done later. But with this, dialogue now has A LOT more room to be expanded.

8. Adding in Daisy's sprites as well. She literally mimics Peach quite nicely at the moment since they're so similar in graphic style (Going by her classic look). Obviously things will change as this progresses but so far it's working nicely.

9. I had to alter how the game loaded battle sprites and menu sprites as well for Daisy. Daisy's data uses two bytes of code while the game was trying to force only one byte usage which caused a huge number of problems. This has been remedied so now it's a lot easier to allow new sprites into the game, though, room is still very restricted. If possible and if it doesn't effect gameplay at all, I'd prefer to have ALL the enemy graphics compressed to save even more room. I'm thinking this shouldn't be too much of a problem as many games tend to go this route, so we'll have to see on it!

10. Battle sprites were horrifying to do. A lot of the animation code FORCES a certain PC graphic bit so I had to dissect it manually to understand how it worked. I had to use Mario's code as a base.. for some unknown reason. Any other one's animation code would cause her to turn into Bowser regardless of what was going on. With that though, she still runs just like Peach and as far as I can see, all generic animations have been updated to work for her.

11. The Equipment data in RAM had to be shuffled down further. The game's stats for PC's go consecutively and Daisy's would overwrite the Equipments. So Equipment got moved down and now Daisy takes it's place. Everything works fine in battle and in the menu along with collecting/deleting items. No worries there.

12. SRAM, sadly, had to be slightly changed. The current location the saved game is on got moved to a blank byte that was always transferred in there to accommodate for space. With that, this allows possibly even 7 PC values to be stored, although, old saved files are not able to be used unless you update SRAM manually, which is just a simple byte change and then moving the PC values back two, no biggy.

13. Battle PC values had to be moved to a blank byte since the graphic pointers were being used RIGHT behind it and Daisy clearly needed two bytes. That's been remedied and works just fine.

14. All Special attack descriptions and pointers have been moved into the expanded space and are working just fine in Lazy Shell. With that, the first five dummy skills and descriptions are now labeled as:

'Daisy 1: This is Daisy 1!
'Daisy 2: This is Daisy 2!
'Daisy 3: This is Daisy 3!
'Daisy 4: This is Daisy 4!
'Daisy 5: This is Daisy 5!

They show up just fine in the menu and battle. I think the first Dummy is used though so I'll probably have to alter things a little, but otherwise she can have her own descriptions now and Special names.




What has to be done:
1. The biggest obvious factor here are animation scripts for items and FP attacks. There is clearly not enough room to add her data in there so I'll PROBABLY have to throw that into another area to compensate. This will probably happen last as it's one of the biggest problems I'll encounter.

2. Full playthrough to scan for bugs. My biggest worry is how the bank swap on text that uses compression (AKA: Mario, I, Booster, etc..) caused a variety of sprite bugs for an unknown reason. Since the sprite code is in an area that cannot be traced due to emulation bug, it makes it near impossible to fix so this has to be watched extremely closely. Right now it seems okay but it could happen again. And if it does, we're in real trouble.

3. Obviously have to do a way to add her into the game! Can't do anything extravagant at the moment since there's not much room to use but maybe in the future a whole new area could be added just to get her as well.

4. Balancing her out and her level up stats. I plan to have her stats start at Level 1 and continue up JUST so we know how exactly strong she will be when she gets added into the party at whatever level. She will NOT be a Peach clone and she will not be a super magic attacking person like Mallow's stats add him up to be.

5. Fully updating Lazy Shell to accommodate for all the changes done into the game. Right now, dialogue works, items work, names work, level up stats work, etc.. The only problems so far is the graphics in Lazy Shell along with the Menus area. I had to nix the old bank code completely in the ROM to allow flexible banking but I'm not sure exactly how Lazy Shell is handling it. As for the menus, I assume it's breaking due to how I altered a couple things in the status menu and such.. not entirely sure though. I'm not a programmer in anything but 65816 ASM so it's incredibly difficult for me to dissect.

But that is all for now! This'll be updated as progress goes but it's relatively slow at the moment!

justin3009
Posted on 04-19-15 11:59 PM, in Super Mario RPG: 6th Character (Daisy) Link | Quote | ID: 159944


Tektite
Level: 18

Posts: 54/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
Translhextion is my go to hex editor or 010 Editor.

What I used was Geiger's SNES9X Debugger so I could trace the code that was needed to be modified and what not. Though, with this game, it's a lot harder than most others because in order to use the expanded space, you have to bank swap. I learned how to do that by doing this project (I had no idea this even existed until then honestly).

justin3009
Posted on 05-13-15 10:24 PM, in Super Mario RPG: 6th Character (Daisy) Link | Quote | ID: 160084


Tektite
Level: 18

Posts: 55/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
THAT'S the biggest problem is having graphics load from the accessable new banks. There is no emulator out there that can properly trace the games graphic routine due to how the handle Mario RPG, so it makes it near impossible to actually make it work. I've got the code to allow it to load graphics from any CURRENT bank but anything in the expanded space is moot due to that big flaw. I wish I knew a way around that so then we could fully use the expanded space but it is an ass to work with.

justin3009
Posted on 04-12-16 11:53 PM, in LAZY SHELL v3.19.0 released (2014-01-22) *REPORT BUGS HERE* Link | Quote | ID: 163026


Tektite
Level: 18

Posts: 56/56
EXP: 29595
Next: 302

Since: 09-08-10
From: Wisconsin

Last post: 2944 days
Last view: 895 days
It sounds like it's basically using 'sub-strings' which is basically what the name implies. A lot of games use this kind of method to help compress text down substantially.

Breath of Fire 2 for example probably has one of the most I've seen for sub-strings. It uses two bytes to dictate that the byte being read is the start of a sub-string, then the byte after dictates which sub-string to load allowing up to 255 sub-strings.

For example:

Like he said, 'To Mario's Pad' is way too long probably for the location it's currently at, then again, maybe it's not but let's say it is.

Say that instead of two bytes for sub-strings, they use one. Say, anything above 'A0' would be considered a sub-string. In this hypothetical case:

A0 = To
A1 = Mario's
A2 = Pad

Basically, it makes one byte represent a word. Note, this may not be exactly how the game does it but various games do use a method like this to save a lot of space when it comes to text.
Pages: 1 2 3


Main - Posts by justin3009

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.238 seconds. (337KB of memory used)
MySQL - queries: 115, rows: 143/143, time: 0.220 seconds.