Files
oboe/Win32/Scenario Editor/global.cpp
Chokboyz 1fb69d8754 Classic Blades of Exile :
- Dying to a trap while attempting to open a container won't display the "get items in container" dialog with no alive character anymore.
- Casting the priest Light spell now updates the surrounding areas automatically (like Light and Long Light mage spells; moving or waiting isn't required anymore).
- Debug and Ghost mode are now turned off when loading a game.
- The shop scrolling bar is now properly cleaned up when loading a game while shopping.
- Items are now automatically combined when identified in a shop. To avoid any loss of information, the game now gives the identified item name in the message window (format : "Your item is identified. (full_item_name)"
- If an "active" character (i.e solo fighting) is incapacitated (AP reduced to 0 because of webs, sleep, paralysis, etc) the rest of the party (if present) is now activated the next turn.
- Entering a space containing the special node number 50 won't "force move" the party anymore.
- Added a compatibility option (mainly testing purpose) : "specials are triggered when on boat".
- The restart option of the death menu now works as intended.
- Finally renamed the "Heal All" monster priest spell from "Full Heal" to "Revive Self". That should prevent any further confusion.
- Using items now always updates the ap counter.
- For the sake of consistency : changed labels "Power Potion" to "Energy Potion" potions in the Alchemy menu.
- Redrawing the screen is now correctly handled by specials in all mode (e.g a special that changes a terrain will correctly redraw the screen, even if it was called by looking or moving).

Scenario Editor :

- Redid the custom pictures drawing implementation : custom pictures should now always appears and redraw (terrain, animated terrains, monsters, items, preset items, ...).
- It is now possible to directly give the "Drain missiles" ability to bows and crossbows (use the "Weapon Ability" menu).

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@160 4ebdad44-0ea0-11de-aab3-ff745001d230
2011-01-09 19:50:46 +00:00

119 lines
1.8 KiB
C++

#include <windows.h>
#include "global.h"
#include "math.h"
#include <stdlib.h>
extern char scen_strs[160][256];
extern char scen_strs2[110][256];
extern char talk_strs[170][256];
extern char town_strs[180][256];
extern Boolean give_delays;
unsigned long anim_ticks = 0;
BOOL do_choose_anim = FALSE;
BOOL play_anim=FALSE;
RECT RECT16::rect32()
{
RECT tmp;
tmp.left = left;
tmp.top = top;
tmp.right = right;
tmp.bottom = bottom;
return tmp;
}
RECT16::RECT16 (const RECT & tmp)
{
left = tmp.left;
top = tmp.top;
right = tmp.right;
bottom = tmp.bottom;
}
RECT16 & RECT16::operator=(const RECT & tmp)
{
left = tmp.left;
top = tmp.top;
right = tmp.right;
bottom = tmp.bottom;
return (*this);
}
POINT MAKEPOINT(LONG lParam)
{
POINT point;
point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
return point;
}
short get_ran (short times,short min,short max)
{
short store;
short i, to_ret = 0;
if ((max - min + 1) == 0)
return 0;
for (i = 1; i < times + 1; i++) {
store = rand() % (max - min + 1);
to_ret = to_ret + min + store;
}
return to_ret;
}
short s_pow(short x,short y)
{
return (short) pow((double) x, (double) y);
}
short dist(location p1,location p2)
{
return (short) sqrt((double)((p1.x - p2.x) * (p1.x - p2.x) +
(p1.y - p2.y) * (p1.y - p2.y)));
}
short minmax(short min,short max,short k)
{
if (k < min)
return min;
if (k > max)
return max;
return k;
}
short abs(short x)
{
if (x < 0)
return x * -1;
return x;
}
void Delay(short val,long *dummy)
{
long then,now,wait_val;
wait_val = (long) val;
wait_val = wait_val * 16;
then = (long)GetCurrentTime();
now = then;
while (now - then < wait_val) {
now = (long) GetCurrentTime();
}
}
void beep()
{
long dummy;
MessageBeep(MB_OK);
Delay(200,&dummy);
}
void SysBeep(short)
{
MessageBeep(MB_ICONQUESTION);
}