Chronicles of Shaenor TODO

Here is the TODO list for the Chronicles of Shaenor game. It is currently in discontinued (although I shall restart development on it soon). The entries are arranged so that the most recent goal batch is first, with the completed goal batches lying below it. Within a goal batch the first unbroken list of goals represents the completed goals. The following paragraph represents the goals currently worked on. And the last paragraph represents future goals in this goal batch. It is not rare for some of the latter category to be moved up into the future goal batches. I also tend to append "done" to goals that are completed.

Saving/Loading of maps
-Finish Save fns - done
-Also restructure ogrid, and make saving of ogrid work - no, images may change thus invalidating the ogrid, remake it on load
-Add DeRef stuff to objects deletions - done
-Add Load fns - done
Fix dialog positioning bug - done
Make all menus be based in dialogs.cpp - done
Add sounds/fonts to the gui_theme to be hadled by the gui.cpp, dialogs.cppwill only handle dialog definitions and some callback functions - done
Sidebars will also be handled there, but not within the loop-we will have a function to call for each step(called from editor loop e.g.) - later
Add Load/Save screen
-make file selection work - done
-finish drawguitextlim, incorporate it into the textbox and listbox - done
-make an edit box - done
Test saving/loadig - done
-Hmm, make sure the # of bytes written == #of bytes read, maybe create PutInt, PutFloat fns?
-Hmm. Copy/Paste routines have problems. - done
-Perhaps add encryption - later
Adjust the iso.cpp to be render.cpp, and stick all drawing fns into it - done
Add the close button - done
Add multiple-datafile support
-File seeking will still be done using datafiles, but all other file loading procedures shall be done using PackFiles - done
-Add a buffer from file loading function - done
-Partially switch to zip(zlib) - done
-Make the new folder creation thing - done

Fix all leaks!
-Datafile unloading - fix when re-doing the file system
-Checked main menu etc, now dow editor
Add Music
Add movable dialogs - postponed


Add music decoding-done?
-use register file name thing - no, we cant do this for oggs in dat's
Fix looping/other stuff - done
Add cut/copy/paste routines - done
Fix sound handles - done

Add script fns - done
-add script fns
-add an array? of scriptdata's
-auto-load all scripts on init
-init engine - look at the thing from the tutorial
-make use of their string class
-add retreival fn's to get stuff from the scriptdata's
-test scripts' init function
Add a script field for mobjects
-a string will do - done
Add namespaces - for fun mostly - haha nope!


Switch to 60 pixel square - done
Make scrolling be time controlled - done
Fix Voxel Editor: make the view only refresh once the mbutton is released and draw a bmp there, improve image generation - done
Add quad tree visual culling algo, I can use it for drawing to screen(instead of using octrees) and I can use it for fast culling of objects
I think I will use allegro as a makeshift stencil buffer and use the masks of the images as my basis
-I think I should get the masks from say, the alpha channel? make them at the creation for the sprites?-done
Make rendering based on this culling grid. -nope, it is not suitable, it is not a functional mapping
Fix ESC bug(deselection) - done
Fix placement bug(starts placement incorrenctly sometimes) -done?
Fix framerate in editor - done
Make a new list with custom memory allocation - once again, not deemed necessary ;)
Add highlighting of the current layer(through multi?) - not deemed necessary
Add multi-level stuff - done
-Add a pointer to the IsoObjects to store the visibities
-Still store the visibility for the default mode in a separate int
-The recreateOgrid function will now accept max width, max length max height(i.e. a box, I would guess centered with the x/y, but z = 0 corresponds to the bottom)
-We will keep these values in the map params structure
-We will not allow things to be placed outside the map
-We will not allow the z view to go outside the map(since I will draw the x/y extents it will not be necessary for them)
Add grid extent drawing - done
Add the actual keys for this level thing - done
Fix some z-buffer problems with the grid - done, just killed the remaining depth code


Add the folder/file color things to the list(I guess list them as 'o' and 'f') - done
Add clear z-buf command - done
Add drawing of lines in 3d - done
Once NeHe is up, fix the texture clearing at the end of the drawing fns - done
Add new depth calculation(test for the screen's z as well) - done
Fix mobject,isoline,isobox drawing code - done


Add loading of vertical sliders - done
Finish slider drawing - done
Make options menu - done

Finish the text_box(add the scroll bar handling + test), add colors?
Do the list_box W/ scroll etc. - done

Add focus stuff to slider(mouse wheel and arrow keys) - postponed, to text_box(make it store its pos, and make arrows/wheel modify it)
, to list_box(same as text box) - done
Add disabled fn's to all gui things(mostly through text color I think) - postponed


Redraw the title screen etc.


Voxel Editor
Add sidebar(menu?) - done(although add more)
Add palette display - done
Add palette selection - done
Add voxel storage etc... - done
Add voxel drawing(2d mode) -done
Add voxel editing-done
Add 3d view with planes - done
Line,s rects etc.. - done
Add utility fn/s e.g. rotate left right, flip up down, shift up down
Add load/saving


Make drawing based on octree, I think we will use multimap for the final container, or make my own - canceled
Make drawing of the grid based on octree - add culling based on octree only
Add selection box stuff - done
Add actual object selection - though box and through shift - done
Change object storage in editor to lists - done
Change octree input to lists - done
Add object deletion - loop through main objects, then recreate tree - done
Add object movement etc - recreate the tree each time - done
Enhance object addition - stick into a single function, add multiobject placement - done
Make the other_objects behave like the line buffer in iso, i.e. do not reallocate pointers every time - done
When the mouse is down make the map scroll before the mouse reaches the side bar - done
Test sprites - revamp them to the new system(make it just like the bitmaps et al) - done
Add some sort of way to show the cursor's height(a line coming down from it? a fixed height grid?) - not necessary, the current grid is pretty



Make collision grid creation, destruction, insertion - done

Add collision detection

Make drawing based on collision grid
Make drawing of the grid based on collision grid

Test sprites


Add colors for the outline/shading - done
Add exceptions to ALL functions! - done
Add object selection -> woo... need collision detection
Add collision manager of some sort, build some sort of a tree -> octree most likely
-first divide into regular cubes and then do the standard oct tree thing - done
Add into collision into the editor-done
Add box-box collision testing - done?

Add mobject ray as described in paper

Add mobject sphere test: i guess we can test for each 3 sided parallelopiped using the plane testing

Similarly for the aabb test -

Test sprites - revamp them to the new system(make it just like the bitmaps et al)


Editor function - done?
Keyboard - done
Add array - done
Figure out how bitdepth works - done
Add mouse draw function to mouse_fns.cpp and put it into editor - done
Iso draw function: create an array with so and so many lines in it that we will use for draw grid,
add a new create bbox functions that takes only the endpoints, so that we will pass it the generated
points and if these points are on the screen then we fetch a line from the array, set it up and
stick it into the objects to draw - done
Add scroll speed control in the options - done
Add an options dialog popup for the editor - done
Add dialog maker - canceled
Add mouse scroll images - canceled, not deemed useful
Add status bar to the editor-done
Add a selection box to the display - canceled
Add a unified data structure that will hold the bitmaps,sounds midis etc all in one place - done
Add navigation to the text thing - done
Fix all of the maps to use string instead of char* for their keys -> char* does not work - done
MapObject drawing(the collision box only for now) - done
MapObject structure(holds the solid, sprite location etc..) - add loading, add shaded draw - done
Add exception handling - done


Fix the theme load to use the proper way to load bitmaps -- done(should work natively)
Test how .cfg's are loaded from datafiles -- done
Add sprite handling functions -- done
Add sprite animation fns -- done
Add global time delta -> try to use a timer or retrace_count -- done


Draw a new main menu?
Start isometric engine?


Add file loading from pack files -- done
Add pallete functions -- done
Take care of the custom gus table -- done


Finish Play Music -- done
Add updatevoices -- done
Add init sound -- done
Add volume controls -- done


Add sound handling functions:
when adding sounds we do the same thing as in images
when playing sounds we pass absolute position as well, and store it in an array of voices
we then update it regularly versus a listener position to determine its pan etc...
for musics we simply do the same thing, but they will have no position to update

Original content Copyright SiegeLord's Abode 2006-2017. All rights reserved.  

web analytics