Register - Login
Views: 99364292
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 02:27:56 PM
Jul - SM64 Hacking (Archive) - MariOZMAV - a Super Mario 64 level viewer New poll - New thread - New reply
Pages: 1 2 Next newer thread | Next older thread
Me-me
340
Level: 41


Posts: 60/341
EXP: 461664
For next: 18481

Since: 08-05-07


Since last post: 9.7 years
Last activity: 8.1 years

Posted on 01-26-09 07:02:52 PM Link | Quote
The floating sign is actually floating.
But the game sticks it to the ground when the level is played.

____________________
Wow! SM64 is totally turned upside-down!
messiaen
Catgirl
Level: 68


Posts: 467/1085
EXP: 2593950
For next: 134850

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 01-26-09 08:05:00 PM Link | Quote
Originally posted by xdaniel
1) All "!" boxes are rendered at once, in the same place, every time one of the boxes appears in a level.

For example, the "!" boxes are object ID 0x89, the 0x22 command loading the geometry - 22 08 00 89 0F 00 06 94 - being at 0x0694 in segment 0x0F [corrected typos], which in turn executes 4 Display Lists in segment 0x08... So, how does the game know which one of the 4 Display Lists to use for a given box?


I'm not sure if I understood what is happening, but each display list is a part of the object (they are usually divided by textures, I guess for optimization), like the main terrain. Try rendering all the display lists between the beggining and end of a Geo Layout script. If they all show in the same place, are you sure you are offsetting them by the X, Y, Z positions specified by the 0x24 command that creates the individualized objects ?

Originally posted by xdaniel
2) Certain objects aren't scaled down to their in-game size, among other things.


Some objects have hardcoded scaling settings in the behavior scripts (0x32 command, which is just a a simple scaling factor), others in the geometry data (0x1d command, not sure how to read it) and many others have it hardcoded in their specific code. Also, behaviors can sometimes offset x,y,z positions or add a "gravity effect" (behavior command 0x1e), though this will depend a lot on the specific object. I guess dealing with all cases would be pretty much impossible.

____________________
Mario 64 notes @ http://sites.google.com/site/messiaen64/
xdaniel
980
Level: 64


Posts: 12/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 01-26-09 08:41:33 PM Link | Quote
Okay, first about the scaling: I've got the 0x1D geometry command in, approximating how to read its parameter bytes based on the signposts - they now show up pretty much like they do in the game, I think. As for the other ways how scaling and positioning might be set or offset... I'll leave those out since it really seems like too much work and all to try and implement them...

Now for the "!" boxes, which I guess I haven't written about clearly enough (ugh, typing and coding while being tired isn't that great of an idea ^^"):

Anyway, what I'm doing right now actually is already rendering all the Display Lists inside one geometry layout script, and using the X, Y and Z position specified by the 0x24 command to render them. This one has 4 almost identical Display Lists - same order and amount of commands, just different texture and vertex offsets - which, I suppose, means that there's one for the red Wing Cap box, one for the green Metal Cap box, one for the blue Vanish Cap box and one for the regular orange box.

So when rendering a 0x89 "!" box object, I end up with all 4 of those Display Lists being rendered instead of just the one of the box type that's actually supposed to be at that place in the level - so when there's a Wing Cap box in Bob-Omb's Battlefield somewhere, the viewer places it at the correct position but renders all four "!" box models instead of just the red one, or if there's a regular orange box with coins or a star inside, it again renders all four models instead of the orange one alone.

I hope this came out a bit clearer ^^"


____________________
cu xdaniel
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 376/621
EXP: 1135466
For next: 21653

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 01-27-09 01:01:01 AM (last edited by VL-Tone at 01-26-09 10:01 PM) Link | Quote
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
The correct display list for the "!" boxes is chosen by the behavior asm function, depending on the behavior param found in or referred by the 0x24, 0x42 or 0x43 command displaying the "!" box. I had to add a special case in TT64 that traps the "!" box objects and choose the corresponding display list according to the behav param.

Now, let's take a look at the geometry layout script for the "!" box:

00200F64 / 0F000694 [ 20 00 01 2C ]

00200F68 / 0F000698 [ 04 00 00 00 ]
00200F6C / 0F00069C [ 16 00 00 0A 00 B4 00 46 ]
00200F74 / 0F0006A4 [ 04 00 00 00 ]
00200F78 / 0F0006A8 [ 0E 00 00 04 80 29 DB 48 ]
00200F80 / 0F0006B0 [ 04 00 00 00 ]
00200F84 / 0F0006B4 [ 15 01 00 00 08 01 93 18 ]
00200F8C / 0F0006BC [ 15 01 00 00 08 01 93 78 ]
00200F94 / 0F0006C4 [ 15 01 00 00 08 01 93 D8 ]
00200F9C / 0F0006CC [ 15 01 00 00 08 01 94 38 ]
00200FA4 / 0F0006D4 [ 05 00 00 00 ]
00200FA8 / 0F0006D8 [ 05 00 00 00 ]
00200FAC / 0F0006DC [ 05 00 00 00 ]
00200FB0 / 0F0006E0 [ 01 00 00 00 ]


See that 0x0E command? It's used for doing animation using multiple display lists (I'm not talking about things that move or rotate, but rather animation done by switching models/display lists). The fourth byte (in this case 0x04) is the number of frames in the animation. The 0x0E command applies to items inside the following "node" in the geo layout hierarchy, which in this case contains four 0x15 commands pointing to 4 different display lists, and only one at a time is displayed by the game engine.

The last four bytes of the 0x0E are a RAM pointer referring to some ASM function that determines what kind of animation will be used. For things like flames and other similar animated models, the game simply cycles trough all frames with a predetermined frame-rate. In other cases, the current frame number is dynamic and is set by behavior ASM functions, for example, Mario's eyes animation are done by switching the whole head display lists found inside a similar node (and like the "!" boxes, these share the same vertices).

While the 0x0E is mainly used for animation, it's also used for the "!" box, as the behavior ASM function for these will set the "frame" to the box with the corresponding color depending on the provided parameter. A similar trick is used to put star numbers on doors.

Now, I didn't look inside the behavior ASM code to be able to render the "!" boxes correctly depending on their content. Unless you integrate an N64 emulator into your program, you'll never be able to render every single animated object correctly, even in a static form, using only the data in ROM. Not to say that you couldn't animate simple stuff like flames, but there are a few things that absolutely depend on ASM to be rendered correctly. The most you could do without integrating an N64 emulator is to reverse-engineer and port all these behavior functions to your program, and that wouldn't be a piece of cake (this is essentially what I did for the "!" box case, but there are many others cases, each behaving differently.)

____________________
xdaniel
980
Level: 64


Posts: 13/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 01-29-09 07:26:37 PM Link | Quote
Thanks for the help and advice, but I haven't managed to get the program to render those objects properly... It's not that I don't understand how I should be doing it, but rather that I can't seem to implement that into my existing code without breaking everything - objects not showing up at all, objects still rendering all Display Lists instead of just one, objects only rendering one Display List when they should render multiple, etc. The last one was my third freaking try... Well, gotta rewrite some of that object rendering code, I suppose -.-


____________________
cu xdaniel
xdaniel
980
Level: 64


Posts: 14/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-06-09 04:23:56 PM Link | Quote
It's been a while since I last posted here, and also since I last worked on MariOZMAV... So, in case someone might be interested in it, here's the (slightly broken) latest source code of the program - I last worked on it late January, the included executable having been built on January 31st, I think the texture cache is still broken, object rendering is still buggy as well, but it's better than nothing...

...anyway, download here: http://magicstone.de/dzd/random/ozmav-misc/mariozmav_latest.rar

Even though I've ceased working on it - actually, no branch of OZMAV is still in the works at the moment -, I still won't mind comments or whatever


____________________
cu xdaniel
Stevoisiak
Member
Level: 38


Posts: 235/283
EXP: 345464
For next: 24983

Since: 11-22-07

From: New York, Long Island

Since last post: 12.3 years
Last activity: 5.6 years

Posted on 04-07-09 09:46:12 PM Link | Quote
One thing I always love about MariOZMAV is that the levels look a bit more... natural, as opposed to prerendered

____________________
The guy who acts like he actually knows what he's talking about
dragon123
i told you man i TOLD you about posts
Level: 6


Posts: 5/5
EXP: 746
For next: 161

Since: 02-10-10


Since last post: 12.2 years
Last activity: 12.2 years

Posted on 02-16-10 12:53:19 PM Link | Quote
doesnt worked for me

____________________
if you want to have fun make hacks!

hacks is the best!

hack made the word better.

HOLY CRAP THAT AVATAR WAS HUGE don't put it that big thanks -administration
xdaniel
980
Level: 64


Posts: 24/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 02-16-10 03:09:30 PM Link | Quote
Originally posted by dragon123
doesnt worked for me


Even though the project is very much frozen right now, I'm still interested in why the program doesn't work for someone. However, "doesnt worked for me" isn't much help.

So, what exactly is happening when you try to start it? Does it crash, does it not load the ROM or levels?


____________________
cu xdaniel
Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 192


Posts: 4336/12211
EXP: 99232255
For next: 641316

Since: 07-03-07

From: 52-2-88-7

Since last post: 7.4 years
Last activity: 7.3 years

Posted on 02-16-10 06:44:27 PM Link | Quote

Time/Date

02-16-10 12:44:27 PM

Posts

4336

Days Here

959

Level

96
Metal_Man88
Local Moderator
Don't bother, he can't operate the new reply button properly, let alone OZMAV.

____________________
Original Layout © Tobias Kelmandia
MarIO0
Member
Level: 16


Posts: 23/43
EXP: 19155
For next: 1101

Since: 09-03-09


Since last post: 9.2 years
Last activity: 8.6 years

Posted on 05-28-11 12:15:38 PM Link | Quote
There's a bug that crashes the program (at least with the latest version of Code::Blocks+MinGW).

On helpers.c, HelperFunc_ScriptLogCommand, the line that reads:


char * CmdTypeText;



Should be:


char CmdTypeText[4];



I'm surprised that some compiler actually manages not to crash the program with this bug.
xdaniel
980
Level: 64


Posts: 262/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 05-30-11 07:51:52 PM Link | Quote


>>ESTABLISHING LINK...DONE.    >>FETCHING POST DATA...DONE.    >>EXECUTING POSTDISP.BIN...


On one hand, it's great that someone actually looked at the thing, on the other, it's embarrassing for me to see this POS code again.

That is quite a bug, and I don't even know why I did this, or yeah, why it even worked for me...


____________________
cu xdaniel - Follower of the Church of Madoka


"What color is your BLOOD?!?"

Pages: 1 2 Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - MariOZMAV - a Super Mario 64 level viewer 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.
Query execution time:  0.093834 seconds
Script execution time:  0.028200 seconds
Total render time:  0.122034 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 300 - Warning: unescaped & or unknown entity "&page"
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 212 - 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 50 - Warning: missing </font> before </td>
line 149 column 131 - 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 183 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 185 column 9 - Warning: missing <tr>
line 203 column 13 - Warning: missing <tr>
line 204 column 99 - Warning: unescaped & or unknown entity "&postid"
line 217 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 219 column 9 - Warning: missing <tr>
line 237 column 13 - Warning: missing <tr>
line 238 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 276 column 1511 - Warning: missing </font> before <pre>
line 295 column 1 - Warning: inserting implicit <font>
line 276 column 137 - Warning: missing </div>
line 305 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 307 column 9 - Warning: missing <tr>
line 325 column 13 - Warning: missing <tr>
line 326 column 99 - Warning: unescaped & or unknown entity "&postid"
line 333 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 335 column 9 - Warning: missing <tr>
line 353 column 13 - Warning: missing <tr>
line 354 column 101 - Warning: unescaped & or unknown entity "&postid"
line 365 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 367 column 9 - Warning: missing <tr>
line 385 column 13 - Warning: missing <tr>
line 386 column 101 - Warning: unescaped & or unknown entity "&postid"
line 391 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 393 column 9 - Warning: missing <tr>
line 411 column 13 - Warning: missing <tr>
line 412 column 101 - Warning: unescaped & or unknown entity "&postid"
line 423 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 425 column 9 - Warning: missing <tr>
line 443 column 13 - Warning: missing <tr>
line 444 column 101 - Warning: unescaped & or unknown entity "&postid"
line 455 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 457 column 9 - Warning: missing <tr>
line 475 column 13 - Warning: missing <tr>
line 476 column 101 - Warning: unescaped & or unknown entity "&postid"
line 478 column 74 - Warning: <style> isn't allowed in <td> elements
line 478 column 9 - Info: <td> previously mentioned
line 478 column 961 - Error: <z> is not recognized!
line 478 column 961 - Warning: discarding unexpected <z>
line 478 column 984 - Warning: discarding unexpected </z>
line 478 column 1010 - Error: <z> is not recognized!
line 478 column 1010 - Warning: discarding unexpected <z>
line 478 column 1017 - Warning: discarding unexpected </z>
line 478 column 1047 - Error: <z> is not recognized!
line 478 column 1047 - Warning: discarding unexpected <z>
line 478 column 1053 - Warning: discarding unexpected </z>
line 478 column 1079 - Error: <z> is not recognized!
line 478 column 1079 - Warning: discarding unexpected <z>
line 478 column 1084 - Warning: discarding unexpected </z>
line 481 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 483 column 9 - Warning: missing <tr>
line 501 column 13 - Warning: missing <tr>
line 502 column 101 - Warning: unescaped & or unknown entity "&postid"
line 517 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 519 column 9 - Warning: missing <tr>
line 537 column 13 - Warning: missing <tr>
line 538 column 101 - Warning: unescaped & or unknown entity "&postid"
line 540 column 74 - Warning: <style> isn't allowed in <td> elements
line 540 column 9 - Info: <td> previously mentioned
line 541 column 312 - Warning: missing </div>
line 555 column 17 - Warning: missing <tr>
line 555 column 17 - Warning: discarding unexpected <table>
line 558 column 35 - Warning: missing <tr>
line 558 column 94 - Warning: unescaped & or unknown entity "&page"
line 558 column 50 - Warning: missing </font> before </td>
line 558 column 131 - Warning: missing </font> before </table>
line 560 column 35 - Warning: missing <tr>
line 560 column 50 - Warning: missing </font> before </td>
line 561 column 37 - Warning: unescaped & or unknown entity "&id"
line 560 column 212 - Warning: missing </font> before </table>
line 562 column 17 - Warning: discarding unexpected </textarea>
line 562 column 28 - Warning: discarding unexpected </form>
line 562 column 35 - Warning: discarding unexpected </embed>
line 562 column 43 - Warning: discarding unexpected </noembed>
line 562 column 53 - Warning: discarding unexpected </noscript>
line 562 column 64 - Warning: discarding unexpected </noembed>
line 562 column 74 - Warning: discarding unexpected </embed>
line 562 column 82 - Warning: discarding unexpected </table>
line 562 column 90 - Warning: discarding unexpected </table>
line 564 column 9 - Warning: missing </font> before <table>
line 576 column 25 - Warning: discarding unexpected </font>
line 585 column 37 - Warning: discarding unexpected </font>
line 563 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 160 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 15 - Warning: <img> lacks "alt" attribute
line 160 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 58 - Warning: <img> lacks "alt" attribute
line 160 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 101 - Warning: <img> lacks "alt" attribute
line 160 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 144 - Warning: <img> lacks "alt" attribute
line 160 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 187 - Warning: <img> lacks "alt" attribute
line 160 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 230 - Warning: <img> lacks "alt" attribute
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 188 column 22 - Warning: <img> lacks "alt" attribute
line 188 column 63 - Warning: <img> lacks "alt" attribute
line 188 column 111 - Warning: <img> lacks "alt" attribute
line 188 column 161 - Warning: <img> lacks "alt" attribute
line 199 column 15 - Warning: <img> lacks "alt" attribute
line 221 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 15 - Warning: <img> lacks "alt" attribute
line 221 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 58 - Warning: <img> lacks "alt" attribute
line 221 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 101 - Warning: <img> lacks "alt" attribute
line 221 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 144 - Warning: <img> lacks "alt" attribute
line 221 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 187 - Warning: <img> lacks "alt" attribute
line 221 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 230 - Warning: <img> lacks "alt" attribute
line 221 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 273 - Warning: <img> lacks "alt" attribute
line 221 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 316 - Warning: <img> lacks "alt" attribute
line 221 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 359 - Warning: <img> lacks "alt" attribute
line 221 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 221 column 402 - Warning: <img> lacks "alt" attribute
line 222 column 22 - Warning: <img> lacks "alt" attribute
line 222 column 63 - Warning: <img> lacks "alt" attribute
line 222 column 112 - Warning: <img> lacks "alt" attribute
line 222 column 162 - Warning: <img> lacks "alt" attribute
line 223 column 11 - Warning: <img> lacks "alt" attribute
line 233 column 15 - Warning: <img> lacks "alt" attribute
line 258 column 22 - Warning: <img> lacks "alt" attribute
line 258 column 63 - Warning: <img> lacks "alt" attribute
line 258 column 112 - Warning: <img> lacks "alt" attribute
line 258 column 162 - Warning: <img> lacks "alt" attribute
line 269 column 15 - Warning: <img> lacks "alt" attribute
line 276 column 693 - Warning: <img> lacks "alt" attribute
line 302 column 4832 - Warning: <img> lacks "alt" attribute
line 302 column 4991 - Warning: <img> lacks "alt" attribute
line 309 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 15 - Warning: <img> lacks "alt" attribute
line 309 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 58 - Warning: <img> lacks "alt" attribute
line 309 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 101 - Warning: <img> lacks "alt" attribute
line 309 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 144 - Warning: <img> lacks "alt" attribute
line 309 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 187 - Warning: <img> lacks "alt" attribute
line 309 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 230 - Warning: <img> lacks "alt" attribute
line 309 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 273 - Warning: <img> lacks "alt" attribute
line 309 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 316 - Warning: <img> lacks "alt" attribute
line 309 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 359 - Warning: <img> lacks "alt" attribute
line 309 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 309 column 402 - Warning: <img> lacks "alt" attribute
line 310 column 22 - Warning: <img> lacks "alt" attribute
line 310 column 63 - Warning: <img> lacks "alt" attribute
line 310 column 112 - Warning: <img> lacks "alt" attribute
line 310 column 162 - Warning: <img> lacks "alt" attribute
line 311 column 11 - Warning: <img> lacks "alt" attribute
line 321 column 15 - Warning: <img> lacks "alt" attribute
line 337 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 15 - Warning: <img> lacks "alt" attribute
line 337 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 58 - Warning: <img> lacks "alt" attribute
line 337 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 101 - Warning: <img> lacks "alt" attribute
line 337 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 144 - Warning: <img> lacks "alt" attribute
line 337 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 187 - Warning: <img> lacks "alt" attribute
line 337 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 230 - Warning: <img> lacks "alt" attribute
line 337 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 273 - Warning: <img> lacks "alt" attribute
line 337 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 316 - Warning: <img> lacks "alt" attribute
line 337 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 359 - Warning: <img> lacks "alt" attribute
line 337 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 337 column 402 - Warning: <img> lacks "alt" attribute
line 338 column 22 - Warning: <img> lacks "alt" attribute
line 338 column 63 - Warning: <img> lacks "alt" attribute
line 338 column 112 - Warning: <img> lacks "alt" attribute
line 338 column 162 - Warning: <img> lacks "alt" attribute
line 339 column 11 - Warning: <img> lacks "alt" attribute
line 349 column 15 - Warning: <img> lacks "alt" attribute
line 360 column 813 - Warning: <img> proprietary attribute value "absmiddle"
line 360 column 813 - Warning: <img> lacks "alt" attribute
line 370 column 22 - Warning: <img> lacks "alt" attribute
line 370 column 63 - Warning: <img> lacks "alt" attribute
line 370 column 112 - Warning: <img> lacks "alt" attribute
line 370 column 162 - Warning: <img> lacks "alt" attribute
line 381 column 15 - Warning: <img> lacks "alt" attribute
line 396 column 21 - Warning: <img> lacks "alt" attribute
line 396 column 62 - Warning: <img> lacks "alt" attribute
line 396 column 111 - Warning: <img> lacks "alt" attribute
line 396 column 161 - Warning: <img> lacks "alt" attribute
line 407 column 15 - Warning: <img> lacks "alt" attribute
line 427 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 15 - Warning: <img> lacks "alt" attribute
line 427 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 58 - Warning: <img> lacks "alt" attribute
line 427 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 101 - Warning: <img> lacks "alt" attribute
line 427 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 144 - Warning: <img> lacks "alt" attribute
line 427 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 187 - Warning: <img> lacks "alt" attribute
line 427 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 230 - Warning: <img> lacks "alt" attribute
line 427 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 273 - Warning: <img> lacks "alt" attribute
line 427 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 316 - Warning: <img> lacks "alt" attribute
line 427 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 359 - Warning: <img> lacks "alt" attribute
line 427 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 402 - Warning: <img> lacks "alt" attribute
line 428 column 22 - Warning: <img> lacks "alt" attribute
line 428 column 63 - Warning: <img> lacks "alt" attribute
line 428 column 112 - Warning: <img> lacks "alt" attribute
line 428 column 162 - Warning: <img> lacks "alt" attribute
line 429 column 11 - Warning: <img> lacks "alt" attribute
line 439 column 15 - Warning: <img> lacks "alt" attribute
line 459 column 17 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 17 - Warning: <img> lacks "alt" attribute
line 459 column 60 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 60 - Warning: <img> lacks "alt" attribute
line 459 column 103 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 103 - Warning: <img> lacks "alt" attribute
line 459 column 146 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 146 - Warning: <img> lacks "alt" attribute
line 459 column 189 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 189 - Warning: <img> lacks "alt" attribute
line 459 column 232 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 232 - Warning: <img> lacks "alt" attribute
line 459 column 275 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 275 - Warning: <img> lacks "alt" attribute
line 459 column 318 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 318 - Warning: <img> lacks "alt" attribute
line 459 column 361 - Warning: <img> proprietary attribute value "absmiddle"
line 459 column 361 - Warning: <img> lacks "alt" attribute
line 460 column 23 - Warning: <img> lacks "alt" attribute
line 460 column 64 - Warning: <img> lacks "alt" attribute
line 460 column 113 - Warning: <img> lacks "alt" attribute
line 460 column 163 - Warning: <img> lacks "alt" attribute
line 461 column 11 - Warning: <img> lacks "alt" attribute
line 471 column 15 - Warning: <img> lacks "alt" attribute
line 478 column 1517 - Warning: <img> lacks "alt" attribute
line 478 column 1727 - Warning: <img> lacks "alt" attribute
line 478 column 1815 - Warning: <img> lacks "alt" attribute
line 478 column 2059 - Warning: <img> lacks "alt" attribute
line 478 column 2404 - Warning: <img> lacks "alt" attribute
line 478 column 2593 - Warning: <img> lacks "alt" attribute
line 486 column 22 - Warning: <img> lacks "alt" attribute
line 486 column 63 - Warning: <img> lacks "alt" attribute
line 486 column 112 - Warning: <img> lacks "alt" attribute
line 486 column 162 - Warning: <img> lacks "alt" attribute
line 497 column 15 - Warning: <img> lacks "alt" attribute
line 521 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 15 - Warning: <img> lacks "alt" attribute
line 521 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 58 - Warning: <img> lacks "alt" attribute
line 521 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 101 - Warning: <img> lacks "alt" attribute
line 521 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 144 - Warning: <img> lacks "alt" attribute
line 521 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 187 - Warning: <img> lacks "alt" attribute
line 521 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 230 - Warning: <img> lacks "alt" attribute
line 521 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 273 - Warning: <img> lacks "alt" attribute
line 521 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 316 - Warning: <img> lacks "alt" attribute
line 521 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 359 - Warning: <img> lacks "alt" attribute
line 521 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 402 - Warning: <img> lacks "alt" attribute
line 522 column 22 - Warning: <img> lacks "alt" attribute
line 522 column 63 - Warning: <img> lacks "alt" attribute
line 522 column 112 - Warning: <img> lacks "alt" attribute
line 522 column 162 - Warning: <img> lacks "alt" attribute
line 523 column 11 - Warning: <img> lacks "alt" attribute
line 533 column 15 - Warning: <img> lacks "alt" attribute
line 548 column 887 - Warning: <div> anchor "divxdn" already defined
line 549 column 1051 - Warning: <img> lacks "alt" attribute
line 549 column 1186 - Warning: <img> lacks "alt" attribute
line 550 column 1268 - Warning: <img> lacks "alt" attribute
line 561 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 561 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 561 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 570 column 25 - Warning: <img> lacks "alt" attribute
line 575 column 267 - Warning: <img> lacks "alt" attribute
line 555 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 204 column 27 - Warning: <nobr> is not approved by W3C
line 238 column 27 - Warning: <nobr> is not approved by W3C
line 274 column 27 - Warning: <nobr> is not approved by W3C
line 276 column 157 - Warning: <table> proprietary attribute "height"
line 276 column 222 - Warning: <td> proprietary attribute "background"
line 276 column 318 - Warning: <td> proprietary attribute "background"
line 276 column 408 - Warning: <table> proprietary attribute "height"
line 276 column 488 - Warning: <td> proprietary attribute "background"
line 276 column 1443 - Warning: <td> proprietary attribute "background"
line 326 column 27 - Warning: <nobr> is not approved by W3C
line 354 column 27 - Warning: <nobr> is not approved by W3C
line 386 column 27 - Warning: <nobr> is not approved by W3C
line 412 column 27 - Warning: <nobr> is not approved by W3C
line 444 column 27 - Warning: <nobr> is not approved by W3C
line 476 column 27 - Warning: <nobr> is not approved by W3C
line 478 column 1596 - Warning: <td> proprietary attribute "background"
line 478 column 1896 - Warning: <td> proprietary attribute "background"
line 478 column 2149 - Warning: <table> proprietary attribute "height"
line 478 column 2485 - Warning: <td> proprietary attribute "background"
line 502 column 27 - Warning: <nobr> is not approved by W3C
line 538 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 352 warnings and 4 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