Register - Login
Views: 99348909
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-21-22 05:32:40 PM
Jul - SM64 Hacking (Archive) - FlatWorld Battlefield, Take Two (New flat empty level template! TT64 v0.5.98b!) New poll - New thread - New reply
Pages: 1 2 3 Next newer thread | Next older thread
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: 2481/5390
EXP: 29044401
For next: 290604

Since: 07-22-07

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

Since last post: 330 days
Last activity: 330 days

Posted on 03-25-08 06:47:12 AM Link | Quote
Jul - Post #2481 - 03-25-08 01:47:12am
Originally posted by VL-Tone
The 0xBF command will use triangles available in the vertex cache.

BF 00 00 00 00 [00] [0A] [14]
Does Mario 64 not support the Draw 2 Triangles command?
//B1 aa bb cc ?? dd ee ff (?? is probably unused)
//a, b, c=Vertex #s * 2 that form the first triangle
//d, e, f=Vertex #s * 2 that form the second triangle
Also regarding clockwise/counter-clockwise, there should be a command to disable culling so that a polygon will be visible from both sides, but I don't know what it is. This likely wouldn't affect hit detection though; there might be a flag in the collision data that does it.

Interesting those seem to be raw Fast3D commands, that means you could do fun stuff like alpha blending if you knew how to work it.

____________________
messiaen
Catgirl
Level: 68


Posts: 9/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-25-08 04:27:47 PM (last edited by messiaen at 03-25-08 07:30 PM) Link | Quote
Now I think I got it right!




---

I'm trying now to do Flatworld Battlefield with four triangles, using a extra vertex. That is my triangle design:




And these are the most relevant commands (I also changed all the pointers)

04 40 00 00 07 00 00 00 <------ Loads 5 vertices at 0x0000 in current bank (0x07)
[Edit: I tried to change byte four to [50], nothing happened. Do I need to change anything at the last three bytes or would that just be necessary if I had another group of 0xBF commands?]

BF 00 00 00 00 00 28 14 <------ Triangle command
BF 00 00 00 00 14 0A 28
BF 00 00 00 00 1E 0A 28
BF 00 00 00 00 00 28 1E

[Edit: looking some geometry data in the ROM, it seems that BF commands are usually used just two or three times after the 0x04 command, and then followed by 0xB8. Have to look further on it].

The problem is that when playing the level, there are only 2 triangles, instead of four! Is there something I'm missing?



With this solved, I could just elevate the Y value of vertex 04 and get a nice mountain .


Also, I have a question about this command:

00 00 00 02 <----- Loads 2 collision triangles

Adding more triangles is just a matter of changing that last byte (2) to the
number of triangles I want? Or is this a command I need to replicate?
Joe
Common spammer
🍬
Level: 111


Posts: 357/3392
EXP: 14485592
For next: 382768

Since: 08-02-07

From: Pororoca

Since last post: 19 hours
Last activity: 3 hours

Posted on 03-26-08 12:09:50 AM Link | Quote
Well, it looks like you've got two of your triangles backwards. Try this:

BF 00 00 00 00 00 28 14
BF 00 00 00 00 28 0A 14
BF 00 00 00 00 1E 0A 28
BF 00 00 00 00 1E 28 00

____________________
涼宮ハルヒの憂鬱。見て。
The Melancholy of Haruhi Suzumiya. Watch it.
messiaen
Catgirl
Level: 68


Posts: 10/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-26-08 12:28:34 AM (last edited by messiaen at 03-25-08 09:38 PM) Link | Quote
Thanks, now it works . Forgot to switch to counter-clockwise mode! By the way, as long as I go counter-clockwise, it doesn't matter which vertex I begin with, right?

Now time to add more vertexes and triangles .
Joe
Common spammer
🍬
Level: 111


Posts: 359/3392
EXP: 14485592
For next: 382768

Since: 08-02-07

From: Pororoca

Since last post: 19 hours
Last activity: 3 hours

Posted on 03-26-08 12:40:09 AM (last edited by Joe at 03-25-08 09:41 PM) Link | Quote
Right. It's basically just picking a vertex and going from there.

____________________
涼宮ハルヒの憂鬱。見て。
The Melancholy of Haruhi Suzumiya. Watch it.
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: 2485/5390
EXP: 29044401
For next: 290604

Since: 07-22-07

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

Since last post: 330 days
Last activity: 330 days

Posted on 03-26-08 03:45:12 AM Link | Quote
Jul - Post #2485 - 03-25-08 10:45:12pm
Originally posted by messiaen
[Edit: looking some geometry data in the ROM, it seems that BF commands are usually used just two or three times after the 0x04 command, and then followed by 0xB8. Have to look further on it].
Assuming you meant 0xBF, that would be because of the vertex cache. It only holds 16 vertices. 0x04 loads vertices into it, and 0xBF uses them.

____________________
messiaen
Catgirl
Level: 68


Posts: 11/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-26-08 11:50:45 AM (last edited by messiaen at 04-09-08 08:21 AM) Link | Quote
Yes, I understood that. I thought that maybe the problem was that somehow the 0x04 command had to tell how many vertices would come next, but that doesn't seem the case (that is, unless you add another groups of 0x04 + 0xBF commands, then I think there is some pointing involved, which I'll try to study next with the help of the Hacking Docs). Anyway, it was just a plain stupid mental error, looking at those triangles many times and not figuring out some of them were clockwise.

Regarding the collision command, the only way I got it to run was doing the 0x02 command two times, but probably there is another way of doing this I'm not aware of.

00 40 00 05 <------ Loads 5 collision data vertices

[...]

00 00 00 02 <----- Loads 2 collision triangles
[two triangles]
00 00 00 02 <----- ""
[two triangles]

---

Screenshot:



There is a problem with the texture, but that is because I was more interested in the 0xBF command X,Y,Z parameters and didn't care for the other bytes. Will try to solve it later.

Edit: I replaced Twomp's Fortress with another copy of Battlefield too. I just copied it to 0x1300000 and changed a few pointers (thanks to the ROM banks, this is very easy).

Edit2: Good reading for collision data info (and terrain types)

Stevoisiak
Member
Level: 38


Posts: 59/283
EXP: 345403
For next: 25044

Since: 11-22-07

From: New York, Long Island

Since last post: 12.3 years
Last activity: 5.6 years

Posted on 03-26-08 09:27:29 PM (last edited by Stevoisiak at 03-26-08 06:27 PM) Link | Quote
Hey, messiaen. With those kinds of hacking skills, ever consider making your own game hack for people to play? And if you cant create a creative enough hack, maybe you can be of help to someone else! Also, VL-Tone, I am still wondering about that spiral you created in your vid. Also, I have an idea. Would it be possible to cut out a peice of land, like the floating island in the sky for instance, and turn it into a moveable object? Or maybe that giant spiral you made.
messiaen
Catgirl
Level: 68


Posts: 12/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-26-08 10:57:16 PM (last edited by messiaen at 03-26-08 10:59 PM) Link | Quote
Hi Stevoisiak. I'm very inexperiencied in TT64 and whenever I got a good working geometry I'll sure release the IPS so power users can create their hacks. However, remember that TT64 won't update the modified geometry.

This is my latest design, the colored areas have different (crescent) Y values, so it resembles more a mountain than my previous one.



Triangles (Collision / Level Polygon)

[0A, 09, 08 / 64, 5A, 50 -> light blue triangles (center)
0A, 08, 0B / 64, 50, 6E]

[04, 05, 09 / 28, 32, 5A -> blue triangles
09, 05, 08 / 5A, 32, 50
08, 05, 07 / 50, 32, 46
08, 07, 0B / 50, 46, 6E
06, 0B, 07 / 3C, 6E, 46
06, 0A, 0B / 3C, 64, 6E
06, 04, 0A / 3C, 28, 64
04, 09, 0A / 28, 5A, 64

[04, 03, 01 / 28, 1E, 0A - yellow triangles
04, 01, 05 / 28, 0A, 32
05, 01, 07 / 32, 0A, 46
07, 01, 02 / 46, 0A, 14
07, 02, 00 / 46, 14, 00
06, 07, 00 / 3C, 46, 00
06, 00, 04 / 3C, 00, 28
00, 03, 04 / 00, 1E, 28]

I got it to work, but I have no clue how to get the textures right (see Project64 screnshot in the previous post to get what I mean). It is something related to the Bytes 9-12 in the vertex list, but these are over my knowledge and probably very difficult (maybe impossible) to calculate manually without some powerful 3D program.

* Vertex list format
Bytes 9-12: (S,T) Texture coordinates as two 16-bits 10.5 signed floats. You can change these to affect the scale of the texture.

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: 2495/5390
EXP: 29044401
For next: 290604

Since: 07-22-07

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

Since last post: 330 days
Last activity: 330 days

Posted on 03-27-08 04:52:54 AM Link | Quote
Jul - Post #2495 - 03-26-08 11:52:54pm
Texture coordinates aren't that difficult:



____________________
Joe
Common spammer
🍬
Level: 111


Posts: 363/3392
EXP: 14485592
For next: 382768

Since: 08-02-07

From: Pororoca

Since last post: 19 hours
Last activity: 3 hours

Posted on 03-27-08 04:55:10 AM (last edited by Joe at 03-27-08 01:57 AM) Link | Quote
(ninja'd.)

The difficulty here is that they're floating-point numbers. Which are easy enough to calculate, but kind of bothersome because nobody uses 16-bit floats anymore.

____________________
涼宮ハルヒの憂鬱。見て。
The Melancholy of Haruhi Suzumiya. Watch it.
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 193/621
EXP: 1135268
For next: 21851

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.6 years
Last activity: 1.2 years

Posted on 03-27-08 05:24:13 AM Link | Quote
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Nice to see your progress messiaen

I was about to suggest that you make a pyramid before you decided to do it

As for textures, well they can be a little more complicated. I think that HyperHacker gave you a nice example here. You should also try to investigate more about the 10.5 float-point number format.

You're right that for complex models, texture coordinates would need some complex calculation to do them right. But for a simple "height terrain" like that, you could do it "by hand" using your existing geometry coordinates directly.

Just take your X and Z coordinates, add some number to them so that they don't go under zero, then divide by some number to make them vary from 0.00 to 1.00. Then multiply by some number to get the texture repeated. The repeat setting on the terrain in Flatworld will simply repeat (wrap around) the texture when you get values higher than 1.0.

It's pretty simple, but if you get vertical walls, this technique won't give you good results.

Stevoisiak:

The spiral is made out of "pushable metal boxes" placed in the level using some equation, it's not a geometry hack. As for cutting a piece of the land to make it movable, it's certainly doable "by hand", and it still would require a lot of work, but creating a user-level feature to do that would be a lot more work. Essentially, with a built-in geometry editor in TT64, it would be possible, but it's far from being done yet.

____________________
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: 2499/5390
EXP: 29044401
For next: 290604

Since: 07-22-07

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

Since last post: 330 days
Last activity: 330 days

Posted on 03-27-08 05:01:19 PM Link | Quote
Jul - Post #2499 - 03-27-08 12:01:19pm
16-bit floats? Unless you mean 16-bit fixed-point or it's just storing the upper half of a 32-bit float... I would have expected it just stores the coordinate times some value as a 16-bit integer (e.g. times 1024, so 0.5 becomes 512 etc).

____________________
Joe
Common spammer
🍬
Level: 111


Posts: 367/3392
EXP: 14485592
For next: 382768

Since: 08-02-07

From: Pororoca

Since last post: 19 hours
Last activity: 3 hours

Posted on 03-27-08 10:00:44 PM Link | Quote
16-bit floats do exist, and they're known as half precision.

Conversion is extremely simple, although actually explaining it can be difficult.

____________________
涼宮ハルヒの憂鬱。見て。
The Melancholy of Haruhi Suzumiya. Watch it.
messiaen
Catgirl
Level: 68


Posts: 13/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-27-08 10:45:52 PM (last edited by messiaen at 03-30-08 07:00 PM) Link | Quote
Hi, the last "height terrain" map was a good exercise but I got a a new project going which Il think will be more useful for pratical ROM hacking.

I'm a building a simple "platform" for the original FlatWorld level. In the "height terrain map", I used just one 0x04 command followed by a chunk of 0xBF triangles. For this one, I added a 0x04 especifically for the platform (especially the collision data, as it loads the vertices right away, without pointing at Banx 0x07). That made me wonder that the geometry format is somewhat modular, and that this platform can be easily copied.

So, maybe a viable alternative in the near future for making levels from scratch could be a simple "custom platforms/geometry" library. Very limited, but better than nothing! Also, with these platforms, one could make for instance a simple slide level, which I'll surely try when I get this one 100% done.

-
Edit: OK! The Platform is complete, with collision data.

Edit 2: Those were ugly, so I setted a different texture for the ground.

Here is a screenshot of 6 platforms in a level:





---

To change the texture, I worked with these commands:

FD10 0000 0900 5800 <------ Points to texture at offset 0x5800 in bank 0x09
E600 0000 0000 0000
F300 0000 073F F100 <------ Other Texture Params (Note: the 0x07 is not a bank number)

I guess only the first one is really important, but since I was not so sure, I placed all these tree comands before the beggining of my second triangle group (the platform one).

This is probably the command that loads the textures (is that right, VL-Tone) ?
1A 0C 00 09 00 CD 34 BD 00 CE 03 D1 <------ Texture bank (0x09)

---

Sorry, but I couldn't help coming with this absolutely off-topic association today: if anyone wants to listen what is the equivalent in classical music to low-poly 3D geometry listen to http://www.youtube.com/watch?v=_fClFCEPThc .
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 194/621
EXP: 1135268
For next: 21851

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.6 years
Last activity: 1.2 years

Posted on 03-29-08 03:26:42 AM (last edited by VL-Tone at 03-29-08 12:30 AM) Link | Quote
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Again, nice progress messiaen

To have a platform that's truly modular, it would be best if the platform was a separate object that could be placed as a 0x24 object in a level. But doing so involves a lot of things.

Without going too much into details, here's what you'd have to do:

-Duplicate all the polygon drawing commands of the terrain, to serve as a basis for a new independent polygon model. Change the vertices and triangles to create your platform adding if necessary.

-Duplicate the geometry layout commands found in the level script part that starts at 0x1200008, copy it at the end of the level script data (that means extending the level script bank and changing the pointers at 0x2AC0F8 so that the new end is accounted.) Then in the new geometry layout commands, change the 0x15 command so that it points to the polygon drawing commands of your platform.

-Modify one of the 0x22 command in the level script so that it points to the geometry layout commands of your platform. You could actually skip the geometry layout step by changing it into a 0x21 command, which points to the polygon data directly instead of the geometry layout data, but I don't know the limitations of the 0x21 command. (using a geometry layout gives you more possibilities, such as using the 0x0D scale command).

The next steps are more complicated. Yo have solidity that moves with your platform, you need to create a new behavior script that includes a 0x2A command which points to the collision data of your platform. The problem is that the behavior script bank, always referred by the game as bank 0x13 and found from 0x219E00 to 0x21F4C0 in the ROM has no room for expansion, because it's not moved into the extended part of the ROM. You'd need to copy it somewhere in the extended part, then change all pointer references to it.

The command that loads bank 0x13 is

17 0C 00 13 00 21 9E 00 00 21 F4 C0

And it's found in a couple of places in the ROM. It would need to be changed at multiple places to reflect the new position of the behavior script data.

Ok so if you manage to move bank 0x13 somewhere else, here's what you'd need to do next.

-Find a behavior script that could be used as a basis for your platform. http://homepage.mac.com/qubedstudios/SM64Behaviors.txt This behavior script must include the 0x2A command (though you could add it yourself). If I had to chose one, it would be the "rotating platform" behavior script, which includes a 0x2A. You can then set the rotation speed to zero if you want a static platform.

-Copy and paste the chosen behavior script at the end of your new bank 0x13. Be sure to change the relevant 0x17 commands to extend the 0x13 bank.

-Delete the M64GeometryDataFlat.m64 file so that it's regenerated in TT64 with your new geometry.

-In TT64, create a new 0x24 object that uses the Object ID of the 0x22 command you modified, and manually set the behavior so that it points to the offset of the newly added behavior in bank 0x13. You could name your new behavior by alt-clicking on the label.

So that's about it, and I didn't go into all the details




Some answers to your other interrogations:

The 0xF3 command is also needed for textures, (as well as the 0xE6 command).

And yes the 0x1A command is used in this case to load the texture bank. Note that 0x1A loads MIO0 compressed data. I couldn't manage to replace 0x1A commands with 0x17 commands to load uncompressed data (the game would crash) like I did for 0x18 commands. The way I found to still get uncompressed data in the extended ROM is by creating a MIO0 wrapper with data that's not actually compressed. So in the case of this bank texture, the actual texture is not at the beninging of the data that's loaded with the 0x1A command, it's after the MIO0 header.

This particular texture bank is used by both Bob Omb' Battlefield and Shifting Sand Land.

____________________
nevum
Member
m'kay?
Level: 17


Posts: 40/43
EXP: 20630
For next: 4113

Since: 08-25-07


Since last post: 13.5 years
Last activity: 12.8 years

Posted on 03-29-08 03:51:57 AM Link | Quote



I mentioned this in the bug reports sticky, but i'll say it here too, if you put "Openable Grills" in the flat world the game will crash.

____________________

messiaen
Catgirl
Level: 68


Posts: 14/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-29-08 03:23:17 PM (last edited by messiaen at 04-05-08 04:15 PM) Link | Quote
Hi Vl-Tone!

Geez, I didn't know updating geometry on TT64 was so easy!!! What a positive surprise!! Now can I see my changes on TT64 and "non-hex" users can benefit from this.

Here is a screenshot of my test level in TT64, I won't paste directly here because I don't want to flood this thread with images (like I've been doing ).

Screenshot

For the next version, you could implement more geometry managing on TT64 interface, such as whenever opening new roms giving the option to use standard geometry or to decode and create a reference file for the particular project on the fly.

[removed a few useless paragraphs]

I want to next study more about the collision data, is there a simple command before the triangle group to set the terrain type or is this more complicated? I really want to try a slide level .

---

Edit #983: I'm going nuts!

I think I did everything right to make my custom 0x24 model. However, when I try to add my 0x24 object with my new geometry (I used model ID 17, replacinb bubbly tree) it won`t show up in the game. Also, when trying to load the ROM in TT64, I get the following error:

Handler not found in object #getProp Script Error

Here is all my HEX Data, with comments.

The platform has no collision data, as I think that will be included in the new behaviour script.

http://rapidshare.com/files/104148491/Plataforma.txt.txt.html

---

[Behaviour question, but the question above is more urgent]

Edit #523: OK, I'm trying to get my "modular platform". The behaviour bank is now at 0x11B0000, ready to be expanded and the pointers have been updated. Now I'm creating the new Platform behaviour. My question is, where does the 0x2A command kicks in ? Also, the collision data points to the 0x07 bank of the current level, in that case, 0x1200000 onwards ? To make thinkgs more organized, could I make a new 0x17 command in the level script so that it will load all my custom platform geometry/collision in a separate bank?

I suppose the 0x2A command goes before the 0x2D one ? (At least this is how I found it in some behaviours, but in others this is inverted).

ROM Addr: 011B56C0 Hex Behav: 130056C0
Description: Rotating Platform Behavior (#2, for FlatWorld)
11B56C0/0056C0 00 09 00 00
11B56C4/0056C4 11 01 00 01

Is this the place? [2A 00 00 00 07 xx xx x]

11B56C8/0056C8 2D 00 00 00
11B56CC/0056CC 08 00 00 00
11B56D0/0056D0 0C 00 00 00 80 2A A8 30
11B56D8/0056D8 0C 00 00 00 80 38 39 CC
11B56E0/0056E0 09 00 00 00
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 195/621
EXP: 1135268
For next: 21851

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.6 years
Last activity: 1.2 years

Posted on 04-02-08 12:26:02 AM Link | Quote
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Ok, I'll address the details of it later, but for now:

I made a little mistake, you should use the "Rotating CCW" behavior as a basis instead of the "Rotating platform one" because the former has already a 0x2A command. The one you used may have its own way of setting its solidity through asm code, and adding a 0x2A command may break things.

I wouldn't recommend splitting your geometry into two banks. There is a limited number of banks that are supported by the SM64 engine. You can only have 15 different banks loaded at the same time. If there was a possibility of 256 banks, I would have split every banks into smaller banks that contain individual models, to get maximum flexibility when editing levels. Unfortunately, this limitation is hard coded.

As for TT64 not loading your ROM, it may has something to do with bank 0x13 being relocated. Did you change all the 0x17 commands pointers that were loading bank 0x13? If so, what if you change them back to their original values? Can you load the ROM in TT64 then?

Also, you forgot to change the behavior of your 0x24 platform object:

24 18 01 17 00 00 02 3D 00 00 00 00 00 00 00 00 00 00 00 00 13 00 2A A4

It shouldn't be set to 13 00 2A A4, it should be the hex offset of your new behavior in bank 0x13 (130056C0)



____________________
messiaen
Catgirl
Level: 68


Posts: 15/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 04-02-08 01:46:27 PM (last edited by messiaen at 04-03-08 01:36 PM) Link | Quote
Sorry, I forgot to provide more details.

First, the ROM I'm currently working with has unchanged behaviours, because I didn't want to change too much at once because of possible TT64 crashes. So, my platform still doesn't has its own behaviour code, all I want for now is TT64 to show my model on its interface, replacing the Bubbly tree model.

I have a different ROM with behaviours moved to an extended section, however I don't want to test it on TT64 for now before I solve this problem with my model.

So, I tried to include a 0x24 object in the game with my platform model and choose a random behaviour (tried a few of them), just to see if the polygons would appear in the game.

The error I get on TT64 is occurs during the "Decode Level Scripts" process. I checked again my "jump command", the entry point and Geo Layout pointers, and nothing seems wrong with the pointers.

Also, there is something strange in FlatWorld BattleField. Looking at its Hex data, it has three 0x21 commands and many 0x22. However, when you enable it in Toads Tool using a unaltered extended ROM, it seems that the 0x21 and 0x22 commands aren't updated, you still get what was in Bob-omb Battlefield. For instance, I see SEVEN 0x21 commands instead of the three actually found on the ROM. Is this some seriours bug or am I missing something?

---

Edit: Ok, I tried something different this time. I changed a 0x21 command:

21 08 10 17 07 00 00 E0 <---- Assigns Model ID "17" to polygons at 0x0E in Bank 07

Now it works, and with a CWC rotaing behaviour, it even rotates . When I get near, the game crashes, but that is probably because I haven't changed that particular behaviour code to adjust to the platform collision.

The 0x21 command points directly to the polygons, while the 0x22 command pointed to the Geo Layout, which in turn pointed to the polygons. So, the problem is probably with my Geo Layout. Sorry for the textures of my screenshot, that was a wrong color pointer which was already fixed.

I also tried to replace my platform Geo Layout with "FF" bytes (as it is no longer used/pointed at) to see if TT64 could open the ROM, but it didn't work also , I still get the same error. I even tried changing also the 0x10 command at 0x11FFF00 to see if there was something related.



It rotates! To summarize, this is not level geometry but an actual 0x24 object with a custom model. With a lot of work, maybe in the future we could "rip", for instance, the big mushroom platforms at "Tall Tall Mountain" and use them as 0x24 objects within our custom levels.

--

Another update: I redid the 0x21 model using a unmodified FlatWorld ROM. This time I left Bank 0x0E untouched (except for a few geometry pointers), as I didn't need a Geo Layout. Bank 0x07 is the same I was using before. The ROM now loads in TT64, but even after deleting the M64GeometryDataFlat.m64, my model doesn't shows up in TT64 interface. Instead, I get just a blank model. In the game, however, it does appears. This time, the Bubbly tree behaviour didn't crashed the platform. Interesting is the fact that you could climb an "invisible tree", so even without a 0x2A command there is some hard-coded collision. [See behaviour thread for more info]

Yet another update: OK, I tried repointing the 0x2A behaviour collision data. With the CCW rotation and tilting platform, unfortunately it crashes the game!
Pages: 1 2 3 Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - FlatWorld Battlefield, Take Two (New flat empty level template! TT64 v0.5.98b!) New poll - New thread - New reply


Rusted Logic

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

30 database queries, 11 query cache hits.
Query execution time:  0.084550 seconds
Script execution time:  0.055521 seconds
Total render time:  0.140071 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 250 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 94 - Warning: unescaped & or unknown entity "&page"
line 149 column 128 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 163 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 99 - Warning: unescaped & or unknown entity "&postid"
line 179 column 84 - Warning: <style> isn't allowed in <td> elements
line 179 column 9 - Info: <td> previously mentioned
line 187 column 3485 - Warning: unescaped & or unknown entity "&config"
line 187 column 3675 - Warning: unescaped & or unknown entity "&pr"
line 187 column 3680 - Warning: unescaped & or unknown entity "&lv"
line 187 column 3686 - Warning: unescaped & or unknown entity "&ep"
line 187 column 3694 - Warning: unescaped & or unknown entity "&ed"
line 187 column 3703 - Warning: unescaped & or unknown entity "&ll"
line 187 column 3713 - Warning: unescaped & or unknown entity "&ex"
line 187 column 3724 - Warning: unescaped & or unknown entity "&le"
line 187 column 3735 - Warning: unescaped & or unknown entity "&eg"
line 187 column 3743 - Warning: unescaped & or unknown entity "&et"
line 190 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 192 column 9 - Warning: missing <tr>
line 210 column 13 - Warning: missing <tr>
line 211 column 99 - Warning: unescaped & or unknown entity "&postid"
line 253 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 255 column 9 - Warning: missing <tr>
line 273 column 13 - Warning: missing <tr>
line 274 column 99 - Warning: unescaped & or unknown entity "&postid"
line 276 column 73 - Warning: <style> isn't allowed in <td> elements
line 276 column 9 - Info: <td> previously mentioned
line 285 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 287 column 9 - Warning: missing <tr>
line 305 column 13 - Warning: missing <tr>
line 306 column 99 - Warning: unescaped & or unknown entity "&postid"
line 313 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 315 column 9 - Warning: missing <tr>
line 333 column 13 - Warning: missing <tr>
line 334 column 99 - Warning: unescaped & or unknown entity "&postid"
line 336 column 73 - Warning: <style> isn't allowed in <td> elements
line 336 column 9 - Info: <td> previously mentioned
line 340 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 342 column 9 - Warning: missing <tr>
line 360 column 13 - Warning: missing <tr>
line 361 column 99 - Warning: unescaped & or unknown entity "&postid"
line 363 column 84 - Warning: <style> isn't allowed in <td> elements
line 363 column 9 - Info: <td> previously mentioned
line 363 column 3026 - Warning: unescaped & or unknown entity "&config"
line 363 column 3216 - Warning: unescaped & or unknown entity "&pr"
line 363 column 3221 - Warning: unescaped & or unknown entity "&lv"
line 363 column 3227 - Warning: unescaped & or unknown entity "&ep"
line 363 column 3235 - Warning: unescaped & or unknown entity "&ed"
line 363 column 3244 - Warning: unescaped & or unknown entity "&ll"
line 363 column 3254 - Warning: unescaped & or unknown entity "&ex"
line 363 column 3265 - Warning: unescaped & or unknown entity "&le"
line 363 column 3276 - Warning: unescaped & or unknown entity "&eg"
line 363 column 3284 - Warning: unescaped & or unknown entity "&et"
line 366 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 368 column 9 - Warning: missing <tr>
line 386 column 13 - Warning: missing <tr>
line 387 column 99 - Warning: unescaped & or unknown entity "&postid"
line 412 column 1526 - Warning: unescaped & or unknown entity "&page"
line 417 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 419 column 9 - Warning: missing <tr>
line 437 column 13 - Warning: missing <tr>
line 438 column 99 - Warning: unescaped & or unknown entity "&postid"
line 443 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 445 column 9 - Warning: missing <tr>
line 463 column 13 - Warning: missing <tr>
line 464 column 99 - Warning: unescaped & or unknown entity "&postid"
line 503 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 505 column 9 - Warning: missing <tr>
line 523 column 13 - Warning: missing <tr>
line 524 column 99 - Warning: unescaped & or unknown entity "&postid"
line 526 column 84 - Warning: <style> isn't allowed in <td> elements
line 526 column 9 - Info: <td> previously mentioned
line 528 column 2782 - Warning: unescaped & or unknown entity "&config"
line 528 column 2972 - Warning: unescaped & or unknown entity "&pr"
line 528 column 2977 - Warning: unescaped & or unknown entity "&lv"
line 528 column 2983 - Warning: unescaped & or unknown entity "&ep"
line 528 column 2991 - Warning: unescaped & or unknown entity "&ed"
line 528 column 3000 - Warning: unescaped & or unknown entity "&ll"
line 528 column 3010 - Warning: unescaped & or unknown entity "&ex"
line 528 column 3021 - Warning: unescaped & or unknown entity "&le"
line 528 column 3032 - Warning: unescaped & or unknown entity "&eg"
line 528 column 3040 - Warning: unescaped & or unknown entity "&et"
line 531 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 533 column 9 - Warning: missing <tr>
line 551 column 13 - Warning: missing <tr>
line 552 column 99 - Warning: unescaped & or unknown entity "&postid"
line 554 column 73 - Warning: <style> isn't allowed in <td> elements
line 554 column 9 - Info: <td> previously mentioned
line 560 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 562 column 9 - Warning: missing <tr>
line 580 column 13 - Warning: missing <tr>
line 581 column 99 - Warning: unescaped & or unknown entity "&postid"
line 583 column 73 - Warning: <style> isn't allowed in <td> elements
line 583 column 9 - Info: <td> previously mentioned
line 583 column 137 - Warning: missing </div>
line 600 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 602 column 9 - Warning: missing <tr>
line 620 column 13 - Warning: missing <tr>
line 621 column 99 - Warning: unescaped & or unknown entity "&postid"
line 623 column 84 - Warning: <style> isn't allowed in <td> elements
line 623 column 9 - Info: <td> previously mentioned
line 623 column 2954 - Warning: unescaped & or unknown entity "&config"
line 623 column 3144 - Warning: unescaped & or unknown entity "&pr"
line 623 column 3149 - Warning: unescaped & or unknown entity "&lv"
line 623 column 3155 - Warning: unescaped & or unknown entity "&ep"
line 623 column 3163 - Warning: unescaped & or unknown entity "&ed"
line 623 column 3172 - Warning: unescaped & or unknown entity "&ll"
line 623 column 3182 - Warning: unescaped & or unknown entity "&ex"
line 623 column 3193 - Warning: unescaped & or unknown entity "&le"
line 623 column 3204 - Warning: unescaped & or unknown entity "&eg"
line 623 column 3212 - Warning: unescaped & or unknown entity "&et"
line 626 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 628 column 9 - Warning: missing <tr>
line 646 column 13 - Warning: missing <tr>
line 647 column 99 - Warning: unescaped & or unknown entity "&postid"
line 649 column 73 - Warning: <style> isn't allowed in <td> elements
line 649 column 9 - Info: <td> previously mentioned
line 655 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 657 column 9 - Warning: missing <tr>
line 675 column 13 - Warning: missing <tr>
line 676 column 99 - Warning: unescaped & or unknown entity "&postid"
line 714 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 716 column 9 - Warning: missing <tr>
line 734 column 13 - Warning: missing <tr>
line 735 column 99 - Warning: unescaped & or unknown entity "&postid"
line 737 column 73 - Warning: <style> isn't allowed in <td> elements
line 737 column 9 - Info: <td> previously mentioned
line 737 column 1511 - Warning: missing </font> before <hr>
line 770 column 1 - Warning: inserting implicit <font>
line 737 column 137 - Warning: missing </div>
line 780 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 782 column 9 - Warning: missing <tr>
line 800 column 13 - Warning: missing <tr>
line 801 column 99 - Warning: unescaped & or unknown entity "&postid"
line 810 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 812 column 9 - Warning: missing <tr>
line 830 column 13 - Warning: missing <tr>
line 831 column 99 - Warning: unescaped & or unknown entity "&postid"
line 883 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 885 column 9 - Warning: missing <tr>
line 903 column 13 - Warning: missing <tr>
line 904 column 99 - Warning: unescaped & or unknown entity "&postid"
line 906 column 73 - Warning: <style> isn't allowed in <td> elements
line 906 column 9 - Info: <td> previously mentioned
line 906 column 137 - Warning: missing </div>
line 923 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 925 column 9 - Warning: missing <tr>
line 943 column 13 - Warning: missing <tr>
line 944 column 99 - Warning: unescaped & or unknown entity "&postid"
line 981 column 17 - Warning: missing <tr>
line 981 column 17 - Warning: discarding unexpected <table>
line 984 column 35 - Warning: missing <tr>
line 984 column 94 - Warning: unescaped & or unknown entity "&page"
line 984 column 128 - Warning: unescaped & or unknown entity "&page"
line 984 column 50 - Warning: missing </font> before </td>
line 984 column 163 - Warning: missing </font> before </table>
line 986 column 35 - Warning: missing <tr>
line 986 column 50 - Warning: missing </font> before </td>
line 987 column 37 - Warning: unescaped & or unknown entity "&id"
line 986 column 250 - Warning: missing </font> before </table>
line 988 column 17 - Warning: discarding unexpected </textarea>
line 988 column 28 - Warning: discarding unexpected </form>
line 988 column 35 - Warning: discarding unexpected </embed>
line 988 column 43 - Warning: discarding unexpected </noembed>
line 988 column 53 - Warning: discarding unexpected </noscript>
line 988 column 64 - Warning: discarding unexpected </noembed>
line 988 column 74 - Warning: discarding unexpected </embed>
line 988 column 82 - Warning: discarding unexpected </table>
line 988 column 90 - Warning: discarding unexpected </table>
line 990 column 9 - Warning: missing </font> before <table>
line 1002 column 25 - Warning: discarding unexpected </font>
line 1011 column 58 - Warning: discarding unexpected </font>
line 989 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 23 - Warning: <img> lacks "alt" attribute
line 161 column 64 - Warning: <img> lacks "alt" attribute
line 161 column 113 - Warning: <img> lacks "alt" attribute
line 161 column 163 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 187 column 3262 - Warning: <img> proprietary attribute value "absmiddle"
line 187 column 3262 - Warning: <img> lacks "alt" attribute
line 187 column 3496 - Warning: <img> lacks "alt" attribute
line 187 column 3618 - Warning: <img> lacks "alt" attribute
line 195 column 22 - Warning: <img> lacks "alt" attribute
line 195 column 63 - Warning: <img> lacks "alt" attribute
line 195 column 113 - Warning: <img> lacks "alt" attribute
line 206 column 15 - Warning: <img> lacks "alt" attribute
line 215 column 138 - Warning: <img> lacks "alt" attribute
line 222 column 404 - Warning: <img> lacks "alt" attribute
line 239 column 1355 - Warning: <img> lacks "alt" attribute
line 241 column 1530 - Warning: <img> proprietary attribute value "absmiddle"
line 241 column 1530 - Warning: <img> lacks "alt" attribute
line 258 column 23 - Warning: <img> lacks "alt" attribute
line 258 column 64 - Warning: <img> lacks "alt" attribute
line 258 column 113 - Warning: <img> lacks "alt" attribute
line 258 column 163 - Warning: <img> lacks "alt" attribute
line 259 column 11 - Warning: <img> lacks "alt" attribute
line 269 column 15 - Warning: <img> lacks "alt" attribute
line 290 column 22 - Warning: <img> lacks "alt" attribute
line 290 column 63 - Warning: <img> lacks "alt" attribute
line 290 column 113 - Warning: <img> lacks "alt" attribute
line 301 column 15 - Warning: <img> lacks "alt" attribute
line 308 column 94 - Warning: <img> proprietary attribute value "absmiddle"
line 308 column 94 - Warning: <img> lacks "alt" attribute
line 310 column 340 - Warning: <img> proprietary attribute value "absmiddle"
line 310 column 340 - Warning: <img> lacks "alt" attribute
line 318 column 23 - Warning: <img> lacks "alt" attribute
line 318 column 64 - Warning: <img> lacks "alt" attribute
line 318 column 113 - Warning: <img> lacks "alt" attribute
line 318 column 163 - Warning: <img> lacks "alt" attribute
line 319 column 11 - Warning: <img> lacks "alt" attribute
line 329 column 15 - Warning: <img> lacks "alt" attribute
line 345 column 23 - Warning: <img> lacks "alt" attribute
line 345 column 64 - Warning: <img> lacks "alt" attribute
line 345 column 113 - Warning: <img> lacks "alt" attribute
line 345 column 163 - Warning: <img> lacks "alt" attribute
line 356 column 15 - Warning: <img> lacks "alt" attribute
line 363 column 3037 - Warning: <img> lacks "alt" attribute
line 363 column 3159 - Warning: <img> lacks "alt" attribute
line 371 column 22 - Warning: <img> lacks "alt" attribute
line 371 column 63 - Warning: <img> lacks "alt" attribute
line 371 column 113 - Warning: <img> lacks "alt" attribute
line 382 column 15 - Warning: <img> lacks "alt" attribute
line 406 column 983 - Warning: <img> lacks "alt" attribute
line 422 column 22 - Warning: <img> lacks "alt" attribute
line 422 column 63 - Warning: <img> lacks "alt" attribute
line 422 column 112 - Warning: <img> lacks "alt" attribute
line 422 column 162 - Warning: <img> lacks "alt" attribute
line 433 column 15 - Warning: <img> lacks "alt" attribute
line 448 column 22 - Warning: <img> lacks "alt" attribute
line 448 column 63 - Warning: <img> lacks "alt" attribute
line 448 column 113 - Warning: <img> lacks "alt" attribute
line 459 column 15 - Warning: <img> lacks "alt" attribute
line 470 column 472 - Warning: <img> lacks "alt" attribute
line 508 column 23 - Warning: <img> lacks "alt" attribute
line 508 column 64 - Warning: <img> lacks "alt" attribute
line 508 column 113 - Warning: <img> lacks "alt" attribute
line 508 column 163 - Warning: <img> lacks "alt" attribute
line 519 column 15 - Warning: <img> lacks "alt" attribute
line 527 column 2471 - Warning: <img> lacks "alt" attribute
line 528 column 2793 - Warning: <img> lacks "alt" attribute
line 528 column 2915 - Warning: <img> lacks "alt" attribute
line 536 column 23 - Warning: <img> lacks "alt" attribute
line 536 column 64 - Warning: <img> lacks "alt" attribute
line 536 column 113 - Warning: <img> lacks "alt" attribute
line 536 column 163 - Warning: <img> lacks "alt" attribute
line 537 column 11 - Warning: <img> lacks "alt" attribute
line 547 column 15 - Warning: <img> lacks "alt" attribute
line 565 column 22 - Warning: <img> lacks "alt" attribute
line 565 column 63 - Warning: <img> lacks "alt" attribute
line 565 column 112 - Warning: <img> lacks "alt" attribute
line 565 column 162 - Warning: <img> lacks "alt" attribute
line 576 column 15 - Warning: <img> lacks "alt" attribute
line 583 column 693 - Warning: <img> lacks "alt" attribute
line 583 column 1613 - Warning: <img> proprietary attribute value "absmiddle"
line 583 column 1613 - Warning: <img> lacks "alt" attribute
line 585 column 1746 - Warning: <img> proprietary attribute value "absmiddle"
line 585 column 1746 - Warning: <img> lacks "alt" attribute
line 597 column 3235 - Warning: <img> lacks "alt" attribute
line 597 column 3394 - Warning: <img> lacks "alt" attribute
line 605 column 23 - Warning: <img> lacks "alt" attribute
line 605 column 64 - Warning: <img> lacks "alt" attribute
line 605 column 113 - Warning: <img> lacks "alt" attribute
line 605 column 163 - Warning: <img> lacks "alt" attribute
line 616 column 15 - Warning: <img> lacks "alt" attribute
line 623 column 2440 - Warning: <img> proprietary attribute value "absmiddle"
line 623 column 2440 - Warning: <img> lacks "alt" attribute
line 623 column 2965 - Warning: <img> lacks "alt" attribute
line 623 column 3087 - Warning: <img> lacks "alt" attribute
line 631 column 23 - Warning: <img> lacks "alt" attribute
line 631 column 64 - Warning: <img> lacks "alt" attribute
line 631 column 113 - Warning: <img> lacks "alt" attribute
line 631 column 163 - Warning: <img> lacks "alt" attribute
line 632 column 11 - Warning: <img> lacks "alt" attribute
line 642 column 15 - Warning: <img> lacks "alt" attribute
line 660 column 22 - Warning: <img> lacks "alt" attribute
line 660 column 63 - Warning: <img> lacks "alt" attribute
line 660 column 113 - Warning: <img> lacks "alt" attribute
line 671 column 15 - Warning: <img> lacks "alt" attribute
line 691 column 1218 - Warning: <img> lacks "alt" attribute
line 693 column 1336 - Warning: <img> lacks "alt" attribute
line 710 column 2275 - Warning: <img> proprietary attribute value "absmiddle"
line 710 column 2275 - Warning: <img> lacks "alt" attribute
line 719 column 22 - Warning: <img> lacks "alt" attribute
line 719 column 63 - Warning: <img> lacks "alt" attribute
line 719 column 112 - Warning: <img> lacks "alt" attribute
line 719 column 162 - Warning: <img> lacks "alt" attribute
line 730 column 15 - Warning: <img> lacks "alt" attribute
line 737 column 693 - Warning: <img> lacks "alt" attribute
line 737 column 1608 - Warning: <img> proprietary attribute value "absmiddle"
line 737 column 1608 - Warning: <img> lacks "alt" attribute
line 767 column 4893 - Warning: <img> proprietary attribute value "absmiddle"
line 767 column 4893 - Warning: <img> lacks "alt" attribute
line 777 column 5829 - Warning: <img> lacks "alt" attribute
line 777 column 5988 - Warning: <img> lacks "alt" attribute
line 785 column 22 - Warning: <img> lacks "alt" attribute
line 785 column 63 - Warning: <img> lacks "alt" attribute
line 785 column 111 - Warning: <img> lacks "alt" attribute
line 785 column 161 - Warning: <img> lacks "alt" attribute
line 786 column 11 - Warning: <img> lacks "alt" attribute
line 796 column 15 - Warning: <img> lacks "alt" attribute
line 803 column 73 - Warning: <img> lacks "alt" attribute
line 803 column 155 - Warning: <img> lacks "alt" attribute
line 804 column 242 - Warning: <img> lacks "alt" attribute
line 804 column 326 - Warning: <img> lacks "alt" attribute
line 806 column 584 - Warning: <img> lacks "alt" attribute
line 806 column 666 - Warning: <img> lacks "alt" attribute
line 807 column 753 - Warning: <img> lacks "alt" attribute
line 807 column 837 - Warning: <img> lacks "alt" attribute
line 815 column 22 - Warning: <img> lacks "alt" attribute
line 815 column 63 - Warning: <img> lacks "alt" attribute
line 815 column 113 - Warning: <img> lacks "alt" attribute
line 826 column 15 - Warning: <img> lacks "alt" attribute
line 837 column 415 - Warning: <img> proprietary attribute value "absmiddle"
line 837 column 415 - Warning: <img> lacks "alt" attribute
line 845 column 1044 - Warning: <img> proprietary attribute value "absmiddle"
line 845 column 1044 - Warning: <img> lacks "alt" attribute
line 888 column 22 - Warning: <img> lacks "alt" attribute
line 888 column 63 - Warning: <img> lacks "alt" attribute
line 888 column 112 - Warning: <img> lacks "alt" attribute
line 888 column 162 - Warning: <img> lacks "alt" attribute
line 899 column 15 - Warning: <img> lacks "alt" attribute
line 906 column 693 - Warning: <img> lacks "alt" attribute
line 920 column 2984 - Warning: <img> lacks "alt" attribute
line 920 column 3143 - Warning: <img> lacks "alt" attribute
line 928 column 22 - Warning: <img> lacks "alt" attribute
line 928 column 63 - Warning: <img> lacks "alt" attribute
line 928 column 113 - Warning: <img> lacks "alt" attribute
line 939 column 15 - Warning: <img> lacks "alt" attribute
line 964 column 1689 - Warning: <img> proprietary attribute value "absmiddle"
line 964 column 1689 - Warning: <img> lacks "alt" attribute
line 968 column 2348 - Warning: <img> proprietary attribute value "absmiddle"
line 968 column 2348 - Warning: <img> lacks "alt" attribute
line 970 column 2560 - Warning: <img> lacks "alt" attribute
line 987 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 987 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 987 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 996 column 25 - Warning: <img> lacks "alt" attribute
line 1001 column 267 - Warning: <img> lacks "alt" attribute
line 981 column 17 - Warning: trimming empty <tr>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 211 column 27 - Warning: <nobr> is not approved by W3C
line 274 column 27 - Warning: <nobr> is not approved by W3C
line 306 column 27 - Warning: <nobr> is not approved by W3C
line 334 column 27 - Warning: <nobr> is not approved by W3C
line 361 column 27 - Warning: <nobr> is not approved by W3C
line 387 column 27 - Warning: <nobr> is not approved by W3C
line 438 column 27 - Warning: <nobr> is not approved by W3C
line 464 column 27 - Warning: <nobr> is not approved by W3C
line 524 column 27 - Warning: <nobr> is not approved by W3C
line 552 column 27 - Warning: <nobr> is not approved by W3C
line 581 column 27 - Warning: <nobr> is not approved by W3C
line 583 column 157 - Warning: <table> proprietary attribute "height"
line 583 column 222 - Warning: <td> proprietary attribute "background"
line 583 column 318 - Warning: <td> proprietary attribute "background"
line 583 column 408 - Warning: <table> proprietary attribute "height"
line 583 column 488 - Warning: <td> proprietary attribute "background"
line 583 column 1443 - Warning: <td> proprietary attribute "background"
line 621 column 27 - Warning: <nobr> is not approved by W3C
line 647 column 27 - Warning: <nobr> is not approved by W3C
line 676 column 27 - Warning: <nobr> is not approved by W3C
line 735 column 27 - Warning: <nobr> is not approved by W3C
line 737 column 157 - Warning: <table> proprietary attribute "height"
line 737 column 222 - Warning: <td> proprietary attribute "background"
line 737 column 318 - Warning: <td> proprietary attribute "background"
line 737 column 408 - Warning: <table> proprietary attribute "height"
line 737 column 488 - Warning: <td> proprietary attribute "background"
line 737 column 1443 - Warning: <td> proprietary attribute "background"
line 801 column 27 - Warning: <nobr> is not approved by W3C
line 831 column 27 - Warning: <nobr> is not approved by W3C
line 904 column 27 - Warning: <nobr> is not approved by W3C
line 906 column 157 - Warning: <table> proprietary attribute "height"
line 906 column 222 - Warning: <td> proprietary attribute "background"
line 906 column 318 - Warning: <td> proprietary attribute "background"
line 906 column 408 - Warning: <table> proprietary attribute "height"
line 906 column 488 - Warning: <td> proprietary attribute "background"
line 906 column 1443 - Warning: <td> proprietary attribute "background"
line 944 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 391 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md