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

Main - Posts by purplebridge001


purplebridge001
Posted on 09-13-07 11:19 AM, in shooter help Link | Quote | ID: 65299

Newcomer
Level: 7

Posts: 1/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
Unfortunately, the current version of Sprite Tool cannot use custom shooter. (I don't know exact reason, but I think this is bug)
If I remember correctly, the last version that can use shooter is v1.25.

purplebridge001
Posted on 10-02-07 04:34 AM, in SMA4 level card level compressor (rev. 2 of 10-15-07 07:34 AM) Link | Quote | ID: 66885

Newcomer
Level: 7

Posts: 2/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
Wow, great job!
We will be able to create home made levels!
If I remember correctly, we still need to fix the checksum (or something other) in the save data to actually work in SMA4.

EDIT:
It seems that the last byte of input can't compress correctly. (For example, "Hello" becomes "Helln")

purplebridge001
Posted on 08-19-09 04:10 AM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 3 of 08-25-09 01:41 PM) Link | Quote | ID: 113780

Newcomer
Level: 7

Posts: 3/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
I'm very glad that SMA4 hacking is returning!
I made a save data checksum fix tool. It allows hex editing of the sav file.
It also can be used as a region converter, although not tested so much. Change first "SMA4MWE0" to "SMA4MWJ0" then run the tool. You'll get a save data for Japanese version. The reverse is also true probably.

Get v1.1 here (source code included):http://acmlm.kafuka.org/uploader/get.php?id=2066
This tool is now included in SMA4 Save Data Tool package

Credit goes to caitsith2 (checksum formula) and me (program).
-------------------------------------
EDIT1:
v1.1 is released.
Now you don't have to edit both primary and backup slots; this tool will automatically overwrite backup slot data with primary slot data.
Also, it can now detect European version correctly. (SMA4MWP0)

EDIT2:
Edited download link to my newer post.

purplebridge001
Posted on 08-19-09 04:40 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 4 of 08-26-09 09:48 AM) Link | Quote | ID: 113807

Newcomer
Level: 7

Posts: 4/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
I think we can edit the save file directly to add a new e-level without using the e-reader.
The following is my WIP sav file hacking memo, but there is no e-coin things yet.


[e-switch related offsets]
0x0000073B e-switch effect flag 1
Format:
76543210
0:
1:Reduce Power meter to 1/2, shorter running distance to flying
2:Three 1-Ups spawn from blocks
3:Random Item box (When shrinking big to small, an item falls)
4:Slow down Timer
5:Enemies give you 4000 pts
6:Hitting Enemies with fireballs turns them into coins
7:

0x0000073C e-switch effect flag 2
Format:
76543210
0:
1:Double score on everything
2:Replace 1-Ups with 3-Up moon
3:Replace enemies with ones that are harder to deal with
4:Flying Platforms will save you from falling death twice
5:
6:
7:

0x000007E7 e-switch pressed flag?

[e-levels general offsets]
0x00000020 Total coins collected?
0x0000002A Lives (00 = 1 life)
0x0000002E Mario's current status
0x000006FC-??? Items in inventory
0x00000720 Panel 1
0x00000721 Panel 2
0: None
1: Mushroom
2: Flower
3: Star
0x00000724-0x00000726 Score
0x00000727 Current character (00:Mario, 01: Luigi)
0x00000728 Mario's X position in the map screen
0x0000072A Luigi's X position in the map screen
0x0000072C Mario's Y position in the map screen
0x0000072E Luigi's Y position in the map screen

[e-level progress data (the optional things)]
0x000006B9-??? Level completed by Mario flag, 1 bit for each level record
0x000006C3-??? Level completed by Luigi flag, 1 bit for each level record
00(00000000)=No levels completed
01(00000001)=Level 1 completed by Mario/Luigi
02(00000010)=Level 2 completed by Mario/Luigi
03(00000011)=Level 1 and 2 completed by Mario/Luigi

0x00000730-??? "All ace coins collected in single play" flag, 1 bit for each level record

[e-level index data (the important things)]
0x00000029 Current unfinished e-level level record number (0=None)

0x00000030-??? Ace coins available/collected flag, 1 byte for each level record
Format:
NNN54321
NNN: Number of ace coins available in this level
54321: Ace coins collected flag
Example:
00: No ace coins available in this level
20: 1 ace coin available, not collected yet
21: 1 ace coin available, coin #1 collected
40: 2 ace coins available, none collected yet
41: 2 ace coins available, coin #1 collected
42: 2 ace coins available, coin #2 collected
43: 2 ace coins available, coin #1 and #2 collected

0x00000668-0x0000067F? e-coin available/collected flag
Format:
CNNNNNNN
C:e-coin collected flag
N:Level record ID

0x000006B0-0x000006B9? Level playable flag, 1 bit for each level record
00(00000000)=No levels playable
01(00000001)=Level 1 playable
02(00000010)=Level 2 playable
03(00000011)=Both level 1 and 2 playable

0x000006D4-0x000006F3 Level data list

0x00000080 Level record #1 name (FF terminates the string)

0x00000740 Level record #1 icon type and level number (the icon type affects to the icon)
00-3F icon type 0
40-7F icon type 4
80-BF icon type 8
C0-FF icon type C
0x00000741 Level record #1 class and icon

Class
00-07: e
08-0F: Star
10-17: Mushroom
18-1F: Flower
20-27: Heart
28-2F: A
30-37: B
38-3F: C
40-47: D
48-4F: E
50-57: F
58-5F: G
60-67: H
68-6F: I
70-77: J
78-7F: K
80-87: L
88-8F: M
90-97: N
98-9F: O
A0-A7: P
A8-AF: Q
B0-B7: R
B8-BF: S
C0-C7: T
C8-CF: U
D0-D7: V
D8-DF: W
E0-E7: X
E8-EF: Y
F0-F7: Z
F8-FF: PR (hides level number)

Icons for icon type 0
0,8: e-level panel
1,9: Fortress
2,A: Yellow mushroom house
3,B: W8 Battleship
4,C: Cloudy
5,D: Big world flower
6,E: W8 skull
7,F: Fire bros

Icons for icon type 4
0,8: Star
1,9: Castle
2,A: Ghost house
3,B: W8 Fast air ship
4,C: Hills
5,D: Ice
6,E: Hammer bros
7,F: W8 Handtrap? (Incorrect GFX)

Icons for icon type 8
0,8: Quicksand
1,9: Tower
2,A: Air ship
3,B: Coin ship
4,C: Tropical tree
5,D: Piranha Plant
6,E: Boomerang bros
7,F: Some yellow garbage (Incorrect GFX)

Icons for icon type C
0,8: e-level entrance
1,9: Pyramid
2,A: Battletank
3,B: W8 Handtrap's hand
4,C: Ocean
5,D: W8 Fire
6,E: Fat hammer bros
7,F: No icon



EDIT1:
>to Kiiro: I'll check it later. Probably EU version is different from other regions since World-e is some sort of unlockable mode.

EDIT2:
Used "code" tag. Added e-coin flag.

EDIT3:
Added e-switch related offsets, but it is only effective for e-level mode. SMB3 mode is more complex than e-level mode thus I can't find it yet.

purplebridge001
Posted on 08-24-09 05:34 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 3 of 08-25-09 01:37 PM) Link | Quote | ID: 114053

Newcomer
Level: 7

Posts: 5/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
I made an experimental e-level inserter.
This tool can insert a new level into a SMA4 save, so you can test your new level easily without an e-Reader ROM and NO$GBA emulator.
Both compressed and uncompressed level data are allowed.
Please note, this tool is still experimental, and e-coin related things are not tested enough.


Usage: sma4savtool.exe [Mode] [Save data] (3rd argument)
Mode:
-a Add level (3rd argument is level data)
-u Add level as unfinished level (3rd argument is level data)
-d Delete a level completely (3rd argument is level record ID)
-r Delete a level data, but not the record (3rd argument is level record ID)
-c Remove all unplayable levels (3rd argument is ignored)
-f Fix all checksums (3rd argument is ignored)
-l List all levels (3rd argument is ignored)


I also included an alternative compression tool. This one tries both compression modes (0x00 and 0x80).
Sometimes mode 0x80 produces shorter output than 0x00.

Save fix tool v1.2 is also included. The unknown S4RE section was e-coin related data.

Get it here (v0.03)


EDIT1:
If you are using Luigi, Mario's position in the map screen will mess up.
This bug has fixed in v0.02.

Q: Why Mario/Luigi position resets after deleting a level?
A: Well, if you delete many levels, you'll lose a lot of ace coins, and mini-games may be locked again, and if Mario/Luigi is on the mini-game house, you can't escape. The position reset feature prevents this.

EDIT2:
Version 0.03 is released.
Fixed a bug that the unfinished level cannot remove completely.
Also, the level list command (-l) displays ace coin status.
I also added checksum fix command (-f).

purplebridge001
Posted on 08-26-09 09:58 AM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 114134

Newcomer
Level: 7

Posts: 6/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
When I was hacking classic level 1-1, I found that some enemies such as 011D is more than 5 bytes.


Normal 4 bytes enemies:
TT TT XX YY
TT TT: Enemy Type
XX: X position
YY: Y position

Enemy 00FA (Ace-coin) is 5 bytes:
00 FA XX YY nn
nn: Ace coin number (00 is first, 01 is second)

Enemy 011D (Mostly used in classic levels) is 6 bytes:
01 1D XX YY ee xx
ee: Enemy type
00:Goomba
01:Buzzy Beetle
02:Green Koopa Troopa
03:Red Koopa Troopa
04:Spiny
05 and above: Nothing
xx: Sub-pixel offset to X position


Posted by copyRIGHThunter

I see "Silver P-Switch" and "Grey Coin." Is this the one from SMW? Where the you could grab the switch and turn everything into grey coins for 1Ups,2Ups,3Ups, etc?? Has anyone tried to put this in a level and test if it works?


The Silver P-Switch is an item from SMW and it works. But I think it is incomplete. The Silver P-Switch can turn enemies into grey coins, but the music won't change, and its effect lasts very short time.
You'll gain some extra lives if there are enough enemies in short distance.

Posted by copyRIGHThunter

What about the "SMW Goal?"


I think it was scrapped in the early development stage.
If you cut the glitchy moving "tape", you'll see a SMW star-bonus-counter, normal SMB3 goal music will play, and Mario will move to right automatically. The movement is same as the regular SMB3 level ending.
After that, the game waits for a long time, then the game will take you to the map screen.
You won't get any bonus, and it does NOT change "level completed" status.

purplebridge001
Posted on 10-31-09 08:11 AM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 2 of 10-31-09 08:11 AM) Link | Quote | ID: 118331

Newcomer
Level: 7

Posts: 7/7
EXP: 1443
Next: 5

Since: 09-13-07
From: Somewhere in world-e

Last post: 5299 days
Last view: 5299 days
I think the main big problem of SMA4 hacking is lack of level editor.
Has anyone noticed that hukka released the source code of SMB3 Workshop?
http://acmlm.kafuka.org/board/thread.php?id=5748

Unfortunately I don't have Delphi 7 or any GUI skills.

Main - Posts by purplebridge001

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

Page rendered in 0.223 seconds. (337KB of memory used)
MySQL - queries: 63, rows: 82/82, time: 0.214 seconds.