(shouting)

Base ROM Inclusions

Anthrax 2 Multiply Themodynamics
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

Here's 119: From 28.4 to 10.0 kB.
Here's 01C: From 30.4 to 17.7 kB (there's a lot of tiling in here that cannot be reduced)

That still leaves 10B I took yesterday, although looking at the tiling I dont' expect as major improvements as with this one. Those two levels are a lot more complex structures. This probably goes for a several other levels on the list.

Also, good work people. :) With a few more we should be able to gain somewhere like 0.5 MB. XD

Here's some info for the interested people:
-Stretching out the largest segments of one tile(block) is always most optimal. In some cases replacing a tile form the default set with one from Map16 allows you to stretch it a lot further. This goes especially for large dirt sections.

-Selecting larger blocks from the Map16 window also allows you to generate larger segments of alternating tile data. Too bad this doesn't work in diagonal slopes.

-I've seen a lot of occassions where the ledge and dirt tiles are inserted separately. Just by using Tile Command 14 you can easily merge them. It's strange that such a common thing is often not used... It's not only very storage effecient, but the dynamic stretching embedded in the standard commands makes designing levels a lot easier.

-Some levels have several layers of tiles stacked up on eachother, which allows you to hide a 'second' level setup below the actual level this is silly and serves absolutely no purpose. To easily get rid of all those tiles in one go do the following:
  • Open the level, select the entire layer 1 map and copy it into the clipboard (Ctrl+C)
  • Directly after that delete the top layer (just hit delete)
  • All the tiles that remain visible can safely be deleted. So just select the remainder of the map and keep on deleting until there's nothing left.
  • Once the map is clear, paste the layer 1 from the buffer (Ctrl+V)
  • Save the level. You now removed all the hidden tiles that are not used by the actual level in the game.
I just did this for level 01C and cut the file size by two, just by doing that. XD
Attachments
01C_reduced.zip
Level01C reduced 30.4 to 17.7 kB
(10.21 KiB) Downloaded 103 times
119_reduced.zip
Level119 reduced 28.4 kB -> 10.0 kB
(6.51 KiB) Downloaded 115 times
User avatar
yogui
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
Banned
Posts: 0
Joined: 12 years ago
First name: guy who made something
Location: COOL FREE RINGTONES
Contact:

Re: Base ROM Inclusions

Post by yogui »

There is a problem with the FG1 in level A2, it seem the ExGFX was overwritten.

Also if you need help for reducing size of levels, I can do it at least for my level, level 112.
[enable_hats][/enable_hats]
Image
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

yogui wrote:Also if you need help for reducing size of levels, I can do it at least for my level, level 112.
If you think you can optimize the level with more than few bytes (e.g. 1kB) that would be helpful. It also depends on how big your level is to begin with. Small levels hardly allow any significant improvement.
Septentrion Pleiades wrote:It also seems that the lower down the list we get, the more likely that the levels are big due to actually complexity(like level D).
True, but I've looked at the level and if the tiles are reasonably ordened on the Map16 pages there's still a lot to win. Because Level 10B uses a lot of irregular structures, but it was still possible to reduce quite a lot.


Hereby I submit level 10B, 01C & 119 (the last two are further improvements). I've used some of the Map16 tiles on page 3D I reserved some time ago to generate some block patterns, diagonal ones in particular, which occur a lot in most levels. This would have been more useful if this was added at the startup of the project, but that's 20:20 hindsight.

119: From 28.4 to 10.0 to 8.77 kB
01C: From 30.4 to 17.7 to 11.8 kB
10B: From 34.2 to 11.8 kB

Total save of >60 kB. I'll continue on 0C, 0D & 7F.
Attachments
01C+10B+119_Reduced.zip
10B plus 2nd improvement 119, 01C. Also contains necessary map16 data for page 3D (top half claimed by me already)
(22.03 KiB) Downloaded 119 times
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

It seems your right, Septentrion. I could not find anything to optimize for level D other than redoing the entire map16 tiling, which is just too labour intense/error prone. Which means it's hardly worth updating at the moment.

On the other had Terry's level was reduced to virtually nothing, :) That shows that maps based purely on Map16 can still be very efficient!

Anyway, here's a small heads-up:
00C: from 17.0 kB to 3.67 kB!
00D: just a few bytes. Skipped.
07F: from 17.0 kB to 13.5 kB (the layout is just too irregular to optimize anything)

I guess, that from this point onward it's better just to evaluate the optimizations per level. I'll just find a few containing a lot of data that can be easily reduced instead.
Attachments
00C&07F_reduced.zip
00C & 07F reduced (saves 16 kB)
(11.08 KiB) Downloaded 115 times
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: Base ROM Inclusions

Post by limepie20 »

Okay, I haven't done much with level A8 or 1B, so I'll let someone else do it because I am pretty much holding up the process at this point.
Here's level 75, though.
Link
From 28kb to 12.3kb.
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

Ah, that's fine. I guess I'll work them out. Hmm.. those levels were easy enough.
Here they are:

0A8: 26.3 kB -> 8.41 kB
01B: 23.5 kB -> 7.43 kB

Edit: also added 08B+11F+079+112+12F. Total reduction is ~50 kB. It already shows that with the smaller level sizes there's less to optimize. Just a few more, and that's it.

Edit2 (01-07-12): Another update for 124+007+002+080+052+03C+0AA+0A2+018+07E+0A1. Total saved ~90kB, which is still useful. I noticed TurboPup claimed all of page 0C, but only used half of it and never released it. Therefore, I used the left over slots on that page for optimizing his level. All the Map16 tiles are in zip as well. Right now, I'm down to 0E5 on Limpie's reference size list. That's 10 from the bottom of the first picture.

Edit3 (08-07-12): I think I've run just about out of levels that strongly benefit from optimization; I've already skipped quite a few cause most of them are pretty much optimal. Thus 54.8 -> 27.7 kB = ~27 kB saved for levels 0E5 + 085 + 11B + 136.
Attachments
0E5+085+11B+136_reduced.zip
0E5 + 085 + 11B + 136 (27.7 kB saved)
(17.45 KiB) Downloaded 118 times
08B+11F+079+112+12F_reduced (inc Map16 Page 3D updated).zip
08B+11F+079+112+12F reduced
(20.78 KiB) Downloaded 104 times
01B&0A8_reduced.zip
~45kB saved (levels 0A8, 01B)
(8.95 KiB) Downloaded 108 times
SyStemkraSh5642
Posts: 0
Joined: 14 years ago

Re: Base ROM Inclusions

Post by SyStemkraSh5642 »

I apologize for the month-long wait.
A2MT 3.1


+ "Punctuated Time" by limepie20 (006) is inserted
+ "A Gelatin Factory" by Paralars (116) is inserted
+ Frostyfish88's Switch Palace section is inserted (0AB, 0C6, 0C8, 0C9, 0D5)
+ Septentrion Pleiades's Switch Palace section is inserted (121)
+ Lv27MarkerMan's Switch Palace section is inserted (103)
+ Isocitration's Switch Palace section is inserted (FA)
+ Wyatt's Switch Palace section is inserted (FB)
+ SyStemkraSh's Switch Palace section is inserted (F9)
+ Jolpengammler's Switch Palace section is inserted (123)
+ Level 008's midpoint works
+ All currently optimized levels (as of this post) are inserted
+ All issues currently mentioned (as of this post) in "Final Tweaking of Inserted Levels" thread have been fixed or are addressed
+ Level 12F has been retiled
+ Level 0DA (treasure room) by Diortem has been inserted (You can enter it by going through the house in 104, then entering the door at the end)
+ Treasure Chest items list updated

To do:
- Mad Science Laboratory's thwomps need to be fixed (I have no idea what the problem could be)
- Insert graphics for chest items (will work on this after this post)
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: Base ROM Inclusions

Post by limepie20 »

If I understand correctly, this baserom is about 2.8 MB? Is that good?
S.N.N.
Posts: 561
Joined: 14 years ago
Location: Ontario, Canada

Re: Base ROM Inclusions

Post by S.N.N. »

2.8 is pretty good. The amount of space left should be enough to fit in the remaining levels, music, boss areas, whatever really (as long as people aren't overly excessive with resources for the remainder of the hack).
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

Nevermind what was written here!
Basically, I'm just surprised by the amount of levels we have, it's scary in 'list' form, haha
the chillaxest of dragonsImage
Image
Image
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

Actually, Farenheit Something seems to be left uncredited in the level list. (it's amazing the amount of levels that I just have no idea what is in them)
the chillaxest of dragonsImage
Image
Image
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

So... I'm a little loss, and I blame this on me not touching this part of smw hacking in a million years, but:

How exactly does one add a patch to the current baserom? It's been long enough that I tried doing what was written in the readme in the patch section and it doesn't seem to work.
the chillaxest of dragonsImage
Image
Image
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

I guess it's a little bit of both. Basically I found one of Kil's old asm code that I want to use, but I tried writing 'xkas PATCH.asm a2mt 3.1.smc' with the code added to the levelcode file in patch/data.

Unless the code isn't working?

Code: Select all

level19:

		STZ $185C	
		LDA #$20
		STA $40
		LDA $0017
		AND #$40
		CMP #$40
		BEQ PHASE
RETURN19:
		RTS

PHASE:
		LDA #$01	
		STA $185C
		LDA #$81
		STA $40
		RTS
it's supposed to make it so you go through stuff if you press the x button.
the chillaxest of dragonsImage
Image
Image
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

there, new error message
Sans-titre-1.png
the chillaxest of dragonsImage
Image
Image
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

So I just ignore that chest error thing it popped up?
I'm pretty sure I didn't move anything! I just opened up levelcode directly where it is! Unless I'm supposed to patch from somewhere else? I copied and pasted the a2mt file from the 'main' folder to the patch folder, must I not do that?
the chillaxest of dragonsImage
Image
Image
User avatar
raocow
the death of the incredible huge
Posts: 4078
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: Base ROM Inclusions

Post by raocow »

Just wanted to say that it got it to work! Thank you very much!
the chillaxest of dragonsImage
Image
Image
SyStemkraSh5642
Posts: 0
Joined: 14 years ago

Re: Base ROM Inclusions

Post by SyStemkraSh5642 »

A2MT 3.11
I didn't have the file "chest_data_gfx.bin" inserted in the last one; this one should have it now.
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

SyStemkraSh5642 wrote: + All currently optimized levels (as of this post) are inserted
Actually, you missed levels 130, 131, 076. These were in the earliest posts. Those three levels alone contribute to >100 kB in reduction. XD

Also it seems level 124 is broken, because the tiles for page 28 weren't inserted (or overridden). I had to reorder a few in order to make the whole level more optimal. It's in the last post I made. The rest seems okay.

Btw. can the list be reposted for the 10 largest levels? Cause I noticed some new levels, that probably look very inefficient, but it's easier for you to post as you have all the mwl files together. Is size also being considered when new levels are accepted? It's better to have levels fixed before insertion than 'reducing' them afterward.
SyStemkraSh5642
Posts: 0
Joined: 14 years ago

Re: Base ROM Inclusions

Post by SyStemkraSh5642 »

Diortem wrote:
SyStemkraSh5642 wrote: + All currently optimized levels (as of this post) are inserted
Actually, you missed levels 130, 131, 076. These were in the earliest posts. Those three levels alone contribute to >100 kB in reduction. XD
Ah, I apologize; I didn't check the previous page. These levels have been inserted.
Diortem wrote:Also it seems level 124 is broken, because the tiles for page 28 weren't inserted (or overridden). I had to reorder a few in order to make the whole level more optimal. It's in the last post I made. The rest seems okay.
Thank you for catching this; the proper tiles are inserted.
Diortem wrote:Btw. can the list be reposted for the 10 largest levels? Cause I noticed some new levels, that probably look very inefficient, but it's easier for you to post as you have all the mwl files together. Is size also being considered when new levels are accepted? It's better to have levels fixed before insertion than 'reducing' them afterward.
Are you talking about this list?
Image
As for whether the size of the levels matter before being accepted, I'll talk to key lime pie about it.
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: Base ROM Inclusions

Post by limepie20 »

Here is the updated one:
Image
We can ignore the first three because Systemkrash didn't update them in version 3.1, which is what I'm using.
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

Sorry for being vague, but indeed Limepie that is what I meant. Thanks for updating it. :) At least there are no levels above 20 kB anymore, so that's some improvement.

I'll peek into the others just another time. Most of those numbers sound familiar, so I think we're just about through with reducing the existent content.
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: Base ROM Inclusions

Post by limepie20 »

The Price is Right fail theme is working:
http://www.youtube.com/watch?v=zQyEuaQa ... e=youtu.be

Thanks, Diortem and Wyatt!
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

It seems the tile properties of page 3D weren't inserted correctly. All the tiles behave like solid blocks which isn't quite the intended property. Here's the page again.
Attachments
Page 3D Map16Page.zip
page $3Dxx with gfx/properties
(839 Bytes) Downloaded 123 times
SyStemkraSh5642
Posts: 0
Joined: 14 years ago

Re: Base ROM Inclusions

Post by SyStemkraSh5642 »

Diortem wrote:It seems the tile properties of page 3D weren't inserted correctly. All the tiles behave like solid blocks which isn't quite the intended property. Here's the page again.
I think we went over the tile properties before, but it won't hurt to insert a Map16 page again. Thanks!

EDIT: I was doing some optimizations for alex2 in levelcode.asm, levelcodeinit.asm, and sprite tool .asm files by running them through this xkas converter but I ran into some problems. I sent a PM to alex2 asking what to do with these errors, but he hasn't responded. Maybe somebody here knows how to fix this?
SyStemkraSh wrote:Error message 1, levelcode.asm:
Link to photo
Error message 2, tick.cfg:
Link to SpriteTool photo
Link to temp.log photo
I won't be able to insert sprites or patch things until this gets resolved...
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: Base ROM Inclusions

Post by Diortem »

*sigh* it already failed at the second sprite during spritetool. Why are we doing this in the first place?

Unless we are running out of room or experiencing slow down I remain at position that: Modifying things that don't need fixing usually lead to breaking more stuff than one can bargain for. Indeed, I agree that there's plenty of things that are suboptimal (or actual even mediocre), but is it worth going through? Will it be noticeable during game play?
Locked