Win32 - TASEdit - project class - lots of notes as to the proper implementation of this (will need a slight overhaul) as well as adding a lot of private member data.

This commit is contained in:
adelikat 2010-05-25 17:42:52 +00:00
parent 5d590e4054
commit 042feb025f
2 changed files with 49 additions and 10 deletions
src/drivers/win/taseditlib

View File

@ -21,7 +21,7 @@
#include "taseditproj.h"
#include "movie.h"
void TASEDIT_PROJECT::init()
void TASEDIT_PROJECT::init() //TODO: rip this out! This should be the class constructor instead
{
projectName="";
fm2FileName="";
@ -30,6 +30,8 @@ void TASEDIT_PROJECT::init()
changed=false;
}
//TODO: a parameterized constructor that can serve as an import fm2 function
//All the get/set functions...
std::string TASEDIT_PROJECT::GetProjectName()
{

View File

@ -4,10 +4,46 @@
//Contains all the TASEDit project and all files/settings associated with it
//Also contains all methods for manipulating the project files/settings, and saving them to disk
//The project file struct
//adelikat: How this needs to be structured conceptually
//A project is just all the settings and associated files
//No fm2 data shoudl be loaded here, instead all input logs that are unsaved should be stored in .ilog files which are stripped fm2 (no header info)
//When saving a project all ilog files are saved to disk if necessary, and the .tas project file is saved
//The "main branch" will be an ilog file too, but probably a special case from the others
//When loading, all settings are loaded into the project, all .ilog files are loaded, the main branch .log is loaded as the current fm2 file in the emulator
//The greenzone is loaded as well
//All notes are added to teh right columns
//All ilog files are listed in the input log list
#include <string>
//The notes feature, displays user notes in the notes column
struct TASENote
{
std::string note;
int frame;
};
//Movie header info
struct TASEHeader
{
int version; //Will always be 3 but might as well store it
int emuVersion;
bool palFlag;
std::string romFilename;
std::string romChecksum;
std::string guid;
bool fourscore; //note: TASEdit probably won't support 4 player input for quite some time
bool microphone;
bool port0; //Always true
bool port1; //Should always be true for now at least
bool port2; //Will need to always be false until fourscore is supported
bool FDS;
bool NewPPU; //Let's make this always false for now as to not support new PPU (until it is ready)
};
class TASEDIT_PROJECT
{
public:
@ -27,13 +63,14 @@ public:
bool LoadProject(std::string PFN);
private:
//The TASEdit Project's name
std::string projectName;
//The FM2's file name
std::string fm2FileName;
//The TASEdit Project's filename (For saving purposes)
std::string projectFile;
std::string projectName; //The TASEdit Project's name
std::string fm2FileName; //The main branch ilog file (todo rename more appropriately)
std::string projectFile; //The TASEdit Project's filename (For saving purposes) //adelikat: TODO: why the hell is this different from project name??!
std::vector<TASENote> notes; //User notes
std::vector<std::string> inputlogs; //List of associated .ilog files
TASEHeader header;
std::vector<std::string> comments;
std::vector<std::string> subtitles;
// If there are unsaved changes.
bool changed;
bool changed; // If there are unsaved changes.
};