plib/TODO_AFTER135

139 lines
4.6 KiB
Plaintext
Raw Permalink Normal View History

+============+
| TO BE DONE |
+============+
A tasks and bugs are now being tracked by sourceforge. Please
goto: http://sourceforge.net/projects/plib/
* Have a look into known_bugs and fix them.
* Lines in ASCII files are terminated...
With '\n' under UNIX/Linux
With '\r' under MacOS
With BOTH under Windoze.
Hence, UNIX/Linux does no conversions of either '\r' or '\n'.
and MAC swaps '\r' and '\n' on input.
and Windoze dumps '\r' if it follows a '\n'.
This is a mess - so I'm changing all the ASCII I/O code
to allow either or both '\n' or '\r' and I'm reading the
ASCII files in BINARY mode.
* Array deletion requires '[]' after 'delete' on Mac.
* Some of the MSVC-project files for plib_examples seem to be
broken, for example some miss a "winmm.lib".
* Check whether the new ssgStripify works with TuxKart
See Steves post from 11.12.2000 15:12 for a problem description
The abbreviation NIV14 means not in Version 1.4.
Bugs:
=====
- When creating fgfsTux, sometimes .ac, .dxf,
.ase and .obj saved zero objects, although
there were objects. For example, PLIB
created this .ac file:
----------- snip ------------
AC3Db
OBJECT world
kids 0
OBJECT group
kids 0
----------- snip ------------
This seems to happen after ssgFlatten.
- WK: Create a sphere in ppe. Save it as .ASE. See that values like
diffuse colour are cr*p. Try to load it. It crashes. This could be
one or - probably - two bugs. I don't think this is a ppe problem.
The loader complains that number of faces is -2.
The problem seems to be the writer.
*new remark*: About the diffuse values: I think it has to do with
colour material, a loader (.ASE?) loading colours into a colour
list and writing colours from the ssgSimpleState where they are
undefined. I think the same bug is in .AC
- WK: I have a crash in ssgFlatten if I load .ac files with
unused materials (not reproducable?)
- Loading and saving lines in .OBJ doesn't work. Maybe NIV14.
- Sam wrote:
Has anyone here debugged with plib under Windoze 2000 and MSVC++?
I get a whole bunch of
"Free Heap block modifed after it was free"
warnings with the ssgFlatten and ssgStripify.
I'll try and hunt this one down.
...
I think it may be because I'm using MFC which (if I remember
correctly) enables a bunch more memory checks. Also I'm doing
#ifdef _WIN32
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#endif
- Not all loaders use ssgLoaderOptions::begin. Don't all have to?
- Search for todo, fix, fixme, kludge.
Misc:
=====
- Look whether scaling works. [see current discussion]
If not and if we can't/don't want to make it work, for example
because of performance issues we need a warning in the docs and
IMHO PLIB should "write out" a warning if an unallowed matrix is
sent to it.
Update: Scaling does not work (intentionally). Uniform scaling may be
enabled by uncommenting "radius *= sgLengthVec3(m[0])" in
sgSphere::orthoXform. It is currently disabled because that extra
calculation would degrade performance on non-scaled matrices.
- Reduce lint warnings. Lint is an error checking tool that gives warnings
where things *could be* wrong as opposed to the compiler that tells
you where they are wrong.
- It would be great if we had one or even two working native .ssg
file formats. Currently (16.12.2001) the format work most of the time, but not all
entities are implemented.
- We should write the GetWrapU/GetWrapV function, since
loading /writing .ssg files can't work 100% without it.
- When saving, there is often a warning that "ref count doesn't
tally with parent count"
- Go through the mailing list for unfinished business.
- Someone, preferably a native english speaker with ssg-knowledge,
should go through the new ssg-doc and fix any mistakes. It should be
fairly complete by now.
- Add Per's new Formats to the doc?
- For the other parts of plib, people should bring the doc up to
date.
- There is a bug in the 3Dfx driver for Linux (tdfx_dri-4.0.1-1) that
causes the "complex" example program to crash in "fxSetupBlend".
This is fixed in more recent DRI snapshots (requires kernel 2.4.x).
Probably after 1.4.0:
=====================
- In fgfsTux, not a large object, you get a DList overflow
with the standard values for its size. Can we make its
size dynamic?
- Look at handling of normals. For example, loaders,
stripify etc should only recalculate missing normals.
Have *one* function that recalculates normals.
It would be nice if people would volunteer for tasks.