Posts: 746
Threads: 55
Joined: Apr 2008
06-17-2012, 03:56 PM
(This post was last modified: 04-11-2013, 10:58 AM by Som1Lse.)
REAL TIME DATA CHANGER!!!!1!!!1!!!!!
DON'T HAVE TO RELOAD LF2!!!11!!!!!!!
SYNTAX HIGHLIGHTING FOR AI!!!!!1!!
This was really just a program that I wrote to learn using wxWidgets, but I might as well release it. It is a simple, non-complex and easy-to-use data changer, but more than that, it is also open source (Gnu GPL).
Screenies:
Download: http://mediafire.com/?pyrgbg5goblu5
You'll need 7-zip in order to extract the files: http://7-zip.org/
If you are just a regular user, you should download "LF2DCWindowsWTE.7z", but if you would like to experiment with the source, then download "LF2DCSource.7z".
"LF2DCWindowsWTE.7z" might trigger your Anti Virus software, and in that case either allow it to pass, or use "LF2DCWindowsNoWTE.7z". If you choose the latter option you won't have "Write To Exe" functionality.
It is built using CodeBlocks, and wxWidgets, so you are going to need those if you want to edit the source.
Technically it is built using GCC and wxWidgets, but why be so precise?
1.1.0: - Updated AngelScript syntax highlighter for the new version. (to be released shortly)
- Fixed some bugs related to crashing when using the Write To Exe functionality.
- Added Write To Exe functionality for stages. (as requested by zort)
- Maybe some other stuff, can't remember.
1.0.0: - Fixes bugs related to reading unicode filenames. This makes it possible to read files with characters other than those specified in the ASCII standard, which includes "½", chinese, japanese etc.
1.4.2 beta: - Updated the AngelScript lexer, so it fits with the newest AI version.
1.4.1 beta: - Fixed a certain bug having to do with it not liking characters when writing to exe.
1.4.0 beta: - Added "Write To Exe" functionality. Basically you can press a button and the changes will occur within LF2 without having to restart.
- Added a to do list.
- Added AngelScript lexer, for LF2 AI.
- Updated Data Change lexer.
- Added recently opened files.
- Certain other changes that I've forgotten.
1.2.0 beta: - Updated the Chai lexer, again.
- a few bug fixes.
1.1.1 beta:
1.1.0 beta: - Added Chai lexer.
- Bug fixes here and there.
1.0.0 beta:
Feel free to post ideas and modifications, and I'll gladly try and add them.
Age ratings for movies and games (and similar) have never been a good idea.
One can learn a lot from reinventing wheels.
An unsound argument is not the same as an invalid one.
volatile in C++ does not mean thread-safe.
Do not make APIs unnecessarily asynchronous.
Make C++ operator > again
Trump is an idiot.
Thanks given by: A-Man , Hero destroyer , Boop , The Lost Global Mod , MnM , mfc , professional DCer , zort , The Hari , Bamboori , shin hanazumi , Dr. Time , bashscrazy , Ariyan , MangaD , Rellotscrewdriver
Posts: 1,850
Threads: 44
Joined: Jul 2008
so is it a multiplatform datachanger?
As you are using code blocks, which also works on linux and mac osx.
[sig placeholder until my new sig is finished]
should totally allow people to be all trolley on their birthday
Thanks given by:
Posts: 746
Threads: 55
Joined: Apr 2008
(06-17-2012, 04:03 PM)The Lost Global Mod Wrote: so is it a multiplatform datachanger? I've only compiled it for Windows, but I think it should be very easy to port to other systems, as it doesn't use any Windows dependent functions.
Age ratings for movies and games (and similar) have never been a good idea.
One can learn a lot from reinventing wheels.
An unsound argument is not the same as an invalid one.
volatile in C++ does not mean thread-safe.
Do not make APIs unnecessarily asynchronous.
Make C++ operator > again
Trump is an idiot.
Thanks given by:
Posts: 1,850
Threads: 44
Joined: Jul 2008
hm.. okay then i will try to port it and see how it does
[sig placeholder until my new sig is finished]
should totally allow people to be all trolley on their birthday
Thanks given by:
Posts: 2,140
Threads: 64
Joined: Sep 2008
If you want to make it usefull add something like visual sprite maker working containing opoint, wpoint and cpoint.
Thanks given by:
Posts: 722
Threads: 74
Joined: Apr 2011
What's with the deep tab there? Can we open 2 dat files at the same time like opening two webs. If you did it or can add it, it would be AWESOME!!
This place motivates me to become an artist, this place motivates me to learn coding, this place made me grow up, showed me the ways to interact with people. Unlike the old childish of me myself, I've learned a lot and gotten some experiences. For me, it's not just a fan forum, it's a helpful community. From a noob to someone who would think before he speaks, looking back at my old post made me laugh hard, I'm grateful of the differences between these 2 years.
~Thank You All and Farewell
~Goodbye, LFE.
RIP - 14/04/2014
Thanks given by:
Posts: 746
Threads: 55
Joined: Apr 2008
06-18-2012, 12:58 PM
(This post was last modified: 06-18-2012, 12:59 PM by Som1Lse.)
(06-17-2012, 04:27 PM)Gad Wrote: If you want to make it usefull add something like visual sprite maker working containing opoint, wpoint and cpoint. I will look into it.
(06-18-2012, 07:39 AM)Hero destroyer Wrote: What's with the deep tab there? Can we open 2 dat files at the same time like opening two webs. If you did it or can add it, it would be AWESOME!! Yes, that is indeed possible.
Age ratings for movies and games (and similar) have never been a good idea.
One can learn a lot from reinventing wheels.
An unsound argument is not the same as an invalid one.
volatile in C++ does not mean thread-safe.
Do not make APIs unnecessarily asynchronous.
Make C++ operator > again
Trump is an idiot.
Thanks given by:
Posts: 1,018
Threads: 60
Joined: Mar 2008
06-18-2012, 01:05 PM
(This post was last modified: 06-18-2012, 01:12 PM by Boop.)
Yay! Something written in C++ rather than C#! All hail the almighty Someone else! I thanked your post, I've only thanked 12 things, this is how much I thank you :p. This has become my new DCer of choice (I've been using Rammichaels ancient one with no syntax highlighting for ages now because I don't need no fancy sh*t, I just want it to work and not be slow).
Edit:
Reading the source now.
C-Code:
Connect(ID_AUITOOLBARFILENEW,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnNew);
Connect(ID_AUITOOLBARFILEOPEN,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnOpen);
Connect(ID_AUITOOLBARFILESAVE,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnSave);
Connect(ID_AUITOOLBARFILESAVEAS,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnSaveAs);
Connect(ID_AUITOOLBARFILECLOSE,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnCloseCurrentTab);
Connect(ID_AUITOOLBAREDITUNDO,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnUndo);
Connect(ID_AUITOOLBAREDITREDO,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnRedo);
Connect(ID_AUITOOLBAREDITCUT,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnCut);
Connect(ID_AUITOOLBAREDITCOPY,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnCopy);
Connect(ID_AUITOOLBAREDITPASTE,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnPaste);
Connect(ID_AUITOOLBAREDITSEARCH,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnToolSearch);
Connect(ID_AUITOOLBAREDITREPLACE,wxEVT_COMMAND_TOOL_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnToolReplace);
Connect(ID_SEARCHDIALOGSEARCHFIELD,wxEVT_COMMAND_TEXT_ENTER,(wxObjectEventFunction)&LF2DataChangerFrame::OnSearch);
Connect(ID_SEARCHDIALOGSEARCHBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnSearch);
Connect(ID_SEARCHDIALOGSEARCHREPLACE,wxEVT_COMMAND_TEXT_ENTER,(wxObjectEventFunction)&LF2DataChangerFrame::OnReplace);
Connect(ID_SEARCHDIALOGREPLACEBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnReplace);
Connect(ID_SEARCHDIALOGREPLACEALLBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&LF2DataChangerFrame::OnReplaceAll);
Connect(ID_AUINOTEBOOK,wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE,(wxObjectEventFunction)&LF2DataChangerFrame::OnPageClose);
Connect(ID_AUINOTEBOOK,wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED,(wxObjectEventFunction)&LF2DataChangerFrame::OnPageClosed);
Connect(ID_AUINOTEBOOK,wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,(wxObjectEventFunction)&LF2DataChangerFrame::OnPageChanged);
Connect(ID_AUINOTEBOOK,wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP,(wxObjectEventFunction)&LF2DataChangerFrame::OnTabMiddleUp);
Connect(ID_AUINOTEBOOK,wxEVT_COMMAND_AUINOTEBOOK_BG_DCLICK,(wxObjectEventFunction)&LF2DataChangerFrame::OnBgDClick);
Connect(ID_AUITOOLBARSEARCHFIELD,wxEVT_COMMAND_TEXT_ENTER,(wxObjectEventFunction)&LF2DataChangerFrame::OnSearch);
Connect(ID_AUITOOLBARSEARCHFIELD,wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN,(wxObjectEventFunction)&LF2DataChangerFrame::OnSearch);
Connect(ID_AUITOOLBARSEARCHREPLACE,wxEVT_COMMAND_TEXT_ENTER,(wxObjectEventFunction)&LF2DataChangerFrame::OnReplace);
Connect(ID_AUITOOLBARSEARCHREPLACE,wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN,(wxObjectEventFunction)&LF2DataChangerFrame::OnReplace);
AuiManager->Connect(wxEVT_AUI_PANE_CLOSE,(wxObjectEventFunction)&LF2DataChangerFrame::OnPaneClose,0,this);
Connect(ID_MENUFILENEWFILE,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnNewFile);
Connect(ID_MENUFILEOPEN,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnOpen);
Connect(ID_MENUFILESAVE,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnSave);
Connect(ID_MENUFILESAVEAS,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnSaveAs);
Connect(ID_MENUFILECLOSE,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnCloseCurrentTab);
Connect(ID_MENUFILEQUIT,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnQuit);
Connect(ID_MENUEDITUNDO,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnUndo);
Connect(ID_MENUEDITREDO,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnRedo);
Connect(ID_MENUEDITCUT,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnCut);
Connect(ID_MENUEDITCOPY,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnCopy);
Connect(ID_MENUEDITPASTE,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnPaste);
Connect(ID_MENUEDITSEARCH,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnToolSearch);
Connect(ID_MENUEDITREPLACE,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnToolReplace);
Connect(ID_MENUVIEWFILE,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnShowFile);
Connect(ID_MENUVIEWEDIT,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnShowEdit);
Connect(ID_MENUVIEWSEARCH,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnShowSearch);
Connect(ID_MENUHELPABOUT,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&LF2DataChangerFrame::OnAbout);
Connect(wxID_ANY,wxEVT_CLOSE_WINDOW,(wxObjectEventFunction)&LF2DataChangerFrame::OnClose);
|
I really really hope that was automatically generated, otherwise o.0
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.
Thanks given by:
Posts: 1,229
Threads: 54
Joined: Sep 2008
06-18-2012, 01:45 PM
(This post was last modified: 06-18-2012, 01:49 PM by MnM.)
Mingw for the persons those who dont have it : http://www.dll-files.com/dllindex/dll-fi...l?mingwm10
Silva requested you to build it statically for the DCer.
Thanks given by:
Posts: 746
Threads: 55
Joined: Apr 2008
06-18-2012, 02:20 PM
(This post was last modified: 06-18-2012, 06:58 PM by Som1Lse.)
(06-18-2012, 01:05 PM)Lord Silva Wrote: Yay! Something written in C++ rather than C#! Indeed.
(06-18-2012, 01:05 PM)Lord Silva Wrote: This has become my new DCer of choice Glad to hear.
(06-18-2012, 01:05 PM)Lord Silva Wrote: I really really hope that was automatically generated, otherwise o.0 Don't worry. It was generated by wxSmith.
(06-18-2012, 01:45 PM)Men'Mine Wrote: Mingw for the persons those who dont have it : http://www.dll-files.com/dllindex/dll-fi...l?mingwm10
Silva requested you to build it statically for the DCer. I don't really know how to do so.
Edit: Small update.
Basically including a Linux-version, and "mingwm10.dll".
Feedback highly appreciated.
Age ratings for movies and games (and similar) have never been a good idea.
One can learn a lot from reinventing wheels.
An unsound argument is not the same as an invalid one.
volatile in C++ does not mean thread-safe.
Do not make APIs unnecessarily asynchronous.
Make C++ operator > again
Trump is an idiot.
Thanks given by:
|