AdamCatalyst Posted April 21, 2023 Report Share Posted April 21, 2023 (edited) How-To: Edit the Rink, Sideboards, & More (NHL '94) This thread collects the invaluable insights posted by @Drezz, @Jkline3, @kingraph, @smozoma, @von Ozbourne, @wboy, and others. My goal here is to aggregate some of this information, and present it in a user friendly manner. Furthermore, I would encourage anyone to post their own tips and tricks below, and I will do my best to cross-reference them to this first post, or incorporate them into the Tutorial when I find time. I’ve separated information into multiple posts, which are indexed below. Index Basics. Intermediate. Advanced. Tips, Tricks, & Resources. Edited December 27, 2023 by AdamCatalyst Updating naming 2 3 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 21, 2023 Author Report Share Posted April 21, 2023 (edited) How-To Edit the Rink, Sideboards, & More 1. Basics Before We Get Started Skills. You will need to already have basic competence using a Hex Editor, and a Tile Editor with NHL ’94. Do a search on this forum to find resources to get those basics down first. Hex Editor. I’ll be using Hex Fiend on my Mac, but you should use whatever you feel most comfortable with. They are almost all identical in principle. Tile Editor. I can only recommend TileMolester 0.16, since it is the only one I use. I’m sure there are other ones that work great. Photoshop Compatible Bitmap Editor. This isn’t necessary, but being able to use the included Photoshop compatible resources will make editing the Rink or Sideboards quicker & easier. Emulator. I’ll be using the OpenEmu package which I highly recommend if you are on a Mac. If you are another platform, anything that can play Mega Drive ROMs and take pixel perfect screen shots will do. ROM. Use any NHL 94 era ROM that you like, but if you want to follow along I’ll be using this test version of NHL ’94 ROM that has been modified to be 2 megs in size and to have the Checksum removed. This makes it slightly more adaptable for modding without changing anything of substance. NHL 94 (UE) [!] [h] 2MB.bin.zip Principles Graphics are built from 8 x 8 pixel Tiles. These Tiles are utilized by a Tile Map, which specifies which Tiles to use, and how to use them. There is a Tile Set associated with each Tile Map. The Tile Map selects which tiles to use by references to this Set. Tile Maps The spatial information of the Tile Map is stored in a grid. Below is the Tile Map grid for the Sideboards. The Hex code shown above each 8x8 pixel tiles is the Address in the ROM where that Tile is specified in the Tile Map. The Sideboards Tile Map starts at 0x0BDB6A and ends at 0x0BE268. Load the ROM in your Hex Editor and go to the address 0x0BDB6A, you will be at the top left tile of this Tile Map, and should see something like this. This is the code that specifies each Tile in the Tile Map. Tile Set At each Address in the Tile Map, you will find a reference to a Tile with the relevant Tile Set. Below is the Tile Set for the sideboards. Tile Sets are also stored as a grid, often 16 tiles wide. Go to address 0x0BDB6A in your ROM and you should see 0000, which means that it is using Colour Palette 0, and Tile 000 below. You may notice that some tiles look different in use (above) than in the Tile Set (below). This is because the Tile Map can specify a different Colour Palette, Horizontal & Vertical Orientation for each tile. More on this later. Suggested Basic Exercise Using your Hex Editor, take a look around at various addresses in the Tile Map. You should be able to… Find the exact tile address that you are looking for, and read the four digits (2 bytes) located there. Note how the last two digits at that address always correlates to the last two digits of the corresponding Tile in the Tile Set. If you can do that, you should be ready to move ahead to Intermediate! Edited January 18 by AdamCatalyst fix typos 2 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 21, 2023 Author Report Share Posted April 21, 2023 (edited) How-To Edit the Rink & Sideboards2. Intermediate Understanding How Layouts are Specified Within the Tile Map, each tile is specified using a 2-byte (4 digit) code. This code contains five parameters for each tile. Tile Set Reference Which Tile from the Set should be used? Horizontal Orientation. Should the tile be flipped Horizontally? Vertical Orientation. Should the tile be flipped Vertically? Colour Palette. Which Colour Palette should be assigned to this Tile? Z-Depth. Should this Tile be shown in the background (standard), or as an overlay (overlapping Sprites)? These five parameters are encoded in the 2-byte code as follows: First digit = Vertical Orientation, Colour Palette, Z-Depth. 2nd digit = Horizontal Orientation 2nd, 3rd, & 4th digit = Tile Reference Understanding the Tile Map Code Here is how to read and specify Tile Map code. Start with the Tile Reference Lookup the three digit code for the Tile that you want to specify. Use that as your base.+ x000 = The Tile in the first column, first row of the Tile Set. Horizontal Orientation Add 1 to the second digit in order to flip the Tile horizontally.+ x8xx = Horizontally Flipped. Vertical Orientation Add 1 to the first digit in order to flip the Tile upside down.+ 1xxx = Vertically Flipped. Colour Palette In the Rink & Sideboards, there are usually four colour palettes available. They are numbered 0,2,4,6. Add the Palette number to the first digit.+ 0xxx = First Rink Palette.+ 2xxx = Second Rink Palette+ 4xxx = Home Team Palette+ 6xxx = Visitor Team Palette Z-Depth By default tiles will be shown in the background, behind sprites. Add 8 to the first digit in order to specify the Tile as an Overlay (in front of Sprites).+ 8xxx = First Rink Palette, Overlay. Examples 009A = Use the Tile in Row 10, Column 11 of the Tile Set, with the First Colour Palette. 109A = Everything above, Second Colour Palette. 189A = Everything above, Horizontally flipped. 289A = Everything above, Vertically flipped. A89A = Everything above, displayed as an Overlay. Suggested Intermediate Exercise Check out the Tile Set for the Sideboards (in the previous Basics section). Notice how at the Tiles 049, 04A, 04B, 04C, 04D, 04E, 04F, 050, 052, 053, 054, 055 059, 05A, 05B, there appears to be some of the Tiles for the Pro-Set logo used in NHLPA Hockey ’93? These tiles don’t appear to be used anywhere. Check out the Tile Map for the Sideboards (in the previous Basics section). Look at the Tiles from BDD44 to BDD4E, BDD84 to BDD8E, BDDC4 to BDDCE. That’s 18 tiles worth of space, doing nothing right now. Put some of those Pro-Set Tiles up on the big board, and test it in your Emulator. There are not enough tiles to create the full Pro-Set logo, but there is more than enough to practice placing, flipping, and setting Palettes for these tiles. Once you can do that, it's time to move ahead to Advanced! Edited April 22, 2023 by AdamCatalyst Visual Examples Added. 3 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 21, 2023 Author Report Share Posted April 21, 2023 (edited) How-To Edit the Rink & Sideboards 3. Advanced Tile Syntax Reference Once you get the hang of understanding this 2-byte code, all that you will likely need are the references below. Second, Third, & Fourth Digit + 0xxx Tile Reference Second Digit + 8 Horizontal Flip First Digit + 1 Vertical Flip + 0,2,4,6 Colour Palette + 8 Overlay Tile Map & Tile Sets Locations Please note, in each of the diagrams below, I have omitted the addresses for Tiles that caused errors when I modified them. I recommend leaving them as-is. Sideboards This is the background used when you start or pause a game. Tile Map 0xBDB6A to 0xBE268 Tile Set 16 Columns x 14 Rows @ 0xBC066 (770150 decimal) Rink This is the background used when you are playing the game. Tile Map 0xB8A8E to 0xBAA6C Tile Set 16 Columns x 27 Rows @ 0xB518A (741770 decimal) Rink (Reverse) This is the background used when viewing the Instant Replay in Reverse view. Tile Map 0x599A8 to 0x5B986 Tile Set 16 Columns x 27 Rows @ 0x56064 (352356 decimal) Overlays These overlays appear over the screen in special circumstances. Regular Overlays Tile Map 0x5B986 to 0x5C408 Instant Replay Reverse View Overlays Tile Map 0xBAA6E to 0xBB4EE Stars of the Game Graphic Overlay This is the graphic that appears in the Stars of the Game overlay. By default there are not tiles being shown, but if you specify Rink tiles at these addresses, they will show up as per the diagram below. 0x5BBE2 to 0x5BBEE 0x5BC42 to 0x5BC4E 0x5BCA2 to 0x5BCAE 0x5BD02 to 0x5BD0E Rink Instant Replay Controller Overlay This is the controller overlay that briefly appears on the top left of the screen when initiating Instant Replay. It shares a Tile Set with the Rink. 0x5B9C8 to 0x5B9D8 0x5B9C8 to 0x5BA38 0x5BA88 to 0x5BA98 0x5BAE8 to 0x5BaF8 Rink (Reverse) Instant Replay Controller Overlay This is the controller overlay that briefly appears on the top left of the screen when initiating Instant Replay Reverse View. It shares a Tile Set with the Rink (Reverse). 0xBAAAE to 0xBAABE 0xBAB0E to 0xBAB1E 0xBAB6E to 0xBAB7E 0xBABCE to 0xBABDE Suggested Advanced Exercise Share what you know! Write a post below sharing your best tips, tricks, resources, methods, whatever. Every little bit helps us all help eachother. Edited August 6, 2023 by AdamCatalyst Fixed typos. Thanks @jkline! 3 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 21, 2023 Author Report Share Posted April 21, 2023 (edited) How-To Edit the Rink & Sideboards 4. Tips, Tricks, & Resources Work Flow Templates & More Here is a robust set of PNGs and Photoshop compatible files to get you started. You can update these Photoshop files with your own Layout and Tile Sets, giving you an ongoing reference. I highly recommend that you try using these. NHL 94 - Rink & Sideboards - Resources - v1.1 2023 04 21.7z Work in The Matrix If you set your Hex Editor to be showing 48 columns of 2 bytes groupings (4 digits) at a time, you will be able to more easily navigate the layout in the code. Look at this example below, showing the Instant Replay Overlay, and its Tile Map. In the code you can actually see the cluster of values where the controller overlay appears on the screen. If 48 is too many columns for you, even setting your Hex Editor to 24 or 12 columns wide can still make is easier to navigate. Specific Areas The Bottom of the Rink If you decide to edit the area in the Rink below the bottom net in the Rink, note that some of these tiles are specified as Overlays, so that the Glass & Boards overlap the player Sprites. If you are drawing or editing this area (perhaps adding a Trapezoid line), you will likely have to specify that some Tiles as Backgrounds and some tiles as Overlays in order for it to look right. Centre Ice Logo The centre ice logo can be rotated, see @Jkline3 Rotating Centre Ice Logo thread for more details. You can go further than that… On 4/25/2023 at 8:45 PM, Jkline3 said: …you can do some fun stuff with the center ice logos by combining the "traditional" 6x4 center ice tiles with surrounding tiles. You can enlarge the logo and also use a common palette (second palette is generally most versatile) to create a universal logo for a ROM - international events, tournaments, etc. […] The center ice tiles also don't HAVE to be at center ice, they can be moved around and manipulated using the techniques you've outlined above. Check out @Jkline3 post below where he shares these Centre Ice Logo Customization Tips with visual examples. Instant Replay Reverse View The Instant Replay Reverse View uses a different Tile Set from the regular Rink view. While most of these tiles are the same, many are relocated to different addresses, some have been modified, and some don't exist at all. If you do want to keep the Reverse view up-to-date as you modify the Rink, I highly recommend taking the time to make your Regular & Reverse Rink Tile Sets as identical as possible, with the differences being in the Tile Map code. This is a big time investment at first, but in the long run, it has made maintaining consistency between these two views trivially easy for me. Colour Considerations Most of the game is coloured using the first two available palettes, seen on the ice and in the audience respectively. But the Home and Visitor colour palettes can be used in place of them, to all kinds of interesting effects. From @von Ozbourne's posts below: Quote " …just like the main menu foreground/background assets, if you use palette 4xxx or 6xxx for any tile, it will mimic the home or away uniform colours respectively. So you can have a home crowd [see @Sean's NCAA games for an example of this], and could possibly have a few disturbers intermingled, or have the arena painted something other than grey, so it looks more like a different place for every team. In the proof of concept above, note how the background for the menu shifts when a new team is selected. More Tiles Please Eventually you will get to a point where you will need to free up some more tiles in order achieve your creative goals. There are a few tiles that you can replace with others, without having an obviously negative effect. There are far more tiles that you could re-claim if you creatively revise some sections of the layout. I highly recommend downloading a bunch of other people's ROM mods, and checking out their Tile Maps to get a sense of what can be changed. There are countless approaches and great ideas out there. Below are some examples from my ROMs. Top & Bottom of the Rink Below are excerpts from the top and bottom of the rink, with some suggested tiles that you can free up. On the Left, note the horizontal seam running through the glass. You can remove the tiles used for this seam (along with a unique tile on the ice that isn't necessary) to free up 11 tiles to re-appropriate for other elements (right). Instant Replay Controls Overlay Below left is the Instant Replay Controls Overlay, which uses ~30 unique Tiles. Below right is a redesign that uses only 14 Tiles, giving you 16 free tiles. Flip it Good Remember that you have the ability to flip tiles, as this can be hugely helpful in creating efficient designs. Below is the NHL logo I drew for the Scoreboard. The logo occupies 14 tiles, but it only utilizes 10 unique tiles in the Tile Set, since the Tile used at 0xBDD4C, 0xBDD8C, 0xBDDCC, and 0xBDE0A reuses tiles and horizontally flips them for efficiency. References Edited April 28, 2023 by AdamCatalyst Added Instant Replay tip. 4 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 21, 2023 Author Report Share Posted April 21, 2023 (edited) Next Steps… When editing the Rink, you might want tor move around some of the tiles that have animation. Here is how you can edit that animation too! Edited December 27, 2023 by AdamCatalyst new resource Quote Link to comment Share on other sites More sharing options...
kingraph Posted April 21, 2023 Report Share Posted April 21, 2023 Thank you! Your clarity, organization, and helpfulness is off the charts. This is just beautiful work. 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 21, 2023 Author Report Share Posted April 21, 2023 Thanks man!!! Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted April 22, 2023 Report Share Posted April 22, 2023 Thanks man. I was wondering where that replay overlay code was. The only tip I can share is that just like the main menu foreground/background assets, if use palette 4xxx or 6xxx for any tile, it will mimic the home or away uniform colours respectively. So you can have a homer crowd [see @Sean's NCAA games for an example of this], could possibly have a few disturbers intermingled[?] or have the arena painted something other than grey, so it looks more like a different place for every team. 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 22, 2023 Author Report Share Posted April 22, 2023 8 hours ago, von Ozbourne said: The only tip I can share is that just like the main menu foreground/background assets, if use palette 4xxx or 6xxx for any tile, it will mimic the home or away uniform colours respectively. So you can have a homer crowd [see @Sean's NCAA games for an example of this], could possibly have a few disturbers intermingled[?] or have the arena painted something other than grey, so it looks more like a different place for every team. There is SO much unlocked potential with this idea. Do you mind if I incorporate this under Tips @ Tricks, or would you prefer a link back to your post instead? Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted April 22, 2023 Report Share Posted April 22, 2023 2 hours ago, AdamCatalyst said: Do you mind if I incorporate this under Tips @ Tricks, or would you prefer a link back to your post instead? That's a good question. I suppose I should have put together a tutorial and some screenshots like jkline's center ice logo, but all of my tests haven't made it past the half baked stage yet and wouldn't really be a good example of the potential. Still need some work, but I suppose I do have these previews if you want to use them. [This was in the works before Drezz posted his amazing background mod and made this kind of tile ordering and conservation obsolete] 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 22, 2023 Author Report Share Posted April 22, 2023 30 minutes ago, von Ozbourne said: That's a good question. I suppose I should have put together a tutorial and some screenshots… You don't have to do any of that! Just sharing the idea is useful. Not everyone would ever think of such a thing. 1 Quote Link to comment Share on other sites More sharing options...
Jkline3 Posted April 26, 2023 Report Share Posted April 26, 2023 Was away this weekend and finally had some time to dive into this as it deserves far more than just a passing glance. Thanks so much for putting this together Adam! The references are absolutely incredible. Even things that I've been tinkering with for years feel so much clearer - and no more counting 7 tiles over from a known location since you've included all the addresses to boot! The only thing I could add would be that you can do some fun stuff with the center ice logos by combining the "traditional" 6x4 center ice tiles with surrounding tiles. You can enlarge the logo and also use a common palette (second palette is generally most versatile) to create a universal logo for a ROM - international events, tournaments, etc. Not sure what it would be useful for but the center ice tiles also don't HAVE to be at center ice, they can be moved around and manipulated using the techniques you've outlined above. Thank you again for putting this together! 1 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted April 26, 2023 Author Report Share Posted April 26, 2023 Thanks man!!! This is exactly the kind of tip I was hoping to corral. So many great ideas out there. I updated the Tips post to quote you, and link back to your visual examples. Thanks again! Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted December 6, 2023 Author Report Share Posted December 6, 2023 OK, I'm stuck on something and could use some help. I am experimenting with relocating some of the audience, but it only re-locates their main tiles, not their animations. How does one relocate the animation tiles? How and where are they specified? Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 2 hours ago, AdamCatalyst said: OK, I'm stuck on something and could use some help. I am experimenting with relocating some of the audience, but it only re-locates their main tiles, not their animations. How does one relocate the animation tiles? How and where are they specified? Hmm... You aren't per chance trying to implement a certain animation change are you? Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 Actually in all seriousness, I think this one might[?] be plausible, as there is some code after the animated sprite tiles that looks like[?] something similar to the animated Stanley Cup in '95 on the Playoff Bracket screen, but unfortunately any kind of messing around I tried with that just crashed the game. That being said, I didn't try that hard, so there is a good chance I was just missing some key thing. Or there is always that chance that it is compressed like the ref animations and off limits for the time being. Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted December 6, 2023 Author Report Share Posted December 6, 2023 Omigod, I forgot that's what you were pursuing on that thread! Yea, I'm doing the same, but for much less ambitious ends. If I could just disable some animation, I could scrape by. If you had any notes or anything you were willing to share I'd appreciate it. I keep targeting blocks of code that looks like it might do what I want, but it ends up having no effect on the game. I'm clearly missing something. Somewhere. Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 (edited) 2 hours ago, AdamCatalyst said: Yea, I'm doing the same, but for much less ambitious ends Whoa whoa whoa! Just for the record, I was not trying to incorporate betting ads into my games. Actually... if you were just trying to disable some of the animations, you could always go the low tech method. I needed to disable some animation for a project that needed the arena to be smaller, a la community centre, plus while exploring options for the obligatory outdoor rink. Found the section where the sprites for overlaying the animated portions of the crowd sit here. Plus what might[?] be part of the code that controls animation as it directly follows the sprites and the games seem to follow that convention. What I ended up doing was just make the animation sprites that overlay the sections in question, into transparent blocks and called it good enough. Edited December 6, 2023 by von Ozbourne 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted December 6, 2023 Author Report Share Posted December 6, 2023 JKline suggested the exact same solution to me, and in truth, that trade-off might work. I just don't want to indulge that possibility yet. Thanks for posting this. Will go poking through the code where you indicated. Clearly the areas I was looking at were wrong, since I couldn't even break the game by zero-ing it out! Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted December 6, 2023 Author Report Share Posted December 6, 2023 (edited) @von Ozbourne You inglourious basterd! That's it!!! It's all there!!! If I start zeroing out code from 0xA5B1E onwards un 0xA78AE, it stops the crowd animation from running. If I adjust values I can change the tile, palette, and position of each animation instance. After an hour of getting no work done, here is what I surmised. There seems to be a repeated 8-byte pattern for 7568 bytes, so 946 entries. From what I can tell, each 8-byte cluster works like this… Byte 1–2 = X-Position, in pixels, +4. Byte 3–4 = Y-Position, in pixels. Byte 5 = Tile Row if over 15? Byte 6 =Tile Row & Column Byte 7 = Palette & Horizontal Flip Byte 8 = unknown… help! OK, If I'm right, that would mean that entry 0xA5CC6… 0028 0018 0065 2000 …indicates the outstretched GREY arm of an audience member near the top left. If I change it to the following: 0058 0048 0066 2800 …we should get the RED outstretched arm (horizontally flipped) of an audience member appearing somewhere around the top-left face-off circle. OK, let me go run the code… It's a BINGO!!! I mean, it's close enough. Severed red arm in the corner. Obviously my counting is off, but the principle is there. We can now move animation around! EDIT. I've put up a new thread to try and share these findings. Please come add to it if you can! Edited December 27, 2023 by AdamCatalyst added link to new thread. 1 Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 43 minutes ago, AdamCatalyst said: You inglourious basterd! That's it!!! It's all there!!! Oh no... What have I done!?! Quote Link to comment Share on other sites More sharing options...
kingraph Posted December 6, 2023 Report Share Posted December 6, 2023 41 minutes ago, AdamCatalyst said: @von Ozbourne You inglourious basterd! That's it!!! It's all there!!! If I start zeroing out code from 0xA5B20 onwards un 0xA78AE, it stops the crowd animation from running. If I adjust values I can change the tile, palette, and position of each animation instance. After an hour of getting no work done, here is what I surmised. There seems to be a repeated 8-byte pattern for 7568 bytes, so 946 entries. From what I can tell, each 8-byte cluster works like this… Byte 1–2 = X-Position, in pixels, +4. Byte 3–4 = Y-Position, in pixels. Byte 5 = Tile Row if over 15? Byte 6 =Tile Row & Column Byte 7 = Palette & Horizontal Flip Byte 8 = unknown OK, If I'm right, that would mean that entry 0xA5CC6… 0028 0018 0065 2000 …indicates the outstretched GREY arm of an audience member near the top left. If I change it to the following: 0058 0048 0066 2800 …we should get the RED outstretched arm (horizontally flipped) of an audience member appearing somewhere around the top-left face-off circle. OK, let me go run the code… It's a BINGO!!! I mean, it's close enough. Severed red arm in the corner. Obviously my counting is off, but the principle is there. We can now move animation around! Interesting, I found a similar type of 8-byte pattern dealing with the Stanley Cup animation that @von Ozbourne mentioned above in my '95 ROM project. It was way-back-when, but here were my notes on how the 8-byte pattern in case you find this useful/correlates: https://forum.nhl94.com/index.php?/topic/18130-nhl95-expanded-rom-project/&do=findComment&comment=170815 Much of the coding I found in '95 worked in the same way as '94, so hopefully it helps. Side note - my goal for the particular piece of the project was to reduce the size of the image used for the cup as it was causing an overload of the banner image. I ended up shrinking the total size by just repeating the same 4 cup images, but technically the code was still changing images (i.e. spinning). So I never really changed it to a static image. 1 Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 3 minutes ago, kingraph said: Side note - my goal for the particular piece of the project was to reduce the size of the image used for the cup as it was causing an overload of the banner image. I ended up shrinking the total size by just repeating the same 4 cup images, but technically the code was still changing images (i.e. spinning). So I never really changed it to a static image. Hold on.... So does that mean that if say, to "reduce" the size of the image, one could theoretically trade the spinning cup out for a version of maybe half the size and have transparent/static image for the rest of the sprites and that might still work? Quote Link to comment Share on other sites More sharing options...
kingraph Posted December 6, 2023 Report Share Posted December 6, 2023 8 minutes ago, von Ozbourne said: Hold on.... So does that mean that if say, to "reduce" the size of the image, one could theoretically trade the spinning cup out for a version of maybe half the size and have transparent/static image for the rest of the sprites and that might still work? Depends. I think (pretty sure) the way the image "size" works with regards to the impact on memory is the number of tiles loaded for the image, not necessarily what is displayed. For example, let's say an image uses 100 tiles that are all displayed in a 10x10 layout. You then reduce the image to a 10x9 image (90 tiles) and make the remaining 10 unused tiles transparent. The displayed picture will be 90 tiles, but the game still loads all 100 tiles. No effective change to image size on the memory. If, however, you instruct the game (change the header) to load only 90 tiles and then display those 90 tiles, you've effectively changed the size of the image and freed up some memory. In that regard, you wouldn't even have to bother making the unused tiles transparent because they never get loaded to begin with. Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 3 minutes ago, kingraph said: For example, let's say an image uses 100 tiles that are all displayed in a 10x10 layout. You then reduce the image to a 10x9 image (90 tiles) and make the remaining 10 unused tiles transparent. The displayed picture will be 90 tiles, but the game still loads all 100 tiles. No effective change to image size on the memory. Alright. Couldn't help myself, quickly mocked up an idea and it looks like maybe a third of the original animated tiles would still move, while combining the classic and modern sensibilities. Assuming this is enough to not overload the memory, this might open up some interesting possibilities... 1 Quote Link to comment Share on other sites More sharing options...
kingraph Posted December 6, 2023 Report Share Posted December 6, 2023 6 minutes ago, von Ozbourne said: Alright. Couldn't help myself, quickly mocked up an idea and it looks like maybe a third of the original animated tiles would still move, while combining the classic and modern sensibilities. Assuming this is enough to not overload the memory, this might open up some interesting possibilities... Oh that's sweet. And you're right, the question is what number of tiles would trigger that memory overload (assuming you'd be using the expanded ROM). I reduced from 612 to 124 in my original hack. You could always reverse engineer the "break" by loading larger images until you see the noise hit the top of the screen to see how much graphic room you have to play with. That huge cup is 124 tiles (repeating 5x). If your mock up needs to have half of that (roughly speaking) to rotate, that would be ~62 tiles for each of the additional 4 images (could be less if tiles can repeat), or another 248 tiles. So if I were to stress test this idea from the start, I'd try to load an image of 372 (124+248) tiles and see what happens. Quote Link to comment Share on other sites More sharing options...
smozoma Posted December 6, 2023 Report Share Posted December 6, 2023 How close are we to fights in the stands? Also I'm now imagining animated splash/cover screens Quote Link to comment Share on other sites More sharing options...
von Ozbourne Posted December 6, 2023 Report Share Posted December 6, 2023 36 minutes ago, smozoma said: How close are we to fights in the stands? We talking like.... Or maybe if Mike Milbury whacking some guy in the face with his own shoe is too much, maybe just that old guy in the blue sweater getting tired of that kid that keeps banging on the glass so he pelts him in the back if the head with a beer can. 1 Quote Link to comment Share on other sites More sharing options...
Jkline3 Posted December 6, 2023 Report Share Posted December 6, 2023 Based on the available animations it would probably look more like the Alexander Semin slap fight. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.