Register - Login
Views: 99380680
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 11:35:08 PM
Jul - Posts by Gecko
Pages: 1 2 3 4 5 6
Gecko
Member
Level: 25


Posts: 21/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-25-09 02:44:27 PM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-25-09 01:38 PM) Link
Edit2:

Here's the finished map. I've added some routes around the "skyscrapers" and everything now has a UV map.
Finished map - Blender, .obj and material files

Will be back by tomorrow.



older Edit:

Got it finally working: Final obj with UV map, normals and materials
Hope this one works.




Old post:
This one could work, I'm still working on the UV map and at least it works with two materials at the moment.

http://depositfiles.com/files/a808msuzu

These are the export options:
Gecko
Member
Level: 25


Posts: 22/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-26-09 09:11:30 AM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-26-09 07:07 AM) Link
Originally posted by VL-Tone
One other setting that should be on is "triangulate", as the TT64 importer can't deal with polygons with more than 4 sides (triangulate will produce only triangles).

Question: did you create the "Materials" folder yourself or was it created by blender? The .mtl file contains the texture filenames, but without the \Materials\ folder needed to find them.


I created the materials folder by myself. Blender simply outputs the texture name without folder paths.

Originally posted by VL-Tone

Here's how it look in the importer, with only one texture:



On the sides of the "skyscrapers", some parts of the texture are smeared up to the point of becoming lines instead of a mesh, is it a problem on your side or in the importer? (I couldn't make the textures appear in blender to compare).

This is probably caused by flipped normals. Only the top side of a plane can be assigned a material wheras the bottom side always is invisible, because you won't ever see it ingame, unless you leave the map boundaries, of course.
When opening the map inside Blender, I cannot see a flipped normal (invisible face), but let's see how we can fix this issue:






Originally posted by VL-Tone

I'm going to use your model to try to implement multi-texture importation directly using the .mtl files. I'll keep you updated with the results...

Edit:

Hmm... That looks more like it?




Yes, absolutely. Nice to see, that you're getting different materials into a working state.
It's also nice to see that materials/textures can be scaled down already. Blender simply scales the original 32x32 texture up onto all faces.

For those who do not unterstand why the assigned textures look so ugly, when I created the UV map, I simply assigned materials to the faces without scaling or aligning them and choose different looking textures in order to distinguish the UV groups. When importing the .obj file into the editor, it should not matter which textures originally were assigned, because that will be changed inside Toad's Tool.


Originally posted by VL-Tone

I'm sure there are some bugs to be fixed, but at least it shows that I can do direct texture importing using .mtl files (note that I already wrote some code a while ago to do most of the work).

Before you guys get too excited, this is from the 3d preview in the importer, there are still a few things to be done until I can have this model inside the game, though the multi-texture aspect is not complicated to implement when generating the SM64 drawing lists.

I'm excited, because you're doing great work on your editor taking every step needed to develop the .obj importer into a working state.
Gecko
Member
Level: 25


Posts: 23/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-26-09 10:04:09 AM, in Using Blender (last edited by Gecko at 04-26-09 09:23 AM) Link
Originally posted by VL-Tone

That being said, I'm reconsidering the possibility of importing textures directly using the .mtl file. What I'll do is simply extract the filename from the path (if it's absolute) and try to open the texture file in the same folder as the .mtl file. I may also add support for a texture folder, which may be called "Materials", but this name will be hard-coded. TT64 will first try to open it in the same path as the .mtl file, then try the "Materials" folder. If it fails there won't be any recursive search. Director doesn't have built-in commands to achieve it, and it would require yet another plug-in, which may or may not be free.

This will force users to make sure that their textures are in the same folder or in a folder called "Materials".


One additional way of importing obj files I thought of, after having read some posting from you about the obj importer, was using the mtl file just as indicator that there are vertex groups with materials making TT ask you which texture from the ROM file to assign to these vertex groups with the option of loading new texture files into the ROM.


or:
Gecko
Member
Level: 25


Posts: 24/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-26-09 10:23:23 AM, in ToadsTool Suggestions Link
It would be nice having an indicator for Mario's size when importing an .obj file being asked to scale the level geometry.
Gecko
Member
Level: 25


Posts: 25/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-26-09 10:26:41 AM, in Using Blender Link
Give me a little time and I will try to make a tutorial.
Gecko
Member
Level: 25


Posts: 26/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-27-09 07:38:13 PM, in Using Blender (last edited by Gecko at 04-27-09 04:42 PM) Link
Originally posted by VL-Tone
Gecko, the second screenshot is exactly the kind of interface I was planning to build. And a similar interface will be needed anyway since there are some additional parameters to be set for each texture even when they're automatically imported using the .mtl file. "Use transparency" for example, and other parameters that may be added in the future that are particular to the SM64 engine and are not easily transferable using the .obj file format.

The test maps from Mario 64 DS (video link) give a good overview on the texture attributes and ground types. The player reaches these at about 1:30 in the video where you will see those kanji on the ground.
Are these attributes already connected to the existing textures in the game or do these always have to be applied anew when assigning textures in a newly imported level?
The first point would be the easier way, because that would mean once one's importing a new texture he could be asked which attribute to apply to the texture instead of having to change attributes whenever he's applying a texture to a vertex/material group when importing a new .obj file.

Originally posted by VL-Tone

The main difference though, is that to stay consistent with the way the importer works, texture will be managed inside the level file not inside the ROM, since the former which contains everything needed to create your levels. The textures are only saved to the ROM when you save your level there, with the rest of the data.


With regard to your container based level file system (.T64 level file), that will be the best option. Will you be able to extract all files from your level container once it has been created (extracting .obj and material files and so on)?

Assuming that I'd like to load a level from the ROM without having any of its original data, because that level was created by someone else, for instance, will it be possible to create a container from a ROM level file by which I mean reversing the whole process? If that reversed process would mean too much programming, maybe it could be useful having a copy of the container (.T64 level file) inside the ROM making it possible to extract it easily if intended.

Originally posted by VL-Tone

So instead of "Select texture from ROM" and "Load new texture into ROM", I'll put an "Import Texture" and "Export Texture" that will import/export textures from external bitmap files.

Here's how it will work:

-You open the ROM in TT64.
-Go to the level importer.
-Create a new level file (or open an existing one)
-Import an .obj file.
-Materials are listed.
-If the importer can find the texture files using the .mtl, those are imported and automatically associated with the Material groups.
-If the importer cannot find the external textures using the .mtl, blank/default textures will be used.
-You can then manually import textures into materials whether the textures where already imported or not.
-Save the level file.
-Save the level to ROM.

Now... it all seems easy until this problem arises:

The .obj data, all the importing parameters (scale, offset, banks etc.) and the texture themselves as well as their names are all saved into the .T64 level file.

The idea is that this file can be used to recreate the level inside another ROM, or if you want to update the .obj data for a given, you don't have to set all the import parameters all over again.

But let's say you open a level file where you manually imported textures. Once you open it, everything will be fine, the textures will be automatically associated with the materials etc. But what if you want to update the .obj data? You can hit the "Import .obj" button and do that....but the default behavior will be to completely replace the current textures and materials with those found using the .obj and .mtl files, so you lose your custom textures and will have to reimport/associate each of them again.

I guess I can make a "keep existing textures" checkbox so that when you import an updated .obj you can keep those that were originally in the level file. But what if either the material or texture names have changed since the last import? TT64 won't be able to associate these textures and they'll become inaccessible via the interface.

Anyway, I'm not saying it's impossible to deal with these problems, but it certainly makes it more complicated.

Reassociating textures to a vertex/material group from the .obj file will not be too much work since there will be just as few as maybe 15 textures inside a level.
I think that attributes, scale and so forth could be connected to the texture which will finally be associated from the ROM. As soon as you are assigning that texture to a vertex/material group again, its attributes will be applied.

1. import obj
2. assign "grass" texture to "material group 2"
3. scale, rotate it... for instance there will be the following values: "scale 3", "rotate 167"...
4. save .T64 level file.

Now these attributes "scale 3" and "rotate 167" will be connected to the "grass" texture inside the .T64 level file.

5. open .T64 level file
6. import an updated obj overwriting the old one - now all materials will have to be reassigned
7. assign "grass" texture to "material group 5"
8. user will be asked to apply existing attributes

As soon as the "grass" texture would be assigned to more than one material group, both attributes would have to be saved into the .T64 level file. When the user updates the object file and applies the "grass" texture onto a material group he will be asked if he wants to adopt the first or second (or third or fourth...) attribute data with the possibility of previewing each settings.

This will only make sense as long as there will not be 130 material groups of which 25 would be assigned the "grass" texture.
Gecko
Member
Level: 25


Posts: 27/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-27-09 08:13:18 PM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-27-09 05:27 PM) Link
I'm having a hard time reproducing the error and determining the cause for it in Blender after having changed the material file to a hi-res one. Could you tell me where exactly these/one of these glitches appear at?
There could probably be overlapping faces if they appeared at one of the ledges (the lower platforms in front of the skyscrapers).




RDX, I've uploaded the second tutorial which shows a basic way of creating an environment in Blender. I think it will help you creating a smaller and simpler map which is important because we will have to deal with the engine's limitations which probably would not allow for such a big map. However, I really like your idea of Mario jumping into a deep cave.
Gecko
Member
Level: 25


Posts: 28/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-28-09 07:13:49 AM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-28-09 05:53 AM) Link
Now I understand what you mean. Those are texture aligning issues which partially happened to the causes you described. I will take your suggestions into consideration an try fixing those errors.

Edit: Just found out how to scale textures down once assigned. Still, I'm looking for an easier way of selecting faces which are assigned the same texture. Does anyone know how to do it?

Edit2: Found the issue.

For some reason the vertices are overlapping on the UV map. I do not know why this happens

Edit3: The problem was how UV map coordinates were calculated. Unwrapping outputs a somehwat sloppy UV map resulting in this error.
When using a different UV calculation called "unwrap (smart projection)" which takes some processing time, it works.


Edit4: Found a tutorial for the creation of vertex groups: Vertex groups
I will redo everything on my map to fix the issue now that the cause is pinned down.

Edit5: Here's the updated Blender and obj file
http://depositfiles.com/files/rblcjwcxg



Gecko
Member
Level: 25


Posts: 29/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-29-09 03:25:49 PM, in Using Blender Link
Maybe it would be easier having TT extract all textures from the ROM saving them numerized (first texture is named 001.png and so on) inside "ToadsTool/Materials" folder allowing to use these for the creation of levels.

While creating a level with an editor (e.g. Blender), the user would take all materials out of the "ToadsTool/Materials" folder.

When TT then imports .obj and .mtl file, it would not matter if the .mtl file included absolute or relative paths, because TT would just import the image files from the "ToadsTool/Materials" folder.



I will just leave the main idea the way it is in order not to make it too complicated until you think it would be realizable.
Gecko
Member
Level: 25


Posts: 30/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-29-09 08:42:49 PM, in Using Blender Link
Originally posted by VL-Tone
Something I discovered while testing your model in the game, and it was something I already thought would happen, is that the SM64 collision engine is pretty buggy, there were a few places in your level where Mario simply fell through the ground. I'm sure that the original levels were tested again and again to get rid of these kind of issues (even modern games are throughly tested for holes/problems in the collision map).

Maybe flattening problematic triangles could help reducing the glitches. In the original game there mostly are flat surfaces unlike in my level which is pretty hilly.

At least it's nice to see that even inside the normal game this glitch still exists.
Fall through ground
Gecko
Member
Level: 25


Posts: 31/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-30-09 06:39:13 AM, in Using Blender (last edited by Gecko at 04-30-09 04:09 AM) Link
At first, I've selected all faces at once making them the first vertex group with one texture in order not to leave face unselected/untextures. Afterwards, I've created other vertex and material groups and assigned e.g. the ground to it. Those walls are the leftovers of the first vertex/material group.

I've quickly unwrapped the walls again: http://depositfiles.com/files/1z9utm5fn
If that does not work, I will have to think about something different.

Something that quickly came to my mind was how textures are projected onto angular faces, maybe there's a switch like in the Half-Life engine.

Gecko
Member
Level: 25


Posts: 32/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-30-09 07:35:07 AM, in Using Blender (last edited by Gecko at 04-30-09 11:38 AM) Link
Ok, here's the cube and I've unwrapped the vertex group again, but didn't scale the texture.
http://depositfiles.com/files/evsej0h46

Blender actually outputs negative scales depending on the scale movement. Moving the mouse left makes the scale negative and vice versa.

Edit: Taken from link

Basically if your st coordinates map linearly
to the xyz vertices, then breaking the poly into triangles to scan convert
will produce consistent and correct results. However, if your st coordinates
map non-linearly, then tessellating into triangles will produce different
results depending on screen orientation of the geometry.

Maybe the .obj export produces some errors. I've tried to other export options of which the first leaves triangulation off (the map already has all quads converted to triangles making the triangulation option probably redundant) and the second file output uses the HQ normals option.

http://depositfiles.com/files/ypo8potg1

I've created a new vertex group/uv map for the skyscraper's walls and every UV map now is redone:
http://depositfiles.com/files/r3hq4bq2h
All other export options are as usual.
Gecko
Member
Level: 25


Posts: 33/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 04-30-09 03:54:44 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Nice, cannot wait to play something completely new.
Gecko
Member
Level: 25


Posts: 34/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-01-09 08:57:21 AM, in Using Blender (last edited by Gecko at 05-01-09 06:06 AM) Link

some texture on the sides begin to get screwed much like they were with the other bug.


This must be an error in my level. Have you tried importing the latest obj file into Mario64?

The former obj file included some faces with scaling issues like on this screenshot:

If you look at the top, there's a face with a wrongly scaled face next to the "entrance" of the walk-in skyscraper. I had created an uv map for each of the wrongly scaled faces and they had different scaling values.

The latest .obj should have most if not all UV map problems fixed.
Gecko
Member
Level: 25


Posts: 35/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-01-09 08:26:25 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Originally posted by messiaen
Thanks to RDX, I'm done with the custom music, there is even an original song composed by me (I showed an early version of it in the first pages of this thread, but it has been expanded and improved).

Along with the release package, I will include Cellar Dweller's "alternate" ROM extender, so that Linux folks can play it too plus all the "source code" for the hacks used in the game. I'm sure some snippets will be useful for future hackers.

Also, I have a question. I'll upload a YouTube video with a tutorial on how to extend, patch the ROM and set up the extension pak memory on Project 64 and I'm wondering what can I do to ensure my video will be available as high definition? The normal Upload Video feature doesn't seem to have a checkbox for it.

Good news!
Unfortunately, the HD option is only available to US citizens, but that will be widened in the future.
Gecko
Member
Level: 25


Posts: 36/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-02-09 06:50:25 AM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Originally posted by messiaen
I haven't recorded the video yet, but maybe the problem is with encoding. After the capture, I use VirtualDub to compress the video with the DivX codec. The quality is ok, but once its uploaded it gets much worse, perhaps I should send the video uncompressed and it will retain more of its resolution? All I want to avoid is a blurry video.

The YouTube manual recommends using a resolution of 640x480 for HQ videos, unless you upload a video using the HD option.
Gecko
Member
Level: 25


Posts: 37/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-03-09 12:10:58 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Wow, your game is so wonderfully designed. I love the day and night circle and how tasks differ due to day time. Also, the star counter is really useful especially since startup screens aren't supported, yet.
Gecko
Member
Level: 25


Posts: 38/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-03-09 12:51:58 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) (last edited by Gecko at 05-03-09 10:40 AM) Link
Which of the songs did you compose? I do not recognize every tune in there coming from other games, maybe I already missed it without knowing. ^^
Gecko
Member
Level: 25


Posts: 39/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-06-09 12:09:43 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Camera changes aren't possible, yet. You'll get better results with the Mario-tied camera. Press R and then C-down.
Gecko
Member
Level: 25


Posts: 40/113
EXP: 83008
For next: 6612

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.6 years

Posted on 05-20-09 11:07:01 AM, in Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) Link
First of all, you did a great job on that GUI building it, from my perspective, as user friendly as possible. It's definitely worth the noble price. Good to see that you've already included terrain types.

Regarding the ROM extension, would it be possible to have different sizes?
I'd prefer 32MB, because it's a size found in many other games like Zelda. It would leave the possibility open to play the game on real hardware, either through a Z64 or maybe an altered cartridge.
Other than that, bigger is better. 48MB with 18 * 1,5MB slots allowing for custom backgrounds sounds good!


Pages: 1 2 3 4 5 6
Jul - Posts by Gecko


Rusted Logic

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

24 database queries, 53 query cache hits.
Query execution time:  0.078940 seconds
Script execution time:  0.030776 seconds
Total render time:  0.109716 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 147 column 132 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 95 - Warning: unescaped & or unknown entity "&page"
line 149 column 130 - Warning: unescaped & or unknown entity "&page"
line 149 column 163 - Warning: unescaped & or unknown entity "&page"
line 149 column 196 - Warning: unescaped & or unknown entity "&page"
line 149 column 229 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 264 - 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 205 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 207 column 9 - Warning: missing <tr>
line 225 column 13 - Warning: missing <tr>
line 270 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 272 column 9 - Warning: missing <tr>
line 290 column 13 - Warning: missing <tr>
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 331 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 333 column 9 - Warning: missing <tr>
line 351 column 13 - Warning: missing <tr>
line 357 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 359 column 9 - Warning: missing <tr>
line 377 column 13 - Warning: missing <tr>
line 439 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 441 column 9 - Warning: missing <tr>
line 459 column 13 - Warning: missing <tr>
line 471 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 473 column 9 - Warning: missing <tr>
line 491 column 13 - Warning: missing <tr>
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 551 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 553 column 9 - Warning: missing <tr>
line 571 column 13 - Warning: missing <tr>
line 581 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 583 column 9 - Warning: missing <tr>
line 601 column 13 - Warning: missing <tr>
line 614 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 616 column 9 - Warning: missing <tr>
line 634 column 13 - Warning: missing <tr>
line 642 column 573 - Warning: unescaped & or unknown entity "&cd"
line 642 column 578 - Warning: unescaped & or unknown entity "&hl"
line 642 column 584 - Warning: unescaped & or unknown entity "&ct"
line 642 column 592 - Warning: unescaped & or unknown entity "&gl"
line 642 column 598 - Warning: unescaped & or unknown entity "&client"
line 657 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 659 column 9 - Warning: missing <tr>
line 677 column 13 - Warning: missing <tr>
line 683 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 685 column 9 - Warning: missing <tr>
line 703 column 13 - Warning: missing <tr>
line 717 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 719 column 9 - Warning: missing <tr>
line 737 column 13 - Warning: missing <tr>
line 749 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 751 column 9 - Warning: missing <tr>
line 769 column 13 - Warning: missing <tr>
line 776 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 778 column 9 - Warning: missing <tr>
line 796 column 13 - Warning: missing <tr>
line 802 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 804 column 9 - Warning: missing <tr>
line 822 column 13 - Warning: missing <tr>
line 828 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 830 column 9 - Warning: missing <tr>
line 848 column 13 - Warning: missing <tr>
line 854 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 856 column 9 - Warning: missing <tr>
line 874 column 13 - Warning: missing <tr>
line 887 column 17 - Warning: missing <tr>
line 887 column 17 - Warning: discarding unexpected <table>
line 890 column 35 - Warning: missing <tr>
line 890 column 95 - Warning: unescaped & or unknown entity "&page"
line 890 column 130 - Warning: unescaped & or unknown entity "&page"
line 890 column 163 - Warning: unescaped & or unknown entity "&page"
line 890 column 196 - Warning: unescaped & or unknown entity "&page"
line 890 column 229 - Warning: unescaped & or unknown entity "&page"
line 890 column 50 - Warning: missing </font> before </td>
line 890 column 264 - Warning: missing </font> before </table>
line 892 column 35 - Warning: missing <tr>
line 892 column 50 - Warning: missing </font> before </td>
line 892 column 132 - Warning: missing </font> before </table>
line 894 column 17 - Warning: discarding unexpected </textarea>
line 894 column 28 - Warning: discarding unexpected </form>
line 894 column 35 - Warning: discarding unexpected </embed>
line 894 column 43 - Warning: discarding unexpected </noembed>
line 894 column 53 - Warning: discarding unexpected </noscript>
line 894 column 64 - Warning: discarding unexpected </noembed>
line 894 column 74 - Warning: discarding unexpected </embed>
line 894 column 82 - Warning: discarding unexpected </table>
line 894 column 90 - Warning: discarding unexpected </table>
line 896 column 9 - Warning: missing </font> before <table>
line 908 column 25 - Warning: discarding unexpected </font>
line 917 column 58 - Warning: discarding unexpected </font>
line 895 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 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 184 column 333 - Warning: <img> proprietary attribute value "absmiddle"
line 184 column 333 - Warning: <img> lacks "alt" attribute
line 202 column 848 - Warning: <img> lacks "alt" attribute
line 210 column 22 - Warning: <img> lacks "alt" attribute
line 210 column 63 - Warning: <img> lacks "alt" attribute
line 210 column 112 - Warning: <img> lacks "alt" attribute
line 210 column 162 - Warning: <img> lacks "alt" attribute
line 211 column 11 - Warning: <img> lacks "alt" attribute
line 221 column 15 - Warning: <img> lacks "alt" attribute
line 237 column 793 - Warning: <img> lacks "alt" attribute
line 243 column 1500 - Warning: <img> lacks "alt" attribute
line 253 column 1865 - Warning: <img> proprietary attribute value "absmiddle"
line 253 column 1865 - Warning: <img> lacks "alt" attribute
line 255 column 1923 - Warning: <img> lacks "alt" attribute
line 257 column 2050 - Warning: <img> proprietary attribute value "absmiddle"
line 257 column 2050 - Warning: <img> lacks "alt" attribute
line 267 column 3452 - Warning: <img> proprietary attribute value "absmiddle"
line 267 column 3452 - Warning: <img> lacks "alt" attribute
line 275 column 22 - Warning: <img> lacks "alt" attribute
line 275 column 63 - Warning: <img> lacks "alt" attribute
line 275 column 112 - Warning: <img> lacks "alt" attribute
line 275 column 162 - Warning: <img> lacks "alt" attribute
line 276 column 11 - Warning: <img> lacks "alt" attribute
line 286 column 15 - Warning: <img> lacks "alt" attribute
line 300 column 1289 - Warning: <img> lacks "alt" attribute
line 302 column 1366 - 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 336 column 22 - Warning: <img> lacks "alt" attribute
line 336 column 63 - Warning: <img> lacks "alt" attribute
line 336 column 112 - Warning: <img> lacks "alt" attribute
line 336 column 162 - Warning: <img> lacks "alt" attribute
line 337 column 11 - Warning: <img> lacks "alt" attribute
line 347 column 15 - Warning: <img> lacks "alt" attribute
line 354 column 131 - Warning: <img> proprietary attribute value "absmiddle"
line 354 column 131 - Warning: <img> lacks "alt" attribute
line 362 column 22 - Warning: <img> lacks "alt" attribute
line 362 column 63 - Warning: <img> lacks "alt" attribute
line 362 column 112 - Warning: <img> lacks "alt" attribute
line 362 column 162 - Warning: <img> lacks "alt" attribute
line 363 column 11 - Warning: <img> lacks "alt" attribute
line 373 column 15 - Warning: <img> lacks "alt" attribute
line 383 column 1350 - Warning: <img> proprietary attribute value "absmiddle"
line 383 column 1350 - Warning: <img> lacks "alt" attribute
line 444 column 22 - Warning: <img> lacks "alt" attribute
line 444 column 63 - Warning: <img> lacks "alt" attribute
line 444 column 112 - Warning: <img> lacks "alt" attribute
line 444 column 162 - Warning: <img> lacks "alt" attribute
line 445 column 11 - Warning: <img> lacks "alt" attribute
line 455 column 15 - Warning: <img> lacks "alt" attribute
line 466 column 435 - Warning: <img> lacks "alt" attribute
line 468 column 895 - Warning: <img> proprietary attribute value "absmiddle"
line 468 column 895 - Warning: <img> lacks "alt" attribute
line 476 column 22 - Warning: <img> lacks "alt" attribute
line 476 column 63 - Warning: <img> lacks "alt" attribute
line 476 column 112 - Warning: <img> lacks "alt" attribute
line 476 column 162 - Warning: <img> lacks "alt" attribute
line 477 column 11 - Warning: <img> lacks "alt" attribute
line 487 column 15 - Warning: <img> lacks "alt" attribute
line 499 column 499 - Warning: <img> lacks "alt" attribute
line 504 column 925 - Warning: <img> lacks "alt" attribute
line 507 column 1257 - Warning: <img> proprietary attribute value "absmiddle"
line 507 column 1257 - Warning: <img> lacks "alt" attribute
line 509 column 1362 - Warning: <img> proprietary attribute value "absmiddle"
line 509 column 1362 - Warning: <img> lacks "alt" attribute
line 512 column 1517 - 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 556 column 22 - Warning: <img> lacks "alt" attribute
line 556 column 63 - Warning: <img> lacks "alt" attribute
line 556 column 112 - Warning: <img> lacks "alt" attribute
line 556 column 162 - Warning: <img> lacks "alt" attribute
line 557 column 11 - Warning: <img> lacks "alt" attribute
line 567 column 15 - Warning: <img> lacks "alt" attribute
line 577 column 855 - Warning: <img> proprietary attribute value "absmiddle"
line 577 column 855 - Warning: <img> lacks "alt" attribute
line 586 column 22 - Warning: <img> lacks "alt" attribute
line 586 column 63 - Warning: <img> lacks "alt" attribute
line 586 column 112 - Warning: <img> lacks "alt" attribute
line 586 column 162 - Warning: <img> lacks "alt" attribute
line 587 column 11 - Warning: <img> lacks "alt" attribute
line 597 column 15 - Warning: <img> lacks "alt" attribute
line 611 column 750 - Warning: <img> lacks "alt" attribute
line 619 column 22 - Warning: <img> lacks "alt" attribute
line 619 column 63 - Warning: <img> lacks "alt" attribute
line 619 column 112 - Warning: <img> lacks "alt" attribute
line 619 column 162 - Warning: <img> lacks "alt" attribute
line 620 column 11 - Warning: <img> lacks "alt" attribute
line 630 column 15 - Warning: <img> lacks "alt" attribute
line 662 column 22 - Warning: <img> lacks "alt" attribute
line 662 column 63 - Warning: <img> lacks "alt" attribute
line 662 column 112 - Warning: <img> lacks "alt" attribute
line 662 column 162 - Warning: <img> lacks "alt" attribute
line 663 column 11 - Warning: <img> lacks "alt" attribute
line 673 column 15 - Warning: <img> lacks "alt" attribute
line 680 column 126 - Warning: <img> proprietary attribute value "absmiddle"
line 680 column 126 - Warning: <img> lacks "alt" attribute
line 688 column 22 - Warning: <img> lacks "alt" attribute
line 688 column 63 - Warning: <img> lacks "alt" attribute
line 688 column 112 - Warning: <img> lacks "alt" attribute
line 688 column 162 - Warning: <img> lacks "alt" attribute
line 689 column 11 - Warning: <img> lacks "alt" attribute
line 699 column 15 - Warning: <img> lacks "alt" attribute
line 711 column 391 - Warning: <img> lacks "alt" attribute
line 722 column 22 - Warning: <img> lacks "alt" attribute
line 722 column 63 - Warning: <img> lacks "alt" attribute
line 722 column 112 - Warning: <img> lacks "alt" attribute
line 722 column 162 - Warning: <img> lacks "alt" attribute
line 723 column 11 - Warning: <img> lacks "alt" attribute
line 733 column 15 - Warning: <img> lacks "alt" attribute
line 742 column 485 - Warning: <img> proprietary attribute value "absmiddle"
line 742 column 485 - Warning: <img> lacks "alt" attribute
line 745 column 1003 - Warning: <img> proprietary attribute value "absmiddle"
line 745 column 1003 - Warning: <img> lacks "alt" attribute
line 754 column 22 - Warning: <img> lacks "alt" attribute
line 754 column 63 - Warning: <img> lacks "alt" attribute
line 754 column 112 - Warning: <img> lacks "alt" attribute
line 754 column 162 - Warning: <img> lacks "alt" attribute
line 755 column 11 - Warning: <img> lacks "alt" attribute
line 765 column 15 - Warning: <img> lacks "alt" attribute
line 781 column 22 - Warning: <img> lacks "alt" attribute
line 781 column 63 - Warning: <img> lacks "alt" attribute
line 781 column 112 - Warning: <img> lacks "alt" attribute
line 781 column 162 - Warning: <img> lacks "alt" attribute
line 782 column 11 - Warning: <img> lacks "alt" attribute
line 792 column 15 - Warning: <img> lacks "alt" attribute
line 799 column 283 - Warning: <img> proprietary attribute value "absmiddle"
line 799 column 283 - Warning: <img> lacks "alt" attribute
line 807 column 22 - Warning: <img> lacks "alt" attribute
line 807 column 63 - Warning: <img> lacks "alt" attribute
line 807 column 112 - Warning: <img> lacks "alt" attribute
line 807 column 162 - Warning: <img> lacks "alt" attribute
line 808 column 11 - Warning: <img> lacks "alt" attribute
line 818 column 15 - Warning: <img> lacks "alt" attribute
line 833 column 22 - Warning: <img> lacks "alt" attribute
line 833 column 63 - Warning: <img> lacks "alt" attribute
line 833 column 112 - Warning: <img> lacks "alt" attribute
line 833 column 162 - Warning: <img> lacks "alt" attribute
line 834 column 11 - Warning: <img> lacks "alt" attribute
line 844 column 15 - Warning: <img> lacks "alt" attribute
line 859 column 22 - Warning: <img> lacks "alt" attribute
line 859 column 63 - Warning: <img> lacks "alt" attribute
line 859 column 112 - Warning: <img> lacks "alt" attribute
line 859 column 162 - Warning: <img> lacks "alt" attribute
line 860 column 11 - Warning: <img> lacks "alt" attribute
line 870 column 15 - Warning: <img> lacks "alt" attribute
line 877 column 223 - Warning: <img> proprietary attribute value "absmiddle"
line 877 column 223 - Warning: <img> lacks "alt" attribute
line 902 column 25 - Warning: <img> lacks "alt" attribute
line 907 column 267 - Warning: <img> lacks "alt" attribute
line 147 column 132 - Warning: trimming empty <font>
line 149 column 264 - Warning: trimming empty <font>
line 887 column 17 - Warning: trimming empty <tr>
line 890 column 264 - Warning: trimming empty <font>
line 892 column 132 - Warning: trimming empty <font>
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 226 column 27 - Warning: <nobr> is not approved by W3C
line 291 column 27 - Warning: <nobr> is not approved by W3C
line 326 column 27 - Warning: <nobr> is not approved by W3C
line 352 column 27 - Warning: <nobr> is not approved by W3C
line 378 column 27 - Warning: <nobr> is not approved by W3C
line 460 column 27 - Warning: <nobr> is not approved by W3C
line 492 column 27 - Warning: <nobr> is not approved by W3C
line 538 column 27 - Warning: <nobr> is not approved by W3C
line 572 column 27 - Warning: <nobr> is not approved by W3C
line 602 column 27 - Warning: <nobr> is not approved by W3C
line 635 column 27 - Warning: <nobr> is not approved by W3C
line 678 column 27 - Warning: <nobr> is not approved by W3C
line 704 column 27 - Warning: <nobr> is not approved by W3C
line 738 column 27 - Warning: <nobr> is not approved by W3C
line 770 column 27 - Warning: <nobr> is not approved by W3C
line 797 column 27 - Warning: <nobr> is not approved by W3C
line 823 column 27 - Warning: <nobr> is not approved by W3C
line 849 column 27 - Warning: <nobr> is not approved by W3C
line 875 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 305 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