home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
games
/
jsw2
/
!JSW
/
History
< prev
next >
Wrap
Text File
|
1994-09-03
|
7KB
|
186 lines
!JSW - History
This game is based on Jet Set Willy (originally written for the 48K Spectrum
by Matthew Smith) and Jet Set Willy 2 (Spectrum version by Derrick Rowson),
and was inspired by !Willy (in which the game is fine, but the editor is,
well...)
< 1.00 (unreleased)
Development.
1.00, 29/05/94, first release
Has a companion application for datafile storage.
1.01, 07/06/94
Datafile storage incorporated into main application. Animation bug almost
fixed.
1.02, 14/06/94, second release
Animation bug fixed!
Options window and file added, containing immune, fade and fast flags. If
options file is not present or is damaged, defaults are used (on, on, off).
'Clear unused data' option added.
The game also saves and restores sound channel voices and stereo positions,
and the number of voices in use.
JSW_Game file format has changed slightly - now contains the version number
of !JSW used when saving the file, and the author's name. Versions < 1.02
won't recognise this; v1.02 will recognise older files. Attempts to load a
file saved using a newer version into an older version will be met with an
error stating which version (at least) is required. V1.00 does not have this
error. (Incidentally, some of the sprites in the two supplied game files
have been tweaked a bit.)
The screen redraw routine has been sped up by about 30%, and the message
scroller by 50%. The reason for the change is to do with the tune playing
routine - ARM2 and ARM250-based Arcs would occasionally require an extra
fiftieth of a second per frame. This may still occur, though less often.
(Ideally the tune player would be in machine code...)
Uses custom mode 47 as Acorn apparently didn't define one (and it fills a
hole quite nicely). Quite a nifty piece of code - the Mode47 module selects a
VIDC data table appropriate to the monitor type. (The other advantage, for
those of us using ARM2- and ARM250-based Arcs is that it also reduces the
memory and bandwidth requirements.)
If it doesn't work properly (and you know what you're doing), alter the
table following .vidc_vga in Mode47src.
The standard monitor data HAS been tested and works perfectly with my TV.
(A decent multisync should be able to cope with the standard monitor version
of the mode. Try it if you want.)
I dumped my file creation/modification dates list as I don't think it should
apply to the standard files.
1.03, 18/6/94
Files reorganised a bit - can now have different messages for different
countries (as configured by *Configure Territory). Each country directory
(in !JSW.Resources) must have four files: Templates2 ('flat' templates),
Templates3 (3D templates), Messages, and Scroll (the scrolling message).
Where a file is missing, the UK default is used instead.
Can now handle the new 'deep' sprite format. Again, only the number of
colours and the size are important - the resolution is completely ignored.
Arrows now implemented.
1.10, 19/6/94
New 'goto' box, and menu ('thumbnail' window) reorganised to add 'goto'
option here as well as in the room editing window menu. The file formats are
unchanged (the game file version number is still 1.03), other than the room
file now containing the arrow information.
1.11 28/6/94
A3010 joystick support added.
1.12 30/6/94
Help text bug fixed ('Edit' in room editing menu), and the "Move pointer
right to..." bits sorted out. I must mention Michael Rozdoba here for
suggesting the use of icon numbers to check if a submenu with no selected
item is open - I should have thought of that myself!
Minor editor bug fixed, joystick code debugged.
1.13 7/7/94
Three files added to !JSW.Resources.UK and three sprites deleted. The new
files are "WellDone", "GameOver" and "Paused", and each contains a 256*128
image in 256 colours, byte suppression for values 0 (black) and 255 (white)
- these are followed by a repeat count, 0 to 255: read as 'occurs once,
then repeated n times'.
1.14 18/7/94
High resolution sprites added for editor. Which set is loaded (high res or
low res) is determined by the screen mode when !JSW is loaded. File sprites
also given 3D appearance.
1.15 3/8/94
Single stepping added to "test game" mode.
1.16 6/8/94
Event code implemented. So I can now make the rocket take off, or a monster
change direction. The file version number is now 1.16.
1.17 11/8/94, third release
Screen display improved for VGA monitors and better. Some help text added
for event editing. Tune converted from Maestro format - the music routine is
now MUCH faster (thus, hopefully, eliminating any speed problems on the
ARM250-based Arcs caused by the full-screen VGA mode)...
The file version number is now 1.17.
1.17a 16/8/94
Version 1.17 was released a few days too early. I managed to find a few
nasty bugs, just after I've posted it, as usual. They're fixed, along with a
few minor problems.
1.18 4/9/94
Event editing mode: now traps clicks on room editing window in order to set
coordinates and monster numbers - Select for a coordinate or coordinate pair
and Adjust for a monster. Map editing menu also substituted for room editing
menu (to prevent you trying to do things which are meaningless in event
editing mode).
Game: demo mode added. It starts when the end of the scrolltext is reached,
and the scrolltext is restarted when all the rooms (with names) have been
shown. Events are ignored.
No other functional changes.
Just to scare you, the uncompressed BASIC program is 113.2K long!
Future
- Extra tunes (like Repton 3)
- Object counter (in the editor)
- Ideas anybody?
Miscellaneous info
Try this short program:
A%=0
FOR n%=0 TO 9
PROCa(A%,n%)
NEXT
END
:
DEF PROCa(RETURN A%,n%)
IF n%=4 THEN LOCAL A%
A%+=1
PRINT n%,A%
ENDPROC
Run it, and be surprised. The important question is - can a BASIC compiler
handle it?
To get the handle of the task owning a window, use
SYS "Wimp_SendMessage",0,block%,window% TO ,,other_task_handle%
IF other_task_handle%=&706D6957 THEN other_task_handle%=my_task_handle%
and to compare:
IF (other_task_handle%-my_task_handle%) AND &FFFF THEN
REM other task
ELSE
REM my task
ENDIF
This is particularly useful when your task receives event type 7. Note that
the word &706D6957 = "Wimp".
Another annoying bug put there by Acorn to trap the unwary:
WindowManager 3.16 (RO3.10) and possibly other versions:
A dbox is attached to a menu. It has two writeable icons. Both are set up
for automatic handling of TAB and the cursor keys, and may be shaded.
The dbox is opened with both shaded, but their button types left alone.
Pressing TAB, Shift-TAB, UP or DOWN will cause the system to hang while a
search is performed for an unshaded writeable icon.
To avoid this, when you shade a writeable icon, set its button type to
'Never', changing it back when it is made useable again.
The WindowManager should ignore shaded icons when opening dboxes.
Mode 32 (WARNING: unofficial!)
Text: 40 by 50
Pixels: 320 by 400
OS units: 1280 by 800
Colours: 256
Memory: 125K
Bandwidth: 7.68M/s at 60Hz
Mode is untested; though game tested by emulating on a TV
Mode 47 (WARNING: unofficial!)
Text: 40 by 25
Pixels: 320 by 200
OS units: 1280 by 800
Colours: 256
Memory: 62.5K
Bandwidth: 3.2M/s at 50Hz, 3.84M/s at 60Hz
Currently only tested on monitor type 0