Welcome, Guest. Please login or register.

Author Topic: Using "skip lab back" in scripts  (Read 3072 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Using "skip lab back" in scripts
« on: December 19, 2010, 03:40:43 PM »
Here's a sample of my startup-sequence:

Quote

C:CheckKey 50
IF WARN
  skip boot
ENDIF

C:SetPatch QUIET
MakeDir RAM:AGS
Assign AGS: RAM:AGS
Assign Games: Work:Games
Copy Games:AGS/#? AGS: ALL QUIET

Lab loop
ArcadeGameSelector
IF EXISTS RAM:.run
  Execute RAM:.run
  Delete RAM:.run
EndIF

skip loop back

lab boot

;normal startup sequence stuff to load workbench goes here


Basically, if F1 is being pressed on boot it skips forward to the "boot" label and loads Workbench. Otherwise, it loads ArcardeGameSelector. This works fine. Now, when I quit the game I've been playing, it should skip back to the loop label and re-run ArcadeGameSelector. However, it just gives an error saying "object not found. skip failed returncode 10". Any ideas?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #1 on: December 19, 2010, 03:45:48 PM »
Just tried it - same error. The weird thing is that this works:

Quote
lab loop
echo "hi"
skip loop back

It prints endless lines of "hi" when executed. I can't see how this is syntactically different to what I did :-?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #2 on: December 19, 2010, 03:50:33 PM »
Ok I think it's something to do with WHDLoad, as if I comment out "execute ram:.run" then the loop works (but obviously it just goes straight back to the menu without loading the game). Weird!

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #3 on: December 19, 2010, 03:56:51 PM »
It's in C:. But I don't think that's the problem - the problem is that it's not skipping back to the loop label when WHDLoad runs. Here's the solution I have come up with:

Quote
;s:startup-sequence
Run Execute S:AGS-startup
Quit

Quote
;s:AGS-startup
ArcadeGameSelector
Execute RAM:.run
Delete RAM:.run

Run Execute S:AGS-startup
Quit

Not as elegant as using labels, but it works.

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #4 on: December 19, 2010, 04:26:56 PM »
Quote from: Piru;599958
It is a limitation of label + skip in conjucation of executing external scripts.


Ahh ok, so does calling an external script wipe out the labels in the script that called it?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #5 on: December 19, 2010, 04:27:56 PM »
Quote from: Franko;599956
Here's an example of  the PlayGame script I use to run WHDLoad games from my GamesLauncher Util...

Code: [Select]
CD "RAM:Action Fighter/"

Assign SAV: "SAVES:Action Fighter"

LAB LOOP
WHDLoad Slave=ActionFighter.slave PreLoad NoCache NoFilter NTSC
SKIP BACK LOOP
[/B]

This works fine on all my games without any problems... :)


The problem is that ArcadeGameSelector creates a script which you then have to execute in order to get the game to run. As Piru says, this doesn't work with labels. Is your GamesLauncher on Aminet?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #6 on: December 19, 2010, 05:38:50 PM »
That looks good! I use ArcadeGameSelector which is very effective.

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #7 on: December 19, 2010, 05:48:35 PM »
Ahh ok. My A1200 boots straight into ArcadeGameSelector unless I hold down F1 during boot, since my Amiga is only really used as a games machine ;)

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show all replies
Re: Using "skip lab back" in scripts
« Reply #8 on: December 19, 2010, 09:15:34 PM »
@Piru
Thanks for the explanation. Very interesting :)

Have any of these issues with AmigaDOS been addressed in any of the NG AmigaOS flavours?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10