73a4a02aa1
A few substantial changes:
Michael Bayne
2003-05-31 00:56:38 +00:00
6d3d80c58e
Keep a rectangle around with our tile coordinate footprint and use that for overlapping calculations.
Michael Bayne
2003-05-31 00:52:15 +00:00
d35e7b8180
Change the default resource directory to .narya so that we can leave the code in that blows away .naryarsrc without having it constantly conflict with the tools that we run.
Michael Bayne
2003-05-29 16:35:59 +00:00
3f0d839400
Noted that I had changed the QUICK constant to false.
Ray Greenwell
2003-05-29 03:08:37 +00:00
c941c96141
Color reduction algorithm. From web, with modifications to support transparency.
Ray Greenwell
2003-05-29 03:02:38 +00:00
99ccd996df
Oops, remove these too.
Ray Greenwell
2003-05-29 01:59:17 +00:00
af504ef8aa
Added MisoUtil.getTileHash(), made both SceneBlock and AutoFringer use it to pick random tiles based on x/y location.
Ray Greenwell
2003-05-29 01:58:06 +00:00
bace19ea71
The AutoFringer picks which fringe tile to use next by querying a Random, instead it relies on a duplicatable hashing method.
Ray Greenwell
2003-05-29 01:04:58 +00:00
5f8309f118
publicized computeTips().
Ray Greenwell
2003-05-28 18:15:26 +00:00
41a69ba13f
Whoops, that'll need to actually be Streamable.
Michael Bayne
2003-05-28 01:18:41 +00:00
d407253540
Iterate over the entries and save the key and value without having to look up the value.
Ray Greenwell
2003-05-27 23:00:22 +00:00
1176ca526e
No need to do hash lookups in writeObject().
Ray Greenwell
2003-05-27 22:54:36 +00:00
5c9a0246d9
A streamable hash map.
Michael Bayne
2003-05-27 22:48:31 +00:00
f6325c5d4c
Pass all the object info along when visiting.
Michael Bayne
2003-05-27 19:04:29 +00:00
a5e3752a7b
Make it possible to refresh our object tile if we've had our colorizations changed.
Michael Bayne
2003-05-27 18:25:19 +00:00
acfea90fe4
Make our colorization options available.
Michael Bayne
2003-05-27 18:25:04 +00:00
79715e61a4
Screw unpacking our bundles on the fly. Just unpack them once when they are downloaded and leave them be until the bundle is updated.
Michael Bayne
2003-05-27 07:52:45 +00:00
2d958634c0
Provide a post-download hook that is run on the download manager thread.
Michael Bayne
2003-05-27 07:51:49 +00:00
ae764ca382
Report the game state in GameObject.which().
Michael Bayne
2003-05-26 23:46:46 +00:00
ce735b7b69
Make these public so that our delegates can access them. Sigh.
Michael Bayne
2003-05-26 21:27:18 +00:00
6aba06219d
Make where() available to the delegates.
Michael Bayne
2003-05-26 21:24:56 +00:00
8d9b9f69d2
Quick hack to (hopefully) fix weird problem while I investigate.
Michael Bayne
2003-05-24 01:50:33 +00:00
3bacbbe803
More useful debugging information.
Michael Bayne
2003-05-23 19:35:11 +00:00
328f4786ba
Report our resolution on the AWT thread rather than the scene block resolution thread.
Michael Bayne
2003-05-22 22:18:27 +00:00
9ab9a7f84b
Let's not freak out, but warn and return -1. This is one of those "should never happen" things that keeps happening.
Michael Bayne
2003-05-22 22:18:02 +00:00
d76d4e89ff
Make it possible to have a distributed object destroyed when its last subscriber is removed.
Michael Bayne
2003-05-22 17:23:53 +00:00
8197441658
Restructure our block visible warning so that derived classes can augment it as well as inhibit it.
Michael Bayne
2003-05-22 16:10:54 +00:00
0642b97258
Warn if blocks take a long time to resolve; added debug logging to report a histogram of block load times.
Michael Bayne
2003-05-21 17:10:41 +00:00
768da14b79
Allow derived class to turn off "block visible" warning. More debug logging to help sort out the blue screen problem.
Michael Bayne
2003-05-21 17:10:05 +00:00
569522fd01
rethink() needs to return the number of "visible" blocks pending; added code to log when we're not painting for lack of blocks and when we restore painting so that we can further debug the proverbial blue screen situation.
Michael Bayne
2003-05-21 15:27:45 +00:00
98216ddcbb
Account for blocks a bit below our visible bounds because otherwise there can be serious popping when entire buildings don't come into view until after we've started displaying.
Michael Bayne
2003-05-21 00:28:22 +00:00
bf4142423f
That should be debug not info.
Michael Bayne
2003-05-20 23:58:27 +00:00
5bdf72f615
Differentiate between blocks that are visible and those that probably aren't (we can't truly know if a block is visible until we resolve it because objects of arbitrary height can overlap the view bounds even if the block's footprint does not); resolve the definitely visible ones first and go ahead and start drawing once the known visible blocks are ready. This cuts the time spent on the "blue screen" by about 75%.
Michael Bayne
2003-05-20 23:57:48 +00:00
8e820811bc
No reason that embedded translation strings can't also be qualified (it's quite necessary in fact).
Michael Bayne
2003-05-20 20:58:31 +00:00
5bccc8482c
Report the computed server/client time differential.
Michael Bayne
2003-05-20 19:07:52 +00:00
c7908862ff
SetAdapter, because SetListener is a pain sometimes.
Ray Greenwell
2003-05-20 18:41:46 +00:00
8c8cd1a2ea
Allow the temporary cache directory to be explicitly specified.
Michael Bayne
2003-05-20 16:29:36 +00:00
cb0d7713b5
Use our handy dandy new DelegatingPathable.
Michael Bayne
2003-05-20 04:09:13 +00:00
1981f9b2d2
A helper class for easily delegating all calls but those we want to mess with to a subordinate pathable.
Michael Bayne
2003-05-20 04:04:56 +00:00
234e8a8ade
Make available the frame that we manage.
Michael Bayne
2003-05-19 03:01:13 +00:00
9773147e54
Track and report statistics on the tile cache.
Michael Bayne
2003-05-17 18:39:26 +00:00
7071f2e0da
Don't save empty sections when saving scenes.
Ray Greenwell
2003-05-16 17:26:07 +00:00
4d19964e46
A handy class to sequence paths.
Ray Greenwell
2003-05-16 02:22:52 +00:00
cf99e657e7
Allow a LinePath to be constructed with only one point, and the source point will be the position of the pathable at initialization time.
Ray Greenwell
2003-05-16 02:22:19 +00:00
2f166d2bb1
Added getInt(high, low).
Ray Greenwell
2003-05-16 02:21:37 +00:00
54b02327c1
Track the number of nodes considered when computing a path; minor rearrangement.
Michael Bayne
2003-05-16 00:49:44 +00:00
ded2a44c28
No longer check for on-screen paths here, we'll leave that to Yohoho!, but we do allow derived classes to dictate whether or not unresolved tiles are passable. Additionally, we sanity check the number of nodes searched when computing paths.
Michael Bayne
2003-05-16 00:49:16 +00:00
21db8d27bc
Further cleanups, eliminated TilePathNode which is no longer needed.
Michael Bayne
2003-05-16 00:26:18 +00:00
e190c1625f
Removed vestigal code, generally cleaned up.
Michael Bayne
2003-05-16 00:22:22 +00:00
16aaad3daf
Report the block bounds and the view bounds when a block is reported as having become visible during resolution.
Michael Bayne
2003-05-15 23:03:29 +00:00
80aa40ac72
Keep the vbounds centered in the resolution view.
Michael Bayne
2003-05-15 22:49:38 +00:00
863af05b72
Allow derived classes to dictate whether or not we allow traversal of tiles that are offscreen.
Michael Bayne
2003-05-15 18:24:01 +00:00
e44f7c243a
Close streams immediately after using them.
Ray Greenwell
2003-05-14 21:34:01 +00:00
37011fed41
Use user.home rather than user.dir as a fallback.
Michael Bayne
2003-05-14 20:46:25 +00:00
a323d157dd
UniformTileSets no longer need to have their tileCount set, they will figure it out from their width/height compared to the source image's width/height.
Ray Greenwell
2003-05-13 21:33:58 +00:00
c0aacd5f41
Provide the colorization index when asking for an object colorization.
Michael Bayne
2003-05-13 02:16:21 +00:00
83a4d141f9
added lineIntersection()
Ray Greenwell
2003-05-12 05:22:34 +00:00
45033c8623
Use a much smaller scene block size which smooths out block resolution and generally makes everything happier.
Michael Bayne
2003-05-12 02:04:16 +00:00
7f08d36ce7
Up the default tile cache to 2 megs.
Michael Bayne
2003-05-12 02:03:53 +00:00
8ca388fb7e
Implemented a debugging view that shows when scene blocks are being resolved; adjusted influential bounds based on new strategy for scrolling around and resolving blocks.
Michael Bayne
2003-05-12 02:03:31 +00:00
48a102de5a
Allow scene block resolution to be suspended.
Michael Bayne
2003-05-12 01:53:19 +00:00
c93802c455
Off with the verbose logging.
Michael Bayne
2003-05-10 01:05:33 +00:00
98e3e530da
Remove verbose logging.
Michael Bayne
2003-05-09 18:40:07 +00:00
d4c4596403
Build our new unsafe library (on Linux at least) and some other random viztool crap that doesn't really matter.
Michael Bayne
2003-05-09 03:24:12 +00:00
cde14e4bfa
Ignore the generated .def files.
Michael Bayne
2003-05-09 03:22:39 +00:00
9a5bea62fd
Possibly working code to cross-compile Windows native DLL. Whee!
Michael Bayne
2003-05-09 03:22:16 +00:00
286cd5019e
Oh god, unresolved blocks are again unpassable.
Michael Bayne
2003-05-09 01:12:06 +00:00
fa5c8cc6a3
Use our native (select()-based) sleep() on Linux to achieve 10ms granularity instead of 20ms which is what we get from Thread.sleep() which probably uses the less than aptly named nanosleep() which seems to give about that granularity.
Michael Bayne
2003-05-08 21:26:27 +00:00
ff691ca88c
There's no two ways about it. This shit is definitely not safe.
Michael Bayne
2003-05-08 21:25:20 +00:00
704cee77d1
No more regions of interest, now we follow pathables.
Michael Bayne
2003-05-08 16:10:50 +00:00
fac7c3cb75
The frame manager may decide not to paint us if needsPaint() returns false, but we still need to call willPaint() after *every* tick, so we have to do that in needsPaint() where we can be sure it will get called.
Michael Bayne
2003-05-08 05:46:45 +00:00
4d267ebc8c
Allow specification of a background image to tile the background of the panel in an aligned manner.
Ray Greenwell
2003-05-08 04:52:24 +00:00
1387c9f08b
Clarified documentation somewhat. It's too hot today.
Ray Greenwell
2003-05-07 19:47:02 +00:00
b545d1ff05
Added moveDirection() which can move a point in the specified screen direction.
Ray Greenwell
2003-05-07 19:41:57 +00:00
684102f32e
Use mirages in tileImage*.
Michael Bayne
2003-05-07 19:14:38 +00:00
f1bcf698db
Rather than allow an Error to be thrown, we just log a warning and go on about our business.
Michael Bayne
2003-05-07 05:31:09 +00:00
e174e71b8a
Subsumed tileImageAcross and tileImageDown into the new tileImage.
Ray Greenwell
2003-05-07 01:48:27 +00:00
61ce868a11
Register the "resource" url handler with a factory instead of using the system property. The factory works under JWS, but is a little worrisome because you can only have one factory per JVM.
Ray Greenwell
2003-05-06 18:48:18 +00:00
061e27d54c
Fixed up cluster object handling; wasn't doing the right thing on reconnect and needs to know the name of the field to listen for to avoid issuing rapid-fire subscription requests.
Michael Bayne
2003-05-06 00:21:59 +00:00
b9fdc60650
added a loadTileSet() that takes an ImageProvider, added a way to register TileSets.
Ray Greenwell
2003-05-05 22:34:48 +00:00
456dc57129
Moved the creation of the shutdown hook into the same static block that creates the temp cache directory so that it is only registered once even if multiple resource managers are created by the JVM (which happens in ant builds).
Michael Bayne
2003-05-05 18:02:37 +00:00
56df0d29f5
Let's actually use the flip buffer capabilities that we go to such trouble to create.
Michael Bayne
2003-05-05 01:41:57 +00:00
baf4873fa6
Not to freak out if we can't get a graphics to lay out our FPS label.
Michael Bayne
2003-05-04 23:28:18 +00:00
21210eae62
Documentation clarification.
Michael Bayne
2003-05-04 18:50:23 +00:00
7f8ef8f01e
Use FileUtil's deleteRecursive()
Ray Greenwell
2003-05-03 00:51:13 +00:00
c3737ca73f
Register a shutdown hook to destroy the resource cache directory when the JVM exits.
Ray Greenwell
2003-05-03 00:45:36 +00:00
9643db4632
Use RunAnywhere.isLinux() to determine if we should skip draining.
Ray Greenwell
2003-05-03 00:13:04 +00:00
352b3d3d6d
We need to dispose of the graphics that we obtain from getDrawGraphics().
Michael Bayne
2003-05-02 23:54:56 +00:00
2d0897ed4b
Default to flip-buffer rendering on the MacOS because the volatile back buffer approach don't work.
Michael Bayne
2003-05-02 23:53:55 +00:00
df50d9fb0d
Only do the Windows copyArea() workaround on Windows because it crashes the MacOS JVM (though the MacOS JVM has the same fricking bug, it's just that the workaround doesn't "work").
Michael Bayne
2003-05-02 23:49:57 +00:00
daa9c8ee0e
We can use the raw images here because we eventually splat all fringe tiles into a composited image which has been prepared for display.
Michael Bayne
2003-05-02 23:33:30 +00:00
55e84b0ae4
We can use the raw image here because we only use its dimensions.
Michael Bayne
2003-05-02 23:32:56 +00:00
1694881ac2
We can use the raw images here because we're just processing them into other raw images.
Michael Bayne
2003-05-02 23:32:37 +00:00
77cd7f7efe
Renamed the methods that return raw tile images and added fat warnings not to use these unless you're doing low-level image processing and will eventually stuff the data into a prepared image.
Michael Bayne
2003-05-02 23:32:10 +00:00
6669e39a8e
Added other forms of getPreparedImage();
Michael Bayne
2003-05-02 23:09:28 +00:00
c7765a9862
Added getPreparedImage().
Michael Bayne
2003-05-02 22:59:20 +00:00
af764f57c7
Added a constructor that takes MisoSceneMetrics.
Ray Greenwell
2003-05-02 21:50:22 +00:00
e9b0df1751
Scratch that, reverse it. We just have to recreate our graphics objects, not the whole image.
Michael Bayne
2003-05-02 18:46:42 +00:00
bd18c4cbb1
If a block finishes resolution after it's already become visible, repaint its bounds immediately rather than waiting for the remaining queued blocks to be resolved.
Michael Bayne
2003-05-02 18:12:34 +00:00