Jump to content
Blue Druid

Event Assembler: What are #ifdefs?

Recommended Posts

Upon assembling my event in Event Assembler the message it gives me is:

Finished.
Messages:
Tutorials disabled
1 warnings encountered:
#ifdef's are missing at the end
So even though it reports no errors, the event data is apparently not written into the game's data, and though I've tried to look it up and fix this error myself, I can't find anything regarding #ifdefs. (Also, if it changes anything, I'm using Fire shell Zeta as a base ROM.) So, my question is , what are #ifdefs and how do I fix this?

Here is the event code

#define DISABLE_TUTORIALS

#include "EAstdlib.event"
#include "BlazingShell Definitions.txt"
#define ChapterID 0x00
EventPointerTable(0x0D80200,Events)
ORG StartOffset
Events:
POIN TurnEvents
POIN TalkEvents
POIN LocationEvents
POIN MiscEvents
POIN TrapData TrapData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN OpeningEvent EndingEvent
Bad:
UNIT 0x3D 0x28 0x00 Level(5, Enemy, 0) [10,2] [10,2] [0x16] Guard
UNIT 0x61 0x28 0x00 Level(1, Enemy, 0) [8,6] [8,6] [0x14] AttackInRange
UNIT 0x61 0x28 0x00 Level(1, Enemy, 0) [8,9] [8,9] [0x14] AttackInRange
UNIT 0x61 0x28 0x00 Level(1, Enemy, 0) [8,12] [8,12] [0x14] AttackInRange
UNIT 0x61 0x06 0x00 Level(1, Enemy, 0) [6,15] [6,15] [0x14] PursueWithoutHeed
UNIT 0x61 0x06 0x00 Level(1, Enemy, 0) [2,12] [2,12] [0x14] PursueWithoutHeed
UNIT 0x61 0x06 0x00 Level(1, Enemy, 0) [20,9] [20,9] [0x14] PursueWithoutHeed
UNIT 0x61 0x06 0x00 Level(1, Enemy, 0) [17,11] [17,11] [0x14] PursueWithoutHeed
UNIT 0x61 0x06 0x00 Level(1, Enemy, 0) [12,6] [12,6] [0x14] PursueWithoutHeed
UNIT 0x61 0x14 0x00 Level(1, Enemy, 0) [9,3] [9,3] [0x14] Guard
UNIT 0x61 0x14 0x00 Level(1, Enemy, 0) [11,3] [11,3] [0x14] Guard
UNIT 0x61 0x14 0x00 Level(1, Enemy, 0) [10,12] [10,12] [0x14] Guard
UNIT 0x61 0x14 0x00 Level(1, Enemy, 0) [12,12] [12,12] [0x14] Guard
UNIT 0x61 0x12 0x00 Level(1, Enemy, 0) [17,7] [17,7] [0x1F] Guard
UNIT 0x3C 0x16 0x00 Level(1, Enemy, 0) [10,1] [10,1] [0x1F, 0x6B] Guard
UNIT
Good:
UNIT 0x01 0x38 0x00 Level(1, Ally, 0) [17,14] [15,14] [0x1F, 0x8D, 0x6B] NoAI
UNIT 0x09 0x12 0x00 Level(1, Ally, 0) [17,14] [13,14] [0x1F, 0x6B] NoAI
UNIT 0x1A 0x4B 0x00 Level(1, Ally, 0) [17,14] [14,15] [0x1F, 0x16, 0x01, 0x6B] NoAI
UNIT
TurnEvents:
OpeningTurnEvent(OpeningEvent)
TURN
TalkEvents:
CHAR
LocationEvents:
LOCA
MiscEvents:
CauseGameOverIfLordDies
DefeatAll(Opening_event)
AFEV
TrapData:
BLST
ALIGN 4
OpeningEvent:
OOBB
LOU1 Bad
MUS1 0x42
CAM1 [14,4]
CAM1 0x3D
CURF 0x3D
FADI 0x10
HIDEMAP
BACG 0x0A
TEX1 0x815
MUEN 0x5
FADU 0x10
MOVE 0x3C [10,0]
DISA 0x3C
REMA
CAM1 [14,12]
CURF [17,14]
LOU1 Good
MUS1 0x53
TEX1 0x816
ENUN
ENDA
EndingEvent:
MUS1 0x06
FADI 0x10
HIDEMAP
BACG 0x0A
FADU 0x10
SHOWMAP
TEX1 0x817
REMA
TheEnd

ENDA

Edited by Blue Druid

Share this post


Link to post
Share on other sites

Here's BlazingShell Definitions

//to prevent double definitions - I think this works?

#ifndef _FIRESHELL_DEFINITIONS_
#define _FIRESHELL_DEFINITIONS_
//We make our own definitions, but we want the macro's
#define _NO_FE7_DEFINITIONS_
#include EAstdlib.event
//Classes
#define Lord1 0x01
#define Lord2 0x02
#define KnightLord 0x03
#define GreatLord 0x04
#define Soldier 0x05
#define Soldier_F 0x06
#define Halberdier 0x07
#define Halberdier_F 0x08
#define Brigand 0x09
#define Mercenary 0x0A
#define Mercenary_F 0x0B
#define Hero 0x0C
#define Hero_F 0x0D
#define Myrmidon 0x0E
#define Myrmidon_F 0x0F
#define Swordmaster 0x10
#define Swordmaster_F 0x11
#define Fighter 0x12
#define Warrior 0x13
#define Knight 0x14
#define Knight_F 0x15
#define General 0x16
#define General_F 0x17
#define Archer 0x18
#define Archer_F 0x19
#define Sniper 0x1A
#define Sniper_F 0x1B
#define Curate 0x1C
#define Cleric 0x1D
#define Bishop 0x1E
#define Bishop_F 0x1F
#define Mage 0x20
#define Mage_F 0x21
#define Sage 0x22
#define Sage_F 0x23
#define Sorceror 0x24
#define Sorceror_F 0x25
#define Warlock 0x26
#define Warlock_F 0x27
#define Cavalier 0x28
#define Cavalier_F 0x29
#define Paladin 0x2A
#define Paladin_F 0x2B
#define Troubadour 0x2C
#define Valkyrie 0x2D
#define Nomad 0x2E
#define Nomad_F 0x2F
#define Mangudai 0x30
#define Mangudai_F 0x31
#define PegasusKnight 0x32
#define FalcoKnight 0x33
#define Dracoknight 0x34
#define Dracoknight_F 0x35
#define Dracomaster 0x36
#define Dracomaster_F 0x37
#define Pirate 0x38
#define Pirate_F 0x39
#define Berserker 0x3A
#define Berserker_F 0x3B
#define Thief_F 0x3D
#define Assassin_F 0x3F
#define Dancer 0x40
#define Bard 0x41
#define Archsage 0x42
#define MagicSeal 0x43
#define Transporter 0x44
#define DarkDruid 0x45
#define Manakete 0x46
#define Acolyte 0x47
#define Acolyte_F 0x48
#define Summoner 0x4A
#define Cataphract 0x4B
#define Cataphract_F 0x4C
#define MageKnight 0x4D
#define MageKnight_F 0x4E
#define Rogue 0x4F
#define Rogue_F 0x50
#define WyvernKnight 0x51
#define WyvernKnight_F 0x52
#define Civilian1 0x53
#define Civilian2 0x54
#define Civilian_F 0x55
#define Child1 0x56
#define Child2 0x57
#define Child_F 0x58
#define TransporterWagon 0x59
#define Tactician 0x5A
#define Peer 0x63
#define Peer_F 0x64
#define Prince 0x65
#define Queen 0x66
#define Phantom 0x67
//Items
#define IronSword 0x01
#define SlimSword 0x02
#define SteelSword 0x03
#define SilverSword 0x04
#define IronBlade 0x05
#define SteelBlade 0x06
#define SilverBlade 0x07
#define PoisonEdge 0x08
#define Rapier 0x09
#define ManiKatti 0x0A
#define BraveSword 0x0B
#define WoDao 0x0C
#define KillingEdge 0x0D
#define Armorslayer 0x0E
#define Wyrmslayer 0x0F
#define LightBrand 0x10
#define Runesword 0x11
#define Lancereaver 0x12
#define Longsword 0x13
#define IronLance 0x14
#define SlimLance 0x15
#define SteelLance 0x16
#define SilverLance 0x17
#define ToxinLance 0x18
#define BraveLance 0x19
#define KillerLance 0x1A
#define Horseslayer 0x1B
#define Javelin 0x1C
#define Spear 0x1D
#define Axereaver 0x1E
#define IronAxe 0x1F
#define SteelAxe 0x20
#define SilverAxe 0x21
#define PoisonAxe 0x22
#define BraveAxe 0x23
#define KillerAxe 0x24
#define Halberd 0x25
#define Hammer 0x26
#define DevilAxe 0x27
#define HandAxe 0x28
#define Tomahawk 0x29
#define Swordreaver 0x2A
#define Swordslayer 0x2B
#define IronBow 0x2C
#define SteelBow 0x2D
#define SilverBow 0x2E
#define PoisonBow 0x2F
#define KillerBow 0x30
#define BraveBow 0x31
#define ShortBow 0x32
#define Longbow 0x33
#define Ballista 0x34
#define IronBallista 0x35
#define KillerBallista 0x36
#define Fire 0x37
#define Thunder 0x38
#define Elfire 0x39
#define Bolting 0x3A
#define Fimbulvetr 0x3B
#define Forblaze 0x3C
#define Excalibur 0x3D
#define Lightning 0x3E
#define Shine 0x3F
#define Divine 0x40
#define Purge 0x41
#define Aura 0x42
#define Luce 0x43
#define Flux 0x44
#define Luna 0x45
#define Nosferatu 0x46
#define Eclipse 0x47
#define Fenrir 0x48
#define Gespenst 0x49
#define Heal 0x4A
#define Mend 0x4B
#define Recover 0x4C
#define Physic 0x4D
#define Fortify 0x4E
#define Restore 0x4F
#define Silence 0x50
#define Sleep 0x51
#define Berserk 0x52
#define Warp 0x53
#define Rescue 0x54
#define TorchStaff 0x55
#define Hammerne 0x56
#define Unlock 0x57
#define Barrier 0x58
#define DragonAxe 0x59
#define AngelicRobe 0x5A
#define EnergyRing 0x5B
#define SecretBook 0x5C
#define Speedwings 0x5D
#define GoddessIcon 0x5E
#define DragonShield 0x5F
#define Talisman 0x60
#define Boots 0x61
#define BodyRing 0x62
#define HeroCrest 0x63
#define KnightCrest 0x64
#define OrionsBolt 0x65
#define ElysianWhip 0x66
#define GuidingRing 0x67
#define ChestKey 0x68
#define DoorKey 0x69
#define LockPick 0x6A
#define Vulnerary 0x6B
#define Elixir 0x6C
#define PureWater 0x6D
#define Antitoxin 0x6E
#define Torch 0x6F
#define DelphiShield 0x70
#define MemberCard 0x71
#define SilverCard 0x72
#define WhiteGem 0x73
#define BlueGem 0x74
#define RedGem 0x75
#define Bullion 0x76
#define UberSpear 0x77
#define ChestKey_5 0x78
#define Mine 0x79
#define LightRune 0x7A
#define HoplonGuard 0x7B
#define FillasMight 0x7C
#define NinissGrace 0x7D
#define ThorsIre 0x7E
#define SetsLitany 0x7F
#define BronzeSword 0x80
#define BronzeLance 0x81
#define BronzeAxe 0x82
#define BronzeBow 0x83
#define Durandal 0x84
#define Armads 0x85
#define Aureola 0x86
#define CoatOfArms 0x87
#define AfasDrops 0x88
#define HeavenSeal 0x89
#define EmblemSeal 0x8A
#define FellContract 0x8B
#define SolKatti 0x8C
#define WolfBeil 0x8D
#define Ereshkigal 0x8E
#define FlameTongue 0x8F
#define RegalBlade 0x90
#define RexHasta 0x91
#define Basilikos 0x92
#define Rienfleche 0x93
#define HeavySpear 0x94
#define ShortSpear 0x95
#define MarauderSeal 0x96
#define Bullion_M 0x97
#define Bullion_L 0x98
#define WindSword 0x99
#define Tonic 0x9A
#define BlackGem 0x9B
#define GoldGem 0x9C
#define FullGuard 0x9F
//Mode changing ASMCs
#define EnterHardMode
#define EnterHectorMode
#define EnterEliwoodHard
#define EnterHectorHard
//AI Combinations
#define NoAIDropItem [0x00,0x00,0x00,0x40]
#define GuardTileDropItem [0x00,0x03,0x09,0x60]
#define AttackInRangeDropItem [0x00,0x03,0x09,0x40]
//Escape Point Macros - by Primefusion
#define LeaveLeft 0x00
#define LeaveRight 0x01
#define LeaveDown 0x02
#define LeaveUp 0x03
#define LeavePoof 0x05
#define EscapePoint(XX,YY,LeaveWay) "BYTE XX YY LeaveWay 0x00"
#define EndEscapeList "BYTE 0xFF 0x00 0x00 0x00"
#define EscapePointListOffset 0xB97100
#define EscapePointTable(id,offset) "ORG EscapePointListOffset+(4*id); POIN offset"

And here's EAstlib.event

#ifndef EA_STDLIB_EVENT

#define EA_STDLIB_EVENT
//Old version defines are commented out.
//#define EA_STDLIB_VERSION_2_5
//#define EA_STDLIB_VERSION_2_6
//#define EA_STDLIB_VERSION_2_7
//#define EA_STDLIB_VERSION_2_8
//#define EA_STDLIB_VERSION_2_9
//#define EA_STDLIB_VERSION_2_10
//#define EA_STDLIB_VERSION_2_11
//#define EA_STDLIB_VERSION_2_12
//#define EA_STDLIB_VERSION_2_13
#define EA_STDLIB_VERSION_2_14
/****************************************************************\
Version 2.145 - Modified for Blazing Shell
How to use EA standard library:
Include this file, EAstdlib.event, to your code.
Then use macro's and definitions you see in
EA Standard library folder.
Changes:
V 1.1:
-Removed time from FlashCursor CURE code and replaced CUFL.
with STAL since they are the same code.
-Added Text macros.
V 1.2:
-Added move manual helpers.
-Changed DefeatAll FE7 to use ASME.
-Added IFEV definition for backwards compability.
V 1.3:
-Made a macro for UNIT code levels.
-Added True and False and some boolean operators.
-Added possibility to not use default definitions.
Just define _NO_FE6_DEFINITIONS_ or equivelant in your own code.
V 1.4:
-Made macro for Event data pointer list editing.
-Fixed a type with #endif.
V 1.5:
-Added CursorFlash macros for FE6 and FE7
-Added tutorial disabling macro. Define DISABLE_TUTORIALS
before including this file to activate it. Define
EMPTY_TUTORIAL_OFFSET before including this file to use
custom empty tutorial.
-Added event pointer macro.
-Added FE8 unit flag helpers.
-Changed Sieze to Seize.
-Made female class names consistantly use _F suffix.
-Removed double definitions by renaming offending parties.
-Renamed staff named Torch as TorchStaff.
-Fixed FE6 ChestMoney macro.
V 1.6:
-Added Warp effect macro's for FE7 and FE8.
V 2.0:
-Moved most stuff to separate files.
-Added reserved event ID definitions.
-Changed Sieze without event pointer to not use event ID.
-Fixed FE8 and FE6 EventPointerTable macro.
-Changed Text macro for FE8.
-Removed Change background macros.
-Added FE6 World map event helpers.
_Added Weather definitions for all 3 GBA games.
-Added Empty for backwards compability.
-Added battle data helpers.
-Removed chapter pointer list helpers.
V 2.1:
-Added more main code helpers, including some common
events they point to.
-Added numeric helpers.
-Added FE7 and 8 World map backwards compability definitions.
V 2.2:
-Added common event support for FE6 and FE8.
-Fixed ReinforcementEvent for FE7.
-Added convo background, music and chapter definitions
for FE8, thanks to flyingace24.
-Added more FE7 world map definitions, thanks to Mariobro3828.
-Added chapter and music definitions for FE6 and FE7.
-Fixed problems with Battle data helpers.
-Added GameOver definition.
-Added DefeatBoss and DefeatAll for FE6, thanks to Arch.
-Added MoveToChapter macro.
-Fixed a typo in IsCreater macro.
-Added FE7 AI definitions, thanks to Arch and Mariobro3828.
-Added more FE7 music definitions, thanks to Cater-Pies.
-Added many macros thanks to Blazer.
-Fixed a problem in some TurnEventPlayer macros.
-Added WorldMapPointerTable for FE8.
-Added and fixed some common events for FE8.
-Remade Warp macros for FE8.
V 2.3:
-Added CharacterEvent macros, thanks to Arch.
V 2.4
-Fixed WorldMapPointerTable indexing.
-Fixed Silencer macros not having targets HP as a parameter.
-Added TheEnd for FE7, thanks to Arch.
V 2.5
-Fixed ReinforcementEvent for FE8.
-Added IfPlayerPhase for FE7.
-Fixed TurnNPC for FE7.
-Added SummonMonsters AI for FE8 thanks to Blademaster/Klok.
-Changed LynModeEnding a bit.
-Added some Event IDs for FE7.
-Added Survive macro thanks to Arch.
-Added LevelMerlinus for FE7.
V 2.6
-Added PromoteMainChar for FE6 thanks to Onmi.
-Added Unit condition helpers for FE7.
-Added battle data helpers for FE7.
-Added IfUnitLucky and others thanks to Arch.
-Added FancyAssasinEntry and FancyThiefEntry macros.
-Added FE7 background definitions thanks to Astra.
-Added TEX5 backwards compability code.
-Added ClearBrownBox for FE7 thanks to Arch.
-Stole Ballista helpers and FE8 battle helpers from Camtech.
V 2.7
-Changed FE7 and FE6 VillageEventItem and VillageEventMoney to match
what the game uses.
-Changed TileChange macro to fit new codes and added a warning.
V 2.8
-Fixed typo in LynModeEnding macro.
-Replaced CODE from World map related macros.
-Fixed typos in common FE8 events.
V 2.9
-Added TileMap to FE6 and FE8.
-Removed the warning from TileMap macro.
-Added TileMapEnd macro for all 3 games.
-Added fixed battle helpers for FE8.
-Fixed Franz being missplelled as Frantz.
-Added more FE8 fixed battle helpers.
-Fixed the missing semcolon from EndAttack macro for FE8.
-Added option to not have backwards compatibility
by defining NO_BACKWARDS_COMPATIBILITY.
V 2.10
-Fixed Backward Compatibility.txt being included wrong.
V 2.11
-Added STAL 136 to the FE7 StartWorldMap macro.
V 2.12
-Fixed FE6 world map helpers defining 1 as "".
V 2.13
-Changed MoveToChapter to not include ENDA.
-Added OpeningTurnEvent macro.
-Fixed Survive macro for FE7 code missing a parameter.
V 2.14
-Removed ENDA from LynModeEnding macro.
V 2.145
-Added BlazingShell Definitions.txt file in lieu of the standard FE7.
\****************************************************************/
#include "EA Standard library\Boolean Logic.txt"
#include "EA Standard library\Numeric Helpers.txt"
#include "EA Standard library\Unit Helpers.txt"
#include "EA Standard library\World Map Helpers.txt"
#include "EA Standard library\Weather Definitions.txt"
#include "EA Standard library\Chapter Structure Helpers.txt"
#include "EA Standard library\Main Code Helpers.txt"
#include "EA Standard library\Misc Helpers.txt"
#include "EA Standard library\Convo Background Definitions.txt"
#include "EA Standard library\Chapter Definitions.txt"
#include "EA Standard library\Music Definitions.txt"
#include "EA Standard library\End Of Chapter Helpers.txt"
#include "EA Standard library\Convo Helpers.txt"
#include "EA Standard library\Tile Changes.txt"
#include "EA Standard library\Trap Helpers.txt"
#ifndef NO_BACKWARDS_COMPATIBILITY
#include "EA Standard library\Backward Compatibility.txt"
#endif
#ifdef _FE7_
#ifdef DISABLE_TUTORIALS
#include "EA Standard library\FE7 Tutorial Disabler.txt"
#endif
#endif
#ifdef _FE6_
#ifndef _NO_FE6_DEFINITIONS_
#include "EA Standard library\FE6 Definitions.txt"
#endif
#endif
#ifdef _FE7_
#ifndef _NO_FE7_DEFINITIONS_
#include "EA Standard library\BlazingShell Definitions.txt"
#endif
#endif
#ifdef _FE8_
#ifndef _NO_FE8_DEFINITIONS_
#include "EA Standard library\FE8 Definitions.txt"
#endif
#endif
#endif //EA_STDLIB_EVENT

Sorry about the second spoiler, I don't know why it's acting like that.
Edited by Blue Druid

Share this post


Link to post
Share on other sites

Strange, at first when I added #endif to Blazingshelldefinitions it showed the same message, but afterclosing and reopening EA it worked! Thanks man! Though on a side note, it doesn't tell me the offset where the events end. Doesn't EA tell you or am I mistaken?

Edited by Blue Druid

Share this post


Link to post
Share on other sites

add this line to the bottom of your event file to fix that

MESSAGE Events end at offset currentOffset

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...