Commit Graph

611 Commits

Author SHA1 Message Date
Martin Haye
9e5e955fbe Realized I could use simple PLASMA extern for global heap pointer. 2017-01-22 08:44:10 -08:00
Martin Haye
421807719b Slightly more readable. 2017-01-18 09:59:00 -08:00
Martin Haye
a8126a1c75 New disk polling code. 2017-01-18 09:29:26 -08:00
Martin Haye
7056e09458 Properly retain previous game save when rebuilding image. 2017-01-18 08:24:09 -08:00
Martin Haye
7fb830793c Doing some speed testing. 2017-01-15 09:10:43 -08:00
Martin Haye
4b9f2c9a85 Create proper save file on all disks. Updated memory map. 2017-01-12 07:30:54 -08:00
Martin Haye
99f9f9f35c Now supporting multi-floppy mode. 2017-01-11 19:02:31 -08:00
Martin Haye
6e47f62e84 Now building multiple floppies. 2017-01-11 16:22:31 -08:00
Martin Haye
6b52149938 Fixed copy/paste errors in ProRWTS floppy driver. 2017-01-11 16:00:24 -08:00
Martin Haye
094d4ca8da Smaller 140k image, now with ProBoot. 2017-01-11 15:32:32 -08:00
Martin Haye
2404025654 Working on floppy generation. 2017-01-11 15:20:22 -08:00
Martin Haye
d0ca62eb53 Adding ProBoot and floppy version. 2017-01-11 09:54:58 -08:00
Martin Haye
3c6814e7af Refactored disk images to slim down main 800k image. 2017-01-11 07:36:59 -08:00
Martin Haye
545538c5d0 Initial version of ProBoot (untested as of yet). 2017-01-11 07:14:16 -08:00
Martin Haye
994388940a Integrated new version of ProRWTS, now with support for big tree files\! Works beautifully. 2017-01-09 07:47:51 -08:00
Martin Haye
6e8089d3a3 Made decompression slightly faster. 2017-01-09 06:57:39 -08:00
Martin Haye
ae4210a050 Temporary workarounds. 2017-01-07 11:25:01 -08:00
Martin Haye
845239c2cf Got decompression working, yay\! 2017-01-06 17:49:51 -08:00
Martin Haye
bf179182b0 Added underlap verification in a better way. Going back to 2 partitions so qkumba can repro the ProDOS tree-file problem. 2017-01-06 11:09:01 -08:00
Martin Haye
485e9e7430 Added decompression underlap verification. 2017-01-06 09:04:29 -08:00
Martin Haye
3123bdd903 Moved ProRWTS to aux LC. Also getting further in boot seq now. 2017-01-05 14:27:44 -08:00
Martin Haye
410ba2238f Slightly better build wrapper scripts. 2017-01-05 08:54:19 -08:00
Martin Haye
efc8a84396 Yay, I can reach the title screen now. 2017-01-04 17:57:18 -08:00
Martin Haye
e21f6cb423 More progress on ProRWTS. 2017-01-04 15:05:43 -08:00
Martin Haye
dd061c37c3 Making slow progress integrating ProRWTS with mem mgr. 2017-01-04 13:15:39 -08:00
Martin Haye
8ff169d1e6 Now loading and successfully relocating ProRWTS and PLASMA. 2017-01-04 09:17:13 -08:00
Martin Haye
d9786058d8 Adding ProRWTS. 2017-01-02 14:08:33 -08:00
Martin Haye
2f35ee17f0 Stripped out Plasma VM 'cmd' loading, in anticipation of dedicated LegendOS loader. 2017-01-02 13:52:35 -08:00
Martin Haye
c67a4ea718 I think decompressor is written now. 2017-01-02 11:14:59 -08:00
Martin Haye
917a6561f7 Better encoding of offset=64 2017-01-02 09:06:11 -08:00
Martin Haye
0e4c7df743 More efficient coding of zero-length lits results in even better compression, and faster decomp as well. 2017-01-02 07:44:48 -08:00
Martin Haye
7d8c562ffa Rearranged gamma scheme for faster decomp. 2017-01-01 08:59:35 -08:00
Martin Haye
05a63b3e54 Optimized code pair encoding for faster decompression. 2016-12-30 18:06:17 -08:00
Martin Haye
cff4b79931 Refactored into code pairs. 2016-12-30 17:56:11 -08:00
Martin Haye
ac70c14f31 Refactored into code pairs. 2016-12-30 17:46:21 -08:00
Martin Haye
cd17eb873e Fixed comment 2016-12-30 17:42:35 -08:00
Martin Haye
e8ea2e9f87 Fixed comment. 2016-12-30 08:33:46 -08:00
Martin Haye
77e2a7c3cf Tested with underlap of 2 for decompression. Changed cut-off to 8 or more saved bytes. 2016-12-30 07:59:26 -08:00
Martin Haye
9d04090881 Backed off a little bit so that all elias encoding is 8-bits or less. 2016-12-29 17:42:10 -08:00
Martin Haye
908eb71927 Parameterized offset exp. 2016-12-29 17:19:15 -08:00
Martin Haye
a761056723 Parameterized offset exp. 2016-12-29 17:18:53 -08:00
Martin Haye
b5ca1d32aa Fixed a bug, and fixed a big counting error. 2016-12-29 16:06:16 -08:00
Martin Haye
64bc3117f0 More efficient encoding of literal lengths. 2016-12-29 12:48:11 -08:00
Martin Haye
014abce085 Committing to gammas for offsets. 2016-12-29 08:23:36 -08:00
Martin Haye
5804cde556 Best compression yet, messing with offset encoding. 2016-12-29 08:19:11 -08:00
Martin Haye
77b55bbd14 Offsets with gamma. 2016-12-29 08:06:23 -08:00
Martin Haye
1d421aacf2 More experimentation. 2016-12-28 08:00:28 -08:00
Martin Haye
ccdbbb970b Now checking zx7 by decompressing. 2016-12-27 21:01:48 -08:00
Martin Haye
bfa91285a6 Some progress on decompressing lx47 2016-12-27 08:44:00 -08:00
Martin Haye
52d2b877f5 Got compressor working, but unverified. 2016-12-26 10:21:53 -08:00
Martin Haye
5f53550df2 Support getCharResponse; better handling of interdependent global scripts; support for backslash-backtick for explicit spaces in strings. 2016-12-13 09:07:36 -08:00
Martin Haye
652673ea01 Now supports 0..3 args on global funcs. 2016-12-08 07:05:28 -08:00
Martin Haye
9d849736e2 More fleshing out of global function calling. 2016-12-06 09:38:24 -08:00
Martin Haye
4d414bd6ce Now compiling each global script as a separate module, in anticipation of large scripts like hotel, store, etc. 2016-12-05 09:23:00 -08:00
Martin Haye
075778b3a2 Fixed bug with tilesets becoming too large. 2016-11-18 12:03:37 -08:00
Martin Haye
3d595608cc Fixed map numbering to handle multiple 2D maps. 2016-11-15 06:14:58 -08:00
Martin Haye
1f55dea477 Basics of benching/unbenching for players. 2016-11-10 08:40:50 -08:00
Martin Haye
a4421e9882 Ignore player rows unless they have at least some basic data. 2016-11-10 06:43:02 -08:00
Martin Haye
0313db8d1a Progress on intimate mode - text display now mostly working. 2016-11-08 08:39:18 -08:00
Martin Haye
e6bcc747bd Outlines of 'intimate mode' 2016-11-07 07:58:46 -08:00
Martin Haye
2aa9e342e7 Added tile swap for 3D mode. 2016-11-01 09:25:36 -07:00
Martin Haye
dcb8fd1eaa Clean up warning and error handling in packer, so mem reports aren't generated in those cases. 2016-10-25 09:16:01 -07:00
Martin Haye
4df31bea67 Fix hashing for images so we properly detect changes to ordering. 2016-10-25 08:08:41 -07:00
Martin Haye
4b674d20b7 Added cache version to packer, so we can force rebuild when necessary. 2016-10-24 08:26:48 -07:00
Martin Haye
520fc7216e Now animating 3D textures. 2016-10-24 08:20:52 -07:00
Martin Haye
33d9f17503 New blocks for setting and clearing full-screen img. 2016-10-24 07:08:37 -07:00
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
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