Commit Graph

345 Commits

Author SHA1 Message Date
Martin Haye
f3aaa7c6ad Now supports animating title screen and final win screen. 2016-10-23 10:42:11 -07:00
Martin Haye
ee16d7a0d6 Most animations working properly now. 2016-10-23 09:09:43 -07:00
Martin Haye
2ef692c537 Animation progress. 2016-10-22 08:46:37 -07:00
Martin Haye
b2d0af04a8 Wrote the rest of anim unpacking code. 2016-10-19 09:58:09 -07:00
Martin Haye
0b0a849855 A new patching strategy. 2016-10-19 07:37:55 -07:00
Martin Haye
a2a3246b68 Maybe a wrong turn for anim patches. 2016-10-18 07:13:42 -07:00
Martin Haye
6a049d3e33 Adding support for animating all image resources. 2016-10-17 09:26:47 -07:00
Martin Haye
dce735786e Generate fancy new report showing how much each resource contributes to memory and disk usage. 2016-10-16 10:06:30 -07:00
Martin Haye
73c08b56dd Little changes: use portrait names instead of numbers in generated code; a little cleanup of interrupts; improve comments. 2016-10-16 08:16:45 -07:00
Martin Haye
4dd39aff55 Merge branch 'master' of https://github.com/badvision/lawless-legends 2016-10-11 09:04:03 -07:00
Martin Haye
0095407c7e Now blitting full screen images from aux mem rather than loading them directly to the hi-res buffer. Prelude to better support for full-screen. 2016-10-11 09:03:57 -07:00
badvision
6d61e2a75d Switching my source over to Windows 10 changed these file modes -- shouldn't really affect anyone. If it does we can revert this commit. 2016-10-08 13:35:27 -05:00
Martin Haye
49d025a44c Fleshed out ability to use an item on a map space. In addition, add item god-mode cheat moved to player info screen and made fancier. 2016-09-24 11:10:17 -07:00
Martin Haye
83a26c901b Made portrait test loop around. 2016-09-22 11:14:07 -07:00
Martin Haye
ce7bf1d6cc Now processes 'leave' events on map scripts. 2016-09-20 06:15:49 -07:00
Martin Haye
a2c8008755 Initial infrastructure for event handling. 2016-09-15 11:08:43 -07:00
Martin Haye
c5a319d904 Fixed super-long error message. 2016-08-25 08:49:38 -07:00
Martin Haye
7ebe405c41 Fixed bugs with NPC creation, and made mem mgr debug slightly fancier. 2016-08-22 08:08:22 -07:00
Martin Haye
ecf76efde2 Mostly implemented ability to add/remove players, but got some debugging to do. 2016-08-17 08:09:14 -07:00
Martin Haye
8f2a5ada3d Packer now outputs a file with memory use of 3D maps, and warns for high usage. 2016-08-04 09:26:13 -07:00
Martin Haye
d21b269843 Eliminated special patching of PLASMA accessors, now that it's finally decided that PLASMA code doesn't need to use the aux LC bank (it's used by texture expander instead). 2016-08-04 08:30:39 -07:00
Martin Haye
70ead12fb1 Added a god-mode command, '&', to print out the allocated memory blocks. 2016-08-03 08:41:36 -07:00
Martin Haye
b848882090 Fix avatar establishment on game start. 2016-07-28 09:46:38 -07:00
Martin Haye
e71bdea1fe Fixed avatar packing problem, and turned caching back on. 2016-07-26 07:40:01 -07:00
Martin Haye
747a17d6cb Fix for dice 3d6+n problem. Changed Mythos to LegendOS 2016-07-19 08:35:42 -05:00
Martin Haye
7e7c92dc8d Added hack for end-game screen; set sky color to 99 to trigger. 2016-07-19 08:21:34 -05:00
Martin Haye
e376e9c505 A few fixes for compatibility with Lawless Legends scenario. 2016-07-17 19:16:32 -07:00
Martin Haye
43fa3101a3 Slow progress getting packer to run as a plugin. 2016-07-16 05:09:21 -07:00
Martin Haye
95e4651123 Turned off caching in the packer as it's currently creating more problems than it solves. 2016-07-14 14:19:38 -07:00
Martin Haye
d4525a9571 Fix clearEncounterZones and setAvatar to be (more) persistent. 2016-07-14 13:52:23 -07:00
Martin Haye
a3ed0e93a2 More packer refactoring. 2016-07-13 08:05:07 -07:00
Martin Haye
f38f76f1a8 Fixed dependency checking and empty script reporting. 2016-07-12 17:29:03 -07:00
Martin Haye
b5cf46d503 Made progress on alternate packaging of PackPartitions as a plugin for Outlaw. 2016-07-12 17:01:36 -07:00
Martin Haye
85e01abd95 Fix heap type of 'item' and 'stuff' when they are created. 2016-07-12 16:10:54 -07:00
Martin Haye
d7e4c85e10 Fix for null scripts, and for avatar 0. 2016-07-11 08:03:29 -07:00
Martin Haye
be40d8f4f4 Added ability to clear all encounter zones, and to set the avatar tile. 2016-07-10 17:18:03 -07:00
Martin Haye
31bf216f6e Fix bug with Korak combat: strings still a bit too long. 2016-07-08 17:50:45 -07:00
Martin Haye
0837f4a360 Fleshed out new blocks for get/increase/decrease stats. 2016-07-07 17:02:44 -07:00
Martin Haye
df446bc38b Added support for arbitrary game flags, and most of stat increase/decrease. 2016-07-07 16:15:31 -07:00
Martin Haye
57c65f1c69 Added item-related Blocks. 2016-07-07 13:59:07 -07:00
Martin Haye
cb124995f4 Established some basics of the new A2Pack plugin. 2016-07-03 15:31:13 -07:00
Martin Haye
0fe5ef28ca Refactored to get rid of lib vectors, thanks to Dave. 2016-07-03 13:39:00 -07:00
Martin Haye
0708cbda95 Took out some debug prints 2016-07-03 12:26:22 -07:00
Martin Haye
29f6df5913 Making good progress on external symbol resolving. 2016-07-03 12:01:35 -07:00
Martin Haye
ea5800155f Got basics of new fixup mechanism working. 2016-07-03 07:33:12 -07:00
Martin Haye
bb0a9339fe Can now define a Help global function in Outlaw, and it'll get called when '?' is hit in the gme. 2016-07-01 17:19:12 -07:00
Martin Haye
30a9f15ae2 Added generation for generic items like amulets. 2016-07-01 16:57:24 -07:00
Martin Haye
d89d9dfbad Fixed so some enemies get a crack at you when you're fleeing. 2016-07-01 16:32:57 -07:00
Martin Haye
437471451b Now handles scripted combat on 2D maps as well, and handles fleeing correctly. 2016-06-30 09:31:29 -07:00
Martin Haye
02bbbf5ac7 Clean up what happens at the end of a combat script. 2016-06-30 08:47:30 -07:00
Martin Haye
f1fbd7bd8c Working on getting script to resume after combat. 2016-06-30 08:36:46 -07:00
Martin Haye
cf0c3d3ac1 Fix memory and screen glitches when switching between scripted portrait moments, combat, and 3D display. 2016-06-29 07:42:58 -07:00
Martin Haye
8ebbc16da8 Fixed streqi logic for matching encounter zone codes. Added a Blockly for starting an encounter. 2016-06-28 07:40:09 -07:00
Martin Haye
45ab9bafe2 Implementing new game / load game screen. 2016-06-24 05:58:30 -07:00
Martin Haye
17793d011f Preserve previous saved game if 2mg is present. 2016-06-21 08:17:18 -07:00
Martin Haye
87ab8b6031 Allow control chars in command table; basic framework for game load/save established. 2016-06-19 08:38:40 -07:00
Martin Haye
dcea57cc7c It was silly to have strcmpi when all we needed was streqi. 2016-06-19 08:15:51 -07:00
Martin Haye
caa05f16f6 Refactored to save space in the main gameloop module. 2016-06-19 08:04:43 -07:00
Martin Haye
6c33299a77 Split game assets into two partitions, to pave the way for multi-floppy distribution. 2016-06-18 16:31:21 -07:00
Martin Haye
d5f1663267 Added ammo generation. 2016-06-17 07:26:53 -07:00
Martin Haye
fd989c0d32 Got rid of old hard-coded globalScripts.pla 2016-06-16 17:48:58 -07:00
Martin Haye
7e758be30e Added player generation. 2016-06-16 17:42:18 -07:00
Martin Haye
4e57da0d53 Now translating armor spreadsheet to code. 2016-06-16 07:27:13 -07:00
Martin Haye
646d48d206 Now packing weapons spreadsheet. 2016-06-13 08:15:14 -07:00
Martin Haye
4366daef8f Wasn't recording goldLoot for in enemies before. 2016-06-12 13:38:14 -07:00
Martin Haye
944935c4a2 Lots of refactoring of armor, weapons, character stats, etc. 2016-06-12 13:12:14 -07:00
Martin Haye
de33ab3b21 Generating stubs for all item types (weapons, armor, ammo, and items). 2016-06-11 10:58:33 -07:00
Martin Haye
92e5016cb9 Now parsing enemies from within the <sheets> element of world.xml 2016-06-08 09:56:10 -07:00
Martin Haye
170c98508f Moved player info display to separate module, party.pla. Added a few descriptive comments to help Dave get started. 2016-06-01 09:03:14 -07:00
Martin Haye
f82b080ae7 Fixed byte coercion problems uncovered by new Groovy version. 2016-05-31 08:28:02 -07:00
Martin Haye
8fa40a7040 Fix PackPartitions build to always use local groovy jar. 2016-05-31 08:03:26 -07:00
Martin Haye
3df106d6eb Unified build system, with new readme. 2016-05-31 07:45:49 -07:00
Martin Haye
6316395d16 Took out high-bit hacking, as Seth now has full control over these in Outlaw. 2016-05-31 07:17:38 -07:00
Martin Haye
0ea7e8194c Adding groovy jar to repo to ease build nightmares. 2016-05-31 07:03:54 -07:00
Martin Haye
686bc8b614 Check in PLVM02.SYSTEM.sys, so that one can build PackPartitions without needing ACME. 2016-05-30 08:28:10 -07:00
Martin Haye
672c00fdbd Changes to build cleanly in a fresh Debian box. 2016-05-30 08:27:06 -07:00
Martin Haye
cd4bd80639 Break up long strings automatically. 2016-05-19 09:31:05 +02:00
Martin Haye
6ed1518520 String management: break up long strings into plasma-size chunks; clear string pool after each. 2016-05-10 07:13:22 +02:00
Martin Haye
1bd54841e6 Now writes warnings to a file so Seth can see them easily. 2016-04-28 09:26:11 -07:00
Martin Haye
d0100f94e6 Barf when strings get too long. 2016-04-28 07:30:59 -07:00
Martin Haye
9cdc68b0ee Improved messaging for errors. 2016-04-26 06:39:44 -07:00
Martin Haye
1a36b10698 Handle de-quoting the enemies.tsv file. 2016-04-07 10:11:35 -07:00
Martin Haye
ccc43368d4 Encounter zones working now. 2016-03-31 10:01:04 -07:00
Martin Haye
d17ef502e3 Good progress on implementing encounter zones. 2016-03-29 15:17:42 -07:00
Martin Haye
510385ccd3 Better error reporting. 2016-03-27 08:18:32 -07:00
Martin Haye
3a1ad7a0c0 Streamlined packing procedure for Windows use. 2016-03-25 09:39:15 -07:00
Martin Haye
44ef8798e7 Now packing global scripts from the Outlaw file. In particular, now requires a 'New game' script to be present, that it used to set map coordinates now (and much more later). 2016-03-24 09:45:07 -07:00
Martin Haye
99f5879993 String response gathering and checking now working. 2016-03-22 08:22:26 -07:00
Martin Haye
4bf6d8204a Look for enemies.tsv and font.bin in current directory if not found in the standard place. This will allow Seth to be fully independent of us developers and our exacting directory structure. 2016-02-27 11:02:58 -08:00
Martin Haye
c845bf6587 A few changes to support unibuild on Windows. 2016-02-16 09:33:16 -08:00
Martin Haye
7d6393d9c8 PackPartitions now grabs code files as resources from the Jar file if they're not present locally. 2016-02-15 16:25:24 -08:00
Martin Haye
e05a9691f9 Further work on just-in-time copy to build dir. 2016-02-15 14:43:25 -08:00
Martin Haye
ed21cb6d23 Now doing a better job of packing if/else statements and variables. 2016-02-15 13:58:30 -08:00
Martin Haye
5aeabcde51 Use user-defined script names in generated PLASMA code. 2016-02-10 04:58:14 -08:00
Martin Haye
291d529d5a Added incremental build of map scripts. 2016-02-09 08:39:52 -08:00
Martin Haye
e12555531a Pure-PLASMA scripts from Outlaw now working. 2016-02-09 08:23:25 -08:00
Martin Haye
042450d4ce Map scripts now being built as PLASMA source which is then compiled, instead of direct-to-bytecode. This will be much easier to maintain once it's fully working. 2016-02-03 08:50:22 -08:00
Martin Haye
c0e98cd6c4 Merge branch 'master' of https://github.com/badvision/lawless-legends 2016-02-01 08:07:19 -08:00
Martin Haye
8439e6840d PackPartitions now builds a 'fat' jar file containing all classes and dependent libraries. 2016-02-01 08:07:12 -08:00
dschmenk
d975768c62 Merge branch 'master' of http://github.com/badvision/lawless-legends 2016-01-29 13:46:03 -08:00
dschmenk
4efbe1bc23 Fix IDXW bug 2016-01-29 13:45:08 -08:00
Martin Haye
10db0b073a Added hex character constants within strings. 2016-01-29 08:27:00 -08:00
Martin Haye
4f6ca7ed34 Added cache to speed up packing. 2016-01-24 17:00:40 -08:00
Martin Haye
2851e6ca24 Cleaned up texture divvy code. 2016-01-24 13:11:35 -08:00
Martin Haye
c445c9808f Integrated disk image generation into PackPartitions. 2016-01-24 12:37:11 -08:00
Martin Haye
f239bd4ac2 PackPartitions now does everything itself: compile, assemble, pack. 2016-01-18 19:55:36 -08:00
Martin Haye
d1558d67cf PackPartitions now calls ACME to assemble sources. 2016-01-18 19:28:59 -08:00
Martin Haye
4caf8033b7 More progress building PLASMA code. 2016-01-18 18:23:02 -08:00
Martin Haye
26bc00f3af First steps getting PLASMA compiler to run inside PackPartitiions. 2016-01-18 17:59:54 -08:00
Martin Haye
4a410c8a07 Fixed circular dependencies at build time. 2016-01-18 17:00:31 -08:00
Martin Haye
79c30b84fc Added PLASMA makefile rule to build plasm.jar 2016-01-18 13:11:43 -08:00
Martin Haye
db1e6c3a6c Took non-working null func out of test. 2016-01-07 11:32:15 -08:00
Martin Haye
b1eb16df92 Merge branch 'master' of https://github.com/badvision/lawless-legends 2016-01-07 11:29:33 -08:00
Martin Haye
59106ae953 Fixed nasty decompression bug having to do with match len multiple of 256. 2016-01-07 11:23:46 -08:00
dschmenk
328b0b5a1c Add increment/decrement statements and increase ID lenght to 32 2016-01-06 12:30:49 -08:00
Martin Haye
ecc9cc2016 Fixed portrait confusion, and moved enemy selection code to combat module. 2016-01-01 10:18:33 -08:00
Martin Haye
7e9bcabcc1 Now generating enemies from table instead of hand coding them. 2016-01-01 07:53:57 -08:00
Martin Haye
8c6c658ecf Making translating enemy table to code. 2016-01-01 06:04:42 -08:00
Martin Haye
9a1a1d0a0e Refactored global scripts into their own module. 2015-12-29 11:22:14 -08:00
Martin Haye
c4e46238cd Centralized all shared function vectors for efficiency; made mem debug printout fit on screen; use better notation for pointer-to-pointer; fixed bug causing combat to fail on 3D map. 2015-12-29 08:59:13 -08:00
Martin Haye
604857a4d2 Animations working in-engine for the first time. 2015-12-17 09:19:49 -08:00
Martin Haye
f46aed43a6 Pick up animation flags properly. 2015-12-17 06:48:15 -08:00
Martin Haye
11464433be Now packing animation sequences. 2015-12-12 07:22:15 -08:00
Martin Haye
54bdfdd47e Finished moving combat code to a module. 2015-12-10 09:43:21 -08:00
Martin Haye
a48e3cc9d8 Making some progress splitting the combat code into a separate module. 2015-12-09 10:16:05 -08:00
Martin Haye
be7ba4a3ed Added partial support for NPC party members; packer now produces headers for the PLASMA code so we don't have to hard-code image numbers. 2015-12-09 07:35:02 -08:00
Martin Haye
90187c007c Starting to work on translating enemy table to code. 2015-12-06 15:44:28 -08:00
Martin Haye
059f77aba1 Starting in on data generation. 2015-12-06 12:02:18 -08:00
Martin Haye
a1186596f9 Fix to allow blank lines and comments within struc definition. 2015-09-15 07:27:16 -07:00
Martin Haye
fa6bdfb86d Added PLASMA support for single-level source code include statement, without needing m4. Usage: include "yourfile.pla" 2015-09-13 09:30:10 -07:00
Martin Haye
a4e87954a3 All code under Apache 1.1 license as we agreed on this morning. We always intended to do this, now actually getting around to it. 2015-09-10 09:22:07 -07:00
dschmenk
64ab54dbf3 Thanks MArtin Haye for the removal of unneccesary ALTRD code! 2015-08-28 12:19:08 -07:00
Martin Haye
45c993d610 Modified for new XSD place for script names. Also, added new Tab code from Andrew. 2015-07-06 17:09:15 -07:00
Martin Haye
195decd122 Added support for println and clearWindow blocks. Added support for defaults in keyboard teleport. Fixed nasty page-boundary bug for strings in scripts. 2015-07-04 10:02:49 -07:00
Martin Haye
1becc7d61b Added clamping on 2d map, so player never sees the black area outside the map. 2015-07-01 10:04:19 -07:00
Martin Haye
cf55e06347 Fixed fake character text; added support for control codes in packer. 2015-06-28 10:07:50 -07:00
Martin Haye
f4e7586c13 Fix for null category, and new font from Seth. 2015-06-19 12:40:41 -07:00
Martin Haye
edc1e7d410 Andrew's shiny new font engine is working! 2015-06-08 08:07:37 -07:00
Martin Haye
5fa973ea7c Added a 'get any key' block. 2015-06-03 07:56:19 -07:00
Martin Haye
6b51dff8b9 Added move_backward blockly block. 2015-05-31 19:03:38 -07:00
Martin Haye
57462b7638 Moved scenario script strings to aux mem. 2015-05-31 11:19:03 -07:00
Martin Haye
f1dfcccff3 Added Blockly blocks for showing portraits. 2015-05-28 08:14:01 -07:00
Martin Haye
a2454c1212 Fixes for map name display, sky/ground colors, and portrait rendering. 2015-05-27 08:13:09 -07:00
Martin Haye
2069140e31 Fixed for broken scripting after loading new map sections. 2015-05-21 07:19:22 -07:00
Martin Haye
907666c716 Now able to script transitions from 2D to 3D and back. 2015-05-20 09:47:35 -07:00
Martin Haye
80cf3ddb03 Got triggers working right on 3D map, including multiple triggers per location. 2015-05-15 08:19:18 -07:00
Martin Haye
d4a550f760 Corrected handling of obstruction and script flags on 2D map. 2015-05-07 06:54:43 -07:00
Martin Haye
f22f4ed9db Teleportation mostly fixed. 2015-05-06 09:36:27 -07:00
Martin Haye
1f5a6cec29 Basics of 2D teleport kinda working. 2015-04-20 08:32:02 -07:00
Martin Haye
9739fb34e9 Working on 2D teleportation. 2015-04-14 07:19:42 -07:00