80% 2007-11-07 fixed a bug in AbstractView.getColor(). the function returned last_color after generating a new color 2007-11-06 SCREEN_BACKGROUND.width = 100% correctly sets its width relative to the parent width value changes are detected by the interface, unless they occur in an array entry or a global value working on on_resize and related stuff 2007-11-05 on_resize now gets clled right after the DisplayedComponent of a component was created events work again 2007-11-03 UIButton complete 2007-11-02 continued work on the display system. image and border are hard coded. working on button. idle button face displays and is centered horizontically if it has no x coordinate 2007-10-30 started to replace the display / eventhandler system with something fast 2007-10-28 you can purchase everything at the shop added the shop screen buttons changed the chip image slightly fixed a glitch in BORDER_BUTTON.on_draw optimized the way hardware in the shop is sorted by rating added "for i = 5 downto 0", changed "for i = 0 to 5" and applied the change to the scripts 2007-10-27 the sorting buttons for the shop now work by category the shop screen now shows the current ratings, and offers all item types the shop inventory now contains programs, and changes every 7 days table columns can now be right aligned, with the resulting content column being centered horizontally in the column area fixed the name of the image for Weaken programs finished simplifying all scripts monthly costs are now deduced continued work on the shop screen 2007-10-24 simplified the engine scripts fixed a bug in Function.print() related to hard coded functions, and added the missing "getStructureStack" to the list of hard coded function names in Global.java added the missing linefeed in debug() variables can now be created everywhere without an initial value fixed the remaining problems with variables which contain global values 2007-10-23 the a = @b operator now puts the global Variable b in the place where a was, no more looking things up required added the break command 2007-10-13 print() now omits the structure_type entry in Structures, puts " quotes around string constants, prints ARRAY values, prints function calls, and prints default values for function parameters 2007-10-12 all types of for loops work 2007-10-11 added the i++, ++i, i-- and --i commands. they work with all integer and real variables, but only as stand alone commands, outside mathematical expressions removed the white padding around the program table on the deck screen to make selected rows look better added SELECTED_ROW_BACKGROUND added the "with" command SCREEN_BACKGROUND can display two borders again 79% 2007-10-10 added the rest screen finished up the layout of the deck screen fixed lots of bugs the event system now supports event consumption screen overlays can process events it's possible to delete programs and the deck screen has a confirmation popup for that 2007-10-05 some general code testing and debugging / optimizing in the process of adding screen overlays (for tooltips and popups) (event forwarding not done yet, createPopup unfinished) 2007-10-03 added a trashcan image deckscreen now has a trashcan button while a program is selected 2007-10-02 the status_off bitmap now uses an alpha channel. 32 bit .bmp files are now loadable, the pixel data is interpreted as aarrggbb table rows can be dragged the table sorting buttons on the deck screen work again events get handed on to table cells fixed a few small bugs in connection with event consumption removed all repaint() calls, now input events don't slow down the game anymore rows are now selectable in TABLE 2007-10-01 added the new "global" command that lets you add global values to a ruleset changed @ to fetch "global" values from the ruleset (they sit in the GLOBAL_VALUES structure in the ruleset) removed the whole trigger system added the optional hardware display removed some disused clutter from the scripts 2007-09-30 removed the disused wrapImage function 2007-09-24 fixed a lot of minor bugs and one fatal bug 2007-09-21 all screens except for the deck screen work again BORDER drawing is now hard coded and accepts 1-4 colors instead of 2 decided to get rid of the .object entry of components, and to let the interface code accept a single STRUCTURE as a component (should help with table cells) simplified and speeded up calls of hard coded functions ARRAY is no longer a structure type, it's now a data type, like STRUCTURE, INTEGER, STRING, etc 78% 2007-09-16 deck screen displays current load info finished up the program table sorting buttons fixed a bug where structure type names in expressions were replaced with the structure type instead of a new instance of the structure type changing the load / default state of programs works 2007-09-15 added half the program information to the deck screen added cell layout to createTableRow() created the program images from the C++ Decker program image file added the images to the program types and have the deck screen display them the program table can now be sorted by the first column added on/off bulbs for the program status the code for changing the program status is half done 2007-09-14 added the column buttons to the deck screen fixed a bug where c.size would be interpreted as a single string instead of an expression with a member operator, in ScriptReader.java added getRomanNumber(), createProgram() and createDeck() added the hardware types overhauled THING, THING_TYPE, the program type definitions. added ruleset functions for thing size and value it's now possible to omit function call arguments. just leave the argument empty, and the default value will be used function arguments can now have default values f = FUNCTION (a=3,b=4,c=5) debug(a*b*c) f(1,,1) // this function call will print "4" to the debug console, because the default value is used for the omitted parameter b 2007-09-13 worked a bit on the deck screen added all the program types to the JDecker scripts. there's no functionality defined for them yet 2007-09-12 SCROLLPANE works fixed a bug in AssignmentCommand regarding LOCAL variables started to assemble the deck_screen 2007-09-11 added optional structure type variables which do not get copied into each instantiated structure : pixelwidth, pixelheight <- if these contain functions and the width / height isn't explicitly defined, they get called expandable <- got copied into each structure instance in the past fixed the window area turning white whenever the window size changed continued work on SCROLLPANE 2007-09-10 separated the interface code from the decker scripts and made it global scrollbars can now be horizontal removed the remaining occurences of variablesSeeEachOther and variables_see_each_other 2007-09-09 SCROLLBAR works getStackTrace() hardcoded function added function calls in all mouse events can now see all enclosing displayed structures 2007-09-04 minor script fixes working on the SCROLLBAR fixed : a FUNCTION definition can now stand at the end of a script, even if it has no function body and no argument list 2007-09-03 added the & operator changed the @ behaviour to execute implicitly again, unless the & operator is used removed some clutter that had accumulated in the game scripts while I was trying out different implementations of the @ operator 2007-09-02 fixed the @ operator. it now works at least for colors if A contains an @ operator, then B = A will put the @ operator in B too. the operator won't be evaluated colors work again. looks like a few other things are botched now 2007-08-03 FunctionCall.java now produces a helpful error message if it gets called for a value that is not a function fixed a number of places where script function calls didn't use the new function names moved the static functions from FunctionCall.java to their own class StaticScriptFunctions.java 2007-05-09 DRAWING_BOUNDARY and a clipping mechanism added 2007-05-08 v_align and h_align added for easier placement of screen elements TABLE type added. so far it displays a table. dragging rows doesn't work yet 2007-05-07 fps setting and mechanism added 2007-05-04 you can set REAL_EQUAL_RANGE to some value between 0.0 and 1.0 to set the maximum difference between two real numbers which are treated as equal. If no value is set or it is not a real number, 0.000000001 is used instead the parser now recognizes real numbers. it rejects numbers like .5 and 5. there has to be at least one digit before and after the . like in 5.5 expressions work with real numbers 2007-05-01 variables can now store real numbers 77% 2007-04-27 AbstractView.reloadArtwork no longer looks for artwork in sub-folders generated by the subversion system (.svn folders) 2007-04-26 image names are no longer case sensitive all images are loaded at program start fixed insert() and added delete() hardcoded functions added displayed screen history system home button added BORDER_BUTTON structure type added all standard buttons turned into BORDER_BUTTONs and the button images changed accordingly character screen finished 2007-04-25 character screen almost complete a = FUNCTION b operator replaced with @b operator integers in font descriptions are now interpreted as font sizes (in points), so "Arial;13" now describes the same font as "Arial;13pt" date_day_of_month() and date_days_in_month() hardcoded functions added 2007-04-24 bug fixed : a = LINE would save the structure type LINE in a instead of a new LINE, if the type name wasn't followed by a definition body SCREEN_BACKGROUND structure type added finished replacing colors and fonts with functions that fetch the current values for them, for easy modding background images of the new character screen and the home screen replaced with drawn backgrounds