Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
Acmlm's Board - I2 Archive - - Posts by Exim |
User | Post | ||
Exim Micro-Goomba Level: 6 Posts: 1/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
Ok this is my first post in this forum. I'm pretty new to romhacking so i tried an old nes classic (gem) Solstice. Actually I know where the roomdata starts and a lot of other stuff. But I have absolutely no idea how the rooms are adressed. They seem to be numbred, but I can't find a pointertable. maybe someone else with more experience could help. Here 's what I know: Roomdata starts at 0x018388 Encoded like this (1 byte each if not mentioned) Floorpalette Wallpalette Boarderpalette Roomsize (0x00 = 7x7, ... 0x18 = 3x3) ?? ?? Error if not 0xFF Wall-style-left Wall-style-right Floor-style, (death if bit 7 (128) set) Floor-Graphic 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF Exits, (bit 3, exit left, 2 exit up 1 exit right, 0 exit down) // Per Exit bit set follows { Exit position Next-Room (next room to load) } Number of blocks in the room //For each block { Block-style Blockposition (define by upper and lower nibble.) Block-z-coord 0x80 } That's for sure, I'm still working on enemys, secrets and objects. Now for the graphics: (Those Hex include the header-info) 0x41D0-5100 Floor 0x5B50 following, wall 0x8B87-AAFF Comic-Pics, Intro/Outro 0xABC8-B618 Title-screen 0xBB74-BCD4 "The End" 0xBFEA-EF8A Shadax, Enemys, Items 0x10DE3-119D3 Menu 0x11A1C-11E8C Font 0x11E8C-1258C Title-screen 0x130EA-133BA Company-logo 0x134BA-13BCD Animationgraphics, lightning, dragonskull, princess, Moerbius 0x1E6E0-1FE00 Big Itemgraphics (when you pic up an item) Text: 87D8-87F4 Text: Princess Elenoar is MINE 8819-8847 Text: Too late Shadax! The evil has awakened! 886C-8882 Text: Shadax! Help me! 88A6-88B3 Shadax!! 88D8-88F1 Text: Princess Eleanor! 8913-8930 Text: Morbius! Release her! 8952-89F1 Text: Ha! Ha |
|||
Exim Micro-Goomba Level: 6 Posts: 2/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
I've always preferred Solstice to Equinox As each room has a different sice based on how many enemys and blocks there are, i don't think that the roomadresses are calculated. I don't know how fast the game-rom access is, but on the TI-Graphcalc it was possible to lookup levels by a loop running through the leveldatae looking for end-level-tokens and returned the adress of the needed level. |
|||
Exim Micro-Goomba Level: 6 Posts: 3/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
Finally I've found the damn pointer-table in the game I've been working on. (it was split up in lower and upper part and located at two different positions) actually I would have gathered enough Information about the map-datastructure to write a map-editor. A text-based editor would suck, so I'd like to create a graphical one. My question is: do other editors use copied graphics from the game or do they read the graphics directly from the rom with the corespondig palette? |
|||
Exim Micro-Goomba Level: 6 Posts: 4/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
is there some source-code out there to read and display graphics from a rom file? I don't really feel like reading through hardware and emulation docs. | |||
Exim Micro-Goomba Level: 6 Posts: 5/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
I prefer C++, but I'm able to read/write VB, C-derivates, Delphi and Eiffel. | |||
Exim Micro-Goomba Level: 6 Posts: 6/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
what's about GetPixelAddress (availible in CImage) ? Or do I have to care about the pitch? CreateDIBSection returns a bitmaphandle (HBITMAP) ...?? or does this handle act like a pointer? |
|||
Exim Micro-Goomba Level: 6 Posts: 7/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
Thanks a lot. Hopefully I'll be able to get the job done with this. yes, I'm using MFC. Creating all the windows, buttons, textfields, input, messagehandling my own would drive me crazy I think... never got far beyond creating a window and draw stuff in it with the mouse. I bet when I'd like to add buttons I'd use mfc-objects. |
|||
Exim Micro-Goomba Level: 6 Posts: 8/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
I would prefere a Solstice Hack, For 2 reasons: Equinox sucked (compared to solstice), I know solstice's map-format, but I don't have enough ideas to create a new world. Actually there're some difficulties with some special blocks. Theres a half finished map-editor... by the moment it only displays the rooms. Sadly I've lost interest because of those damn invisible and special blocks, everything else is damn easy to edit. The hardest part was to find the room-pointer table | |||
Exim Micro-Goomba Level: 6 Posts: 9/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
I'm sorry for asking and I know some ppl would like to flame me for this question. Where's my mistake when I try to apply an ips-patch: I tried LunarIPS, and IPSWin2.0 on several super metroid version i've found in the goodsnes collection. The only thing that (sometimes) works after the patch is the nintendo logo... Are those patches for files with or without header? |
|||
Exim Micro-Goomba Level: 6 Posts: 10/10 EXP: 549 For next: 358 Since: 01-04-05 Since last post: 102 days Last activity: 22 min. |
| ||
Damn!! Sorry^2 replied to the wrong thread :shame: |
Acmlm's Board - I2 Archive - - Posts by Exim |