*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
rename, json2json
no wonder rsync took so long *g*
- separate internal (undefined type) and client-exported (else) resources. - new %cf::RESOURCE hash for internal resources - move jeweler.yaml to archetype ("resource") data - support resource data filters and implement yaml2json (this reduced loading time for the jeweler data by a factor of 1000 :). - clean up Jeweler.pm a bit.
- note to self: all forms of cede need PUTBACK as any other fucntion modifying the stack. - the beginning of tag support - just for fun tag soem buildings in scorn and watch the database change - do not install world-precomposed, this saves a lot of traffic, scanning and other things. - add tag field to every object in the editor.
make meta entries for resoruce files mandatory, 'saves' 11mb...
embrace JSON::XS 1.5
do include all pngs we find. even if no archetype info is available (bad, bad bad)
- allow archetypes to refer to tiled subparts of bigfaces individually. (used for the new nimfloor)
- include experience table as our first generic resource file - swizzle init code around - do not calculate checksum in cfutil but when loading the facedata. this increases loading time by 20%, but since thats just 1.2s instead of 1.0s its not worth the extra effort of doing it beforehand.
do not prejuduice against empty & blank just because of their names
re-enabled wall context
- use archetype info to decide wether a tile is a floor or a wall and provide context info (border) for upscaling. downscaling hasn't been changed (who cares...) - do not include unreferenced faces in facedata anymore (keep your fingers crossed).
toyed around with cfutil, remembered archetype
- correctly scale up walls that follow the basename_[0-9A-F] naming scheme by padding with matching walls. the solution is probably more correct than it needs to be, but it gets the job done just the better. (TODO: do the same but simpler for ground tiles)
cleanup
require resource files to be explicitly mentioned in 'meta' if meta exists
require resource files to be explicitly mentioned in 'meta' if meta exists
fix meta generation
hacky new-style sound support, very hacky old-style sound support
remove extension from resources
better resource handling, preparing for sound effects, some chat fixes
welcome to fxix protocol version 3, with uniform handling over all resources
first working worldmap with real-time user tracking
*** empty log message ***
decrease verbosity of install maps
make installed maps world-readable
*** empty log message ***
first workable server-side music implementation
*** empty log message ***
use configure to check for tcp_info
fix magicmap
do not output archetypes with names starting with type_ or class_, a bit of a hack
we have the time
*** empty log message ***
require pngnq and automatically requantise too large 32x32 smooth faces so gcfclient doesn't nuke
some hacks/fixes to make multipart treasures work on worldmaps only
store and transfer the player objetc count not uuid in the extmap protocol, we cannot reasonably hope to get rid of the count anyway
*** empty log message ***
thanks to elmex for showing me the error in my wayy, the inheritence resolution is now done in cfutil. advantages: - no need to udpate the editor etc. - forward references work just fine. disadvantages: - much more difficult implementation (if you discount the requirement to write a perl parser, too). - larger file, slower loading (if used extensively :) - the goal should imho be that the server automatically gathers archetypes and other data items.
implement inherit keyword which can optionally follow "object" and uses the archetype referenced by it as a template. unlike other references, no forward reference is possible, the referenced archetype must be known and defined. (current Crossfire perl module is required) example usage: object doubledemilich inherit demilich hp 2000 maxhp 2000 speed 0.75 attacktype 70680 unaggressive 0 end
move to Coro::Storable for face loading
move animation info into facedata and make it reloadable at runtime
- implement smoothing in the fxix (or better: fxixsx) protocol. - this *enforces* that smoothing is *per face* and not *per archetype*. - no extra bandwidth is needed for map information (unlike in the crossfire 1.x protocol, where smoothlevels are per-mapspace and take up a lot of bandwidth). - no extra storage is required on the client-side (although smoothing for cached map data is then only available for tiles that have been seen). - temporarily supply empty_S.x11 smoothfaces again, as this hack is required because there is no way to specify a smoothlevel but no smoothface otherwise. this should be optimised away at a future point, but this will break gcfclient (but disabling smoothing for that might be a good compromise).
*** empty log message ***
*** empty log message ***
moved setup to perlspace to facilitate easier extensions and some cleanups. feels more secure, too
- add cfhq2xa to the installed binaries - cfutil: autogenerate 64x64 versions out of existing 32x32 versions if required (--cache is highly recommended). - rename faces to facedata to avoid clashes with the old file. - add the 64x64 tiles to faceset 1 in the server (unused) TODO: protocol to split faces (they are too large) TODO: devise a faceset protocol incompatible enough with gcfclient so it doesn't puke.
switch to the new facename.faceset.png naming scheme
enable face caching again for those too stupid to read :(
thinko
- rewrote more face handling code - automatically send smooth faces, as the client will need them anyways and it makes little sense to wait for the client to axk for it. of course, gcfclient suffers from weird ordering problems again. - UP_OBJ_FACE was often abused in situations where other things changed, updated lots of spaces, probably more to be done. - update_smooth became so small that inlining it actually clarified the code. similar for update_space, which is not inlined for other reasons. - faces were not initialised properly - add versioncheck for face data - rewrite invisibility handling a bit: god finger etc. now makes you blink, blinking routine has changed to be less annoying and more useful while still indicating invisibleness.
- rewrote smooth face handling, as a side-effect, smoothing seems to work again and smooth faces can be reloaded. - the server now sends the full animation for an object the first time it is seen, this uses slightly more bandwidth initially, but avoids the flickering for objects change their face later.
refine cfutil a bit
try to switch over to cfutil - cfutil willnow be built and install, should mostly work, and files should not get overwritten by make install
*** empty log message ***
add editor_folder to archetypes file
fix some misc. bugs
- quick hack to rmeove any bigface/multipart handling. - seems to work reasonably nice.
*** empty log message ***
- MAJOR CHANGE - you now need to use cfutil to install arches. - former bigfaces are broken in the server - bigfaces are no longer supported. at all. - use face numbers instead of pointers * saves lotsa space * saves lotsa indirections * saves lots(?) cpu cycles - completely rewrote face handling - faces can now be added at runtime - reload will add new faces - this does not apply to animations - use a hastable instead of binary search (faster) for faces - face caching is broken - facesets are gone - server always reports MAX_FACES to any client who asks
closer, now the server needs a more modern approach Two monks were watching a flag flapping in the wind. One said to the other, "The flag is moving." The other replied, "The wind is moving." Huineng overheard this. He said, "Not the flag, not the wind; mind is moving."
interim check-in of cfutil
interim check-in of cfutil
interim check-in of cfutil
add cfutil stub, move checks likely to fail to be done earlier in configure, require optipng
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.