IZZZZZI 发表于 2014-8-25 12:01:03

本帖最后由 IZZZZZI 于 2014-8-25 17:26 编辑

IZZZZZI 发表于 2014-8-24 10:19
等不及了自己改了改,风风你考虑一下吧,Bang名字你自己取合适的
以前写皮肤百般迁就插件,现在自己会写插 ...
我已经改好了。。代码在上面。。可是你不考虑一下加进你的插件里再更新一个版本么。。分支太多会乱。。。好纠结。。{:10_390:}


还是我编译好再给你?版本号怎么填?ProjectGuid怎么破?

话说Terminate是不是有点多余?measure->stopLooping=true时线程就以最好的方式直接退出了啊。。
反倒是CloseHandle没有,每次新建线程会消耗句柄资源,不知道我理解的对不对
要不我按自己的理解整个改一下,还是你问问大神们确定一下?

IZZZZZI 发表于 2014-8-24 10:19:16

本帖最后由 IZZZZZI 于 2014-8-25 17:08 编辑

等不及了自己改了改,风风你考虑一下吧,Bang名字你自己取合适的
以前写皮肤百般迁就插件,现在自己会写插件了总想在上面动手脚。。。还有你那个COPYRIGHT的符号不考虑用真的么。。© 2014 - 编码另存为 Unicode就行

struct Measure
{
      Measure() :
                stopLooping(true),
   。。。。。。。。
}

PLUGIN_EXPORT void ExecuteBang(void* data, LPCWSTR args)
{
      Measure* measure = (Measure*)data;
      if (!_wcsicmp(args, L"Start"))
      {
                measure->StartThread();
      }
      else if (!_wcsicmp(args, L"Continue"))
      {
                if (measure->stopLooping)
                {
                        measure->StartThread();
                }
      }
      else if (!_wcsicmp(args, L"Stop"))
      {
                measure->stopLooping = true;
      }
      else if (!_wcsicmp(args, L"Terminate"))
      {
                if (measure->m_UpdateThread)
                {
                        TerminateThread(measure->m_UpdateThread, 0);
                }
                measure->counting = 0.0;
      }
      else
      {
                std::wstring sOption = args;
                size_t pos = sOption.find(' ');

                if (pos != -1)
                {
                        std::wstring sBang = sOption.substr(0, pos);
                        sOption.erase(0, pos + 1);

                        if (_wcsicmp(sBang.c_str(), L"SetValue") == 0)
                        {
                              int i = 0;
                              if (swscanf_s(sOption.c_str(), L"%d", &i))
                              {
                                        i = i < 0 ? 0 : i;
                                        measure->counting = i;
                              }
                        }
                }
      }
}

IZZZZZI 发表于 2014-8-23 23:59:18

风风能不能考虑一个非重置的类Start Bang?
比如 [!CommandMeasure MeasureUpdate Start] 无论 MeasureUpdate 是不是在运行过程中都会强制清零并重新读取,我希望有个在运行中则不干涉,并允许我重设counting值的 Bang ,没在运行则运行的类 Start Bang。。。

感觉实现不会很麻烦
原作者能更新就最好啦{:10_452:}

会哭的梧桐树 发表于 2014-8-22 19:50:40

我自行车被偷了.....我所有的动力都被一下子抽走了。呜呜呜呜....

会哭的梧桐树 发表于 2014-8-22 15:53:57

还是算了。_(:3」∠)_

IZZZZZI 发表于 2014-8-21 13:55:13

本帖最后由 IZZZZZI 于 2014-8-21 19:41 编辑

风风这个插件的源码能看一下么。。。很好奇怎么独立更新的
我是不是会错意了,官网那句
Only RmLog is thread-safe. No other function should be used outside of the main thread.

是不是说不开新线程的话 RmExecute(void* skin, LPCWSTR command)就可以随便用?





丿子文 发表于 2014-8-19 15:42:43

11111111111111111111111111

会哭的梧桐树 发表于 2014-8-16 23:42:11

小哥!这货你没发到贴吧我可以转嘛??

280181564 发表于 2014-8-3 15:39:07

看看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。



---------------------------------------------------------------------------------------------------------------------

280181564于2014-8-3 15:39补充以下内容:
看看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。看看

---------------------------------------------------------------------------------------------------------------------

c5160604 发表于 2014-7-20 23:53:20

谢谢分享!
页: 1 2 3 4 5 6 7 8 9 10 [11] 12
查看完整版本: 【Update.dll】辅助动画效果的实现