Since the Ace Attorney Discord isn't the best place to post this kind of stuff, and I feel that it's appropriate that people who care know what i'm doing on this project, I'm opening this thread to post my developments on the easyCase framework, built around KSA Technology's previous PWLib library for the Anime Image Game Engine.

This is a GUI centred program which will enable you to create cases in PWLib using a graphical interface, rather than using the scripting method that's set out for it. Yes, this won't be the most code-efficient method of creating cases, but I feel that it'll be an easy way for either veterans who want to speed up their workflow to create cases, or new people starting out which are constantly searching for threads on MB's Casemaker. (Yes, the forbidden name).

I'll be posting updates on development as well as release scheduling here, and provide download links either internally or externally when required. Here's a first look at the program right now, even if it is extremely early in development:

The feature set here is obviously severely lacking, but it works as a proof of concept. When saved, using the "File" tab at the top of the window, a new instance of PWLib is created in the selected folder, and the script is then flushed to file and can then be run, with no further configuration, from "AIGE.exe" in the save location. Currently you can only set the title, but all initialisation of required scripts, etc. is done by the program itself, rather than by a user manually typing the script in, which I feel is extremely useful. AIGE boots and loads PWLib completely fine from one of these saves.

The program also only uses ~20-22MB of memory as of current, which I aim to keep extremely low as to make it lightweight and usable on lots of systems.

I'll post more updates here when I have them, and the program is nearing a usable state.In the meantime, have a good one.

Something in the code broke!Quick, search StackOverflow!

Code:

if (henke==true && !working) {Console.WriteLine("Yell")}

Last edited by c272 on Mon Sep 24, 2018 7:38 pm, edited 4 times in total.

Progress has been made quickly toward a functional build.Today, I managed to add a title changing function, along with functions to:- Add Characters- Change Character Poses- Change Active Character (character on screen)- Show Message Box- Hide Message Box- Change Background- Give Evidence to Player- Message as the Active Character- Message as Phoenix

As you can see, development has been extremely limited, and you can currently only have Phoenix as the player character, along with only having 1 or 2 pieces of evidence available. However, this will change when I find the time to add all the different IDs and paths in for all the evidences, and make the player's name changeable.

Here's a quick screenshot of it in action:

Loading an existing project is currently not available, and likely won't be for quite a while, as I'll have to build an interpreter to read through an existing .HLSL file and output the necessary jargon to console, which will have to be done after I've built a complete feature set. Here, you can see that adding and focusing different characters is entirely possible:

And the game is currently booting and loading:

Giving evidence to the player is also done via. an external window, where you choose which piece of evidence you want the player to have, and give it a description. I'll extend this in the future so that you can choose custom names and pictures for evidence.

That's all for now.I'll report back soon with more progress updates, as development continues.

Here with a new update again.For this update, I've been ironing out a lot of the problems with text, and finishing off all the messaging features before moving onto the trial and case systems.

Here's a quick screenshot of the latest build:

As you can see, there are now the balloons that often appear around the games ("OBJECTION!", "TAKE THAT!", and "HOLD IT!") along with their sound effects. For some reason, Phoenix's "HOLD IT!" doesn't appear to be included with the default SFX, so I've had to manually add it in via. a custom wave file. Lacking this, the engine defaults to Mia's "HOLD IT!" sound. (Yeah, it's not a pretty solution, but it works. I'll have to fix it later, right now, I'm intent on getting a beta build out to users.)

You can also use custom sound effects in the engine now, too. Clicking on "Other SFX" brings up a menu which allows you to add extra external sound effects, as long as they're:- Wave files (.wav)- Within the parent directory of "AIGE.exe".

Here's a quick look:

All games created within easyCase now begin with a splash screen and options to create a new game, load or exit. A default placeholder image is used when nothing's supplied. You can now also edit the name of the game, and the name of the banner image, through a "Game Properties" menu in the "Edit" section at the top of the window.

That's all I have to report for now.A beta build will be rolling out in the other subforum within the next couple days, but on a limited basis. I'll be giving out the downloads on a per-user basis, just for now, so that I can gather testing data and feedback, and then I'll be moving to a global release when I feel that the program's ready.

If you want to sign yourself up to the beta program right now, before the post goes live, DM me on Court Records, or contact me on Discord at "king d#4405".

Big day's here, folks!easyCase Casemaker's going up for a closed beta. I feel that the feature set's decent enough that I can begin rolling out patches and new releases to a select group of testers, and get sufficient feedback. So, I'll be posting to the "Games" subforum for the release side of things, but will maintain this thread for development purposes.

As for the state of the program at release, there's a few features that have been added since the last post I made here, and here's the (pretty much) full list:

- You can now create blank cases and exit via. the "File" menu. The "Close Window" button is now disabled temporarily, as currently, all threads must be manually terminated. Apologies.- Music has been added to the GUI! This means that you can now load and stop custom MP3 tracks within easyCase.- Fixed a bug which caused easyCase to crash after a load then a save, caused by an incorrectly placed variable change.- Fixed a bug with setting the current character in the game causing the name box to be set automatically to Phoenix at certain times.- Fixed a bug which allowed the user to accidentally corrupt their project file by including special characters in their project name.- Fixed a bug pertaining to the in-app news screen, causing it to break and throw an exception.- Fixed a bug which would cause users to stay in an infinite loop if they got the piece of evidence to present incorrect.- Added loading cases into easyCase. You can now load cases that you have previously worked on by selecting their folder in the "Load" prompt menu.This feature will be unstable. Cases may corrupt/function incorrectly after loads at this time.- Added "config.ezc" as a save file to the case directory. If you have an existing case from 0.2.0, it will carry over automatically.- Added presenting evidence! Evidence can now be drawn from the user, when they're questioned on it. If the correct piece of evidence is selected, the trial continues. If an incorrect piece of evidence is selected, a user-defined set of instructions play.- Fixed a bug which allowed users to bypass the evidence present window, thereby breaking the entire case past that point.- Added Trucy Wright and Ema Skye (Young) as included characters for test purposes. You can now also hold conversations between two onscreen characters as a result.- Fixed a bug which caused Trucy's name box to display a blank piece of text when used directly after evidence.

The main screen has also changed a little, and now looks like this:

There's also a revamped error message system, which shows a popup rather than writing to the console box on the right, and contains a little Magatama symbol. Cutesy.

Anyway, I hope to see you all over on the beta release thread for signups soon.For anyone who's testing the program, a feedback form will be sent to you along with the release!

Further updates from today.I've been working on improving the memory management inside easyCase, and have changed from using Lists and Timers to ObservableCollection modules. This has greatly decreased the memory requirement from 0.2.1's release, as seen below.The previous easyCase program used anywhere between 50 and 60MB of RAM. Now, the requirement is around 30, which is up to a 50% usage decrease!

I've also started to add more character options into easyCase. You can now change the name of the player's character within the options menu, and upon the next beta, easyCase will support the following characters:

All of the development of easyCase over the past couple days has now been compiled into one large update package, and the next beta is now scheduled to go live on Sunday, 7:00PM GMT. As for what's in this new update, here's a quick look:

Features:- An Undo function has now been added to easyCase! This allows you to revert mistakes while within the casemaker.- All default trilogy characters are now available in easyCase, allowing you to add dialogue between characters from across the trilogy.- You can now pose characters, with nearly 400 poses added.- You can now use every background from the trilogy, with a GUI selector.- You can now launch cases from within easyCase, by clicking on the "Run Case" button in the new "Run" tab.- Fully custom evidence can now be added, replacing the old limited function.- The name of the player can now be changed from within the "Game Properties" tab.- The RAM usage of the program has been decreased. Users should see a decrease in 20-30MB of used RAM when running the program.- You can now finish a case using the "End Case" button, to add the correct footers.- Custom profiles can now be added to the Court Record.

Bugfixes:- Fixed spelling mistakes in the core PWLib engine (mostly character functions).- Fixed a bug which prevented .MP3 files from being played due to incorrect formatting in PWLib scripts.- Fixed a bug with the "Undo" system which allowed the program to incorrectly remove the start of the script.- Fixed a bug on the "Evidence Present" screen which would prevent users from progressing.- Fixed a saving bug which could corrupt easyCase saves from previous editions.- Fixed a bug which caused the final screen to overlay the advanced arrow menu/message box.

Here are a few screenshots of the new version with some added features:Here you can see the "End Case" button.

The new custom profile system.

As mentioned, this update will drop on Sunday, as the 0.2.2 beta release.Some future features that are being worked on for successive updates (in order of soonest to furthest away) are:- (Fully) Custom evidence- Changing the pose of characters- Courtroom scenes- Movement around different areas- Cross examinations

21:46 6/4/18 - Backgrounds UpdateEvery single background from the trilogy will be included in the new easyCase update! Here's a comprehensive list of all the new backgrounds:

Posing of characters has also been added, with nearly 400 available poses!Here's a quick look at one of the selectors:

I've also fixed the problems that occurred with the "Music" tab, where it would not play properly.This was due to weird formatting bugs in WPF, and is eliminated in this update.It's some under the hood stuff, but 99% about adding features back from the AA Trilogy, which is basically done.

That's all for now, but I'll be back soon with more development updates.Adieu!

Footnote: There are also tutorials on the way for how to use easyCase effectively, coming through the Ace Attorney Casemaker Discord. They'll be posted on this thread, too.

Hey, all, I'm back with another development update.Things have been moving quickly with the current beta testers, and I've managed to identify and close a lot of bugs.Now, I'm starting work on the court system, which will likely be out before next Monday! This will obviously introduce new issues, so my #1 priority is working on squashing all the current ones.Here's a little list of all the fixed bugs:

easyCase (v0.2.3)- Fixed LNK file formatting with descriptions.- Fixed an issue upon first save which would cause the program to crash.- Fixed that in-court sprites were appearing as options for outside of court.- Destroyed a bug which made some cases start with an error message.

easyPWLib (v1.102)- Added the full trilogy character set back into the files.- Fixed many formatting errors within character/background files.- Prepared configuration for upgrade to PWLib 1.2.

This will expand with more features as I work on the court system.For now, this is a little update.

Hey, I'm back with another weekend update.I've mostly been working on bugfixes with the current version of the program, and implementing the courtroom scenes into the game. The window for easyCase has also been extended to the right a little, as you can see in this screenshot:

There are also some new buttons, allowing you to start and stop courtroom scenes, and to switch to different areas of the court, bang the gavel and look at the co-council stand. This is the start of the actual court system in the game, and there's still a massive empty column on the right that I'm going to fill with features shortly!

Here's a quick look at a court scene in action.

There are also a few minor and major bugs that I've been fixing, and here's a comprehensive list of the squashed ones:- Fixed "courtroomHall" background failing to initialise properly.- Fixed that saving for the first time doesn't notify the user that it may take a long time.- Fixed that stands wouldn't appear in front of characters for in-court sprites.- Changed the "judgestand" background from Gant's Room.- Made it so that in-court poses are no longer available when not in court.- Fixed more spelling mistakes in the PWLib core engine.- Made the PWLib core engine features more consistent.- Fixed that creating a new window would not reset the undo loop.- Refactored the save function.

This isn't all the content in the update, and more will be coming over the passing weekend, with a patch rolling out on Sunday as 0.2.3, at 7:00GMT as usual. You can see a current changelog and progress report on the Trello board, here:https://trello.com/b/S2GqX0k5/easycase

There are also a further ~350 poses added to easyCase's pose editor.Additional to this come some further bug fixes to those mentioned in the previous update.The patch includes the following fixes:- Fixed "courtroomHall" background failing to initialise properly.- Fixed that saving for the first time doesn't notify the user that it may take a long time.- Fixed that stands wouldn't appear in front of characters for in-court sprites.- Changed the "judgestand" background from Gant's Room.- Made it so that in-court poses are no longer available when not in court.- Fixed more spelling mistakes in the PWLib core engine.- Made the PWLib core engine features more consistent.- Fixed that creating a new window would not reset the undo loop.- Refactored the save function.- Fixed compatibilities with newer PWLib 1.1+ scripts.

There are also a further ~350 poses added to easyCase's pose editor.Additional to this come some further bug fixes to those mentioned in the previous update.The patch includes the following fixes:- Fixed "courtroomHall" background failing to initialise properly.- Fixed that saving for the first time doesn't notify the user that it may take a long time.- Fixed that stands wouldn't appear in front of characters for in-court sprites.- Changed the "judgestand" background from Gant's Room.- Made it so that in-court poses are no longer available when not in court.- Fixed more spelling mistakes in the PWLib core engine.- Made the PWLib core engine features more consistent.- Fixed that creating a new window would not reset the undo loop.- Refactored the save function.- Fixed compatibilities with newer PWLib 1.1+ scripts.

Hey, all.Through the past couple days, I've been working on a fairly quick hotfix for easyCase's 0.2.3 update, which will also include an automatic update feature, so no more downloading zip files over and over again!

Development on that went slower than expected, though, so I'm going to bundle it with the release of the next minor update, which will be releasing on Sunday at 7PM GMT as usual.Here's the breakdown of the feature and bug fix list so far:

Features:- You can now add pauses within your case!- An auto-update tool is now bundled with easyCase, which should make it easier to patch the program in following updates.

Bugfixes:- Fixed the "HOLD IT!" bubble having an extended delay.- Un-broke the run function, after folderLocation was accidentally reset after when running in 0.2.3.- Fixed an error with the witness character statement not including a "\n".- Fixed testimonies getting stuck after start.- Fixed an error with the testimony engage statement not including a "\n".- Stopped the message box appearing during testimony popup.- Fixed an issue with the gavel being hid underneath the message box.- Fixed a specific use case where the gavel became stuck on screen.- Removed the placeholder text in "End Testimony".- Stopped an invalid court slide case from occurring.- Added a "currentCharacter" global for easy access.- Fixed that when opening a new window, not all critical variables would be reset.

This is mainly a behind-the-scenes update so far, but I'll be fleshing out the features list through Friday and the weekend to get the patch out there on Sunday.For now, adieu.

Welcome back, all.The hotfix update for the 0.2.3 update last week has been rolled into the 0.2.4 patch, as previously mentioned, and here's the finalised changelog:

Features:- You can now add pauses within your case!- An update notification tool is now bundled with easyCase, which should make it easier to push out updates.- The easyCase website is now up for beta members, at http://easycase.me.

Bugfixes:- Fixed the "HOLD IT!" bubble having an extended delay.- Un-broke the run function, after folderLocation was accidentally reset after when running in 0.2.3.- Fixed an error with the witness character statement not including a "\n".- Fixed testimonies getting stuck after start.- Fixed an error with the testimony engage statement not including a "\n".- Stopped the message box appearing during testimony popup.- Fixed an issue with the gavel being hid underneath the message box.- Fixed a specific use case where the gavel became stuck on screen.- Removed the placeholder text in "End Testimony".- Stopped an invalid court slide case from occurring.- Added a "currentCharacter" global for easy access.- Fixed that when opening a new window, not all critical variables would be reset.- Prevented a corrupted config.ezc being made when invalid characters were input into easyCase.

The new easyCase website's out, as previously mentioned! Here's a sneak peak for those who aren't on the beta program:

And this is a full disclaimer to everyone that's downloading the software from here on out; the program now has networking capabilities, and connects to a remote server. This is so it can check for new updates and grab news, but it still fully works when you're offline.

Unfortunately, that's all for this week.I've been extremely busy doing external things, but I'll be back on development toward a public release, hopefully around 0.5.0.For now, goodbye.

Hey! I'm back with the final changelog for the 0.2.4 release, going live in about an hour.Here's the full list of changes, straight from the horse's mouth.

Features:- You can now add pauses within your case!- An update notification tool is now bundled with easyCase, which should make it easier to push out updates.- The easyCase website is now up for beta members, at http://easycase.me- Added an "About" tab to the main easyCase window.- Changed the logo/icon to a more updated version.

Bugfixes:- Fixed the "HOLD IT!" bubble having an extended delay.- Un-broke the run function, after folderLocation was accidentally reset after when running in 0.2.3.- Fixed an error with the witness character statement not including a "\n".- Fixed testimonies getting stuck after start.- Fixed an error with the testimony engage statement not including a "\n".- Stopped the message box appearing during testimony popup.- Fixed an issue with the gavel being hid underneath the message box.- Fixed a specific use case where the gavel became stuck on screen.- Removed the placeholder text in "End Testimony".- Stopped an invalid court slide case from occurring.- Added a "currentCharacter" global for easy access.- Fixed that when opening a new window, not all critical variables would be reset.- Prevented a corrupted config.ezc being made when invalid characters were input into easyCase.

If you didn't see it in the last post, here's the brand spanking new logo, bells and ribbons applied:

And here's an obligatory screenshot of the main build:

That's unfortunately all for now, but you can also check out the changes when it goes live again (if for some reason you want to) on the release thread.Adieu.

Over the past couple days, after 0.2.4 dropped, I've been working on some actual brand-new features for the next release. So, I decided to begin adding in Cross Examinations and some other final in-court features. At the moment, here's what the main screen looks like:

It's pretty obvious what the new button is, considering its massive on-screen size. This allows you to start a cross-examination in the court room, after a witness has given testimony (or at any time in the court, technically you could get the judge to testify). When starting your cross examination, you can also pick the name of the testimony, and the prosecutor/attorney who are facing each other off on the start screen.

Here's an actual in-game screenshot of that:

Bear in mind that if you pick two prosecutors or two attorneys, they're going to be facing the same way, so it's not always an optimal choice. This may be patched out in a later update.

I've also added the option for you to hand a penalty out to the attorney, for instance when a wrong answer is given, you can now give them a citation for an amount of damage. If that damage hits zero, you can play a sequence, however that isn't programmed in yet. Here's a look at that:

Ignore the glitching in the character box, that was my experimentation into custom characters (more on that in a later update). However, that's all I have to show for now. I'll be back in a few days with more updates on development.Adieu.

Hey, all.I've decided to delay this week's release to next Sunday, as I feel there just aren't enough features added right now to justify a full beta update. Unfortunately, as I get closer to my exam period (2 weeks away now), I've found that making updates to the program has become harder and harder. When my exam period starts, and for the four-ish weeks that they continue, I'll be making no updates to the program.

So, 0.2.5 will likely be the last update before a one month hiatus. After that, however, I have a large break period, meaning I'll be able to update the program many more times over the 4-5 months afterwards.Apologies for the delay, and the hiatus, but it's the only way I'm realistically going to get my thesis and course through with a pass.

It's been a while longer than I expected for a myriad of reasons, but I have returned to work on the project. During my away period, I realised that the GUI for easyCase is currently extremely confusing, as well as the code being sloppy in places. So, I've decided that the next major update (0.3.0) will be a complete code and GUI refactor, essentially rebuilding the program from the ground up with a better base.

All features will stay intact, don't worry, but it will take a while to complete. In the future, it will make development 100x easier, and that's something I want to keep in mind when developing this tool.

I'm back with another update, this time with major breaking changes to previous versions.This is the sixth pre-release build for easyCase Casemaker, and completely changes most of the features of the editor, refactoring the GUI almost entirely. This may make previous documentation on the editor inaccurate, which is a shame, but it had to be done to improve the way the editor works and its functionality. Custom backgrounds are now FINALLY available! I've been putting them off for so long, and they're now in a live build. All dependencies have also been updated to their latest versions, and the website for easyCase has been changed from http://easycase.me to http://c272.github.io/easycase. Without further ado, here's the patch notes for the third major iteration:

Features:- Migrated most of the UI into context elements instead of buttons.- Added custom backgrounds as an available background option.- Added the option to export the finished project to a portable SFX executable.- Changed the website for easyCase changelogs to the new GitHub repository.- Added a "Help" context menu for anyone unsure of what to do while using the program.

Bugfixes:- Changed the "Pose Char" menu to not force you to pick the currently active character,rather get it from system memory.- Added a "currentChar.onScreen" system method for easier access.- Ported over to the latest version of the SIOClientDotNet, EIOClientDotNet, Immutable and Newtonsoft packages.- Fixed the "hasLoadedFile" check sometimes failing due to header errors.- Swapped out LOTS of unoptimized full-string "else if" checks (THE HORROR) for switches and enums.- Fixed the memory leak when presenting evidence for failure.- Edited the "about" menu to contain the build version number rather than the live version number.- Added the "makesfx.exe" dependency and license.

Here's a little showcase of the massive GUI change that's here in this new update, in a comparison shot. Here's the previous GUI:And here's the new GUI:

This refactors all of the GUI from buttons into context elements in a menu strip, as seen there. A look at the new menus below will display how the commands are now put into much more logical categories, like so:

This will make them slightly slower to access, but it'll make it very much easier to understand, in keeping with the name. Y'know, "easyCase" should be easy to use. There's also now a custom background selector, which means you can finally load some sort of custom image into easyCase. Characters will be coming soon, but aren't finalised yet.

And now, arguably the star feature. You can now export your finished cases to a .exe file to share with your friends or strangers on the internet! This is done through the use of Self Extracting Executable Files, or SFEX files, so you must have enough space on your hard drive available to store the executable file twice. If you reach this boundary, which shouldn't be too hard, you can then take and play your cases anywhere, portable. This also makes the speed for transferring the game across hard drives etc. much faster, as it's only a single file, and allows for compression, which will reduce download sizes.

All executable files currently have the "easyCase" icon, but I plan to make the icon and name of the file changeable in the future. They do currently require admin permissions, but this may also change. While I'm talking about this, there is a known bug with easyCase SFEX executables, being that they do not provide a loading bar when extracting as intended. I didn't fix this, as I didn't have time before my shipping deadline, but it will most likely be done in the next hotfix. Here's a look at the method for creating the SFEX files in easyCase:

And here's what the files look like after being exported:

The "RAR" and "ZIP" options are not available yet, as again, I didn't have time to implement them in time for this release specifically, but they'll be available in 0.3.1, or 0.3.0a. Finally, there's also now a "Help" tab in the context menu for tutorials and other resources about easyCase, when they become available. The documentation will be constantly updated by me and possibly others over the coming months. As this is a solo project, it might be slower to update than other docs.

That's all I've got for this release, along with the minor fixes mentioned in the changelog, so I'll be going.Thanks for following the development of easyCase.

Apologies for my sudden disappearance (again), I've had real life stuff get in the way of doing updates on this program in any capacity for a few months now, but I have returned, and with several new features. Here is a summarised list for anyone who wants to get a tl;dr:

Features:- Complete overhaul of the console, including a new context menu option and non-erasable text.- Added a new custom dialogue feature, which allows for colour variants and different text types.- Added a “Hide character” function for ease of use.- Added a new “Delete” and more context options for individual commands in the easyCase console pipeline.- Added a new debug window for troubleshooting while using easyCase.- Finished the 7Z and ZIP options to export, as well as EXE.- Changed the layout of the main screen to be more compact, and allow for more features to be added later.

Bug Fixes/Quality of Life- Integrated the DLL dependencies into the program executable, so they no longer have to be included with the program.- Fixed a bug where you were unable to continue a court case after opening a saved project.- Changed the window elements so they will scale properly on large monitors.- Options for text alignment, color, and shaking/flashing.- Fixed an error where the first item in a court scene would not be blocked out correctly.- Added a loading bar to exported executables.- Migrated the court location changer into a combo box to avoid needless spaghetti code.- Changed the court location selector to not allow you to go to the same location twice.- Updated some developer-only flags and functions pertaining to the court movement system.- Swapped the “version” text on the about screen to “build” text for reduced clutter.- Fixed a bug where a gavel hit would not register after first starting a court scene.

Here's a quick overview of some of the new features in action!First, the brand new command menu, which lets you delete and fine tune your earlier code without having to restart, which is a feature I was really relieved to finally push.

As you can see, commands can now be individually selected, and commands inserted before/after that point. They can also be deleted via. the context menu, regardless of where you are in the editor. The custom dialogue option has also now been finished, so you can select the colour of text, the type, and more when creating a message.

This allows for a wide variety of new message options, including "typewriter text" for entrances into new scenes. Text alignment may be added in a future update, but for now, manual spacing is required. A new debugging window has been added now, as mentioned, and can be used to look at the raw AHLSL generated from easyCase, for bug hunting purposes and in case you're curious what it looks like. Here's a screenshot of it in action:

You can now also export in 7Z (7Zip) format, as well as standard Windows .ZIP files, through the default "Export" tab, under "File".

So, now you can easily package your project without being forced to use an executable format, or copy it directly out of the project directory with unnecessary easyCase-only dependency files included. That's pretty much all there is to showcase for this update without spoiling it too much, and a larger update will be coming soon that introduces a graphics system for storing images in easyCase to use for courtroom overviews and eventually... custom characters.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum