[CF-Devel] Branch in CFJavaEditor?

Andreas Vogl andi.vogl at gmx.net
Fri Dec 14 07:25:45 CST 2001


Bob Tanner wrote:

>
     
      I'm trying to put Makefiles and build.xml (ant) files around
     
     CFJavaEditor, > but the code keep changing on me. This is a good thing.
:
     
     -) But make
     
     >
     
      the job of integrating a unix/linux build system around the editor a
     
     >
     
      little difficult.
     
     
Sure the code is changing, but not too excessively.
The last change was made Fr 27.11.01 for example.

>
     
      I am wondering if I could make a cvs branch of the java editor so I
     
     >
     
      could work on a less volatile copy of the code and then merge the
     
     >
     
      changes back into the head when I'm completed with the unix/linux
     
     >
     
       build changes?
     
     >
     
     
     >
     
      Something like LINUX_BUILD_BRANCH.
     
     
If you need this, fine. I'm very happy if someone works on
good makefiles for the Editor.
But are you sure the JavaEditor code is really as volatile as you
thought? 

I included an updated CHANGES file for the Javaeditor,
for all who are interested...


Andreas V.
-------------- next part --------------
--- 20/06/2001 ---

adding files for version 0.971

Status:

Vendor Tag:	yoyo
Release Tags:	start

--- 25/06/2001 ---

I've added a nice feature to the JavaEditor:
The bottom-right window now displays all arch attributes
of a selected arch. It's much easier to modify them that
way.

-AV

--- 26/06/2001 ---

Fixed two bugs that caused some nasty exceptions
when loading new maps. (These resulted in the maps
being impossible to save.)

--AV

--- 27/06/2001 ---

add script parsing to 
archText & some minor insanity checks for read/write maps

--- 29/06/2001 ---

I've added cut/copy/paste functionality to
the Java Editor. (What good is an editor without it?)
That was a serious chunk of work, I hope
it still runs bug-free. :)

The cut/copy/paste works similar to Crossedit.
Left-click-and-drag to highlight & select from Edit menu.

--AV

--- 06/07/2001 ---

I've overhauled the view settings code in the Java Editor.

The classification of objects used to be based on the
"editable" value from the archetype (default arch). But that
was not useful, because it was so unrelyable. E.g. floor arches
can be changed into secret exits, the archetype won't indicate
that.
That's why I changed the editable values to be calculated at
runtime, in the Java Editor. The values are now based on the
objects attributes and type. E.g. an object is considered
an "Exit" when it is of type 66 (exit) or 41 (teleporter).

I've also made the view settings take effect on copy/paste
actions: All objects that are not shown on the map are
now ignored by copy/paste.
E.g. when selecting view->Monsters, I can copy/paste monsters
freely in my map without having to worry about getting
doubled background tiles.

I corrected a bug in the parser that prevented the
"type" - attribute from being modified (Parser ignored it). 

Finally, I inserted a new menu under "view"-> "Reset View".
This works basically as a "Show All" for the view setting.

-AV

--- 30/07/2001 ---

Remove bug when map windows are cycled. Add x 16/y 16 hack
to map object in archfiles

--- 02/08/2001 ---

Lot's of new features to the JavaEditor:

1) Clear command (edit menu):
   Works exactly like cut, except that it doesn't write into
   the copy-buffer.

2) Fill command (edit menu):
   There are two different fill-modes:
   - For rectangular fill, left click and drag to highlight
     a rectangular area. Then invoke fill.
   - For floodfill, left click on an empty spot and do not
     drag. By invoking fill all connected empty squares are
     floodfilled.

3) Delete (middle mouse button):
   When you click on the map with the middle mouse button,
   the topmost object on that spot is deleted.
   Objects that don't match the view settings are not deleted.
   This also works with dragging (multiple objects get deleted).

   Now the mouse works as follows:
   left button - select
   right button - insert
   middle button - delete

4) Rework of the map-tile panel (the window to the right):
   - The objects are now displayed in the same order as
     on the map. Topmost on the map => topmost on the panel.
   - I have implemented the same mouse-button scheme
     as in the map window:
     left button - select
     right button - insert
     middle button - delete

     Inserting works similar to crossedit. You (right-)click on the
     panel and the new arch gets inserted in that spot where
     you clicked.
     This even works for arches inside a container, but
     the positioning in that case isn't perfect, that needs some more work.

AndreasV

--- 10/08/2001 ---

new code for the JavaEditor...

o First, I fixed up the way inventory items were
  handed, as this was quite bugged. Items in containers
  now save/load correct and they get deleted correct.
  Besides, Cut/Copy/Paste now works with containers and
  their inventory.

o I seperated the map arch from the ordinary arch objects.
  This was a big biiiig load of work.
  ('map arch' = first arch object in the file, containing map attributes
  like width, height etc). The map arch now has it's own class
  (MapArchObject.java) with own fileparser and -writer methods.
  This has a lot of advantages: The code is better organized,
  the map attributes are easy accessible, and the map arch can be
  expanded with new attributes at will without causing trouble.

  The new parser supports both map formats, old (sp, hp, value etc) and
  new (width, height, swap_time etc). Even the map_tiling paths.
  Still missing however is the proper user-interface for the map attributes.
  That's gonna be the next step...
  
o On my way diving through the code, I did a lot of cosmetics and
  minor stuff. The file-modified '*' is now displayed a lot more
  accurate, panel background is now green... stuff like that.

-AndreasV

--- 11/08/2001 ---

Now here comes the user-interface for the
map attributes. Selecting menu "map->map properties",
the user gets an input-mask for all the stuff
from the map arch. Even the new map-tiling is supported.

--AndreasV

--- 11/08/2001 ---

A bunch of cosmetics and minor stuff, mostly
in relation to the recent changes.
Worth mentioning is maybe the improved file save/load
path-logic, and maximized size for newly
opened map-windows.

--AndreasV

--- 13/08/2001 ---

Fixed a bug that prevented arch attributes
to get loaded properly from the map.
--AV

--- 16/08/2001 ---

Finally, I've included the sixlegs java png library
into the CFJavaEditor. Now the pngs are loaded with
the sixlegs lib, and all transparencies are now
set correctly!
A big thanks to Chris Nokleberg (the creator of sixlegs)
at this point. Today he sent me the last piece
I needed to make it all work.

I'm sorry for the mess with the cvs directorys. CVS
is hell of an inconvenient program when it comes
to directory-management.

Andreas V.

--- 17/08/2001 ---

New make files & makejar.bat for using
java sdk 1.3 & sixlegs png lib.

--- 18/08/2001 ---

In the MapArchPanel, parts of multi-objects now
display always the head's stats. Changes also get
saved to the head (similar to crossedit).

I started implementing the "enter exit"-feature,
well known from crossedit. It's not completed yet
though, I'm gonna do that when I return from holiday
in a week.

--Andreas V.

--- 20/09/2001 ---

Completed the "enter exit" feature. It works
very similar to Crossedit: Select and exit on
the map, activate menu "enter exit" (Strg-E) and the
destination map gets loaded.

--AndreasV

--- 21/09/2001 ---

I've reworked some parts of the layout. Icon-Toolbar
is now left and the arch-message window is on a seperate
panel, for better size.
Besides I optimized some code a bit to speed up dragging for
insert/delete objects.

--AndreasV

--- 24/09/2001 ---

I've implemented the auto-joining feature into
the CFJavaEditor. Activate it via menu "Map->Autojoin",
then any walls will join in the right way (similar
to crossedit).
The "joining-definitions" are written in an easily
customizable textfile called "autojoin.txt".

This feature is very fast and memory-efficient. It
does not increase the loading time.

--Andreas V.

--- 29/09/2001 ---

Another big update for the CFJavaEditor:
Multipart objects are now saved and loaded according to the
"new" map format as head-arches only. That was neccessary
for the JavaEditor in order to cope with maps generated
by recent versions of Crossedit.
It also makes map-files a good deal shorter.

--Andreas V.

--- 30/09/2001 ---

New patch for CFJavaEditor:

I made the map-loading process faster... a LOT faster.
Try enter-exit between some huge maps and you'll see what
I mean.
To achieve this, I reworked the view-settings concept
to do the nasty view-setting calculations not during
map loading but when the settings are actually needed instead.
Other optimizations followed.

In the process I tweaked the map-loading methods to be resistent
against numerous kinds of corrupt mapfiles.

Besides, I included a small new feature: The inventory of
multipart objects is now always stored in the multipart-head.
Every tile of a multipart now shows the one and same inventory.

--Andreas V.

--- 01/10/2001 ---

This patch brings a major improvement in the graphic
routines, greatly increasing the speed for map-modifying
actions like select/insert/delete objects.

Basically what I did was reducing the redraw actions of the
mapview to a minimum. Instead of drawing the entire map,
only the tiles that changed get redrawn.

This works well for the standard (rectangular) view.
Unfortunately for iso this is much harder due to overlapping
tiles, so iso still uses the old (and slow) methods.

I believe there is still an open end for speed improvements,
though the editor is already quite fast now. Only the arch
loading is still awefull...

--Andreas V.

--- 02/10/2001 ---

Further improvements and finetuning to the new
drawing methods:

Due to the direct drawing on the mapview, the tiles
used to "flicker" slightly when objects got drawn over
each other. To prevent this, tiles are now drawn into
a temporare buffer, then displayed as a whole.
This does not considerably slow anything down.

Also corrected problems for tiles without background.

--Andreas V.

--- 03/10/2001 ---

I extended the cut/copy/paste methods to enable
copying of multisquare objects. So they are finally
completed now, allowing to copy everything.

I also did a few speed optimizations to the arch/image
loader. These reduce the loading time by 50% on my
machine. That's not much, but it's a start.

--Andreas V.

--- 16/10/01 ---

I've added a proper online help document to the CFJavaEditor.
It's html, but I kept the style rather simple so far.
The online docu can be viewed by selecting the menu
"Help->Online Help". (Of course the .html files can as well
be viewed directly, with a browser).

The online help so far describes how to use the editor, provides
some troubleshooting (->faq) and a few general guidelines 
for map-making.

I also added a file "INSTALL.txt" to the main folder, providing
information on how to install (= compile and run) the editor.

--Andreas V.  

--- 5/11/01 ---

editor had collect bad archfiles.
Now he can write negatives offsets.

--Michael T.

--- 22/11/01 ---

New (increased) iso tile size for the Editor

--Michael T.

--- 23/11/01 ---

Fixed up the JavaEditor to support the new iso-tile-
size better.

--Andreas V.

--- 27/11/01 ---

Fixed some minor flaws in the archtext parser.

--Andreas V.
    
    


More information about the crossfire mailing list