Commit Graph

611 Commits

Author SHA1 Message Date
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
Martin Haye
9e94928f0a More refactoring. 2015-04-09 10:31:36 -07:00
Martin Haye
4227042b11 More work refactoring API to rendering engines. 2015-03-31 12:02:48 -07:00
Martin Haye
a835321b5f Implemented printf for handy debugging, and now generating a map index for the 2D sections. 2015-03-25 07:40:46 -07:00
Martin Haye
56897dd67d Implementing printf-like family of functions. 2015-03-05 09:34:42 -08:00
Martin Haye
d0505a756b Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-03-04 06:51:15 -08:00
David Schmenk
d6091a87a1 Fix in-line string off-by-one 2015-03-03 18:37:00 -08:00
Martin Haye
152fa2bd8b Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-02-27 05:33:15 -08:00
Martin Haye
2b686a8629 More work on script triggers. 2015-02-27 05:33:11 -08:00
dschmenk
42bc9441a3 Add in-line strings 2015-02-26 13:07:08 -08:00
Martin Haye
abd63d0481 Now loading scripts for 2D maps, and registering the new trigger table. 2015-02-23 08:01:47 -08:00
Martin Haye
430ee9ce65 Now packing scripts for 2D map sections. 2015-02-19 10:44:17 -08:00
Martin Haye
2d06dc337a Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-02-16 16:18:04 -08:00
Martin Haye
792b8854ac More 2d work: tileset division, show avatar in center, fix load bug. 2015-02-16 16:18:00 -08:00
dschmenk
bc93460bd6 Oops, forgot to add this in (old stdlib.plh) 2015-02-13 16:50:25 -08:00
dschmenk
d9614dfbb9 Force \r to 0x0A 2015-02-13 16:49:12 -08:00
dschmenk
da0c23e35a Minor fix for initial break_tag in repeat statement. Loadable module
return value fixes.
2015-02-03 22:04:11 -08:00
dschmenk
508a2c84fb Fix VM bug in BRNE/BREQ, parse lvalue bug, and rename stdlib to cmdsys 2015-01-28 12:56:14 -08:00
Martin Haye
a71d652f30 Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-01-27 10:08:23 -08:00
Martin Haye
b9a4caba1f Fixed tile address calculation and tileset numbering. 2015-01-27 08:36:05 -08:00
Martin Haye
09583ce1ce Now loading the initial 4 map sections in the tile engine. 2015-01-10 13:17:56 -08:00
Martin Haye
4e4892381f Now splitting maps up into sections. Refactored game loop to make room for 2D variant. 2015-01-07 14:48:04 -08:00
David Schmenk
7d6860b1d5 Bring PLASMA up-to-date 2015-01-02 17:29:02 -08:00
Martin Haye
bc73588a20 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-12-21 08:17:26 -08:00
Martin Haye
14193fb73d Working on splitting 2D maps into sections. 2014-12-21 08:17:21 -08:00
David Schmenk
dee30787b4 Add structures to PLASMA 2014-12-07 20:59:24 -08:00
David Schmenk
700b85280d Don't output module dependencies if not a module 2014-11-18 12:55:38 -08:00
David Schmenk
f2debb1b4d Add syntax sugar for array define and improve enter/leave sequence 2014-11-17 17:57:07 -08:00
Martin Haye
c43f381296 Much better error and warning pinpointing during pack process. 2014-09-11 08:54:37 -07:00
Martin Haye
a480dc8c96 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-09-11 06:48:04 -07:00
Martin Haye
c1f0cdab58 Added partial code to pack 126x128 images. 2014-09-11 06:48:01 -07:00
Brendan Robert
bcd2e6c83e Started adding tile engine support to the build/pack -- still have to pack maps and tilesets and create a test stub for the tile engine 2014-09-05 09:44:14 -05:00
David Schmenk
d62f499c31 Update comment and multiple statements
Update comment symbol to "//" and allow multiple statements per line with ";"
2014-08-14 20:01:52 -07:00
David Schmenk
fb3f6722cf Convert comment symbol to '//' and allow multiple statements per line
with ';'
2014-08-14 19:28:31 -07:00
Martin Haye
c7c969d2d0 Fixed bug where println wasn't recognized. 2014-07-25 18:33:44 -05:00
Martin Haye
e849051afd Implemented loading screen, fixed a bunch of bugs. 2014-07-21 18:28:39 -07:00
Martin Haye
a2830e9828 More work on init scripts, and proper redrawing after teleport. 2014-07-20 14:43:48 -07:00
Martin Haye
97b942036f Added blocks for setting sky and ground colors, and teleporting the player. Added support for init scripts using Blockly. 2014-07-20 06:02:10 -07:00
Martin Haye
ebe228d15f Now processing IF statements with GETYN triggers, and SETMAP events. 2014-07-19 15:55:27 -07:00
Martin Haye
f4342b12c1 Now scripts have a flag of their own on the map, for speedy detection. 2014-07-19 14:17:40 -07:00
Martin Haye
d6815eab05 Fixes for lots of scripts, and for empty script blocks. 2014-07-19 13:54:41 -07:00
Martin Haye
278d769ade Now packing tilesets, but not yet segmenting 2D maps. 2014-07-15 13:09:36 -07:00
Martin Haye
3bbcc7ed92 Rearranged things a bit in preparation for segmented 2D map packing. 2014-07-15 09:52:58 -07:00
Martin Haye
df246c40c6 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-08 19:11:11 -07:00
Martin Haye
e56ad5e7da Really running scripts on the map now. 2014-07-08 19:11:03 -07:00
David Schmenk
695fef7a15 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-08 17:55:56 -07:00
David Schmenk
63da278ce3 Turn off DblHRes 2014-07-08 17:55:22 -07:00
Martin Haye
d06884c0e9 Kinda loading scripts module, but it appears to be trashing memory. 2014-07-08 16:02:10 -07:00
Martin Haye
8a8204ec77 Now packing very simple game scripts. 2014-07-08 15:43:12 -07:00
Martin Haye
a330b395fe Working on text functions and scripting in Outlaw. 2014-07-08 09:39:31 -07:00
David Schmenk
3ebf9f11dd Use new when/is/otherwise with break 2014-07-07 22:18:42 -07:00
Martin Haye
3af48520a1 Implemented blocker sprites the right way. 2014-07-06 18:22:31 -07:00
Martin Haye
02cccb1270 Working on blocker sprites. 2014-07-06 17:25:48 -07:00
Martin Haye
a399d81478 Converting main loop to PLASMA. 2014-07-06 14:40:35 -07:00
Martin Haye
0950b9357e Moved PLASMA compiler to be alongside other Apple platform tools. 2014-07-06 10:21:03 -07:00
Martin Haye
f43c51dd74 Really loading and running PLASMA code now. 2014-07-03 16:56:26 -07:00
Martin Haye
269770da90 Debugging PLASMA loader. 2014-07-03 10:51:24 -07:00
Martin Haye
d4b90e32f8 Working on module loading in mem manager. 2014-06-29 14:32:51 -07:00
Martin Haye
68c70a3ec6 Working on parsing and compressing PLASMA modules. 2014-06-29 11:40:51 -07:00
Martin Haye
786853a4a7 Now runs PLASMA code\! 2014-06-25 08:47:28 -07:00
Martin Haye
7c00d7272a More bit hacking, added collision detection, playing with blocker sprites. 2014-06-16 09:03:24 -07:00
Martin Haye
d9a203c522 Sprite fixes, and workaround for Outlaw NPE. 2014-06-13 13:10:38 -07:00
Martin Haye
a6db0f3d41 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-06-10 08:25:24 -07:00
Brendan Robert
04b9a40a7b Offically requiring Java 8 now. (sorry!) 2014-06-07 13:27:00 -05:00
Martin Haye
fa1bb0bd3c Hacked high-bits on tree sprite graphic. 2014-06-02 10:28:50 -07:00
Martin Haye
c9d84d11b5 Fixed raycaster going past the edge of the map. 2014-06-01 07:22:07 -07:00
Martin Haye
bbac1ea183 Fix edge detection in II raycaster. 2014-05-30 09:10:20 -07:00
Martin Haye
c8d8c22478 Use real map data in Javascript raycaster, so I can more closely simulate the Apple II and thus debug problems more easily. 2014-05-30 08:33:11 -07:00
Martin Haye
a82379bbe5 Compression has been working great, so turned off debug checksums. 2014-04-20 09:20:35 -07:00
Martin Haye
91586d8b3c Added sprites to map data, and to ray casting loop. 2014-04-20 09:16:40 -07:00
Martin Haye
ec49808879 Laxen rules on name matching. 2014-04-12 18:01:46 -07:00
Martin Haye
f6a6e844bb Compression now fully working. Also, changed core to be a .system file, so we don't need BASIC.SYSTEM any more. 2014-03-18 13:29:02 -07:00
Martin Haye
e741c5d57e Fixing lots of decompression bugs. 2014-03-17 11:30:15 -07:00
Martin Haye
539c878c5f Fixing decompressor bugs. 2014-03-17 07:49:40 -07:00
Martin Haye
37f4863e30 All compression code written and integrated; now to test. 2014-03-13 09:56:29 -07:00
Martin Haye
85f434aadf More work on compression. 2014-03-06 09:45:11 -08:00
Martin Haye
983f61b5c0 Making progress on LZ4 compression. 2014-03-06 07:25:04 -08:00
Martin Haye
625f2a44ea Added LZ5 compression to the packer. 2014-02-25 10:07:40 -08:00
Martin Haye
99827b9785 Now displays map name centered at top of window. 2014-02-20 09:13:30 -08:00
Martin Haye
14296ca13a Font engine integrated with raycaster. 2014-02-20 07:45:48 -08:00
Martin Haye
3eb021aad8 Switched over to ACME for raycaster. Also made output of packer more brief. 2014-02-09 14:59:43 -08:00
Martin Haye
0d8584743e Finally got everything loading and displaying in the raycaster. 2014-01-26 16:32:03 -08:00
Martin Haye
c63eed8ee7 Making progress with packing all maps, not just one, and loading back one map and only its textures. 2014-01-26 08:26:51 -08:00
Martin Haye
21088c8f90 Texture header for maps. 2014-01-24 10:51:11 -08:00
Martin Haye
d78c7ed652 First disk load worked\! 2014-01-16 09:19:40 -08:00
Martin Haye
5a8b451703 Revised mem manager and partition packing code to do arbitrary sizes rather than whole pages. 2014-01-15 08:58:20 -08:00
Martin Haye
ec28cb6460 Now packing code segments as well. 2014-01-05 17:34:57 -08:00
Martin Haye
5af871d65b Working on packing partition files. 2014-01-05 17:16:30 -08:00
Martin Haye
48d222f017 Working on packing partition files. 2014-01-05 16:32:44 -08:00
Martin Haye
ea7140524b Now with transparency flood-fill, and the dithered sky that makes possible. 2013-11-10 13:07:59 -08:00
Martin Haye
fddd8a503f Adding transparency and switching to plain 6502. 2013-11-10 11:19:29 -08:00
Martin Haye
a512a48ff3 Finished fleshing out text for part 1. 2013-10-05 11:52:30 -07:00
Martin Haye
7445ee219d Added new tool: PackMap, to convert an Outlaw XML file to an Apple II packed map file. 2013-09-13 08:40:53 -07:00
Martin Haye
57cf76357b Tentative build process for the Apple II. 2013-08-12 06:34:37 -07:00
Martin Haye
751d997a04 Revised version of A2Copy tool, which copies whole dirs in and out of image files. 2013-08-09 12:48:32 -07:00
Brendan Robert
4120579385 Seeding code repository directories 2013-08-02 18:42:05 -05:00