ScummVM API documentation
convert_usecode_crusader.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef ULTIMA8_CONVERT_U8_CONVERTUSECODECRUSADER_H
23 #define ULTIMA8_CONVERT_U8_CONVERTUSECODECRUSADER_H
24 
25 #include "ultima/ultima8/convert/convert_usecode.h"
26 
27 namespace Ultima {
28 namespace Ultima8 {
29 
31 public:
32  const char* const *intrinsics() override { return _intrinsics; };
33  const char* const *event_names() override { return _event_names; };
34 
35  static const char* const _event_names[];
36 private:
37  static const char* const _intrinsics[512];
38 };
39 
40 // By convention, last pushed argument goes first on the list.
41 const char* const ConvertUsecodeCrusader::_intrinsics[] = {
42  // 0000
43  "byte World::I_getAlertActive(void)",
44  "int16 Item::I_getFrame(Item *)",
45  "void Item::I_setFrame(Item *, frame)",
46  "int16 Item::I_getMapArray(Item *)", // See TRIGGER::ordinal21 - stored in a variable 'mapNum'
47  "int16 Item::I_getStatus(Item *)",
48  "void Item::I_orStatus(Item *, uint16 flags)",
49  "int16 Item::I_equip(6 bytes)", // same coff as 0B5
50  "byte Item::I_isOnScreen(Item *)", // called for gattling guns and camera
51  "byte Actor::I_isNPC(Item *)", // proably - actually checks is itemno < 256?
52  "byte Item::I_getZ(Item *)",
53  "void Item::I_destroy(Item *)", // probably? often called after creating a replacement object and setting it to the same position (eg, LUGGAGE::gotHit)
54  "int16 Actor::I_GetNPCDataField0x63_00B(Actor *)", // Some unknown value set for NPCs based on Q of egg.
55  "void Ultima8Engine::I_setAvatarInStasis(int)",
56  "byte Item::I_getDirToItem(Item *, itemno)", // based on disasm
57  "int16 Actor::I_turnToward(Actor *, direction, dir_16)",
58  "void I_playFlic(void), int16 I_playFlic(Item *, char *name, int16 sizex, int16 sizey)",
59  // 0010
60  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff as 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
61  "int16 Actor::I_getMap(4 bytes)", // based on disasm.
62  "void MusicProcess:I_playMusic(int trackno)",
63  "int16 Item::I_getX(Item *)",
64  "int16 Item::I_getY(Item *)",
65  "void AudioProcess::I_playSFXCru(Item *, uint16 sfxnum)",
66  "int16 Item::I_getShape(Item *)", // in STEAMBOX::func0A, is compared to 0x511 (the STEAM2 shape number) to determine direction
67  "void Item::I_explode(Item *, exptype, destroy_item)",
68  "int16 UCMachine::I_rndRange(uint16 x, uint16 y)", // // probably.. always called with 2 constants, then result often compared to some number between
69  "byte Item::I_legalCreateAtCoords(Item *, int16 shapeno, int16 frame, int16 x, int16 y, int16 z)", // probably, see usage in DOOR2::ordinal37
70  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132. Always associated with a bitwise-not or bitmask
71  "int16 World::I_getControlledNPCNum()",
72  "byte Actor::I_getDir(4 bytes)", // based on disasm. same coff as 112, 121
73  "int16 Actor::I_getLastAnimSet(4 bytes)", // based on disasm. part of same coff set 01D, 05A, 0B9, 0D7, 0E4, 124
74  "int16 Item::I_fireWeapon(Item *, x, y, z, byte, int, byte)",
75  "byte Item::I_create(Item *, uint16 shapenum, uint16 framenum)", // probably - used in MISS1EGG referencing keycards and NPCDEATH in creating blood spills
76  // 0020
77  "void Item::I_popToCoords(Item *, uint16 x, uint16 y, uint16 z)", // set coords, used after creating blood spills in NPCDEATH
78  "void Actor::I_setDead(4 bytes)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
79  "void Item::I_push(Item *)", // same code as U8
80  "int16 Item::I_getEtherealTop(void)", // based on disasm
81  "void Item::I_setShape(Item *, int16 shapeno)", // probably. See PEPSIEW::gotHit.
82  "void Item::I_touch(Item *)", // same code as U8
83  "int16 Item::I_getQHi(Item *)", // guess, based on variable name in BOUNCBOX::gotHit
84  "int16 I_getClosestDirectionInRange(x1, y1, x2, y2, numdirs, mindir, maxdir)",
85  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
86  "int16 World::I_gameDifficulty(void)",
87  "void AudioProcess::I_playAmbientSFXCru(Item *, sndno)",
88  "int16 Item::I_getQLo(Item *)", // guess, based on variable name in BOUNCBOX::gotHit
89  "byte Item::I_inFastArea(Item *)",
90  "void Item::I_setQHi(Item *, uint16 qhi)", // probably setQHi, see usage in FREE::ordinal2E where object position is copied
91  "byte Item::I_legalMoveToPoint(Item *, Point *, int16 force)", // based on disasm
92  "byte CurrentMap::I_canExistAtPoint(int, int, shapeno, Point *)",
93  // 0030
94  "void Item::I_pop(Item *)", // same code as U8
95  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
96  "void Item::I_receiveHit(Item *, other, dir, damage, damagetype)", // based on disasm
97  "byte Actor::I_isBusy(Actor *)", // same code as U8
98  "int16 Item::I_getDirFromTo16(x1, y1, x2, y2)",
99  "byte Actor::I_isKneeling(Actor *)",
100  "int16 Actor::I_doAnim(12 bytes)", // v. similar code to U8
101  "byte MainActor::I_addItemCru(4 bytes)", // same coff as 0B8
102  "void AudioProcess::I_stopSFXCru(Item *, int16 sndno)",
103  "byte Actor::I_isDead(Item *)", // same coff as 122, 12E
104  "byte AudioProcess::I_isSFXPlayingForObject(Item *, int16 unk)",
105  "void Item::I_setQLo(Item *, int16 qlo)", // probably setQLo, see usage in FREE::ordinal2E where object position is copied. Disassembly confirms.
106  "int16 Item::I_getItemFamily(Item *)", // based on disasm
107  "void Container::I_destroyContents(Item *)",
108  "void Item::I_fallProbably_03E(Item *)", // similar disasm to U8, but not totally the same.
109  "int16 Egg::I_getEggId(Item *)", // from disasm
110  // 0040
111  "void CameraProcess::I_moveTo(x, y, z)",
112  "void CameraProcess::I_setCenterOn(objid)",
113  "byte Item::I_getRangeIfVisible(Item *, otheritem)",
114  "void AudioProcess::I_playSFXCru(Item *, soundno)", // TODO: Work out how this is different from Int015 - to a first approximation they are quite similar.
115  "byte Item::I_IsOn(Item *, uint16 itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
116  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
117  "byte Item::I_IsOn(Item *, uint16 itemno))", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
118  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
119  "byte Item::I_IsOn(Item *, uint16 itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
120  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
121  "byte Item::I_IsOn(Item *, uint16 itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
122  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
123  "byte Item::I_IsOn(Item *, uint16 itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
124  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
125  "byte Item::I_IsOn(Item *, uint16 itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
126  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
127  // 0050
128  "int16 Actor::I_getCurrentActivityNo(Actor *)",
129  "void Actor::I_clrInCombat(Actor *)", // probably, based on disasm.
130  "void Actor::I_setDefaultActivity0(Actor *, int)",
131  "void Actor::I_setDefaultActivity1(Actor *, int)",
132  "void Actor::I_setDefaultActivity2(Actor *, int)",
133  "void Actor::I_setActivity(Actor *, int)", // part of same coff set 055, 07D, 0CD, 0DB, 0F2, 131
134  "void World::I_setControlledNPCNum(int itemno)", // when you take over the Thermatron etc.
135  "int16 Item::I_getSurfaceWeight(Item *)",
136  "byte Item::I_isCentreOn(Item *, uint16 other)",
137  "void Item::I_setFrame(Item *, frame)", // based on same coff as 002
138  "int16 Actor::I_getLastAnimSet(4 bytes)", // part of same coff set 01D, 05A, 0B9, 0D7, 0E4, 124
139  "byte Item::I_legalCreateAtPoint(Item *, int16 shape, int16 frame, Point *)", // see PEPSIEW::use
140  "void Item::I_getPoint(Item *, Point *)",
141  "void StatusGump::I_hideStatusGump(void)", // Probably hides gumps at the bottom, among other things.
142  "int16 MovieGump::I_playMovieOverlay(uint32, char *, int16 a, int16 b)", // Play video (as texture? parameters like (150, 250, "MVA11A") and other mvas)
143  "void StatusGump::I_showStatusGump(void)", // Probably shows gumps at the bottom, among other things.
144  // 0060
145  "void Actor::I_setDead(4 bytes)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
146  "void Actor::I_create(8 bytes)",
147  "void CameraProcess::I_somethingAboutCameraUpdate(void)",
148  "void Actor::I_teleport(12 bytes)", // based on disasm same as U8
149  "void Item::I_getFootpad(Item *, uint *, uint *, uint *)", // based on disasm. same coff as 12D
150  "byte Item::I_isInNPC(Item *)", // based on disasm - following parent containers, is one of them an NPC
151  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff set 010, 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
152  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
153  "void Item::I_setNpcNum(Item *, uint16 npcnum)", // maybe, see EVENT::func0A or VALUEBOX::ordinal20.. right next to getNPCNum in coff (confirmed by disassembly)
154  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
155  "void Item::I_move(Item *, int16 x, int16 y, uint16 z)",
156  "int16 Game::I_isViolenceEnabled(void)",
157  "void Kernel::I_resetRef(int16, int16)", // same disasm as U8
158  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
159  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
160  "byte Item::I_isCompletelyOn(Item *, uint16 other)",
161  // 0070
162  "byte Ultima8Engine::I_getCrusaderTeleporting(void)",
163  "void Ultima8Engine::I_setCrusaderTeleporting(void)",
164  "void Ultima8Engine::I_setCruStasis(void)",
165  "void Actor::I_setDead(4 bytes)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
166  "void Ultima8Engine::I_clrCrusaderTeleporting(void)",
167  "void Ultima8Engine::I_clrCruStasis(void)",
168  "void AudioProcess::I_stopSFX(Item *)",
169  "int16 PaletteFaderProcess::I_fadeToBlack(void)", // fade to black, no args (40 frames)
170  "void MainActor::I_clrKeycards(void)",
171  "int16 MainActor::I_teleportToEgg(int, int, int)",
172  "int16 PaletteFaderProcess::I_fadeToGamePal(void)", // from black, no arg (40 frames)
173  "void Actor::I_clrImmortal(Actor *)", // same coff as 130
174  "int16 Actor::I_getHp(Actor *)",
175  "void Actor::I_setActivity(Actor *, int)", // part of same coff set 055, 07D, 0CD, 0DB, 0F2, 131
176  "int16 Item::I_getQuality(Item *)", // based on disassembly
177  "void Item::I_setQuality(Item *, int)", // based on disassembly. same coff as 0BA, 125
178  // 0080
179  "int16 Item::I_use(Item *)", // same coff as 0D0, 0D5
180  "int16 MainActor::I_getMaxEnergy(Actor *)",
181  "int16 Actor::I_getMana(Actor *)",
182  "void Actor::I_setMana(Actor *, int)",
183  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff set 010, 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
184  "void Actor::I_setImmortal(Actor *)",
185  "int16 CameraProcess::I_getCameraX(void)",
186  "int16 CameraProcess::I_getCameraY(void)",
187  "void Item::I_setMapArray(Item *, uint16 maparray)", // based on decompile - sets same value as read by getmaparray .. see VALUEBOX:ordinal20
188  "int16 Item::I_getNpcNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
189  "void Item::I_shoot(Item *, Point3 *, int speed, int gravity)",
190  "int16 Item::I_enterFastArea(Item *)", // based on disasm, v similar to U8
191  "void Item::I_setIsBroken(Item *)", // same coff as 119, 12A
192  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
193  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
194  "void PaletteFaderProcess::I_jumpToAllBlack(void)",
195  // 0090
196  "void MusicProcess::I_stopMusic(void)",
197  "void I_setSomeMovieGlobal(void)", // sets global (cleared by 93) to control palette cycling
198  "void I_playMovieCutsceneFullscreen(char *)", // same coff as 0A9
199  "void I_clearSomeMovieGlobal(void)", // clears global (set by 91) to control palette cycling
200  "void Game::I_playCredits(void)",
201  "byte Kernel::I_getCurrentKeyDown(void)", // get global - something about keyboard (by disasm)
202  "int16 MainActor::I_teleportToEgg(int, int)", // a bit different to the U8 one - uses main actor map by default.
203  "void PaletteFaderProcess:I_jumpToGreyScale(void)",
204  "void I_resetVargasShieldTo500(void)",
205  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
206  "void PaletteFaderProcess::I_jumpToNormalPalette(void)",
207  "int16 PaletteFaderProcess::I_fadeToGamePal(nsteps)",
208  "int16 PaletteFaderProcess::I_fadeToGamePalWithParam(nsteps, unk)",
209  "int16 PaletteFaderProcess::I_fadeToBlack(nsteps)",
210  "int16 PaletteFaderProcess::I_fadeToBlackWithParam(nsteps, unk)",
211  "int16 PaletteFaderProcess::I_fadeToColor(r, g, b, nsteps, unk)",
212  // 00A0
213  "void Actor::I_setDead(Actor *)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
214  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff set 010, 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
215  "int16 Item::I_getUnkEggType(Item *)", // based on disassembly, same as U8
216  "void Egg::I_setEggXRange(Egg *, int)", // based on disasm
217  "byte Item::I_overlaps(Item *, uint16 unk)", // same disasm as U8
218  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
219  "int16 I_getAnimationsEnabled(void)",
220  "int16 Egg::I_getEggXRange(Egg *)", // based on disasm
221  "void Actor::I_setDead(Actor *)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
222  "void I_playMovieCutsceneFullscreen(char *)", // same coff as 092
223  "void AudioProcess::I_playSFX(2 bytes)", // same coff as 0D4
224  "byte Actor::I_isFalling(Actor *)",
225  "int16 Item::I_getFamilyOfType(Item *)", // per pentagram notes, matches disasm.
226  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
227  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff set 010, 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
228  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
229  // 00B0
230  "int16 Item::I_unequip(6 bytes)",
231  "int16 Item::I_spawnUsecodeEvent0x13(Item *, 2 bytes)", // based on disasm - what is event 0x13? "avatar stole something" in U8..
232  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
233  "int32 I_getCurrentTimerTick(void)",
234  "void Ultima8Engine::I_setAlertActive(void)",
235  "int16 Item::I_equip(6 bytes)",
236  "void Ultima8Engine::I_clrAlertActive(void)",
237  "int16 Ultima8Engine::I_getAvatarInStasis(void)",
238  "byte MainActor::I_addItemCru(4 bytes)", // same coff as 037
239  "int16 Actor::I_getLastAnimSet(4 bytes)", // part of same coff set 01D, 05A, 0B9, 0D7, 0E4, 124
240  "void Item::I_setQuality(Item *, int)", // same coff as 07F, 125
241  "byte CurrentMap::I_canExistAt(int shapeno, word x, word y, byte z)", // NOTE: actually slightly different, uses shape info for an imaginary chequered wall shape? (0x31A)
242  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
243  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
244  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
245  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
246  // 00C0
247  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
248  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
249  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
250  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
251  "int16 KeypadGump::I_showKeypad(int targetCode)",
252  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
253  "void SpriteProcess::I_createSprite(word, word, word, word, uword, uword, ubyte)",
254  "byte Item::I_getDirFromItem(Item *, itemno)", // same disasm as U8
255  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
256  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
257  "byte Actor::I_addHp(Actor *, int)",
258  "void MainActor::I_switchMap(int16 mapnum)",
259  "byte Actor::I_getInCombat(Actor *)",
260  "void Actor::I_setActivity(Actor *, int)", // part of same coff set 055, 07D, 0CD, 0DB, 0F2, 131
261  "int16 Game::I_isReleaseBuild(void)", // whether the string "GAME COMPILE=1" has the 1. Might be interesting to see what this does..
262  "void Item::I_setQAndCombine(Item *, int16 q)", // based on disassembly
263  // 00D0
264  "int16 Item::I_use(Item *)", // same coff as 080, 0D5
265  "void AudioProcess:I_stopAllSFX(void)", // based on disasm.
266  "void I_playMovieCutscene(int *item,char *flicname,word sizex,word sizey)", // play flic
267  "void I_clearKeyboardState(void)", // clears some globals and calls a keyboard reset function.. TODO: work out what those globals do?
268  "void I_playSFX(2 bytes)", // same coff as 0AA. Based on disasm.
269  "int16 Item::I_use(Item *)", // same coff as 080, 0D0
270  "byte CameraProcess::I_getCameraZ(void)",
271  "int16 Actor::I_getLastAnimSet(4 bytes)", // part of same coff set 01D, 05A, 0B9, 0D7, 0E4, 124
272  "void Actor::I_setDead(4 bytes)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
273  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff set 010, 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
274  "void PaletteFaderProcess::I_setPalToAllGrey(void)", // sets all colors to 0x3F3F3F
275  "void Actor::I_setActivity(Actor *, int)", // part of same coff set 055, 07D, 0CD, 0DB, 0F2, 131
276  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
277  "int16 Actor::I_getLastActivityNo(Actor *)",
278  "void Actor::I_setCombatTactic(Actor *, int)",
279  "int16 Actor::I_getEquip(6 bytes)", // based on disasm
280  // 00E0
281  "void Actor::I_setEquip(8 bytes)",
282  "int16 Actor::I_getDefaultActivity0(Actor *)",
283  "int16 Actor::I_getDefaultActivity1(Actor *)",
284  "int16 Actor::I_getDefaultActivity2(Actor *)",
285  "int16 Actor::I_getLastAnimSet(4 bytes)", // part of same coff set 01D, 05A, 0B9, 0D7, 0E4, 124
286  "void Actor::I_setTarget(Actor *, uint16 target)",
287  "void Actor::I_SetNPCDataField0x63_0E6(Actor *, int)",
288  "void Actor::I_setDead(4 bytes)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
289  "int16 Item::I_cast(6 bytes)",
290  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
291  "int16 Item::I_getQLo(Item *)", // same as 02B based on same coff set 010, 02B, 066, 084, 0A1, 0AE, 0D9, 0EA
292  "int16 I_GetQOfAvatarInventoryItem0x4ed_0EB(void)",
293  "void Item::I_popToEnd(Item*, int)", // similar code to U8
294  "void Item::I_popToContainer(Item*, int)", // same code as U8
295  "void BatteryChargerProcess::I_create(void)",
296  "int16 Kernel::I_getNumProcesses(int, int)", // same code as U8
297  // 00F0
298  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
299  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
300  "void Actor::I_setActivity(Actor *, int)", // part of same coff set 055, 07D, 0CD, 0DB, 0F2, 131
301  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
302  "int16 Item::I_getQ(Item *)", // based on disassembly
303  "void Item::I_setQ(Item *, uint16 q)", // based on disassembly
304  "void CruHealer::I_create_0F6(void)",
305  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
306  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
307  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
308  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
309  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
310  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
311  "byte MainActor::I_hasKeycard(int)",
312  "void ComputerGump::I_readComputer(char *)",
313  "int16 UCMachine::I_numToStr(int16 num)", // same as 113 based on same coff set 0FF, 113, 126
314  // 0100
315  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
316  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
317  "int16 Item::I_getNPCNum(Item *)", // Based on variable name in TRIGGER::ordinal21. Part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
318  "byte Item::I_isCrusTypeNPC(uint16 shapenum)",
319  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
320  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
321  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
322  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
323  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
324  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
325  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
326  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
327  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
328  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
329  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
330  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
331  // 0110
332  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
333  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
334  "byte Actor::I_getDir(Actor *)", // same coff as 01C, 121
335  "int16 UCMachine::I_numToStr(int16 num)", // based on VMAIL::func0A example usage
336  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
337  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
338  "byte Item::I_fireDistance(14 bytes)",
339  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
340  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
341  "void Item::I_setIsBroken(Item *)", // same coff as 08C, 12A
342  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
343  "byte Item::I_getTypeFlag(Item *, uint16 shift)",
344  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
345  "int16 Item::I_hurl(Item *,8 bytes)", // part of same coff set 028, 08D, 0BD, 0C0, 0C2, 0C8, 0F7, 0F9, 118, 11D
346  "int16 Item::I_getCY(Item *)", // same coff as 12B
347  "byte Item::I_getCZ(Item *)", // based on disasm
348  // 0120
349  "int16 Item::I_getCX(Item *)",
350  "byte Actor::I_getDir(4 bytes)", // same coff as 01C, 112
351  "byte Actor::I_isDead(Item *)", // same coff as 12E, 039
352  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
353  "int16 Actor::I_getLastAnimSet(4 bytes)", // part of same coff set 01D, 05A, 0B9, 0D7, 0E4, 124
354  "void Item::I_setQuality(Item *, int)", // same coff as 07F, 0BA
355  "int16 UCMachine::I_numToStr(int16 num)", // same as 113 based on same coff set 0FF, 113, 126
356  "byte Item::I_getDirToCoords(Item *, uin16 x, uint16 y)", // based on disassembly
357  "void Item::I_andStatus(Item *, uint16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
358  "int16 Item::I_getNPCNum(Item *)", // part of same coff set 067, 06D, 089, 08E, 0AD, 0F8, 100, 102, 105, 107, 109, 10B, 10D, 10F, 111, 115, 11C, 123, 129
359  "void Item::I_setIsBroken(Item *)", // same coff as 08C, 119
360  "int16 IItem::I_getCY(Item *)", // same coff as 11E
361  "byte Item::I_isOn(Item *, itemno)", // part of same coff set 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C
362  "void Item::I_getFootpadData(Item *, uint *, uint *, uint *)", // same coff as 064
363  "byte Actor::I_isDead(Item *)", // same coff as 122, 039
364  "int16 Actor::I_createActorCru(Item *, uint16 other_itemno)",
365  // 0130
366  "void Actor::I_clrImmortal(Actor *)", // same coff as 07B
367  "void Actor::I_setActivity(Actor *, int)", // part of same coff set 055, 07D, 0CD, 0DB, 0F2, 131
368  "void Item::I_andStatus(Item *, int16 status)", // part of same coff set 01A, 031, 069, 06E, 099, 0B2, 0BF, 0C1, 0C3, 0E9, 0FC, 101, 104, 106, 108, 10A, 10C, 10E, 110, 114, 117, 11A, 128, 132
369  "int16 Item::I_getQHi(Item *)", // same as 026 based on same coff set 026, 045, 047, 049, 04B, 04D, 04F, 0AF, 0BE, 0C9, 0F0, 0F3, 0FB, 133
370  "void WeaselGump::I_showGump(uint16 param)",
371  "void Actor::I_setDead(Actor *)", // part of same coff set 021, 060, 073, 0A0, 0A8, 0D8, 0E7, 135
372  "void UNUSEDInt136()",
373  "void UNUSEDInt137()"
374 };
375 
376 const char * const ConvertUsecodeCrusader::_event_names[] = {
377  "look()", // 0x00
378  "use()", // 0x01
379  "anim()", // 0x02
380  "setActivity()", // 0x03
381  "cachein()", // 0x04
382  "hit(uword, word)", // 0x05
383  "gotHit(uword, word)", // 0x06
384  "hatch()", // 0x07
385  "schedule()", // 0x08
386  "release()", // 0x09
387  "equip()", // 0x0A
388  "unequip()", // 0x0B
389  "combine()", // 0x0C
390  "func0D", // 0x0D
391  "calledFromAnim()", // 0x0E
392  "enterFastArea()", // 0x0F
393 
394  "leaveFastArea()", // 0x10
395  "cast(uword)", // 0x11
396  "justMoved()", // 0x12
397  "avatarStoleSomething(uword)", // 0x13
398  "animGetHit()", // 0x14
399  "unhatch(word)", // 0x15
400  "func16", // 0x16
401  "func17", // 0x17
402  "func18", // 0x18
403  "func19", // 0x19
404  "func1A", // 0x1A
405  "func1B", // 0x1B
406  "func1C", // 0x1C
407  "func1D", // 0x1D
408  "func1E", // 0x1E
409  "func1F", // 0x1F
410  0
411 };
412 
413 } // End of namespace Ultima8
414 } // End of namespace Ultima
415 
416 #endif
Definition: convert_usecode.h:28
Definition: detection.h:27
Definition: convert_usecode_crusader.h:30