FS2_Open
Open source remastering of the Freespace 2 engine
Todo List
globalScope> Member ai_execute_behavior (ai_info *aip)
Complete the AIM_GET_BEHIND option
globalScope> Member ai_formation_object_get_slotnum (int objnum, object *objp)
This function is called per object in formation per frame. Should store slot in ai_info struct.
globalScope> Member ai_good_time_to_rearm (object *objp)
This function could be easily expended to further the definition of "safe"
globalScope> Member anim_level_init ()
Redundant?
globalScope> Member anim_set_palette (anim *a)
Actually convert the frame data to correct palette at this point
globalScope> Member anim_set_palette (anim *a)
Actually convert the frame data to correct palette at this point
globalScope> Member bm_get_filename (int handle)

z64 - maybe deprecate this in favor of an SCP_string version.

z64 - maybe combine this with the other bm_get_filename function like so: void bm_get_filename(int handle, SCP_string *filename, bool must_exist = false);

globalScope> Member bm_get_filename (int bitmapnum, char *filename)
z64 - maybe deprecate this in favor of an SCP_string version
globalScope> Member bm_get_palette (int handle, ubyte *pal, char *name)
Maybe get rid of the optional filename and have the callers call bm_get_filename. Less efficient, however.
globalScope> Member bm_is_valid (int handle)
z64 - Returned value is essentially a bool type, need to check all caller functions to see if it can safely be updated to reflect this
globalScope> Member bm_release (int handle, int clear_render_targets=0)
upgrade return type and clear_render_targets type to bools
globalScope> Member bm_release (int handle, int clear_render_targets=0)
upgrade return type and clear_render_targets type to bools
globalScope> Member bm_set_low_mem (int mode)
This should use an enum, or instead allow an arbitrary number to drop frames (like 1/2, 1/3, etc.)
globalScope> Member bm_unload_all ()
Maybe move this declaration into bmpman.cpp and then extern this function within game_shutdown() to ensure it only ever gets called there.
globalScope> Member ds_chg_loop_status (int channel, int loop)
Documentation
globalScope> Member ds_chg_loop_status (int channel, int loop)
Documentation
globalScope> Member ds_eax_is_inited ()
Documentation
globalScope> Member ds_eax_set_environment (unsigned long envid)
Proper error reporting, otherwise make a void return type.
globalScope> Member ds_get_channel_size (int channel)
Documentation
globalScope> Member ds_get_channel_size (int channel)
Documentation
globalScope> Member ds_get_play_position (int channel)
Documentation
globalScope> Member ds_get_play_position (int channel)
Documentation
globalScope> Member ds_get_write_position (int channel)
Documentation
globalScope> Member ds_get_write_position (int channel)
Documentation
globalScope> Member ds_is_channel_playing (int channel)
Documentation
globalScope> Member ds_is_channel_playing (int channel)
Documentation
globalScope> Member ds_set_position (int channel, unsigned int offset)
Documentation
globalScope> Member ds_set_position (int channel, unsigned int offset)
Documentation
globalScope> Member ds_stop_channel (int channel)
Documentation
globalScope> Member ds_stop_channel (int channel)
Documentation
globalScope> Member ds_stop_channel_all ()
Documentation
globalScope> Member dup_sexp_chain (int node)
CASE OF SEXP VARIABLES - ONLY 1 COPY OF VARIABLE
globalScope> Member EFF_FILENAME_CHECK
upgrade this to an inline funciton, taking bitmap_entry and const char* as arguments
globalScope> Member garbage_collect_path_points ()
Things to do to optimize this function:
  1. if (t != 0) xlt++; can be replaced by xlt += t; assuming t can only be 0 or 1.
  2. When pp_xlate is getting stuffed the first time, note highest index and use that instead of MAX_PATH_POINTS in following two for loops.
globalScope> Member get_damage_caused (int damaged_ship, int attacker)
Add code to check the damage ships which have exited have taken
globalScope> Member gr_set_cursor_bitmap (int n, int lock=0)
investigate memory leak of original Gr_cursor bitmap when this is called
globalScope> Member gr_set_cursor_bitmap (int n, int lock=0)
investigate memory leak of original Gr_cursor bitmap when this is called
globalScope> Member hud_add_objective_messsage (int type, int status)
Play a sound?
globalScope> Member hud_get_dock_time (object *docker_objp)
This function is pretty stupid now. It just assumes the dockee is sitting still, and the docker is moving directly to the dockee.
Member HudGaugeObjectiveNotify::renderRedAlert ()
Play a sound?
globalScope> Member longest_turret_weapon_range (ship_weapon *swp)
This function is kinda slow
globalScope> Member mission_eval_departures ()
Might move these to a better location later – MWA
globalScope> Member player_level_init ()
Don't use memset(0) approach to setting up Player->ci
globalScope> Member sexp_reset_fov ()
Check VIEWER_ZOOM_DEFAULT
globalScope> Member shield_hit_close ()
We should probably not bother releasing the shield hit bitmaps every level.
globalScope> Member wl_synch_interface ()
Implement