From 64bbb516f85dd799e2e377e8b59e5cb13f04b6d4 Mon Sep 17 00:00:00 2001 From: zeromus Date: Fri, 21 Oct 2011 00:12:09 +0000 Subject: [PATCH] build fixes for tasedit and old vcprojs --- src/drivers/win/tasedit.cpp | 2 + src/drivers/win/taseditlib/greenzone.cpp | 12 +++--- src/drivers/win/taseditlib/inputsnapshot.cpp | 24 +++++------ src/drivers/win/taseditlib/markers.cpp | 8 ++-- vc/vc8_fceux.vcproj | 44 ++++++++++++++++++-- vc/vc9_fceux.vcproj | 40 ++++++++++++++++++ 6 files changed, 104 insertions(+), 26 deletions(-) diff --git a/src/drivers/win/tasedit.cpp b/src/drivers/win/tasedit.cpp index 4a774a7a..9616e11a 100644 --- a/src/drivers/win/tasedit.cpp +++ b/src/drivers/win/tasedit.cpp @@ -1059,6 +1059,8 @@ void OpenProject() ofn.lpstrTitle="Open TASEdit Project..."; ofn.lpstrFilter=TPfilter; + //TODO - this is a bug, as GetRomName() returns archive.7z|game.rom and that confuses GetOpenFileName() + //we need to use a different function to get a friendlier name (same as savestates and fm2 and the like) char nameo[2048]; //File name strcpy(nameo, GetRomName()); //For now, just use ROM name diff --git a/src/drivers/win/taseditlib/greenzone.cpp b/src/drivers/win/taseditlib/greenzone.cpp index 48633f4b..67ae72bb 100644 --- a/src/drivers/win/taseditlib/greenzone.cpp +++ b/src/drivers/win/taseditlib/greenzone.cpp @@ -174,9 +174,9 @@ void GREENZONE::save(EMUFILE *os) int len = lag_history.size(); uLongf comprlen = (len>>9)+12 + len; std::vector cbuf(comprlen); - compress(cbuf.data(), &comprlen, lag_history.data(), len); + compress(&cbuf[0], &comprlen, &lag_history[0], len); write32le(comprlen, os); - os->fwrite(cbuf.data(), comprlen); + os->fwrite(&cbuf[0], comprlen); // write playback position write32le(currFrameCounter, os); // write savestates @@ -196,7 +196,7 @@ void GREENZONE::save(EMUFILE *os) // write savestate size = savestates[frame].size(); write32le(size, os); - os->fwrite(savestates[frame].data(), size); + os->fwrite(&savestates[frame][0], size); } // write -1 as eof for greenzone write32le(-1, os); @@ -223,8 +223,8 @@ bool GREENZONE::load(EMUFILE *is) if (!read32le(&comprlen, is)) goto error; if (comprlen <= 0) goto error; std::vector cbuf(comprlen); - if (is->fread(cbuf.data(), comprlen) != comprlen) goto error; - int e = uncompress(lag_history.data(), &destlen, cbuf.data(), comprlen); + if (is->fread(&cbuf[0], comprlen) != comprlen) goto error; + int e = uncompress(&lag_history[0], &destlen, &cbuf[0], comprlen); if (e != Z_OK && e != Z_BUF_ERROR) goto error; // read playback position if (read32le((uint32 *)&frame, is)) @@ -263,7 +263,7 @@ bool GREENZONE::load(EMUFILE *is) { // load this savestate savestates[frame].resize(size); - if ((int)is->fread(savestates[frame].data(), size) < size) break; + if ((int)is->fread(&savestates[frame][0], size) < size) break; prev_frame = frame; // successfully read one greenzone frame info } } diff --git a/src/drivers/win/taseditlib/inputsnapshot.cpp b/src/drivers/win/taseditlib/inputsnapshot.cpp index e7cab5ef..be06cd40 100644 --- a/src/drivers/win/taseditlib/inputsnapshot.cpp +++ b/src/drivers/win/taseditlib/inputsnapshot.cpp @@ -102,19 +102,19 @@ void INPUT_SNAPSHOT::compress_data() int len = joysticks.size(); uLongf comprlen = (len>>9)+12 + len; joysticks_compressed.resize(comprlen); - compress(joysticks_compressed.data(), &comprlen, joysticks.data(), len); + compress(&joysticks_compressed[0], &comprlen, &joysticks[0], len); joysticks_compressed.resize(comprlen); // compress hot_changes len = hot_changes.size(); comprlen = (len>>9)+12 + len; hot_changes_compressed.resize(comprlen); - compress(hot_changes_compressed.data(), &comprlen, hot_changes.data(), len); + compress(&hot_changes_compressed[0], &comprlen, &hot_changes[0], len); hot_changes_compressed.resize(comprlen); // compress markers len = markers_array.size(); comprlen = (len>>9)+12 + len; markers_array_compressed.resize(comprlen); - compress(markers_array_compressed.data(), &comprlen, markers_array.data(), len); + compress(&markers_array_compressed[0], &comprlen, &markers_array[0], len); markers_array_compressed.resize(comprlen); // don't compress anymore already_compressed = true; @@ -136,13 +136,13 @@ void INPUT_SNAPSHOT::save(EMUFILE *os) compress_data(); // save joysticks data write32le(joysticks_compressed.size(), os); - os->fwrite(joysticks_compressed.data(), joysticks_compressed.size()); + os->fwrite(&joysticks_compressed[0], joysticks_compressed.size()); // save hot_changes data write32le(hot_changes_compressed.size(), os); - os->fwrite(hot_changes_compressed.data(), hot_changes_compressed.size()); + os->fwrite(&hot_changes_compressed[0], hot_changes_compressed.size()); // save markers data write32le(markers_array_compressed.size(), os); - os->fwrite(markers_array_compressed.data(), markers_array_compressed.size()); + os->fwrite(&markers_array_compressed[0], markers_array_compressed.size()); } bool INPUT_SNAPSHOT::load(EMUFILE *is) { @@ -171,8 +171,8 @@ bool INPUT_SNAPSHOT::load(EMUFILE *is) if (!read32le(&comprlen, is)) return false; if (comprlen <= 0) return false; joysticks_compressed.resize(comprlen); - if (is->fread(joysticks_compressed.data(), comprlen) != comprlen) return false; - int e = uncompress(joysticks.data(), &destlen, joysticks_compressed.data(), comprlen); + if (is->fread(&joysticks_compressed[0], comprlen) != comprlen) return false; + int e = uncompress(&joysticks[0], &destlen, &joysticks_compressed[0], comprlen); if (e != Z_OK && e != Z_BUF_ERROR) return false; // read and uncompress hot_changes data destlen = size * bytes_per_frame[input_type] * HOTCHANGE_BYTES_PER_JOY; @@ -181,8 +181,8 @@ bool INPUT_SNAPSHOT::load(EMUFILE *is) if (!read32le(&comprlen, is)) return false; if (comprlen <= 0) return false; hot_changes_compressed.resize(comprlen); - if (is->fread(hot_changes_compressed.data(), comprlen) != comprlen) return false; - e = uncompress(hot_changes.data(), &destlen, hot_changes_compressed.data(), comprlen); + if (is->fread(&hot_changes_compressed[0], comprlen) != comprlen) return false; + e = uncompress(&hot_changes[0], &destlen, &hot_changes_compressed[0], comprlen); if (e != Z_OK && e != Z_BUF_ERROR) return false; // read and uncompress markers data destlen = size; @@ -191,8 +191,8 @@ bool INPUT_SNAPSHOT::load(EMUFILE *is) if (!read32le(&comprlen, is)) return false; if (comprlen <= 0) return false; markers_array_compressed.resize(comprlen); - if (is->fread(markers_array_compressed.data(), comprlen) != comprlen) return false; - e = uncompress(markers_array.data(), &destlen, markers_array_compressed.data(), comprlen); + if (is->fread(&markers_array_compressed[0], comprlen) != comprlen) return false; + e = uncompress(&markers_array[0], &destlen, &markers_array_compressed[0], comprlen); if (e != Z_OK && e != Z_BUF_ERROR) return false; return true; diff --git a/src/drivers/win/taseditlib/markers.cpp b/src/drivers/win/taseditlib/markers.cpp index 330bd67e..325a3d01 100644 --- a/src/drivers/win/taseditlib/markers.cpp +++ b/src/drivers/win/taseditlib/markers.cpp @@ -40,9 +40,9 @@ void MARKERS::save(EMUFILE *os) int len = markers_array.size(); uLongf comprlen = (len>>9)+12 + len; std::vector cbuf(comprlen); - compress(cbuf.data(), &comprlen, markers_array.data(), len); + compress(&cbuf[0], &comprlen, &markers_array[0], len); write32le(comprlen, os); - os->fwrite(cbuf.data(), comprlen); + os->fwrite(&cbuf[0], comprlen); } // returns true if couldn't load bool MARKERS::load(EMUFILE *is) @@ -61,8 +61,8 @@ bool MARKERS::load(EMUFILE *is) if (!read32le(&comprlen, is)) goto error; if (comprlen <= 0) goto error; std::vector cbuf(comprlen); - if (is->fread(cbuf.data(), comprlen) != comprlen) goto error; - int e = uncompress(markers_array.data(), &destlen, cbuf.data(), comprlen); + if (is->fread(&cbuf[0], comprlen) != comprlen) goto error; + int e = uncompress(&markers_array[0], &destlen, &cbuf[0], comprlen); if (e != Z_OK && e != Z_BUF_ERROR) goto error; return false; } diff --git a/vc/vc8_fceux.vcproj b/vc/vc8_fceux.vcproj index 4762abe9..da1861d7 100644 --- a/vc/vc8_fceux.vcproj +++ b/vc/vc8_fceux.vcproj @@ -799,10 +799,6 @@ RelativePath="..\src\boards\bs-5.cpp" > - - @@ -2294,6 +2290,46 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/vc/vc9_fceux.vcproj b/vc/vc9_fceux.vcproj index 3c8b2a58..16d8b355 100644 --- a/vc/vc9_fceux.vcproj +++ b/vc/vc9_fceux.vcproj @@ -1797,6 +1797,46 @@ + + + + + + + + + + + + + + + + + + + +