replaced manual pool walking with nice iterator (yet one should still call `.release()` manually... T_T)
removed alot of commented out and unused grid processing code
grid: only one debug callback left (ok, let it be there for now...)
removed callback from `Grid.traceRay()` (it wasn't used anyway)
no more callback in `Grid.traceBox()` (it wasn't used anyway)
commented out unused type
`Grid.forEachAtPoint()` converted to no-callback
`Grid.forEachInAABB()`: no more callbacks
commented out some old code; outlined a new plan to remove most callbacks
Chat sounds: Add config and menu option
Fix previous commit (use toLowerCase1251)
Chat sounds: Use AnsiLowerCase for russian letters
Game: Add chat sounds for promotion
Add Haiku OS support
Fix building with sdl_mixer
MORE DARKNESS!!!
darkened interpic a little, to make loading log more readable
fancy pbar width and rendering fixes (don't be so smart, ketmar!)
added Jah's nice graphical progressbar (the game will fallback to old flat one if there is no pbar gfx in game.wad)
Activated ATTACK_L for ZOMBY and SERG
fixed error message if default megawad map failed to load
goto cheat fix
Jetpack item is animated now
Merge branch 'master' of ssh://repo.or.cz/d2df-sdl
it is now possible to link windoze LibJIT and ENet as static libs (see commit comments)
first, you need to clone http://repo.or.cz/d2df-binlib.git (repo with prebuilt windoze libs)
then, you can use:
-dLIBJIT_WINDOZE_STATIC -- static LibJIT
-dLIBENET_WINDOZE_STATIC -- static ENet
don't forget to specify lib*.a location with -Fi<...>
i used mingw-gcc 7.1.0 to build static libs; some other .a libs were taken directly from mingw.
building is easy: just fire msys, install all dependencies, and do:
./configure --enable-static --disable-shared && make
this should produce working .a library suitable for static linking
first, you need to clone http://repo.or.cz/d2df-binlib.git (repo with prebuilt windoze libs)
then, you can use:
-dLIBJIT_WINDOZE_STATIC -- static LibJIT
-dLIBENET_WINDOZE_STATIC -- static ENet
don't forget to specify lib*.a location with -Fi<...>
i used mingw-gcc 7.1.0 to build static libs; some other .a libs were taken directly from mingw.
building is easy: just fire msys, install all dependencies, and do:
./configure --enable-static --disable-shared && make
this should produce working .a library suitable for static linking
Cosmetic: DooM 2D:Forever -> Doom 2D: Forever
Holmes: increased whitespace between binding name and binding description
FlexUI: set window size vars to actual window size; Holmes: destroy help window when it is hidden
FlexUI: switched to universal event struct; changed event dispatching to sink/mine/bubble model
Merge branch 'master' of ssh://repo.or.cz/d2df-sdl
"flexui.wad" is not required now
Add USE_MIXER and HEADLESS as build options in the Lazarus project
Remove old hack that work-arounds wrong texture names
cosmetix
FlexUI: event types renamed from `^TH*` to `TFUI*`; some simplifications in event checking code
FlexUI: removed some debugging code
fixed unneded pause on some Fn
http://doom2d.org/forum/viewtopic.php?f=36&t=2469
http://doom2d.org/forum/viewtopic.php?f=36&t=2469
FlexUI: fixed window scrollbars; nicer button pushing with keyboard
moved FlexUI fonts to "flexui.wad"
it is now possible to use "--holmes-font <8|14|16>" cli arg to select Holmes UI font
FlexUI: restored text icons
Holmes now require "data/flexui.wad" (it is not fatal to not have this file; Holmes will simply cease working)
FlexUI: new look for buttons; more styling options for buttons
Set VersionInfo/ProductVersion in the project options
This became possible only after fixing corresponding bug in Lazarus.
This became possible only after fixing corresponding bug in Lazarus.
Update Doom2DF.res
FlexUI: added 8/14/16 winN/winN-prop fonts; removed horizontal wrapping
proper horizontal wrapping with size calculations/constraints is not
that easy; it makes the code way more complex, it never really worked,
and i never used it. althrough it is a great feature to have (for
proper windows resizing), it is better served by something like Yoga
(huge and complex). but i want to have a simplistic layouter, suitable
for common UI tasks, and not-so-complex layouts.
maybe i'll add that wrapping feature later, but i'm not sure. it looks
like i need a full-blown constraints solver for this feature, and i am
not ready to migrate to Cassowary yet. ;-)
tl;dr: removing horizontal wrapping allowed me to unify distribution
code, made code smaller (by ~1/3), and more readable. the price
is acceptable (for now).
proper horizontal wrapping with size calculations/constraints is not
that easy; it makes the code way more complex, it never really worked,
and i never used it. althrough it is a great feature to have (for
proper windows resizing), it is better served by something like Yoga
(huge and complex). but i want to have a simplistic layouter, suitable
for common UI tasks, and not-so-complex layouts.
maybe i'll add that wrapping feature later, but i'm not sure. it looks
like i need a full-blown constraints solver for this feature, and i am
not ready to migrate to Cassowary yet. ;-)
tl;dr: removing horizontal wrapping allowed me to unify distribution
code, made code smaller (by ~1/3), and more readable. the price
is acceptable (for now).
fuck you, lazarus, that's why
USE_FMOD fix (it MUST be optional)
Merge branch 'master' of ssh://repo.or.cz/d2df-sdl
Holmes is using new FlexUI renderer now
FlexUI: completely reworked graphics layer -- it is using drawing contexts now
FlexUI: "padding" property for boxes, so i don't have to insert dummy spans everywhere
padding is inserted *after* control, if there is another control coming, and current
control doesn't have "nopad" property set
note that span control has no padding by default, and box with frame has no padding too
padding is inserted *after* control, if there is another control coming, and current
control doesn't have "nopad" property set
note that span control has no padding by default, and box with frame has no padding too
game/FlexUI: textinput events
FlexUI: sdlstandalone fix
FlexUI: module renamings; moved standalone sdl carcass augemntation to FlexUI
FlexUI: don't change window size in "fit to screen" mode if size was already set
Holmes/UI: compilation fixes
Holmes: better UI hotkeys; fitting windows to screen
Holmes: UI cosmetix
FlexUI: checkbox, radiobox; removed old-style controls; Holmes UI is using new-style controls and layouter now
FlexUI: alot of fixes; Holmes help window now using new FlexUI controls and layouter
Add Debug/Release build modes in Lazarus project
Configure Lazarus project to build game on Windows easily
Change extension of the main project file from Delphi to Lazarus-specific
FlexUI: button control; slightly changed event consuming logic
glgfx: cosmetix
FlexUI: simple styling system (yay, no more hardcoded colors!)
fixed keyboard polling (no more); ESC should work in several places where it should work (sorry, my puns sux)
added PE export dumper ('cause why, Wyoming?)
Map: Add test map override feature
fix libjit_types on shitdows (?)
some fixes to LibJIT bindings
HolmesUI renamed to FlexUI (or simply UI); small fixes; changed FlexUI authorship info (READ THE WHOLE COMMENT, PLZ!)
as i wrote the whole FlexUI code, and i may need to relicense it later,
i explicitly put myself as the only FlexUI author, to avoid possible
complications in the future.
please, don't add/fix code in FlexUI without talking to me first.
as i wrote the whole FlexUI code, and i may need to relicense it later,
i explicitly put myself as the only FlexUI author, to avoid possible
complications in the future.
please, don't add/fix code in FlexUI without talking to me first.
HolmesUI: "position" property for windows
HolmesUI: focus fixes
cosmetix
libjit bindings typo
Holmes: gxlib API change
HolmesUI: ortholine control; fixed expanding of controls without maxsize
HolmesUI: rendering cosmetix
HolmesUI: width/height wgt properties
HolmesUI: span control
HolmesUI: more bugfixes in FlexBox
HolmesUI: scissoring fixes
added LibJIT bindings (need help in building working shitdoze dll, tho; GNU/Linux is ok)
NPOT message typo
HolmesUI: ui parser fixes; vbox layouter fixes (centering control); scissoring fixes
Holmes UI: more FlexBox fixes
Game: Improve map switch message
http://doom2d.org/forum/viewtopic.php?f=36&t=2277
http://doom2d.org/forum/viewtopic.php?f=36&t=2277
Holmes UI: lot of flexbox layouting code fixes
mempool is optional now
Holmes UI: non-working draft of FlexBox layouter
Monsters: Check trigger on zomby shot
http://doom2d.org/forum/viewtopic.php?f=36&t=2278
http://doom2d.org/forum/viewtopic.php?f=36&t=2278
Physics: Fix climb ladders on the fly
http://doom2d.org/forum/viewtopic.php?f=36&t=2347
http://doom2d.org/forum/viewtopic.php?f=36&t=2347
added "common" module for Holmes UI (preparation for layout manager)
moved Holmes UI and most of it's low-level gfx subsystem to separate modules (to ease UI developing and testing)
holmes: better scaled UI rendering
fixed tests and tools (new hashtable API)
did the same thing for binary heap
slightly faster hashtable, and slightly nicer hashtable interface