Stuff done are "V"ed. Undone stuff have stars. "Z"s are for stuff on hold.
Stuff done are "V"ed. Undone stuff have stars. "Z"s are for stuff on hold.
* Build a smarter/faster grepfunction for db and countries. Hashtable?
* At least use hashing on the ndg-style databases.
* Hostfiles are easy.
* Netfiles are a little more work, but should also work.
V Don't hang the program waiting for input fron traceroute.
V (Read the db/country files runtime instead of compiletime.)
V Read the texture runtime. (Fixed 970821, now using a tiff image, and
tifflib. Will probably change it to libpng when it gets mature.)
V Improve earthrotation function. It doesn't work well when you're upside-
down. Trackball code from glut might be an inspiration.
Z Make an incremental makeearth() istead of making a new displaylist every
time. Might not be possible. Several displaylists? Won't do it, performance
would hurt.
Z Give each boep a quadric of their own, saves changing the quadrics color.
Might not improve the speed anyway.
V Fix the SIGSEGV problem with when a router doesn't respond at all.
Just a number, NO other info at all. Important.
V Build a partialtorus function instead of clipping a full one. Might improve
speed on some platforms where clipping is expensive. And elimitate GLUT.
V Make the identify function "see thru" the yellow lines, and se boeps
underneath.
V Zooming screws up the lighting. Easy fix: use GL_NORMALIZE.
Z All boeps seem to end up about one degree or so to the east. Might be a
bad texture problem.
* I don't have to use GLdouble all the time. Might be faster with GLfloat.
V Don't use an earth with a non-1 radius. Change camera positions and
normalize the earth. Saves a _lot_ of multiplications and divisions
with EARTH_RADIUS.
Z Open a popup menu on middle mouse button with the info instead of just
printing it to stdout.
V Fix nasty black line near midway.
V Use smarter sphere function from "tess" adv. OGL programming SIGGRAPH course.
V Right. Now add texturing to it... :/
Z Texture problem by the poles.
(Fixed to some extent. It's as good as it gets using only triangles.
See comments in code.)
V Include support for RFCs 1712 and 1876. (DNS-based geographical lookup.)
(well, not 1712, but it's obsolete and not used anyway)
* Call traceroute with -n (don't resolve names) and do it myself since I
have to talk to the nameserver anyway to support above RFCs.
V Web page: Add a link to http://www.ndg.com.au/products/gb/, geoboy.
Z Add option to make the earth semitransparent, to see the boeps and yellow
lines on the other side. I wonder if that's really smart...
V Add geoboy-cache-file-compatibility (A breeze).
V Use a GUI toolkit (Gtk?) This means moving away from GLUT, at least the
main loop, I might be able to use some convenience functions, like
glutSolidTorus etc.
Z One-dimensional texture w/ colorcycling on the yellow lines. Nah...
* Come up with a new name. "Xtraceroute" sounds wa-a-a-y to boring, and it
doesn't describe the fact that the point of the program
is in the IP-address/hostname <-> geographical coordinates mapping.
* Center the earth (autorotate) so that the last traced site is centered.
Maybe make this an option...
* Make mode to fly along the path. Naaaaahh....
-----
V Make a dialog to enter new trace.
V Hightlighting the sites thru the list.
V Clicking on boep on map -> select correct item in the list.
V Fix reshape-stuff. The glarea should always be square and it should be
possible to make it smaller than it is by default.
* Split _lots_ of stuff off of k.c and into smaller files.
(Done to some extent.)
* Remove _lots_ of global data.
(Done to some extent.)
V Rename k.c. (Now called main.c)
V Add a way to change and add data in the database.
V That should go into a new local database. It can then be sent to NDG
or whatever.
* I could make a way to export files that can be inserted right
into the DNS server for RFC1876 data. Hmm... (probably no use, it's
pretty simple anyway.)
V The GTK authors considers these to be gtk bugs.Will "V", as fixed.
V Scroll the list down automagically as new items arrive.
V Scroll the list when the user selects a site on the globe.
(Fixed by changing to new widget clist in gtk+-0.99.2)
V Add keyboard-bindings for the menus and stuff.
V Figure out a way to add the zooming-controls to the GUI.
V Figure out a way to add the distance-display to the GUI.
V Arrange with some sort of spinner.
* Make the spinner nicer.
V Should be startable without arguments.
V Fix the screwed-up colors of the sitemarkers. An OK site should _NOT_ be RED.
* Add a light where the sun is. Realistic lighting depending on time of day.
I'll probably have to do multitexturing to get this to work.
V Perhaps use environment vars for YAH{lat,lon}? Or read it from a file?
Don't compile it in anyway.
V Generalize database loading.
V Change readtexture so I can load a texture by filename.
V Add option to load user-specified texture.
V Add matching on IPs from the hosts.
V Make the internal database conform to the new nice database-interface.
V Just brighten the selected boep, don't make it white. The color should
still be visible.
V Break up makeearth() into many smaller (static) functions.
V Add #ifndef __apa_h__ / #define __apa_h__ stuff to all headerfiles.
V Make the infowindow change if the user selects a new site in the clist.
* Add actual helpful messages to all the "help"-buttons.
V If the count goes all the way up to 30, and the last site isn't known
the last bad_being arent getting drawn.
V Don't use FILE->_file to get the fd from a FILE. It's not portable.
(fileno())
V Weird problem with the colormap. Only the red compnents are used on linux.
(Was endianness! God I hate that!)
V Fix it to work with gtk-1.0 / gtkGL-newer-than-0.3
V Use automake/autoconf instead of having people rehacking my makefiles.
* RIPE/ARIN for IP-> World? (whois)
* Add spinbuttons for the numerical entry of lat/lon in the database dialogs.
V Start a new trace when someone presses the spinner.
* Fix double declarations in xt.h. SGIs compiler is pretty vocal about this...
* Use real regexps instead of just grepping in the (generic, internal)
databases (maybe globs would be better.) Yup. Use fnmatch for this.
* Generalize the databases more.
* Do something *nice* when a routerloop occurs, instead of just stacking
sitemarkers sky high.
Z Add option to specify flags to traceroute. (Or should this be compiled
in? It's not changing much...)
V Make a mode to take input from stdin, so I can debug easier.
* Make a colored marker in the clist to indicate accuracy.
V Make the FILES section in the manpage depend on the configured
locations.
V Use Imlib instead of tifflib. Means I can replace the tiff files with
pngs, which are smaller. Also means I get closer to Gnome.
V Rotate the earth so that the beginning of the trace is visible.
* Problems with non-erik versions of host. Detect.
* New async helper for the caida stuff.
* New async helper for whois.
* Maybe make one program to do caida/whois/host and put all this complexity
in there instead?