885
edits
m (corrected syntax -> source) |
|||
Line 256: | Line 256: | ||
However, script blocking is useful for small bits of code that don't allow the player to save or restore in between: | However, script blocking is useful for small bits of code that don't allow the player to save or restore in between: | ||
< | <source lang="cpp"> | ||
#define script_blocked f7 | #define script_blocked f7 | ||
Line 269: | Line 269: | ||
reset(script_blocked); | reset(script_blocked); | ||
} | } | ||
</ | </source> | ||
==== Save Script Position ==== | ==== Save Script Position ==== | ||
Line 276: | Line 276: | ||
The script works like this (you wouldn't use this in a game): | The script works like this (you wouldn't use this in a game): | ||
< | <source lang="cpp"> | ||
load.view(10); // script contains view 10 | load.view(10); // script contains view 10 | ||
push.script(); | push.script(); | ||
load.view(20); // script contains view 10, 20 | load.view(20); // script contains view 10, 20 | ||
pop.script(); // script contains view 10 | pop.script(); // script contains view 10 | ||
</ | </source> | ||
To use in a real game, you need to initialise push.script first. This is similar to the first example in blocking script writing (but overkill): | To use in a real game, you need to initialise push.script first. This is similar to the first example in blocking script writing (but overkill): | ||
< | <source lang="cpp"> | ||
if (new_room) | if (new_room) | ||
{ | { | ||
Line 299: | Line 299: | ||
pop.script(); // script doesn't contain either | pop.script(); // script doesn't contain either | ||
} | } | ||
</ | </source> | ||
Here is my version of code to swap the ego's view and still letting the player save the game: | Here is my version of code to swap the ego's view and still letting the player save the game: | ||
In the room logic (will be needed in all rooms): | In the room logic (will be needed in all rooms): | ||
< | <source lang="cpp"> | ||
if (new_room) | if (new_room) | ||
{ | { | ||
Line 316: | Line 316: | ||
... | ... | ||
</ | </source> | ||
Logic 70 - View switching logic. It can be given any number, just make sure it's the same in the calling logic. | Logic 70 - View switching logic. It can be given any number, just make sure it's the same in the calling logic. | ||
< | <source lang="cpp"> | ||
#include "defines.txt" | #include "defines.txt" | ||
Line 367: | Line 367: | ||
return(); | return(); | ||
</ | </source> | ||
This is a better solution, because the script will have the correct views loaded when a game is restored and the script size will no increase each time the game is saved. | This is a better solution, because the script will have the correct views loaded when a game is restored and the script size will no increase each time the game is saved. |
edits