home *** CD-ROM | disk | FTP | other *** search
- @2 AMOS PRO
- B U G H U N T
- -------------------@1
-
- CONTRIBUTOR: Edmund Clay
- -----------------------@3
- This is a further report on the bugs that I sent in several months
- ago. (look, I'm trying to multitask with Amoszine as I write this and
- it's a nightmare because Amos is grabbing all the processor time.
- There, killed it. I'll have to refer back later. Hint - please put a
- multiwait command in the main loop to give other programs a chance to
- run.) Anyway, here are the bugs.
- @1
- 1. This was about hardware to screen coordinate conversion and
- sprite-bob collision detection ignoring the screen offset. Obviously,
- the coordinates are easy to fix by just subtracting the offset. Bobs
- are a bit more difficult to deal with. What I eventually did was to
- write a procedure which found the X and Y size of a bob and did the
- collision detection based on rectangular zones around the objects.
- Crude, but it works.
- @2
- 2. I think I will forget that Comptest even exists.
- @3
- 3. I don't think that the ppacker decrunch colour can be changed by
-
- anything short of an extension. This is after dissecting a few packed
- banks and finding that the decrunch colour option is not stored in the
- bank itself, but caused by Amos when it calls the powerpacker library.
- However, I will be forever grateful to Andrew Smith for the palette
- grabbing procedure. I have rid myself of that horrible blue colour once
-
- and for all. (I hope.)
- @1
- 4. Med still stops when a bank is loaded. On finding some bugs in my
- med-with-samples program I have updated it; it should be on this disk.
- @2
- 5. This one is not a real problem, but the procedure suggested in AZ#4
-
- won't work. Try this:
-
- Procedure _DELBOB[S,F]
- For A=S to F
- Del Bob S
- Next
- End proc
-
- It may look as if the same bob is being deleted every time, but in
- fact after each bob is deleted the others all move down a place, so
- each is deleted in turn. To truncate a bob bank to length l, why not
- use:
-
- While length(1)>l : Del Bob L+1 : Wend
- @3
- 6. I would suggest one alteration to Andrew's program to deal with
- negative numbers in numerical edit zones. If you are dealing with
- small numbers, only change a number if it is greater than 2530 (-1
- comes out as 2531). You can actually make a number negative without
- resorting to logic functions by using NUMBER=(-1)*NUMBER.
- @1
- 7. When using Every, you can't have a wait longer than the Every
- period. A replacement for the wait command in this instance is:
-
- Procedure _WA1T[N]
- T=Timer
- While Timer-T<N : Multiwait : wend
- End proc
-
- The Multiwait is only needed if you want to multitask (ie. unless
- you are using Amos Lock and Close Workbench).
-
- Those are the old bugs, here are some new ones:
- @2
- 8. NT Play bank,pattern ignores the pattern and starts from the
- beginning. Fortunately there are other ways of playing modules, such
- as CRAFT's ST Play command.
- @3
- 9. Whenever I compile a program with the Amos to back option turned
- on, it crashes.
-
- @1
- Thanks Ed. Anyone else who would like to contribute, please do so!
-