Register - Login
Views: 99852227
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-04-22 10:05:06 AM
Jul - General Game/ROM Hacking - The General Project Screenshot/Videos Thread... New poll - New thread - New reply
Pages: 1 2 3 4 5 6 7 8 9 10 ... 35 36 37 38 39 40 41 42 43 ... 50 51 52 53 54 55 56 57 58 59Next newer thread | Next older thread
xdaniel
980
Level: 64


Posts: 20/982
EXP: 2153846
For next: 60251

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 27 days
Last activity: 1 hour

Posted on 01-29-10 09:27:21 PM Link | Quote
<object width="425" height="344"><embed src="http://www.youtube.com/v/UCcwhScJhjo&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Not done via .obj model files.


____________________
cu xdaniel
messiaen
Catgirl
Level: 68


Posts: 719/1085
EXP: 2596612
For next: 132188

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 01-30-10 02:48:07 AM Link | Quote
Nice use for your DList viewer/parser/logger xdan !

The opposite also would be interesting, however it would require much more work adjusting the F3DEX stuff to Fast3D.

The collision format in Mario 64 is very simple (take a look at the M64 hacking forum), just in case you want to do a better video later on. Or you could just generate an exact equivalent of all polygons into collision triangles.
Conte de Contis
Member
Level: 36


Posts: 39/271
EXP: 299819
For next: 8291

Since: 12-21-09

From: Italy

Since last post: 11.8 years
Last activity: 11.8 years

Posted on 01-31-10 05:57:24 PM Link | Quote
Originally posted by gridatttack
Wow Conte de Contis, those pics looks awesome! I wish I could insert custom gfx to my smw hack...but I dont know how


Ehi it is not that hard! Just press the blue mushroom on Lunar Magic 165, put a bin file named ExGFXxx (xx is from 80 to FFF) into ExGraphics folder created pressing the blue mushroom, press the yellow mushroom, go to SuperBypassGFX (red poisonus mushroom) and select a slot, so you are done. if the file comes with map16 files open the map16page editor, select a page from 2 to F (or 12-1F) and press F3. There are plenty of tutorials in youtube or SMWC (i could not post stuff there ;_

New pic for a my one level hack:


____________________
Where i walk, the grass doesn't grow anymore
xdaniel
980
Level: 64


Posts: 21/982
EXP: 2153846
For next: 60251

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 27 days
Last activity: 1 hour

Posted on 01-31-10 06:58:28 PM Link | Quote
messiaen: I actually thought about converting F3DEX v1/v2 to Fast3D instead of the other way round originally, but as you said, that would be much more work - the vertex buffer size alone, with F3D as far as I'm aware only holding 16 vertices, and later Ucodes holding 32. That thing alone already gave me a headache and I didn't figure out any good "plan of attack" for it...

About collision, I'm not sure if I understand OoT's collision data well enough to actually create some, I only know enough about it so far to have OZMAV interpret it somewhat. I guess looking into how spinout does it with his .obj importer might give me a better clue, if I can understand his python.

Finally, I've been working on the converter more in the last few hours - I highly simplified its usage, for one, compared to how it was before: "F3DtoF3DEX2.exe sm64.z64 test 0x0C" now even spits out a nice, working zmap file to insert into OoT, while with "F3DtoF3DEX2.exe raw.bin conv.bin tex.bin 0xc4c0 0x5f60 0x6ed8 0x89f8 0x96f8 0xa728 0xb240 0xb820 0xbab8 0xc3a0 0xc4c0 0xc070 0xc2a0" you only got converted DLists and haphazardly inserted textures

Thus, the following screenshot was pretty much as simple as "F3DtoF3DEX2.exe sm64.z64 test 0x07" and inserting the resulting map file into the Debug ROM:




____________________
cu xdaniel
Shadic
Alakadoof?
Level: 151


Posts: 3700/6929
EXP: 42382103
For next: 914373

Since: 07-22-07

Pronouns: he/him
From: Olympia, WA

Since last post: 6 days
Last activity: 1 day

Posted on 02-07-10 02:36:06 AM Link | Quote
xdaniel
980
Level: 64


Posts: 22/982
EXP: 2153846
For next: 60251

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 27 days
Last activity: 1 hour

Posted on 02-07-10 07:52:43 PM Link | Quote
First, a video from spinout:

<object width="425" height="344"><embed src="http://www.youtube.com/v/w6OhwwyidRQ&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Next, my try:

<object width="425" height="344"><embed src="http://www.youtube.com/v/8DWkssKoV1s&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

spinout really helped me out here, adding collision and Zelda scene data handling to the converter. It's not perfect yet - with graphic glitches, missing geometry, etc. - but it's still quite something everything considered, I think.


____________________
cu xdaniel
Shadic
Alakadoof?
Level: 151


Posts: 3709/6929
EXP: 42382103
For next: 914373

Since: 07-22-07

Pronouns: he/him
From: Olympia, WA

Since last post: 6 days
Last activity: 1 day

Posted on 02-07-10 09:28:56 PM Link | Quote
Lunaria

Moon Bunny! :3
Level: 139


Posts: 2183/5754
EXP: 32055469
For next: 411976

Since: 07-28-07

Pronouns: she/her
From: pile of fluff

Since last post: 7 days
Last activity: 6 days

Posted on 02-10-10 10:29:19 PM Link | Quote
Did I ever mention I made a aurora unit in 2D? :<

(Room is just a test room to show the GFX)

____________________
Conte de Contis
Member
Level: 36


Posts: 73/271
EXP: 299819
For next: 8291

Since: 12-21-09

From: Italy

Since last post: 11.8 years
Last activity: 11.8 years

Posted on 02-14-10 10:59:11 AM Link | Quote
That looks cool, altough that cutoff below Samus sprite and the outlines that clash with the rest of the stuff, imo.
What is that?

Anyway, time for me:



How do they look?

____________________
Where i walk, the grass doesn't grow anymore
Lunaria

Moon Bunny! :3
Level: 139


Posts: 2208/5754
EXP: 32055469
For next: 411976

Since: 07-28-07

Pronouns: she/her
From: pile of fluff

Since last post: 7 days
Last activity: 6 days

Posted on 02-14-10 01:40:13 PM Link | Quote
The platform samus stands on was just made for a test really quickly, same goes for BG etc.
The main thing was the aurora unit.

Aurora unit wiki entry

-----
Screen 2 and 4 are both too mono colored. Make sure the BG is vastly different from the FG in terms of color/shades in order for it to stick in as a background.

Screen 1: what's up with the blue koopas, in terms of skin color?
Coins that form letters like that is generally bad unless it's like a extra bonus level or something.

Screen 2: way to bright in both FG and BG.

Screen 3: major perspective clash in the graphics.

____________________
Taryn

Passed away.

Thanks for being a part of us, even if it wasn't always on the best of terms.

1987-2014


Level: 204


Posts: 5770/14742
EXP: 121760679
For next: 1589139

Since: 09-01-09

From: Seattle

Since last post: 10.1 years
Last activity: 9.8 years

Posted on 02-14-10 03:30:22 PM (last edited by Terra at 02-14-10 12:32 PM) Link | Quote
Screenshots from my upcoming SMB1 hack, TKB Super Mario Bros. Volume II: Revenge of the Poison Mushrooms. It uses SMB2J graphics and some SMB2J elements such as poison mushrooms and upside-down pipes. It is a sequel to TKB Super Mario Bros., the hack linked to in my signature.











I don't know what happened to the first S in the title screen. I have a title screen editor, but it only works on 40976-byte SMB1 ROMs, and TKB SMB v2 uses a 41488-byte ROM to house the special features. You can probably easily beat my scores once the hack is released

The hack is currently finished partway through 5-2. Special thanks to Onyx for testing.

____________________
TKB Super Mario Bros.
xdaniel
980
Level: 64


Posts: 23/982
EXP: 2153846
For next: 60251

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 27 days
Last activity: 1 hour

Posted on 02-15-10 03:14:17 PM Link | Quote
<object width="425" height="344"><embed src="http://www.youtube.com/v/Wd7OYfBgNlg&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Now THAT's a scary Chain Chomp...


____________________
cu xdaniel
Shadic
Alakadoof?
Level: 151


Posts: 3849/6929
EXP: 42382103
For next: 914373

Since: 07-22-07

Pronouns: he/him
From: Olympia, WA

Since last post: 6 days
Last activity: 1 day

Posted on 02-16-10 01:24:49 AM Link | Quote
plushifoxed

King Yoshi
la chica dijo...

Mood: The current mood of roxiemika at www.imood.com
Level: 119


Posts: 2293/3990
EXP: 18467761
For next: 461530

Since: 08-22-07

Pronouns: it/its or she/her
From: kamihama city

Since last post: 3 days
Last activity: 2 days

Posted on 02-16-10 02:42:01 AM Link | Quote
Supakitsune
Originally posted by xdaniel
Now THAT's a scary Chain Chomp...
That is indeed fairly frightening

Anyway... It's really awesome to see the strides that N64 hacking has taken! Maybe one day soon we'll be hacking GCN games with this level of depth... Wouldn't that be something!

____________________


Hey! YOU! Yeah, you, with the face! Come fold some proteins with us! For SCIENCE!
krutomisi
2480
Level: 94


Posts: 33/2481
EXP: 8266516
For next: 90141

Since: 02-01-10


Since last post: 242 days
Last activity: 182 days

Posted on 02-16-10 10:56:29 AM (last edited by krutomisi at 02-16-10 12:07 PM) Link | Quote

Originally posted by Supakitsune
Anyway... It's really awesome to see the strides that N64 hacking has taken! Maybe one day soon we'll be hacking GCN games with this level of depth... Wouldn't that be something!

Waiting for the SMSunshine editor, eh?

Nah, gamecube editing would be the bomb.

____________________
empty space
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 2819/5390
EXP: 29078587
For next: 256418

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 343 days
Last activity: 343 days

Posted on 02-18-10 04:53:32 AM Link | Quote
02-17-10 11:53:32 PM
Post #2819
xdaniel, is this all documented and/or open source? This is relevant to my interests.

I wonder how feasible it is to port a game from one microcode to another, or write a binary-compatible microcode that isn't so slow and limited (e.g. bigger vertex cache, textures, etc). Fast3D and F3DEX are very similar, but the opcodes are differently numbered... I wonder then if it'd be possible to take the most advanced of that line (F3DEX2?) and hack it to be binary-compatible with F3DEX and/or Fast3D?

Speaking of N64 hacking:
[Direct link]
A backup failure set me back a few weeks, but I've got it back to where it was before, plus some enhancements, such as a status bar, actual menu, and another tool window.

Pictured:
  • Interface with basic decoding. This is showing only one display list - the audience box is another.
  • Comparison to actual game. (Not a great comparison because I can't really get the camera up that high in the game, and the emulator's cheat function doesn't work, so it'd take some hacking I don't feel like doing at this hour. Oh well.)
  • A multitude of tool windows, many of which actually work to some degree.
  • Wallpaper that probably comes as a surprise to nobody.
  • Stupid near-black-on-black window title bars I haven't bothered to fix yet.
  • Totally awesome localization system that will make translation a breeze.


Not pictured:
  • The parts of the localization system that really make it awesome.
  • Highly modular and extensible code that will make such things as add-ons, customization, and support for any hack a snap to implement. It's designed from the ground up to be easy to adapt to damn near anything - eventually I'd like to even support multiple games.
  • Textures, 'cuz they don't work yet. The graphic engine is fully capable, they just aren't decoded from ROM.
  • rsync failing to back up the code properly the first time.


____________________


witty comment
why not?
Peardian

  
Magikoopa

16/3/1: KvSG #479 is up!

Level: 157


Posts: 2949/7597
EXP: 48607994
For next: 971239

Since: 08-02-07

From: Isle Delfino

Since last post: 11 days
Last activity: 11 hours

Posted on 02-18-10 05:07:23 AM Link | Quote
Pretty awesome.


How are you going to handle things like the difference distance models for the slices of the track?

____________________
-Peardian-


"Kindness is the language which the deaf can hear and the blind can see." -Mark Twain


Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 2825/5390
EXP: 29078587
For next: 256418

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 343 days
Last activity: 343 days

Posted on 02-18-10 02:26:28 PM Link | Quote
02-18-10 09:26:28 AM
Post #2825
The game works similar to Mario 64 - all "models" are in fact just programs executed by the GPU (the proper term being display lists). Fortunately it uses a very simple, high-level bytecode, which has no variables, branches, loops, or conditionals - anything that isn't static would be generated on the fly by the CPU, which would just evaluate these things during generation. So it's not too difficult to parse those instructions into a very generic format, closer to traditional 3D models.

The "distance models" are just different display lists. The game saves a load of rendering time by only rendering the areas you can actually see. Tracks have a path with several points, and the game basically uses the nearest point and the direction faced to determine which part to render. The parts overlap to make the transition seamless.
(This is why, if you use levitation cheats or a certain Wario Stadium shortcut, the track ahead of you may be a black void until you actually land on it. The path tracking is tied into the hit detection, so it doesn't realize the visible region has changed until you land.)

What this program does is just parse the already fairly simple commands into even simpler, highly generic ones. When several polygons are drawn one after another, without any change to rendering mode or texture and within one list, they're put into a group. Groups and lists can be named, and there is support for defining their names in a file, but right now they're just named after their memory address.

These lists operate at a much higher level than the N64 GPU, and so don't have to worry about such things as the vertex cache, memory segments, or synchronization. For a textureless rendering like the above, the game has to use many different binary instructions (load vertices into cache, draw triangle, draw another triangle, synchronize, end list, etc), but in this simpler form, there are only two instructions: call another list and draw a polygon group. Also, each instruction has only a single string or integer as parameter. (Hopefully, there will be no need to try to pack multiple parameters into a string. For example, I split "Set Texture S Coordinate" and "Set Texture T Coordinate" into two commands, rather than try to stuff two coordinates into the string. The interface should handle such complexities, so there will be little need to work with list commands directly, once other methods are written.)

The major benefits of converting to this simpler format are: first off, obviously, it's simpler. Compare:
06 00 00 00 07 00 14 08CallList 07001408
04 00 18 60 04 00 01 00
BF 00 02 04 00 02 04 06
BF 08 0A 0C 00 0A 0C 0E
[...]
RenderGroup 04000100
and of course you can rename them to something more meaningful than "07001408".

Secondly, it's microcode-independent, and for that matter, platform-independent. The limitations of the N64 GPU and the F3DEX microcode do not apply. It is up to the Rena*-to-N64 parser routine (or will be, once it's written) to translate these instructions into something the N64 can handle - breaking polygon groups up into vertex cache chunks, inserting sync instructions where necessary, potentially splitting large textured billboards into several small polygons to work around the texture size limit, and warning if the input is simply too complex. That means it would be entirely possible to import a F3DEX display list, and export a Fast3D or F3DEX2 display list, despite them being binary-incompatible and having different limitations. For example you can't directly port F3DEX to Fast3D because of the smaller vertex cache - instructions need to be added and changed. With this system you could even export to, say, Gamecube or PS2 games.

Aside from the obvious possibility that creates of easily moving models between games, I hope to also add support for importing other things. For example, import an SVG image as a flat track, give it some hills and bumps, and then add detail around it. Or import a 3D model directly.

The biggest stumbling block with importing is that any imported model will have to be split into regions the way the tracks are now. That means the editor will have to render at the game's native resolution, and advance slowly along the path, at each point rotating 360°, and determine if enough pixels have entered/left the view to warrant splitting at this point. I know how this will work, but it will almost certainly be slow - something like O(n4). This is why I didn't opt to try to convert to an ordinary 3D model format in the first place, as you'd have to do this on every save, rather than just once on import.
I haven't thought much about exporting to 3D models - best to get it doing what it's intended to do before thinking about such exotic features - but I don't think that will be difficult to do either.

Simply put, although I'm designing it for Mario Kart initially, it promises to have a pretty big impact on other N64 game hacking as well, and perhaps even other consoles.

*Rena stands for Racetrack Editor, Navigator & Assembler and is totally not a backronym.

____________________


witty comment
why not?
Xenesis

Roy Koopa
Actually a Doctor
Level: 101


Posts: 597/2732
EXP: 10487758
For next: 229917

Since: 07-28-07

Pronouns: She/Her
From: Orange Star's Retirement Villa

Since last post: 10 days
Last activity: 1 day

Posted on 02-18-10 07:43:06 PM Link | Quote
All this N64 hacking is pretty amazing stuff.

Makes me feel like a lazy arse and that I should get on with my GBA projects
gridatttack

Buzzy Beetle
Rarity FTW
Level: 42


Posts: 205/375
EXP: 494311
For next: 27051

Since: 08-26-09


Since last post: 5.3 years
Last activity: 2.0 years

Posted on 02-18-10 09:15:32 PM Link | Quote
Wow on the n64 hacking! Could it be possible to import to mario kart 64 a sm64 stage? Like use the bob-omb battlefield as a battle course?

____________________
Pages: 1 2 3 4 5 6 7 8 9 10 ... 35 36 37 38 39 40 41 42 43 ... 50 51 52 53 54 55 56 57 58 59Next newer thread | Next older thread
Jul - General Game/ROM Hacking - The General Project Screenshot/Videos Thread... New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

32 database queries, 1 query cache hits.
Query execution time: 0.132024 seconds
Script execution time: 0.045967 seconds
Total render time: 0.177991 seconds